@@ -237,7 +237,10 @@ def test_search_float32_into_fe5m2(self):
237237else :
238238add = v - value
239239if len (w )> 0 :
240- raise AssertionError (f"A warning was thrown for v={ v } , value={ value } , w={ w [0 ]} ." )
240+ raise AssertionError (
241+ f"A warning was thrown for v={ v } , "
242+ f"value={ value } , w={ w [0 ]} ."
243+ )
241244else :
242245v = value + add
243246b = search_float32_into_fe5m2 (v )
@@ -306,9 +309,9 @@ def test_inf_nan(self):
3063090.203125 ,
3073100.75 ,
308311numpy .nan ,
309- numpy . nan ,
310- - numpy . nan ,
311- - numpy . nan ,
312+ max ( CastFloat8 . values_e4m3fn )[ 0 ] ,
313+ max ( CastFloat8 . values_e4m3fn )[ 0 ] ,
314+ min ( CastFloat8 . values_e4m3fn )[ 0 ] ,
312315 ],
313316dtype = numpy .float32 ,
314317 )
@@ -380,26 +383,27 @@ def test_search_e5m2_pow(self):
380383 )
381384
382385def test_float32_to_fe4m3fn_inf (self ):
383- mx =
384- v0 = numpy .float32 (448 )
386+ mx = max ( CastFloat8 . values_e4m3fn )[ 0 ]
387+ v0 = numpy .float32 (mx )
385388v1 = numpy .float32 (numpy .inf )
386389a = search_float32_into_fe4m3 (v0 )
387390b = search_float32_into_fe4m3 (v1 )
388391self .assertEqual (a ,b )
389392
390- v0 = numpy .float32 (448 )
393+ v0 = numpy .float32 (mx )
391394v1 = numpy .float32 (numpy .inf )
392395a = float32_to_fe4m3 (v0 )
393396b = float32_to_fe4m3 (v1 )
394397self .assertEqual (a ,b )
395398
396- v0 = numpy .float32 (- 448 )
399+ mi = min (CastFloat8 .values_e4m3fn )[0 ]
400+ v0 = numpy .float32 (mi )
397401v1 = numpy .float32 (- numpy .inf )
398402a = search_float32_into_fe4m3 (v0 )
399403b = search_float32_into_fe4m3 (v1 )
400404self .assertEqual (a ,b )
401405
402- v0 = numpy .float32 (- 448 )
406+ v0 = numpy .float32 (mi )
403407v1 = numpy .float32 (- numpy .inf )
404408a = float32_to_fe4m3 (v0 )
405409b = float32_to_fe4m3 (v1 )
@@ -666,18 +670,32 @@ def test_float32_to_fe4m3fnuz_inf(self):
666670self .assertNotEqual (a ,b )
667671
668672def test_float32_to_fe5m2fnuz_inf (self ):
669- v0 = numpy .float32 (65536 )
673+ mx = max (CastFloat8 .values_e5m2fnuz )[0 ]
674+ v0 = numpy .float32 (mx )
670675v1 = numpy .float32 (numpy .inf )
671676a = search_float32_into_fe5m2 (v0 ,fn = True ,uz = True )
672677b = search_float32_into_fe5m2 (v1 ,fn = True ,uz = True )
673678self .assertEqual (a ,b )
674679
675- v0 = numpy .float32 (65536 )
680+ v0 = numpy .float32 (mx )
676681v1 = numpy .float32 (numpy .inf )
677682a = float32_to_fe5m2 (v0 ,fn = True ,uz = True )
678683b = float32_to_fe5m2 (v1 ,fn = True ,uz = True )
679684self .assertEqual (a ,b )
680685
686+ mi = min (CastFloat8 .values_e5m2fnuz )[0 ]
687+ v0 = numpy .float32 (mi )
688+ v1 = numpy .float32 (- numpy .inf )
689+ a = search_float32_into_fe5m2 (v0 ,fn = True ,uz = True )
690+ b = search_float32_into_fe5m2 (v1 ,fn = True ,uz = True )
691+ self .assertEqual (a ,b )
692+
693+ v0 = numpy .float32 (mi )
694+ v1 = numpy .float32 (- numpy .inf )
695+ a = float32_to_fe5m2 (v0 ,fn = True ,uz = True )
696+ b = float32_to_fe5m2 (v1 ,fn = True ,uz = True )
697+ self .assertEqual (a ,b )
698+
681699v0 = numpy .float32 (numpy .nan )
682700v1 = numpy .float32 (- numpy .nan )
683701a = search_float32_into_fe5m2 (v0 ,fn = True ,uz = True )
@@ -688,7 +706,7 @@ def test_float32_to_fe5m2fnuz_inf(self):
688706v1 = numpy .float32 (- numpy .inf )
689707a = search_float32_into_fe5m2 (v0 ,fn = True ,uz = True )
690708b = search_float32_into_fe5m2 (v1 ,fn = True ,uz = True )
691- self .assertEqual (a ,b )
709+ self .assertNotEqual (a ,b )
692710
693711v0 = numpy .float32 (numpy .nan )
694712v1 = numpy .float32 (- numpy .nan )
@@ -700,7 +718,7 @@ def test_float32_to_fe5m2fnuz_inf(self):
700718v1 = numpy .float32 (- numpy .inf )
701719a = float32_to_fe5m2 (v0 ,fn = True ,uz = True )
702720b = float32_to_fe5m2 (v1 ,fn = True ,uz = True )
703- self .assertEqual (a ,b )
721+ self .assertNotEqual (a ,b )
704722
705723def test_simple_fe4m3 (self ):
706724values = [448 ]