@@ -383,11 +383,13 @@ mod tests {
383383 mod umbrella_inversion {
384384 use super :: * ;
385385
386- const C_HALF : f64 = 15.0 ; // C/2 = 15 kcal/mol
387- const COS_PSI0 : f64 = 0.33 ; // ~70° typical for sp³
386+ const C : f64 = 30.0 ;
387+ const PSI0_DEG : f64 = 60.0 ;
388+ const C_HALF : f64 = C / 2.0 ;
389+ const COS_PSI0 : f64 = 0.5 ;
388390
389391 fn params ( ) -> ( f64 , f64 ) {
390- ( C_HALF , COS_PSI0 )
392+ UmbrellaInversion :: precompute ( C , PSI0_DEG )
391393 }
392394
393395 // --------------------------------------------------------------------
@@ -411,7 +413,7 @@ mod tests {
411413 fn sanity_f32_f64_consistency ( ) {
412414 let cos_psi = 0.4 ;
413415 let p64 = params ( ) ;
414- let p32 = ( C_HALF as f32 , COS_PSI0 as f32 ) ;
416+ let p32 = UmbrellaInversion :: precompute ( C as f32 , PSI0_DEG as f32 ) ;
415417
416418 let e64 = UmbrellaInversion :: energy ( cos_psi, p64) ;
417419 let e32 = UmbrellaInversion :: energy ( cos_psi as f32 , p32) ;
@@ -529,16 +531,15 @@ mod tests {
529531
530532 #[ test]
531533 fn precompute_values ( ) {
532- let ( c_half, cos_psi0) = UmbrellaInversion :: precompute ( C_HALF * 2.0 , 70.0 ) ;
534+ let ( c_half, cos_psi0) = UmbrellaInversion :: precompute ( C , PSI0_DEG ) ;
533535 assert_relative_eq ! ( c_half, C_HALF , epsilon = 1e-14 ) ;
534- assert_relative_eq ! ( cos_psi0, 70.0_f64 . to_radians ( ) . cos ( ) , epsilon = 1e-10 ) ;
536+ assert_relative_eq ! ( cos_psi0, COS_PSI0 , epsilon = 1e-10 ) ;
535537 }
536538
537539 #[ test]
538540 fn precompute_round_trip ( ) {
539- let p = UmbrellaInversion :: precompute ( 30.0 , 70.0 ) ;
540- let cos_eq = 70.0_f64 . to_radians ( ) . cos ( ) ;
541- let e = UmbrellaInversion :: energy ( cos_eq, p) ;
541+ let p = UmbrellaInversion :: precompute ( C , PSI0_DEG ) ;
542+ let e = UmbrellaInversion :: energy ( COS_PSI0 , p) ;
542543 assert_relative_eq ! ( e, 0.0 , epsilon = 1e-10 ) ;
543544 }
544545 }
0 commit comments