Skip to content

Releases: motchy869/MathLib

v0.12.0

24 Aug 09:02
Compare
Choose a tag to compare
  • Improved:
    • Divisions in atan2_polyApprox() are speeded-up under TMS320C6748 DSP environment using RCPSP or RCPDP instructions.

v0.11.0

09 Aug 03:34
Compare
Choose a tag to compare
  • Added
    • fast floating point number reciprocal computation using TMS320C6748 DSP instructions RCPSP and RCPDP.
    • fast floating point number reciprocal square root using TMS320C6748 DSP instructions RSQRSP and RSQRDP.

v0.10.0

02 Aug 03:18
Compare
Choose a tag to compare
  • Fixed
    • missing doxygen comment for LinAlg::fillLowTri function
  • Improved
    • automatic data type promotion for some functions in LinAlg namespace
  • Added
    • LinAlg::copyLowTri function
    • LinAlg::copyConjLowTri function

v0.9.0

20 Jun 03:41
Compare
Choose a tag to compare
  • Added
    • More data type flexibility of addDiag(); Different data types are allowed for vector and matrix.

v0.8.0

18 Jun 06:13
Compare
Choose a tag to compare
  • Fixed
    • Fixed a issue in CMakeLists.txt: disable address sanitizer on Windows (GCC doesn't support it).
    • outdated version macro constants MATH_LIB_VER_...
  • Improved
    • Improved CMakeLists.txt: cancel build on unknown platform.

v0.7.0

31 Mar 03:57
Compare
Choose a tag to compare
  • Added setReIm, conjProd function.

v0.6.0

22 Feb 03:42
Compare
Choose a tag to compare
  • Rename "Bug Hunting Mode" to "Canary Mode".
  • Added SqrtTable.

improved performance and new functions

15 Sep 03:46
Compare
Choose a tag to compare
  • Added MATH_LIB_INLINE_AGGRESSIVELY option.
  • Speeded up following functions:
    • Analysis::
      • conj, sqAbs
    • LinAlg::
      • scaleMat, scaleMatEachRow, innerProd, hermitianInnerProduct, vecSelfOuterProd, mulMat, ldlDecomp, solveLinearEquation, solveLinEqHermitian, hermitianInnerProduct
    • SigProc::
      • convolve, convolve_type2
  • Improved include-guard: replaced old-style guard using #ifndef with #pragma once.
  • Added following functions:
    • Analysis::
      • addConjProd
    • LinAlg::
      • fillLowTri, addSqMat, scaleMat
  • Refactored polynomial approximation of arc tangent:
    • Added atan_polyApprox_deg7 function.
    • Renamed atan_polyApprox to atan_polyApprox_deg9.
    • Add template function atan_polyApprox which is reduced to atan_polyApprox_deg7 or atan_polyApprox_deg9 according to its template parameter.
    • Add template function atan2_polyApprox whose polynomial degree is determined at compile-time
  • Made the following small functions target of aggressive inline-expansion:
    • LinAlg::
      • isEqualMat, complexMat, conjugateMat, addMat, scaleMat
  • Forcibly inline-expand the following small functions:
    • LinAlg::
      • isEqualVec, complexVec, conjugateVec, addVec, scaleVec, l2Norm
  • Added compiler options for secure programming
    • -Wextra, -Wold-style-cast, -Wredundant-decls, -Wshadow, -Wswitch-default, -Wswitch-enum (debug/release build)
    • -fstack-protector, -ftrapv (debug build)

bug fix and refactor

30 Aug 03:47
Compare
Choose a tag to compare
  • Fixed missing header inclusion in sigProc.hpp
  • Improved include-guard: replaced old-style guard using #ifndef with #pragma once.

added new features

29 Aug 23:01
Compare
Choose a tag to compare
  • Renamed project: MotchyMathLib -> MathLib.
  • Optimized atan2_polyApprox function to speed up on Texas Instruments DSP TMS320C6748.
    • There is no effect on modern PC processors because the compilers for them are clever enough to perform above easy hand-optimization.
  • Added vecSelfOuterProd function.
  • Added bug hunting mode.
  • Added dropSubMat function.
  • Added setDiag function.
  • Added addDiag function.
  • Speeded up ldlDecomp function, and consequently solveLinEqHermitian function is speeded up.
  • Add in-place version of conjugateMat.
  • Add innerProd function
  • Rename addMat_inplace, addVec_inplace to addMat, addVec