Recent Releases of carma
carma - Release v0.8.0
What's Changed
- DEP: Add support for Numpy v2 by @RUrlus in https://github.com/RUrlus/carma/pull/130
- DEP: [BREAKING] Minimum Pybind11 version bumped to 2.12.0
Full Changelog: https://github.com/RUrlus/carma/compare/v0.7.0...v0.8.0
- C++
Published by RUrlus over 1 year ago
carma - Release v0.7.0
What's Changed
- update armadillo 12 branch by @conradsnicta in https://github.com/RUrlus/carma/pull/121
- update to armadillo 12.4.x by @conradsnicta in https://github.com/RUrlus/carma/pull/122
- add armadillo 12.6.x by @conradsnicta in https://github.com/RUrlus/carma/pull/124
- add armadillo 12.8.x by @conradsnicta in https://github.com/RUrlus/carma/pull/127
Full Changelog: https://github.com/RUrlus/carma/compare/v0.6.7...v0.7.0
- C++
Published by RUrlus almost 2 years ago
carma - Release v0.6.7
What's Changed
- FIX: Support fixed-size matrices by @yaqwsx in https://github.com/RUrlus/carma/pull/113
- CICD: Update CI/CD pipelines by @RUrlus in https://github.com/RUrlus/carma/pull/116
- DEP: add armadillo 12.0.x branch by @conradsnicta in https://github.com/RUrlus/carma/pull/117
New Contributors
- @yaqwsx made their first contribution in https://github.com/RUrlus/carma/pull/113
Full Changelog: https://github.com/RUrlus/carma/compare/v0.6.6...v0.6.7
- C++
Published by RUrlus almost 3 years ago
carma - Release Carma v0.6.6
Changes
- fixes finding python3 on manylinux CICD image when installed
- C++
Published by RUrlus almost 4 years ago
carma - Release CARMA v0.6.5
Patch release that mainly updates dependency versions.
Changes
- Only search for Python headers for carma::carma target
- Update default Armadillo version to 11.1.x from 11.0
- C++
Published by RUrlus almost 4 years ago
carma - Release CARMA V0.6.3
Patch release of CARMA
Changes
- Update default Armadillo version to 10.8.x from 10.7.x which will be removed soon.
- Update default Pybind11 version to 2.9.0
- Fix style issues in test suite
- C++
Published by RUrlus about 4 years ago
carma - Release CARMA V0.6.2
Patch release of CARMA
Fixed
- Bug where ill-conditioned arrays that don't own the data were copy-swapped -- #93
Changes
- Generate config.h in build directory rather than in source -- #88
Enhancements
- Add MRE test suite for easier debugging
- Add support for Pybind11 2.8.1 and Armadillo 10.7.x
- C++
Published by RUrlus over 4 years ago
carma - Release CARMA V0.6.1
Patch release of CARMA
Changes
- include Pybind11 header in cnalloc to prevent linking issue on Windows in debug mode #87
- C++
Published by RUrlus over 4 years ago
carma - Release CARMA V0.6.0
Fixed
- Bug wrt const return type path in type-caster (#83)
- Bug where TC input was copied (#83)
- Bug wrt handling of input arrays smaller than pre-allocation limit (#85)
- Remove unused variables (#84)
Enhancements
- CARMA is now compatible with
FIND_PACKAGE(carma CONFIG)(#81, #82) - introduces
to_numpy_viewa read-only view on ArmaT as non-writeable array
- C++
Published by RUrlus over 4 years ago
carma - Patch release CARMA 5.0.2
Changes
Closes #79 where internal header had wrong relative include path after installation.
- C++
Published by RUrlus over 4 years ago
carma - Release CARMA v0.5.1
Changes
- Fixes #78 where CARMA version was not set if not installed or build through CMake
- C++
Published by RUrlus over 4 years ago
carma - Release CARMA v0.5.0
New release of CARMA that has better interoperability with Armadillo.
Changes
Wrappers around Numpy (de)allocator included
The wrappers round Numpy's (de)allocator that were used in the forked version of Armadillo have been moved to CARMA. This header is pre-compiled to remove any include order dependency between CARMA and Armadillo
Armadillo version check during compilation
Added separate definitions for major, minor and patch version of CARMA
Updated documentation
- C++
Published by RUrlus over 4 years ago
carma - Release CARMA v0.4.0
Release 0.4.0 features almost complete rewrite of CARMA and can be considered the release candidate for 1.0.0. Note this release is breaking but fixes a number of underlying issues in the old versions
Breaking changes
Default branch renamed to stable
Include is now carma
The nested structure in the include directory has been flattened. Users only require #include carma rather than carma/carma.h
Minimum requirements updated
- Pybind11 version is 2.6.x
- Armadillo version is 10.4.x
Default copy behaviour for Cube, Col and Row is now identical to Mat
Previous versions were not always able to correctly take ownership of the memory underlying Armadillo objects. This has been resolved with the new version.
Update functions have been removed
The update functions have been removed as they no longer fit in the design pattern and were quite fragile. Borrowed arrays no longer need update as they have strict parameter enforced. Stolen or copied arrays can be safely returned.
Strict parameter to arr_to_* has been removed
The new behaviour sets the auxiliary memory for Armadillo objects to strict when borrowing and not when copying or stealing the memory.
In-place swap when borrowing and ill-behaved arrays
On the conversion from Numpy to Armadillo we copy arrays that are not well-behaved to a well-behaved array and swap it in the place of the input array
Changes
Requires fork of Armadillo
v0.4.0 requires a fork of Armadillo that provides the Numpy allocator/de-allocator, we support Armadillo v1.14.x and v1.15.x See build documentation for details.
Armadillo and Pybind11 are no longer submodules but are provided at runtime when not present
Introduced arr_to_*_view
The view functions returns a constant Armadillo object based on a const input that does not require writeable memory.
new overloads for arr_to_*
We now provide const &, &, && overloads for arr_to_* and to_arma
new overloads to *_to_arr and to_numpy
We now provide const &, &, && overloads for *_to_arr and to_numpy
Moved CI/CD to Github actions
- C++
Published by RUrlus over 4 years ago
carma - Release Carma 0.3.0
Fixed
- Fix deallocation bug
A bug existed where the memory was deallocated with free rather than the deallocator matching the allocator.
Added
- CI/CD support for Windows, MacOS
- Test support with ctest
Changed
- Armadillo and Pybind11 as submodules
Armadillo and Pybind11 are no longer shipped with CARMA in the test directory but have been included as submodules.
- Enable use of Armadillo and Pybind11 out of carma repository
This enables CARMA to be used in an existing project with different versions that included as submodules.
- Clang format
All source files have been formatted using clang format.
- Typos
Multiple typos have been correct in the comments and tests. This change has no influence on API.
- C++
Published by RUrlus over 5 years ago
carma - Release Carma 0.2.0
Changes:
- Fix spelling of
writeable - Restructure include directory
Features:
ArrayStore
A class for holding the memory of a Numpy array as an Armadillo matrix in C++ and creating views on the memory as Numpy arrays. An example use-case would be a C++ class that does not return all data computed, say a Hessian, but should do so on request. The memory of the views is tied to lifetime of the class.
- C++
Published by RUrlus over 5 years ago
carma - Release Carma v0.1.2
Patch release of Carma
Changes:
- Functions to edit Numpy flags (OWNDATA, WRITEABLE)
- Documentation example on how to take ownership of Numpy array
- C++
Published by RUrlus over 5 years ago
carma - Release Carma v0.1.1
Patch release of Carma
Changes:
- Fix in CMakelists as interface lib
- Fix in carma.h of non-template type
- C++
Published by RUrlus almost 6 years ago