@@ -1004,26 +1004,26 @@ mod bachelier {
10041004 }
10051005
10061006 const A : [ f64 ; 8 ] = [
1007- 3.994_961_687_345_134e -1 ,
1008- 2.100_960_795_068_497e +1 ,
1009- 4.980_340_217_855_084e +1 ,
1010- 5.988_761_102_690_991e +2 ,
1011- 1.848_489_695_437_094e +3 ,
1012- 6.106_322_407_867_059e +3 ,
1013- 2.493_415_285_349_361e +4 ,
1014- 1.266_458_051_348_246e +4 ,
1007+ 3.994_961_687_345_13e -1 ,
1008+ 2.100_960_795_068_49e +1 ,
1009+ 4.980_340_217_855_08e +1 ,
1010+ 5.988_761_102_690_99e +2 ,
1011+ 1.848_489_695_437_09e +3 ,
1012+ 6.106_322_407_867_05e +3 ,
1013+ 2.493_415_285_349_36e +4 ,
1014+ 1.266_458_051_348_24e +4 ,
10151015 ] ;
10161016
10171017 const B : [ f64 ; 9 ] = [
1018- 4.990_534_153_589_422e +1 ,
1019- 3.093_573_936_743_112e +1 ,
1020- 1.495_105_008_310_999e +3 ,
1021- 1.323_614_537_899_738e +3 ,
1022- 1.598_919_697_679_745e +4 ,
1023- 2.392_008_891_720_782e +4 ,
1024- 3.608_817_108_375_034e +3 ,
1025- -2.067_719_486_400_926e +2 ,
1026- 1.174_240_599_306_013e +1 ,
1018+ 4.990_534_153_589_42e +1 ,
1019+ 3.093_573_936_743_11e +1 ,
1020+ 1.495_105_008_310_99e +3 ,
1021+ 1.323_614_537_899_73e +3 ,
1022+ 1.598_919_697_679_74e +4 ,
1023+ 2.392_008_891_720_78e +4 ,
1024+ 3.608_817_108_375_03e +3 ,
1025+ -2.067_719_486_400_92e +2 ,
1026+ 1.174_240_599_306_01e +1 ,
10271027 ] ;
10281028
10291029 #[ inline]
@@ -1034,12 +1034,14 @@ mod bachelier {
10341034 let mut sum1 = 0.0 ;
10351035 let mut sum2 = 0.0 ;
10361036
1037- for k in 0 ..A . len ( ) {
1038- sum1 += A [ k] * eta. powi ( k as i32 ) ;
1037+ // for k in 0..A.len() {
1038+ for ( k, v) in A . iter ( ) . enumerate ( ) {
1039+ sum1 += v * eta. powi ( k as i32 ) ;
10391040 }
10401041
1041- for k in 0 ..B . len ( ) {
1042- sum2 += B [ k] * eta. powi ( k as i32 ) ;
1042+ // for k in 0..B.len() {
1043+ for ( k, v) in B . iter ( ) . enumerate ( ) {
1044+ sum2 += v * eta. powi ( k as i32 ) ;
10431045 }
10441046
10451047 let hn = eta. sqrt ( ) * sum1 / ( 1. + sum2) ;
@@ -1055,12 +1057,14 @@ mod bachelier {
10551057 let mut sum1 = 0.0 ;
10561058 let mut sum2 = 0.0 ;
10571059
1058- for k in 0 ..A . len ( ) {
1059- sum1 += A [ k] * eta. powi ( k as i32 ) ;
1060+ // for k in 0..A.len() {
1061+ for ( k, v) in A . iter ( ) . enumerate ( ) {
1062+ sum1 += v * eta. powi ( k as i32 ) ;
10601063 }
10611064
1062- for k in 1 ..=B . len ( ) {
1063- sum2 += B [ k] * eta. powi ( k as i32 ) ;
1065+ // for k in 1..=B.len() {
1066+ for ( k, v) in B . iter ( ) . enumerate ( ) . skip ( 1 ) {
1067+ sum2 += v * eta. powi ( k as i32 ) ;
10641068 }
10651069
10661070 let hn = eta. sqrt ( ) * sum1 / ( 1. + sum2) ;
0 commit comments