#NEWLINE# def test_short_halfway_cases( self ) : #NEWLINE# #INDENT# for k in ( 0 , 5 , 10 , 15 , 20 ) : #NEWLINE# #INDENT# upper = ( - ( ( - ( 2 ** 54 ) ) // ( 5 ** k ) ) ) #NEWLINE# lower = ( - ( ( - ( 2 ** 53 ) ) // ( 5 ** k ) ) ) #NEWLINE# if ( ( lower % 2 ) == 0 ) : #NEWLINE# #INDENT# lower += 1 #NEWLINE# #UNINDENT# for i in range ( TEST_SIZE ) : #NEWLINE# #INDENT# ( n , e ) = ( random . randrange ( lower , upper , 2 ) , k ) #NEWLINE# while ( ( n % 5 ) == 0 ) : #NEWLINE# #INDENT# ( n , e ) = ( ( self // 5 ) , ( e + 1 ) ) #NEWLINE# #UNINDENT# assert ( ( n % 10 ) in ( 1 , 3 , 7 , 9 ) ) #NEWLINE# ( digits , exponent ) = ( n , e ) #NEWLINE# while ( digits < ( 10 ** 20 ) ) : #NEWLINE# #INDENT# s = '{}e{}' . format ( digits , exponent ) #NEWLINE# self . check_strtod ( s ) #NEWLINE# s = '{}e{}' . format ( ( digits * ( 10 ** 40 ) ) , ( exponent - 40 ) ) #NEWLINE# self . check_strtod ( s ) #NEWLINE# digits *= 2 #NEWLINE# #UNINDENT# ( digits , exponent ) = ( n , e ) #NEWLINE# while ( digits < ( 10 ** 20 ) ) : #NEWLINE# #INDENT# s = '{}e{}' . format ( digits , exponent ) #NEWLINE# self . check_strtod ( s ) #NEWLINE# s = '{}e{}' . format ( ( digits * ( 10 ** 40 ) ) , ( exponent - 40 ) ) #NEWLINE# self . check_strtod ( s ) #NEWLINE# digits *= 5 #NEWLINE# exponent -= 1