Skip to content

Releases: VirtualRaven/mathlibra

Release Candidate 3 for V1.3.0

30 Dec 14:51
Compare
Choose a tag to compare
Pre-release

This release contains bugfixes for V1.3.0

Release Candidate 1 for V1.3.0

23 Dec 19:09
Compare
Choose a tag to compare
Pre-release

Major features

  • Spaces matter and parentheses are optional, it is now possible to write sqrt x and sin 2PI!
  • Function signatures, mathlibra is now able to print the signature of loaded functions (Ask core_tester to list loaded functions to see an example of this)
  • New functions as sum,map and range
  • New operator called subrange # which enable element access in matrices
  • Exporting parsing result, a new API function allows the host application to export a tokenized version of the expression.(Test this feature by enabling it in core_tester's menu)

Bugfixes

Fix bug which caused assignments to constant variables to trigger memory leaks.

Release Candidate 3 for V1.2.0

28 Mar 10:33
Compare
Choose a tag to compare
Pre-release

Release note - BUILD 96

This release adds several new features. The project has also been licensed under the Mozilla public license v2

Major features

  • New tester tool - The new tester tool executes predefined test from files and runs memory diagnostics.
  • Extends external API - The functions map,defineFunction,undefineFunction was added.
  • Optimization- Mathlibra can now optimize frequently used expressions

Bug-fixes

Fixed #18 #17 and #16. This release also resolves the issue with implicit multiplication between functions.

Release candidate 2 for v1.2.0

28 Feb 22:18
Compare
Choose a tag to compare
Pre-release

v1.2.0 comes with a completely new type system.

Mathlibra now supports the following expressions

  • Strings using "hello world"
  • Vectors using [1,2,3,4]
  • Matrices using [1,2,3|4,5,6|7,8,9]
  • Matrices multiplication [1,0,0|0,1,0|0,0,1]*[1,2,3|4,5,6|7,8,9]
  • Vector concatenation x=[1,2,3] [x,4] which returns [1,2,3,4].
  • Which could also have been written directly as [ [1,2,3] , 4]

Matrices and strings are both values they can be used as such

  • x="hello world"
  • x=[1,2,3]
    To get the size of an matrix use size(), for example size([1,1|1,1]) which returns [2,2].

Notes

  • Numbers are 1x1 matrices, thus writing [42] is equal to writing 42
  • Bracket initialization is just syntactic sugar for writing matc(mat(1,2,3),mat(4,5,6),mat,(7,8,9))) where matc is an function taking several matrices and concatenating them by column, mat works in the same manner but works by row.
    Due to the fact that numbers are 1x1 matrices this results in mat(1,2,3) creating [1,2,3]