Skip to content

Releases: Erellu/ste-Matrix

ver 2.2.0

28 Apr 20:23
Compare
Choose a tag to compare

IMPORTANT CHANGES

  • LICENSE UPDATE: ste-Matrix is now released under BSD-2 license terms

Additions

  • New alias. ste::matrix is a new shortcut for ste::Matrix<float> or ste::FMatrix.

Bug fixes

  • trace() does no longer causes a compilation fail.
  • Updated license in all files.

ver 2.1.0

10 Apr 16:08
Compare
Choose a tag to compare

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

20 Mar 17:22
Compare
Choose a tag to compare

Ver 2.0.1

• Changed header guard to STE_MATRIX_HPP.
• Added inline qualifier to ste::EXE related functions.

v2.0.0

14 Dec 15:46
Compare
Choose a tag to compare

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.