Releases: symengine/symengine
SymEngine v0.5.0
Bug Fixes
- Fix LLVMDoubleVisitor save->load->save->load bug - #1549
- Fix coeff(x+1, x, 0) - #1564
- Fix finding LLVM in SymEngineConfig.cmake - #1553
- Fix path prefix in Binder-based environments - #1554
- Add a virtual destructor to Visitor - #1580
Build system changes
- Modified parser to use re2c and bison - #1588, #1591, #1593, #1594
- LLVM 8 support - #1531
- Removed -march=native from default flags - #1569
- Versioned the DLL - #1604
New Functionality
- Multi precision support for upper and lower gamma using MPFR 4 - #1544, #1545
- 32-bit and 80-bit floating point support to LLVMVisitor - #1606
- Option to cache intermediate expression in diff and subs - #1592, #1582
- Add loggamma function to C wrapper API - #1556
- Add truncate function - #1555
- Avoid revisit in CountOpsVisitor - #1557
- Add mathml, latex, ccode, jscode to cwrapper - #1562
- Add kronecker_delta, lowergamma, uppergamma, beta, polygamma to cwrapper - #1603
- Allow symengine rcp even in debug mode - #1548
People who contributed to the release:
- Björn Dahlgren
- Ondřej Čertík
- Isuru Fernando
- Connor Behan
- Jialin Ma
- Brandon Bocklund
- Marcello Mansueto
- Steven Lee
SymEngine v0.4.1
WARNING: DO NOT USE THIS RELEASE
SymEngine 0.4.0
New Functionality
- New parser based on bison and flex
- Initial support to generate symengine code for a matchpy expression
- Supporting symbols in evalf
- Reduced row echelon form
- count_ops to count operations of an expression
- Latex and MathML printing
- Saving and loading LLVM compiled functions
- Common subexpression elimination
- xeus-cling and binder support
- xreplace method
- New functions
dense_matrix_row_del
,dense_matrix_col_del
inC
Wrappers androw_insert
andcol_insert
in classDenseMatrix
- #1313 expand_as_exp()
member function is removed from derived classes ofTrigFunction
andHyperbolicFunction
and implemented using visitor design pattern - #1309as_real_imag
- #1310Polynomial Solvers
- #1296Floor
andCeiling
classes - #1297 and #1290Conjugate
class - #1295ConditionSet
- #1291Sign
class - #1287- Vector-specific methods
dot
andcross
- #1286 Dummy
class - #1284Relationals
- #1276, #1279, #1280Flint
wrappers forfactorization
- #1274- New functions
dense_matrix_row_join
,dense_matrix_col_join
inC
Wrappers - #1273 - Functions
column_exchange_dense
,row_join
,col_join
,row_del
andcol_del
in classDenseMatrix
- #1269 - New functions
vecbasic_set
,vecbasic_erase
,setbasic_erase
in CWrappers - #1264, #1272 - New functions
number_is_zero
,number_is_positive
,number_is_negative
,number_is_complex
in CWrappers - #1256
Breaking Changes
- SONAME updated to 0.4 (SONAME will pin to . for major version 0.)
complex_*real_part
,complex_*imaginary_part
are replaced by methodscomplex_base_real_part
andcomplex_base_imaginary_part
- #1263real_mpfr_is_zero
,complex_mpc_is_zero
is replaced by methodnumber_is_zero
- #1256basic_number_sign
is replaced by methodsnumber_is_zero
,number_is_positive
,number_is_negative
- #1256
Bug Fixes
- Additional comparison clause in
Dummy::compare
- #1304 - Add
oo
andzoo
to the parser - #1261 - Fix segmentation fault in
LLVMDoubleVisitor
- #1260 NaN
andinf
s inJuliaStrPrinter
- #1258- The base classes for inverse trigonometric and inverse hyperbolic functions are now
InverseTrigFunction
andInverseHyperbolicFunction
respectively. Base class forTrigFunction
andInverseTrigFunction
isTrigBase
. Similarly, base class forHyperbolicFunction
andInverseHyperbolicFunction
isHyperbolicBase
. #1309
And many other changes, here is a list of merged PRs not mentioned above:
People who contributed to the release:
- Srajan Garg
- Dirk Reusch
- Ranjith Kumar
- Isuru Fernando
- Jean-Paul Pelteret
- Shikhar Jaiswal
- Sumith Kulal
- Ondřej Čertík
- Jialin Ma
- Gerrit Ansmann
- Björn Dahlgren
- Nilay Pochhi
- Eeshan Gupta
- Ziyi Yan
- Andreas Humenberger
- Kieran Kaempen
- Clouds Flowing
- Sylvain Corlay
- Alan Hu
- Rajiv Ranjan Singh
- Francesco Bonazzi
- Simon Stelter
SymEngine 0.3.0
Major changes
- Version libsymengine.so - #1239
New Features
- Use LLVM for compiling an expression to a function - #1094, #1220, #1242, #1244, #1245
- Completely permissive licensed build using Boost.multiprecision - #1121
- Macros and functions for checking version and features - #1135, #1114
- Julia printer #1246
- Support for NaN #1178
- Error functions - #1097
- More logic functions - #1206, #1102, #1098
Improvements
- Cwrappers wrap more functions #1249, #1143, #1123, #1110
- Parser Allow unicode and implicit multiplication, - #1231, #1235
- More functions now immediately evaluate with floats - #1205, #1202, #1192, #1189, #1185, #1177, #1172
- More derivatives - #1199, #1166, #1152, #1151
- Complex numbers inherit from ComplexBase - #1171
Bug Fixes / Minor changes
- Printing E**x is changed to exp(x) - #1136
- Fix bug in trigonometric functions - #1051
- Make hash function platform independent - #1233
- Dividing by zero returns zoo - #1170
- Fix double printing #1248
- Fix bug in mpc evaluation #1210
- Fix bug in gamma functions #1204
- Fix bug in abs, sinh that lead to infinite recursion #1198
- Fix bug in pow #1229, #1165
People who contributed to the release
- Isuru Fernando
- Ralf Stephan
- Akash Trehan
- Ritesh Kumar
- Shikhar Jaiswal
- Srajan Garg
- Vishu Sidana
- Ondřej Čertík
- Siddharth Bhat
- Tao He
- Chad Mills
- Abhimanyu Siwach
- Jean-Paul Pelteret
- Ranjith Kumar
- Kv Manohar
- Sumith Kulal
- Kanchana Ruwanpathirana
- Melanka Saroad
SymEngine 0.2.0
Follow the README. More detailed build instructions are at our wiki: https://github.com/symengine/symengine/wiki/Building-SymEngine
Conda binaries are located at, https://anaconda.org/symengine/symengine
Ubuntu ppa at, https://launchpad.net/~symengine/+archive/ubuntu/ppa
First beta release
Follow the README. More detailed build instructions are at our wiki: https://github.com/sympy/symengine/wiki/Building-SymEngine