Skip to content

Releases: denehoffman/rustitude

v0.8.0 - The "bin there, done that" release

27 Jun 21:20
21b892e
Compare
Choose a tag to compare

Another big update! This one overhauls the split_m mechanism by allowing users to run ELL calculations over a subset of events by index. This is all handled nicely in the Python API with the new function rustitude.minimizer which handles all your minimization needs! This update automatically includes support for Minuit fitting algorithms via iminuit as well as all scipy.optimize.minimize algorithms (and custom ones if you really want via the scipy interface).

What's Changed

Full Changelog: v0.7.4...v0.8.0

The "roll your own" release

21 Jun 19:54
80f1f83
Compare
Choose a tag to compare

This release primarily adds the ability to write your own Nodes in Python using the rustitude.Node and rustitude.PyNode classes. It also adds some preliminary documentation for the Python API via readthedocs.io.

What's Changed

Full Changelog: v0.7.3...v0.7.4

The "activated" release

20 Jun 20:50
ac9b513
Compare
Choose a tag to compare

Fixed amplitude activation/deactivation and added some unit tests!

What's Changed

Full Changelog: v0.7.2...v0.7.3

The "oops, missed a spot" release

19 Jun 22:47
Compare
Choose a tag to compare

This release fixes a lot of little bugs in the GlueX amplitudes, including a few misplaced digits in the K-matrix constants. It also adds some basic logging to the rustitude-core crate and fixes the tree printing for Amplitude-like structs. I added more sensible Debug/Display settings for Amplitudes and related structs, and deprecated the norm_int methods, which I believe are not really necessary (I hope).

What's Changed

Full Changelog: v0.7.1...v0.7.2

The "finally, it's just a patch" release

17 Jun 17:17
Compare
Choose a tag to compare

Not much new here, a few bug fixes, a few improvements. See the changelog for more details.

What's Changed

Full Changelog: v0.7.0...v0.7.1

v0.7.0: It's faster now!

10 Jun 16:01
de1c057
Compare
Choose a tag to compare

This release includes some major (breaking) changes to the amplitude API, but the benefit is a speed increase of around 60% according to some benchmarks.

First, we got rid of a few unnecessary allocations which were happening quite a lot inside the main loop. Second, we got rid of a match statement which was also happening multiple times inside that same loop. This theoretically improves branch prediction and maybe even some cache locality, which speeds things up a ton!

Note that the main changes for developers (I figure I'm the only one at this point, but this is for posterity) are that AmpOp was removed, we can just return Amplitudes and interact with those. The rest of the breaking changes are a bit behind the curtain, but there are also par_ and regular versions of most of the end-stage computation methods just to allow for profiling without rayon. This shouldn't change the Python API at all.

rustitude v0.6.0

05 Jun 06:17
Compare
Choose a tag to compare

Style

  • add KaTeX header to all docs

New Features (BREAKING)

  • implemented norm_int functions and CohSum
    This feature is designed to allow for the correct implementation of
    normalization integrals. Thanks to Lawrence Ng for pointing this out to
    me.

Commit Statistics

  • 4 commits contributed to the release over the course of 11 calendar days.
  • 11 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release rustitude-core v2.0.0 (190918d)
    • Implemented norm_int functions and CohSum (a804178)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Add KaTeX header to all docs (e93d041)

rustitude-gluex v0.4.0

05 Jun 06:17
Compare
Choose a tag to compare

Style

  • add KaTeX header to all docs

Commit Statistics

  • 3 commits contributed to the release over the course of 11 calendar days.
  • 11 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release rustitude-core v2.0.0 (190918d)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Add KaTeX header to all docs (e93d041)

rustitude-core v2.0.0

05 Jun 06:14
Compare
Choose a tag to compare

Documentation

  • finish documentation coverage (not quite full quality, but we can work on that)
  • add documentation for almost everything
    I haven't documented amplitude.rs yet because it has some fundamental flaws pointed out to me by Lawrence Ng.
  • finished documenting four_momentum.rs
  • shortened some links
  • write crate-level documentation

New Features

  • added print_tree at CohSum and Model level
  • add dataset reading error
  • add parity between ROOT and Parquet reading formats
    additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake.

Bug Fixes

  • fixed failing docs
  • change parameters in Manager.evaluate to be a slice rather than a vector

Style

  • add KaTeX header to all docs

New Features (BREAKING)

  • implemented norm_int functions and CohSum
    This feature is designed to allow for the correct implementation of
    normalization integrals. Thanks to Lawrence Ng for pointing this out to
    me.

Commit Statistics

  • 13 commits contributed to the release over the course of 11 calendar days.
  • 11 days passed between releases.
  • 12 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Fixed failing docs (d0da6de)
    • Finish documentation coverage (not quite full quality, but we can work on that) (b18e3e1)
    • Added print_tree at CohSum and Model level (82ae775)
    • Implemented norm_int functions and CohSum (a804178)
    • Add documentation for almost everything (04b99c3)
    • Add dataset reading error (a155903)
    • Add parity between ROOT and Parquet reading formats (4145ddc)
    • Finished documenting four_momentum.rs (71181fc)
    • Shortened some links (b8b46d8)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Write crate-level documentation (f337fdb)
    • Add KaTeX header to all docs (e93d041)
    • Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)

py-rustitude v0.6.0

05 Jun 06:23
Compare
Choose a tag to compare

Chore

  • bump python versions
  • bump python library version
  • bump python library version

Chore

  • add description to py-rustitude

New Features

  • added print_tree at CohSum and Model level
  • add parity between ROOT and Parquet reading formats
    additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake.
  • additional API so python interactions with managers can actually modify the amplitudes they manage
  • add RustitudeError and remove unwraps, error handling should work in python as well

Bug Fixes

  • added + and * overload type hints
  • register the proper methods for creating new Models and CohSums in PyO3
  • add type hint for version
  • change parameters in Manager.evaluate to be a slice rather than a vector
  • change python crate versioning
  • remove unsafe transmutes, they weren't working properly and probably aren't needed anyway
  • fix py-rustitude dependencies
  • readmes and licenses suck

Refactor

  • major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time

New Features (BREAKING)

  • implemented norm_int functions and CohSum
    This feature is designed to allow for the correct implementation of
    normalization integrals. Thanks to Lawrence Ng for pointing this out to
    me.

Commit Statistics

  • 25 commits contributed to the release over the course of 20 calendar days.
  • 18 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Add description to py-rustitude (1e70cf3)
    • Release py-rustitude v0.6.0 (48ae335)
    • Bump python versions (ce74dd1)
    • Added + and * overload type hints (d3dda39)
    • Register the proper methods for creating new Models and CohSums in PyO3 (bc47cf1)
    • Added print_tree at CohSum and Model level (82ae775)
    • Implemented norm_int functions and CohSum (a804178)
    • Add parity between ROOT and Parquet reading formats (4145ddc)
    • Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
    • Add type hint for version (0a04ca1)
    • Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)
    • Change python crate versioning (7e07ac9)
    • Release py-rustitude v0.4.3 (650568d)
    • Release py-rustitude v0.4.3 (85fa50e)
    • Release py-rustitude v0.4.3 (573e76a)
    • Merge pull request #3 from denehoffman/python_reorg (467caac)
    • Additional API so python interactions with managers can actually modify the amplitudes they manage (d2a94a5)
    • Remove unsafe transmutes, they weren't working properly and probably aren't needed anyway (dba3b5b)
    • Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
    • Move all pyo3 code to the py-rustitude crate (9bcdb46)
    • Bump python library version (800db45)
    • Fix py-rustitude dependencies (b6c8e24)
    • Readmes and licenses suck (174a6f5)
    • Bump python library version (9d854af)
    • Major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time (9089c84)