Releases: Erellu/ste-Matrix
ver 2.2.0
ver 2.1.0
Ver 2.1.0
• Added CUDA_transpose, function allowing to transpose your matrix through your GPU.
• Corrected replace
argument type.
• Corrected inconsistent naming conventions. All functions now use snake_case.
• Added CUDA functions to namespace ste.
• Added documentation for GPU functions.
• Update sample qmake file.
• Other minor changes in GPU functions.
2.0.1
v2.0.0
Ver 2.0.0 - MAJOR RELEASE
"The GPU Update"
• Fixed cut(begin , end , orientation).
• swap
second argument is now passed by reference.
• inv
is now const
.
• Added _device attribute, EXE enum and setDevice member function that allows the users to speficify on what device (CPU or GPU) the computation involving this matrix should be done.
• Added criterium argument to max()
and min()
, enabling the user to specify how the max and min should be found. Default (no arguments) returns *std::max_element
and *std::min_element
respectively.
• Added operator-()
, enabling the use of -x (where x is a ste::Matrix)
• Added operator=(const std::vector<T> &data)
, allowing to change the contents of the matrix providing that the argument contains as many elements as the matrix.
• Added begin() and end(), two member functions that return iterators to the matrix data begin and end respectively.
• [WIP] Added self_transpose()
, a member function that transposes the current matrix in place. [WIP]
• [WIP] Added transpose_in_place()
, a member function used as alias for 'self_transpose()'. [WIP]
• Added in-code documentation that was missing for some functions.
• Added operator<<(std::ostream &outstream , const EXE &a)
, instantiation of operator<<
for ste::EXE.
• Added operator&&(const EXE &a , const EXE &b)
, instantiation of operator&&
for ste::EXE.
• Added operator||(const EXE &a , const EXE &b)
, instantiation of operator||
for ste::EXE.
• Added operator|(const EXE &a , const EXE &b)
, instantiation of operator|
for ste::EXE.
• Added operator&(const EXE &a , const EXE &b)
, instantiation of operator&
for ste::EXE.
• Updated print()
and print_size()
. It is now possible to specify any std::ostream for printing the matrix or its size.
• print()
and print_size()
now return the std::ostream specified in argument.
• Updated deleteAll()
. A static_assert
now checks that T
is dynamically allocated.
• operator^
and operator^=
now throw an exception if the matrix is not square.
• const
version of at
now returns const T&
instead of T
.
• columns
, rows
and lines
now return const size_t&
instead of uint64_t
.
• clear
now returns a reference to the matrix.
• deleteAll
now returns a reference to the matrix.
• invert()
is no longer const
, and now changes the value of the matrix to the one of its inverse.
• Removed inverse()
.
• Modified code formatting.
• Removed virtual
qualifer from the following member functions :
transpose()
cofactor(...)
cofactormatrix()
comatrix()
hadamard(...)
max(...)
min(...)
toVector1D()
operator=(...)
operator-=(...)
operator+=(...)
operator-(...)
operator+(...)
• Added virtual
qualifier to operator!()
• static invert(...)
static hadamard(...)
, static element_wise(...)
, static for_each(...)
, andstatic transform
are no longer member functions. Call is now through ste::for_each
and ste::transform
.
• for_each
and transform
are now template functions. Casting a lambda to a std::function is no longer required.
• hadamard
and its alisas element_wise
are now member functions of the ste
namespace . The ste::Matrix versions still exist
• invert
is now a member functions of the ste
namespace.
• Improved replace(...)
.
• Improved det()
.
• Improved operator!
.
• Improved operator*=(const Matrix&)
when GPU use is enabled.
• Improved rowAt(...)
.
• Replaced uint64_t
by size_t
in the entire file for clarity.
• Other minor changes that do not affect the class usage.
• Updated README.
• Added documentation.
• Added Changelog.txt.