Releases: denehoffman/rustitude
rustitude-core v1.0.1
Documentation
- update readme link
- Update README.md (missed a spot)
- update readmes
Refactor
- change Amplitude such that new makes a new Amplitude, add conversion traits to AmpOp and PyAmpOp, and fix amplitude! macro
- major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time
Style
- get rid of extra git-files and media
Commit Statistics
- 6 commits contributed to the release.
- 1 day passed between releases.
- 6 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Get rid of extra git-files and media (0e94ec4)
- Update readme link (8824d4c)
- Change Amplitude such that new makes a new Amplitude, add conversion traits to AmpOp and PyAmpOp, and fix amplitude! macro (b08b3b8)
- Major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time (9089c84)
- Update README.md (missed a spot) (27799fd)
- Update readmes (53c553d)
v0.4.0: The "Cache Me If You Can" Release
The refactoring details of this update got lost to automatic changelog generation... See the new examples for the updated usage. I realized that while I was constraining amplitudes by free parameters, the amplitudes would still be calculated each time they show up in a sum. This is inefficient, since we can just calculate all possible amplitudes once, cache the results, and then walk the execution tree using the cache. That's what this update does. As such, it refactors the manager
and amplitude
modules, moving a lot of the functionality of Manager
to the new Model
struct. There is a lot to do still, but now model construction from amplitudes can have an arbitrary number nesting sums and products, as well as unary operations like real
, imag
, and norm_sqr
. These alone give all the functionality of the previous system, but it allows for some other nice things, like not having to specify part
in the Zlm
amplitude (just take the real or imaginary part using the provided method!).
All of this drastically cuts down on boilerplate code, and it's also much, much faster. I have been lazy making benchmarks, but in my testing this change gave me an ~18.5x speedup (3.7s to 200ms for some particularly complicated amplitude I made).
There is further potential to speed things up even more. We could, for instance, add an optional method to the Node
trait which gives the gradient rather than the plain function evaluation. As long it's done properly for the individual amplitudes, it seems like it shouldn't be difficult to propagate it to the root AmpOp
via the chain rule. This will probably be a focus for the next version. Most of the next version will be centered around testing and plotting results, as this really needs to be done. Currently, some of the activate/deactivate mechanics seem to have weird side-effects, and they might not work as intended.
Bug Fixes
- make add_submodule public
Other
- reorganize crate structure
Commit Statistics
- 2 commits contributed to the release over the course of 1 calendar day.
- 8 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude v0.4.2
Refactor
- major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time
Bug Fixes
- readmes and licenses suck
Commit Statistics
- 4 commits contributed to the release.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude v0.4.1
Bug Fixes
- add package info into workspace
Other
- merge rustitude-core to crates subdirectory
- more Cargo.lock and readme updates
- update Cargo.tomls
- move rustitude to crates subdirectory
Refactor
- move rustitude into the crates directory and add to workspace
Commit Statistics
- 6 commits contributed to the release over the course of 1 calendar day.
- 6 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
rustitude-gluex v0.2.1
Refactor
- major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time
Commit Statistics
- 1 commit contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time (9089c84)
rustitude-gluex v0.2.0
Documentation
- update links for rustitude-gluex readme
- update links in readmes
Other
- merge rustitude-core to crates subdirectory
Bug Fixes
- need to set some dependency versions...
- need to set some dependency versions...properly
Commit Statistics
- 7 commits contributed to the release.
- 5 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Need to set some dependency versions...properly (ee48e40)
- Release rustitude-gluex v0.2.0, rustitude v0.4.0 (1369408)
- Need to set some dependency versions... (2495107)
- Release rustitude-core v1.0.0, rustitude-gluex v0.2.0, rustitude v0.4.0, safety bump 2 crates (23a8807)
- Update links for rustitude-gluex readme (93dc0d6)
- Update links in readmes (95f85ed)
- Merge rustitude-core to crates subdirectory (9617a27)
rustitude-core v1.0.0
Documentation
- update links in readmes
New Features
- update ExtendedLogLikelihood call signature to make num_threads optional and default to 1
Other
- more Cargo.lock and readme updates
- Add rustitude-core to crates subdirectory
Commit Statistics
- 4 commits contributed to the release.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v0.3.4
Chore
- bump python library version
Documentation
- Update README.md
- Update README.md
- fixed some links
- Update README.md
New Features
- add type checking and re-export rustitude-core and rustitude-gluex as their own submodules
Bug Fixes
- correct spelling
Other
- update Cargo.lock
- re-enable tag check
- temporarily disable tag check so we can push to pypi through an action
- re-enable on-push and on-PR workflow conditions
A release only happens with a new tag - update pyproject.toml version
Commit Statistics
- 13 commits contributed to the release over the course of 3 calendar days.
- 3 days passed between releases.
- 12 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Merge branch 'main' of https://github.com/denehoffman/rustitude (7a3806c)
- Bump python library version (475682f)
- Update Cargo.lock (f64c86d)
- Update README.md (6d613a1)
- Correct spelling (9735d57)
- Update README.md (48a7362)
- Fixed some links (2d548c4)
- Add type checking and re-export rustitude-core and rustitude-gluex as their own submodules (6fc5c77)
- Update README.md (3dc6275)
- Re-enable tag check (4a88e2b)
- Temporarily disable tag check so we can push to pypi through an action (1747d5d)
- Re-enable on-push and on-PR workflow conditions (42f2966)
- Update pyproject.toml version (d941791)
v0.3.3
Chore
- update pyproject.toml info
Other
- remove unused library in rustitude-gluex which prevented cross-compilation
- Update maturin.yml
don't publish on every push, need to set up more for that - add maturin github actions
Commit Statistics
- 4 commits contributed to the release.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v0.3.2
Chore
- bump rustitude dependency versions
New Features
- initial commit to rustitude meta-crate
Includes some preliminary PyO3 bindings for the rustitude-core crate as well as rustitude-gluex bindings for testing. The gluex submodule will eventually be behind a feature gate!
Other
- Create rust.yml
- add README and CHANGELOG
Reverted
- opt for implementing all pyo3 bindings in their own submodules - this package will be very lightweight!
Style
- add local notes
- Create LICENSE
- update .gitignore
Commit Statistics
- 9 commits contributed to the release over the course of 1 calendar day.
- 8 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Bump rustitude dependency versions (023cfea)
- Opt for implementing all pyo3 bindings in their own submodules - this package will be very lightweight! (3126b7a)
- Merge branch 'main' of https://github.com/denehoffman/rustitude (ee950cd)
- Add local notes (aaa07cd)
- Create LICENSE (e2cb6e5)
- Create rust.yml (7646b89)
- Initial commit to rustitude meta-crate (157c864)
- Update .gitignore (310f89c)
- Add README and CHANGELOG (8bd07de)