@@ -63,7 +63,7 @@ fn lagrange_weights(i: usize, n: usize, u: f64) -> f64 {
6363
6464/// TODO
6565#[ repr( C ) ]
66- #[ derive( Clone , Copy , Deserialize , Eq , PartialEq , Serialize ) ]
66+ #[ derive( Clone , Copy , Debug , Deserialize , Eq , PartialEq , Serialize ) ]
6767pub enum ReweightMeth {
6868 /// TODO
6969 ApplGridX ,
@@ -83,14 +83,14 @@ pub enum Map {
8383
8484/// TODO
8585#[ repr( C ) ]
86- #[ derive( Clone , Copy , Deserialize , Eq , PartialEq , Serialize ) ]
86+ #[ derive( Clone , Copy , Debug , Deserialize , Eq , PartialEq , Serialize ) ]
8787pub enum InterpMeth {
8888 /// TODO
8989 Lagrange ,
9090}
9191
9292/// TODO
93- #[ derive( Clone , Deserialize , Serialize ) ]
93+ #[ derive( Clone , Debug , Deserialize , Serialize ) ]
9494pub struct Interp {
9595 min : f64 ,
9696 max : f64 ,
@@ -656,6 +656,32 @@ mod tests {
656656 }
657657 }
658658
659+ #[ test]
660+ fn compare_fields_with_nan ( ) {
661+ let interp_a = Interp :: new (
662+ 1e-3 ,
663+ 1e4 ,
664+ 50 ,
665+ 3 ,
666+ ReweightMeth :: NoReweight ,
667+ Map :: ApplGridH0 ,
668+ InterpMeth :: Lagrange ,
669+ ) ;
670+ let interp_b = Interp :: new (
671+ 1e-3 ,
672+ 1e4 ,
673+ 50 ,
674+ 3 ,
675+ ReweightMeth :: NoReweight ,
676+ Map :: ApplGridH0 ,
677+ InterpMeth :: Lagrange ,
678+ ) ;
679+
680+ assert ! ( interp_a. min. is_nan( ) ) ;
681+ assert ! ( interp_b. min. is_nan( ) ) ;
682+ assert_eq ! ( interp_a, interp_b) ;
683+ }
684+
659685 #[ test]
660686 fn interpolate_zero_and_outside ( ) {
661687 let interps = vec ! [
0 commit comments