Releases: dacelib/dace
Version 2.1.0
This release includes various fixes to the C core and C++ interface, as well as new DA functions for Bessel IJKY functions and Gamma, LogGamma, Psi functions.
The build system has been significantly overhauled: we do not support generation of pre-built packages any longer (as to use the DACE anyway requires a compiler toolchain). Instead, we now added support for using FetchContent to directly embed the DACE in CMake projects without installing anything locally.
For new projects, we encourage the use of this mechanism over manual installation. For redistributable binaries, we recommend using DACE as a static library (using the dace_s target) instead of dynamic linking.
What's Changed (Build system)
- Fix MSVC build warnings by @abgandar in #22
- Use PROJECT_SOURCE/BINARY_DIR instead of CMAKE_SOURCE/BINARY_DIR by @abgandar in #56
- Support CMake FetchContent by @abgandar in #58
- Increase minimum CMake version to 3.10 by @abgandar in #59
- Fix MacOS rpath handling by @abgandar in #61
- CMake refactoring (remove package generation) by @abgandar in #63
What's Changed (Functionality)
- Implement Bessel I, J, K, Y functions by @abgandar in #28
- Implement Gamma, LogGamma, Psi functions by @abgandar in #29
- Fix Bug in AlgebraicVector << operator mentioned in Issue #31 by @mmassari1974 in #32
- New attempt in fixing AlgebraicVector fstream >> operator by @mmassari1974 in #35
- Update Doxygen documentation by @abgandar in #36
- Default DA epsilon to 0.0 and stop filtering NaNs and INFs by @abgandar in #39
- Matrix multiplication bug fixed. by @Selkepha in #47
- Remove duplicated error ID by @afossa in #53
- Fix norm estimation to not return nan for cases of 0 or 1 monomials by @abgandar in #60
- Fix bug when reading zero DA from ascii file by @mmassari1974 in #55
New Contributors
Full Changelog: v2.0.1...v2.1.0
Version 2.0.1 Release
This release implements:
- fix to a bug in the polynomial evaluation that could have lead to wrong results in previous versions
- a change in the default internal memory management model
- harmonization of include files location
- various tweaks to the build procedure
Following the change in the default internal memory management model, it is required to recompile al the code, as programs already using the DACE can manifest an unexpected behavior.
For instructions on how to install see Release https://github.com/dacelib/dace/releases/tag/v2.0
Version 2.0 Release
Precompiled binary installers for Windows, Mac and Linux used to be available. Now they are deprecated.
For reference here is reported the original message associated with the release of the binaries:
Due to the fact that C++ name mangling standardization is not yet implemented in all compilers, the precompiled binaries are targeted at the most diffused compilers on their platform:
- Visual Studio 2017 on Windows
- Xcode with clang on Mac
- GCC on Linux
All the precompiled binaries are 64bit.
Binary installers for Windows (DACE-2.0.exe) and for Mac (DACE-2.0.pkg) should work out of the box.
There is not a standard and verified installer for Linux yet. The reason for this is that not all the possible distribution can be supported at the moment.
Two package version are availble:
- DACE-2.0.deb package should be compatible with all debian based distro like ubuntu
- DACE-2.0.tar.gz archive for all the other
Provided that your distro has sufficiently new version of the gcc, glibc and libsdtc++, the dace library should work once installed.
Please note that the DACE uses C++11 features. Therefore, if you have a gcc version earlier than 6.0, you will likely need to pass the --std=c++11 option to the compiler.
The .deb package should install the dace in /usr/local/lib and /usr/local/include folders.
In order to use .tar.gz archive, just uncompress it and copy the content of DACE-2.0 folder into the / folder so that the library and include files are in /usr/local/lib and /usr/local/include.
Please note that, if those folders are not searched by gcc, you need to follow specific instructions relevant to your distro to configure them.