Recent Releases of Ellip: An Elliptic Integral Library for Rust

Ellip: An Elliptic Integral Library for Rust - v1.0.2

What's Changed

  • Ellip is no_std by default.
  • Deprecate no_std feature flag.

Full Changelog: https://github.com/p-sira/ellip/compare/v1.0.1...v1.0.2

- Rust
Published by p-sira 5 months ago

Ellip: An Elliptic Integral Library for Rust - v1.0.1

What's Changed

Bug Fixes - Fix integer overflow in ellipk and ellipe.

Full Changelog: https://github.com/p-sira/ellip/compare/v1.0.0...v1.0.1

- Rust
Published by p-sira 5 months ago

Ellip: An Elliptic Integral Library for Rust - v1.0.0

What's Changed

  • First stable release of Ellip.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.9...v1.0.0

- Rust
Published by p-sira 5 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.9

What's Changed

Minor Fixes - Fix the tables in the Testing section of README.

Note: Version 0.5.8 was skipped due to CI error.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.6...v0.5.9

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.7

What's Changed

Improvements - Add reproducibility section in README. - Improve testing documentation.

Tests - Add test on macOS and Windows in the CI. - Fix the elliprj test for macOS and Windows.

Others - Use the 'workspace' project structure. - All the children packages now follow the version of ellip. - Use cargo-release for the workflow.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.6...v0.5.7

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust -

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.7-alpha.3

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.7-alpha.2...v0.5.7-alpha.3

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.7-alpha.2

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.5...v0.5.7-alpha.2

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.7-alpha.1

What's Changed

  • CI: Add caching by @p-sira in https://github.com/p-sira/ellip/pull/80
  • Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.7-alpha...v0.5.7-alpha.1

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.7-alpha

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.6...v0.5.7-alpha

- Rust
Published by p-sira 6 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.6

What's Changed

Tests - Update the error definition, combining symmetric relative error and absolute error. - Modify Wolfram test data for elliprj, preventing close symmetric parameter values in the PV domain.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.5...v0.5.6

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.5

What's Changed

Minor Fixes - Fix 3D plots URLs.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.4...v0.5.5

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.4

What's Changed

Improvements - Serve interactive plots through github.io. - Automatically generate 3D plots.

Others - Upgrade plotly to 0.13.5 - Use plotly_static instead of kaleido as it is deprecated.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.3...v0.5.4

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.3

What's Changed

Improvements - Improve accuracy of jacobi_zeta and heuman_lambda by using cos for numerical stability. - Reduce crate size.

Tests - Use exact value of machine epsilon in Wolfram scripts. - Fix the percentile calculation for the error report.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.2...v0.5.3

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.2

Improvements

  • heuman_lambda: Improve performance.
  • Restructure jacobi_zeta and heuman_lambda into misc module.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.1...v0.5.2

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.1

Bug Fixes

  • Fix incorrect heuman_lambda implementation.

Improvements

  • Reduce crate size.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.5.0...v0.5.1

- Rust
Published by p-sira 8 months ago

Ellip: An Elliptic Integral Library for Rust - v0.5.0

New Features

  • no_std flag: Support no_std environment.
  • Parallelization available on ellip-rayon crate.

Bug Fixes

  • Fix graphs cutting off at the border in the documentation.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.4.0...v0.5.0

- Rust
Published by p-sira 9 months ago

Ellip: An Elliptic Integral Library for Rust - v0.4.0

Breaking Changes

  • BulirschConst: The trait signature changed to BulirschConst<T>.
  • bulirsch functions are bounded by T: Float + BulirschConst<T> trait.

Bug Fixes

  • ellippiinc: Fix segfault when m sin²(phi) > 1. Early catch and return error instead.
  • Fix error message when m > 1 for ellipk, ellipe, ellippi, and ellipd.
  • Fix graphs cutting off at the border in the documentation.

New Features

  • jacobi_zeta and jacobi_zeta_unchecked: Jacobi Zeta function (Z)
  • heuman_lambda and heuman_lambda_unchecked: Heuman Lambda function (Λ0).
  • ellippiinc_bulirsch: Faster implementation of ellippiinc.
  • unstable flag: Access features that might be changed in the future.
  • Add unchecked version for carlson functions, bulirsch functions, ellipeinc and ellippi under the unstable flag.
  • *_with_const: Control the precision of bulirsch functions using BulirschConst trait.
  • DefaultPrecision and HalfPrecision struct for BulirschConst trait available under unstable flag.

Tests

  • Add Wolfram test data for f32 datatype.
  • Add test data for jacobi_zeta and heuman_lambda.

- Rust
Published by p-sira 9 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.7

Bug Fixes

  • ellippiinc: Fix negative m domain where n < 0 and m <= n.

Improvements

  • Improve performance across all functions by removing unnecessary checks.
  • Improve and fix error messages.
  • Add test summary and benchmark data in README.
  • el3: Improve accuracy.
  • elliprj: Slightly increase accuracy of the p.v. cases.

Tests

  • Add Wolfram test data for ellipd and ellipdinc.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.3.6...v0.3.7

- Rust
Published by p-sira 10 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.6

Bug Fixes

  • ellipdinc: Fix incorrect result when m = -inf.
  • el3: Fix NAN when p is small and kc = 0.

Improvements

  • Improve performance of legendre functions by lazy checking and el3 by using array instead of Vec.
  • Handle special cases and edge cases (infinity, nan, etc.) for all carlson functions.
  • Increase test coverage.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.3.5...v0.3.6

- Rust
Published by p-sira 10 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.5

Deprecations

  • Deprecate BulirschConst: The trait signature will be changed from BulirschConst to BulirschConst<T> and the trait will be relocated under unstable flag.

Bug Fixes

  • cel1: Fix incorrect values in negative kc cases.
  • el3: Fix incorrect values in pm > 0.5 branch.

Improvements

  • Loosen the bounds of the bulirsch functions.
  • Improve the performance of the bulirsch functions.
  • Handle special cases and edge cases (infinity, nan, etc.) for all bulirsch functions.
  • Add special cases documentation for bulirsch functions.
  • Improve and fix documentation.

Tests

  • Increase test coverage.
  • Reduce package size.
  • Include bulirsch functions in the benchmark module.
  • Use native Wolfram functions to generate test data for cel1, el1, and el3.
  • Add error report for cel1 and cel2.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.3.4...v0.3.5

- Rust
Published by p-sira 10 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.4

Bug Fixes

  • ellippiinc: Fix not returning error when n sin²φ = 1.

Improvements

  • Handle special cases and edge cases (infinity, nan, etc.) for all legendre functions.
  • Add special cases documentation for legendre functions.
  • Increase test coverage.
  • Report code coverage.
  • Move examples into separate crates, reducing dev dependencies and test time.

- Rust
Published by p-sira 11 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.3

Changes

  • Use numeric_literals to parse floats within the function to improve code readability

Full Changelog: https://github.com/p-sira/ellip/compare/v0.3.2...v0.3.3

- Rust
Published by p-sira 11 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.2

Improvements

  • Reduce package size.
  • Use custom error type StrErr instead of &'static str to improve readability.
  • Format documentation.

Full Changelog: https://github.com/p-sira/ellip/compare/v0.3.1...v0.3.2

- Rust
Published by p-sira 11 months ago

Ellip: An Elliptic Integral Library for Rust - v0.3.1

Improvements

  • Improve documentations and add graphs and examples for each function.
  • Improve the precision of the ellipk, ellipf, ellipe, ellipeinc, ellippiinc, and elliprj functions.
  • Improve the speed of ellippiinc function.
  • el3: Add error when parameter goes out of the function's range (|kc| > 0 for p < 0) and improved the error message when 1 + px² equals zero.

New Features

  • Add assert_close function in util module.

Bug Fixes

  • ellipd: Fix incorrect answers for m < 0. The function also returns infinity instead of throwing error at m = 1.
  • Fix the domains for ellipf and ellipeinc.
  • el3: Fix index out of bound in small el3 cases.
  • ellippiinc: Fix infinite loop leading to stack overflow.

- Rust
Published by p-sira 11 months ago