File tree Expand file tree Collapse file tree 2 files changed +4
-15
lines changed
Expand file tree Collapse file tree 2 files changed +4
-15
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ rayon = "1.5.1"
3232rustc-hash = " 1.1.0"
3333serde = { features = [" derive" ], version = " 1.0.130" }
3434thiserror = " 1.0.30"
35+ lambert_w = " 1.2.31"
3536
3637[dev-dependencies ]
3738lhapdf = { package = " managed-lhapdf" , version = " 0.3.4" }
Original file line number Diff line number Diff line change @@ -16,21 +16,9 @@ mod applgrid {
1616 }
1717
1818 pub fn fx2 ( y : f64 ) -> f64 {
19- let mut yp = y;
20- let mut deltap = f64:: INFINITY ;
21-
22- for _ in 0 ..10 {
23- let x = ( -yp) . exp ( ) ;
24- let delta = ( 1.0 - x) . mul_add ( -5.0 , y - yp) ;
25- if ( delta. abs ( ) < 1e-15 ) && ( delta >= deltap) {
26- return x;
27- }
28- let deriv = x. mul_add ( -5.0 , -1.0 ) ;
29- yp -= delta / deriv;
30- deltap = delta;
31- }
32-
33- unreachable ! ( ) ;
19+ let z = -5.0 * ( -y) . exp ( ) ;
20+ let w = lambert_w:: lambert_w0 ( z) ;
21+ return -w / 5.0 ;
3422 }
3523
3624 pub fn fy2 ( x : f64 ) -> f64 {
You can’t perform that action at this time.
0 commit comments