0.101003 2024-09-24
[New Features]
* Add R::OP::Int#left_shift method.
* Add R::OP::Int#arithmetic_right_shift method.
* Add R::OP::Int#logical_right_shift method.
* Add R::OP::Long#left_shift method.
* Add R::OP::Long#arithmetic_right_shift method.
* Add R::OP::Long#logical_right_shift method.
* Add R::OP::Long#bit_and method.
* Add R::OP::Long#bit_or method.
* Add R::OP::Long#bit_not method.
* Add R::OP::Int#bit_and method.
* Add R::OP::Int#bit_or method.
* Add R::OP::Int#bit_not method.
* Add R::NDArray#set_data method.
* In the following methods, $y_ndarray allows to be a L<scalar|SPVM::R::NDArray/"Scalar">. In that case, each element used in the operation is the element at index 0.
R::OP::Int#add
R::OP::Int#sub
R::OP::Int#mul
R::OP::Int#div
R::OP::Int#div_u
R::OP::Int#mod
R::OP::Int#mod_u
R::OP::Long#add
R::OP::Long#sub
R::OP::Long#mul
R::OP::Long#div
R::OP::Long#div_u
R::OP::Long#mod
R::OP::Long#mod_u
R::OP::Float#add
R::OP::Float#sub
R::OP::Float#mul
R::OP::Float#div
R::OP::Float#pow
R::OP::Float#reminder
R::OP::Float#fmod
R::OP::Double#add
R::OP::Double#sub
R::OP::Double#mul
R::OP::Double#div
R::OP::Double#pow
R::OP::Double#reminder
R::OP::Double#fmod
R::OP::FloatComplex#add
R::OP::FloatComplex#sub
R::OP::FloatComplex#mul
R::OP::FloatComplex#div
R::OP::FloatComplex#pow
R::OP::DoubleComplex#add
R::OP::DoubleComplex#sub
R::OP::DoubleComplex#mul
R::OP::DoubleComplex#div
R::OP::DoubleComplex#pow
R::OP::String#cancat
R::OP::StringBuffer#push
[Incompatible Changes]
* scamul and scadiv methods in the following classes are removed. Use mul and div method for scalar multiplication and scalar division.
R::OP::Int
R::OP::Long
R::OP::Float
R::OP::Double
R::OP::Double
R::OP::FloatComplex
R::OP::DoubleComplex
0.101002 2024-09-16
[Internal Changes]
* Use StringBuffer#cmp method to compares two elements in R::NDArray::StringBuffer#elem_cmp method.
0.101001 2024-09-13
[Test Improvement]
* Add tests for R::NDArray::AnyObject.
[Bug Fix]
* Fix a bug that R::OP::AnyObject#c method was able to be receive an array object, not only object[].
[Requirement Changes]
* Require SPVM 0.990009.
[Internal Changes]
* Use Fn#array_length method.
* Use Fn#get_elem_size method.
* Use Fn#Fn->get_elem_type_name method.
* Use Native::MethodCall#new_proto method.
* Use methods in Complex_2f multi-numeric type.
* Use methods in Complex_2d multi-numeric type.
* Remove private methods in R::Util class.
0.101 2024-08-21
[Document Improvement]
* Add "Features" section.
* Improve docs.
0.100 2024-08-20
[Major Release]
* All tests are finished.
* All documentations are finised.
* This release is major release. The features are more stable.
[Document Improvement]
* Improve docs for R::NDArray::Byte class.
* Improve docs for R::NDArray::Short class.
* Improve docs for R::NDArray::Int class.
* Improve docs for R::NDArray::Long class.
* Improve docs for R::NDArray::Float class.
* Improve docs for R::NDArray::Double class.
* Improve docs for R::NDArray::FloatComplex class.
* Improve docs for R::NDArray::DoubleComplex class.
* Improve docs for R::NDArray::AnyObject class.
* Improve docs for R::NDArray::Sring class.
* Improve docs for R::NDArray::SringBuffer class.
* Improve docs for R::NDArray::Time::Piece class.
* Add docs for R::NDArray::Hash class.
* Improve docs for R::NDArray class.
[Incompatible Changes]
* Remove R::NDArray::Time::Piece#to_long_ndarray method.
[Changes]
* Add an exception for R::NDArray#normalize_indexes_product method.
* R::NDArray#normalize_indexes_product method becomes a public method.
0.022 2024-08-13
[Document Improvement]
* Add docs for R::OP::Byte class.
* Add docs for R::OP::Short class.
* Add docs for R::OP::Int class.
* Add docs for R::OP::Long class.
* Add docs for R::OP::Double class.
* Add docs for R::OP::Float class.
* Add docs for R::OP::DoubleComplex class.
* Add docs for R::OP::FloatComplex class.
* Add docs for R::OP::AnyObject class.
* Add docs for R::OP::String class.
* Add docs for R::OP::StringBuffer class.
* Add docs for R::OP::Time::Piece class.
[Incompatible Changes]
* If concatnation C<.> operation throw an exceptions R::OP::String#concat method, the element is set to C<undef>.
* elem_to_string method in R::OP::String, R::OP::StringBuffer, R::OP::TimePiece, R::OP::AnyObject returns undef instead of "undef" if the input data is undef.
* Improve R::NDArray::Time::Piece#elem_cmp logic. LONG_MIN is not used.
* Change an argument of R::NDArray#elem_cmp method and the same methods inf its child classes.
[Before]
method elem_cmp : int ($data : object, $a_data_index : int, $b_data_index : int);
[After]
method elem_cmp : int ($a_data : object, $a_data_index : int, $b_data : object, $b_data_index : int);
0.021 2024-08-12
[Test Improvement]
* Add tests for R::DataFrame.
* Add tests for R::OP.
[Changes]
* Allow R::NDArray#order method to receive non-vector n-dimentional array.
* Allow R::OP#rep method receive non-vector n-dimentional array.
[Document Improvement]
* Add docs for R::DataFrame class.
* Add docs for R::OP::DataFrame class.
* Add docs for R::Util class.
* Add docs for R::OP.
[Internal Changes]
* Cleanup exception logic in methods in R::Util class.
0.020 2024-08-07
[Document Improvement]
* Add docs for R::OP::Matrix::Double class.
* Add docs for R::OP::Matrix::Float class.
* Add docs for R::OP::Matrix::DoubleComplex class.
* Add docs for R::OP::Matrix::FloatComplex class.
* Fix docs for R::NDArray::DoubleComplex class.
[Exception Message Improvement]
* Improve exception messages in R::OP::Matrix::Double class.
* Improve exception messages in R::OP::Matrix::Float class.
* Improve exception messages in R::OP::Matrix::DoubleComplex class.
* Improve exception messages in R::OP::Matrix::FloatComplex class.
[New Features]
* R::DataFrame#slice method sets $colnames arguemnt to all column names if this is not defined.
* Add R::OP::DataFrame#subset method.
* Add R::OP::DataFrame#na_omit method.
0.019 2024-08-05
[Bug Fix]
* Fix a bug that R::OP::Matrix#rbind method does not work well.
* Fix a bug that R::OP::Matrix::Float#diag method allows only matrix argument.
* Fix a bug that R::OP::Matrix::FloatComplex#diag method allows only matrix argument.
* Fix a bug that R::OP::Matrix::DoubleComplex#diag method allows only matrix argument.
* Fix a bug that R::OP::Matrix::Float#solve method allows determinent 0 matrix argument.
* Fix a bug that R::OP::Matrix::FloatComplex#solve method allows determinent 0 matrix argument.
* Fix a bug that R::OP::Matrix::DoubleComplex#solve method allows determinent 0 matrix argument.
* Fix a bug that R::OP::Matrix::DoubleComplex#det method allows non-square matrix argument.
* Fix a bug that R::OP::Matrix::DoubleComplex#solve method allows determinent 0 matrix argument.
[Test Improvement]
* Add tests for R::OP::Matrix#cbind method.
* Add tests for R::OP::Matrix#rbind method.
* Add and cleanup tests for R::OP::Matrix::Double#diag method.
* Add tests for R::OP::Matrix::Double#slice_diag method.
* Add tests for R::OP::Matrix::Double#identity method.
* Add tests for R::OP::Matrix::Double#mul method.
* Add tests for R::OP::Matrix::Double#t method.
* Add tests for R::OP::Matrix::Double#det method.
* Add tests for R::OP::Matrix::Double#solve method.
* Add tests for R::OP::Matrix::Double#eigen method.
* Add tests for R::OP::Matrix::Float#diag method.
* Add tests for R::OP::Matrix::Float#slice_diag method.
* Add tests for R::OP::Matrix::Float#identity method.
* Add tests for R::OP::Matrix::Float#mul method.
* Add tests for R::OP::Matrix::Float#t method.
* Add tests for R::OP::Matrix::Float#det method.
* Add tests for R::OP::Matrix::Float#solve method.
* Add tests for R::OP::Matrix::Float#eigen method.
* Add tests for R::OP::Matrix::DoubleComplex#slice_diag method.
* Add tests for R::OP::Matrix::DoubleComplex#identity method.
* Add tests for R::OP::Matrix::DoubleComplex#mul method.
* Add tests for R::OP::Matrix::DoubleComplex#t method.
* Add tests for R::OP::Matrix::DoubleComplex#det method.
* Add tests for R::OP::Matrix::DoubleComplex#solve method.
* Add tests for R::OP::Matrix::DoubleComplex#eigen method.
* Add tests for R::OP::Matrix::FloatComplex#slice_diag method.
* Add tests for R::OP::Matrix::FloatComplex#identity method.
* Add tests for R::OP::Matrix::FloatComplex#mul method.
* Add tests for R::OP::Matrix::FloatComplex#t method.
* Add tests for R::OP::Matrix::FloatComplex#det method.
* Add tests for R::OP::Matrix::FloatComplex#solve method.
* Add tests for R::OP::Matrix::FloatComplex#eigen method.
[Document Improvement]
* Add docs for R::OP::Matrix class.
0.018 2024-08-03
[Requirement Changes]
* Require -std=C++17 in gcc/clang compiler.
[Test Improvement]
* Add CIs.
[Test Bug Fix]
* Fix bugs that old R::NDArray::Object and R::OP::Object is loaded in test codes.
0.017 2024-08-01
[Test Improvement]
* Add many tests.
[Bug Fix]
* Fix some bugs.
0.016 2024-07-31
[Test Improvement]
* Add many tests.
[Bug Fix]
* Fix some bugs.
0.015 2024-07-26
[Incompatibe Changes]
* There are some incompatible changes.
[Bug Fix]
* Fix some bugs.
[Test Improvement]
* Add many tests.
0.014 2024-07-24
[Incompatibe Changes]
* There are some incompatible changes.
[Bug Fix]
* Fix some bugs.
[Test Improvement]
* Add many tests.
0.013 2024-07-23
[Incompatibe Changes]
* There are some incompatible changes.
[Document Improvement]
* Add some docs.
[Bug Fix]
* Fix some bugs.
[Test Improvement]
* Add many tests.
0.012 2024-07-17
[Incompatibe Changes]
* There are some incompatible changes.
[Document Improvement]
* Add some docs.
[Bug Fix]
* Fix many bugs.
0.011 2024-07-17
[Requirement Changes]
* Require SPVM::Resource::Eigen 0.001.
[Incompatibe Changes]
* There are many incompatible changes.
[Document Improvement]
* Add some docs.
0.011 2024-07-17
[Incompatibe Changes]
* There are many incompatible changes.
[Document Improvement]
* Add some docs.
0.010 2024-07-16
[Incompatibe Changes]
* There are many incompatible changes.
[Document Improvement]
* Add some docs.
0.009 2024-07-15
[Incompatibe Changes]
* There are many incompatible changes.
[Document Improvement]
* Add some docs.
0.008 2024-07-11
[Incompatibe Changes]
* There are many incompatible changes.
[Document Improvement]
* Add some docs.
0.007 2024-07-10
[Incompatibe Changes]
* There are many incompatible changes.
0.006 2024-07-09
[Incompatibe Changes]
* There are many incompatible changes.
0.005 2024-07-08
[Incompatibe Changes]
* There are many incompatible changes.
0.004 2024-07-03
[Incompatibe Changes]
* There are many incompatible changes.
0.003 2024-07-01
[Incompatibe Changes]
* There are many incompatible changes.
0.002 2024-06-28
[Incompatibe Changes]
* There are many incompatible changes.
0.001 2024-06-26
[Changes]
* First developement release. Tests are not yet done. All of method and field definitions in all classes will be changed.