10000 Releases · Axect/Peroxide · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: Axect/Peroxide

v0.39.5

21 Apr 01:52
Compare
Choose a tag to compare
10000

Release 0.39.5 (2025-04-21)

  • New feature rkyv
    • Implement rkyv::{Archive, Serialize, Deserialize} for Matrix, Polynomial, Spline, ODE

Full Changelog: v0.39.4...v0.39.5

v0.39.4

11 Apr 07:22
Compare
Choose a tag to compare

Release 0.39.4 (2025-04-11)

Optimize integrate

  • Replace the output signature of gauss_legendre_table and kronrod_table to &'static [f64] to avoid unnecessary allocations.
  • Hard code symmetry of weights and nodes into source code to avoid unnecessary allocations.
  • New helper function - compute_gauss_kronrod_sum_stored
    • Reduce the number of function calls (G+K -> K)
  • Change update method of subinterval tolerance (divide by 2 -> divide by sqrt(2))
  • These changes improve the performance of integrate by 1.2x - 50x (to integrate highly oscillatory functions)

Update dependencies

  • Update rand to 0.9
  • Update rand_distr to 0.5

Full Changelog: v0.39.3...v0.39.4

v0.39.3

13 Mar 01:34
Compare
Choose a tag to compare

Release 0.39.3 (2025-03-13)

  • Update puruspe to 0.4.0

Full Changelog: v0.39.2...v0.39.3

v0.39.2

08 Feb 03:32
Compare
Choose a tag to compare

Release 0.39.2 (2025-02-06)

  • Implement Broyden method for GL4

Full Changelog: v0.39.1...v0.39.2

v0.39.1

06 Feb 07:54
Compare
Choose a tag to compare

Release 0.39.1 (2025-02-06)

  • Add lambert_w doc for crate docs #82 (Thanks to @JSorngard)

  • Add default signature for linspace! #85 (Thanks to @tarolling)

  • Fix a bug in ButcherTableau::step

  • Add another example for ODE (examples/ode_test_orbit.rs)

What's Changed

  • Add Lambert W function to list of special functions in crate docs by @JSorngard in #82
  • ADD: add default signature for linspace macro by @tarolling in #85

New Contributors

Full Changelog: v0.39.0...v0.39.1

v0.39.0

28 Nov 04:52
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.37.9...v0.39.0

v0.37.9

30 Jul 23:04
Compare
Choose a tag to compare

Release 0.37.9 (2024-07-31)

Full Changelog: v0.37.8...v0.37.9

v0.37.8

30 Jul 12:03
Compare
Choose a tag to compare

Release 0.37.8 (2024-07-30)

  • Integrate with lambert_w crate (#63) (Thanks to @JSorngard)
    • Write flexible wrapper for lambert_w

      pub enum LambertWAccuracyMode {
          Simple,   // Faster, 24 bits of accuracy
          Precise,  // Slower, 50 bits of accuracy
      }
      
      pub fn lambert_w0(z: f64, mode: LambertWAccuracyMode) -> f64;
      pub fn lambert_wm1(z: f64, mode: LambertWAccuracyMode) -> f64;
    • Write default Lambert W function for prelude (Precise as default)

      use peroxide::prelude::*;
      
      fn main() {
          lambert_w0(1.0).print(); // Same as fuga::lambert_w0(1.0, LambertWAccuracyMode::Simple)
      }

What's Changed

  • Implement the Lambert W function as a wrapper around the lambert_w crate. by @JSorngard in #63

New Contributors

Full Changelog: v0.37.7...v0.37.8

v0.37.6

19 Jun 10:10
Compare
Choose a tag to compare

Release 0.37.6 (2024-06-19)

Huge Spline Change

  • Generic Spline trait
    • Spline<T>: desired output type is T
  • Split PolynomialSpline from Spline
    • CubicSpline & CubicHermiteSpline are now PolynomialSpline
    • Implement Spline<f64> for PolynomialSpline
  • Implement B-Spline
    • BSpline { degree: usize, knots: Vec<f64>, control_points: Vec<Vec<f64>> }
    • BSpline::open(degree, knots, control_points) : Open B-Spline
    • BSpline::clamped(degree, knots, control_points) : Clamped B-Spline
  • Implement Spline<(f64, f64)> for BSpline

Full Changelog: v0.37.5...v0.37.6

v0.37.5

10 Jun 05:03
Compare
Choose a tag to compare

Release 0.37.5

  • More generic & stable root finding macros

Full Changelog: v0.37.4...v0.37.5

0