<s> from test . test_support import TestFailed , verbose <EOL> seps = '<STR_LIT>' <EOL> eps = eval ( seps ) <EOL> print '<STR_LIT>' , seps <EOL> import math <EOL> def testit ( name , value , expected ) : <EOL> if abs ( value - expected ) > eps : <EOL> raise TestFailed , '<STR_LIT>' % ( name , value , expected ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . pi , <NUM_LIT> ) <EOL> testit ( '<STR_LIT:e>' , math . e , <NUM_LIT> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . acos ( - <NUM_LIT:1> ) , math . pi ) <EOL> testit ( '<STR_LIT>' , math . acos ( <NUM_LIT:0> ) , math . pi / <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . acos ( <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . asin ( - <NUM_LIT:1> ) , - math . pi / <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . asin ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . asin ( <NUM_LIT:1> ) , math . pi / <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . atan ( - <NUM_LIT:1> ) , - math . pi / <NUM_LIT:4> ) <EOL> testit ( '<STR_LIT>' , math . atan ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . atan ( <NUM_LIT:1> ) , math . pi / <NUM_LIT:4> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . atan2 ( - <NUM_LIT:1> , <NUM_LIT:0> ) , - math . pi / <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . atan2 ( - <NUM_LIT:1> , <NUM_LIT:1> ) , - math . pi / <NUM_LIT:4> ) <EOL> testit ( '<STR_LIT>' , math . atan2 ( <NUM_LIT:0> , <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . atan2 ( <NUM_LIT:1> , <NUM_LIT:1> ) , math . pi / <NUM_LIT:4> ) <EOL> testit ( '<STR_LIT>' , math . atan2 ( <NUM_LIT:1> , <NUM_LIT:0> ) , math . pi / <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . ceil ( <NUM_LIT:0.5> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . ceil ( <NUM_LIT:1.0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . ceil ( <NUM_LIT> ) , <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . ceil ( - <NUM_LIT:0.5> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . ceil ( - <NUM_LIT:1.0> ) , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . ceil ( - <NUM_LIT> ) , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . cos ( - math . pi / <NUM_LIT:2> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . cos ( <NUM_LIT:0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . cos ( math . pi / <NUM_LIT:2> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . cos ( math . pi ) , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . cosh ( <NUM_LIT:0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . cosh ( <NUM_LIT:2> ) - <NUM_LIT:2> * math . cosh ( <NUM_LIT:1> ) ** <NUM_LIT:2> , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . degrees ( math . pi ) , <NUM_LIT> ) <EOL> testit ( '<STR_LIT>' , math . degrees ( math . pi / <NUM_LIT:2> ) , <NUM_LIT> ) <EOL> testit ( '<STR_LIT>' , math . degrees ( - math . pi / <NUM_LIT:4> ) , - <NUM_LIT> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . exp ( - <NUM_LIT:1> ) , <NUM_LIT:1> / math . e ) <EOL> testit ( '<STR_LIT>' , math . exp ( <NUM_LIT:0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . exp ( <NUM_LIT:1> ) , math . e ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . fabs ( - <NUM_LIT:1> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . fabs ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . fabs ( <NUM_LIT:1> ) , <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . floor ( <NUM_LIT:0.5> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . floor ( <NUM_LIT:1.0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . floor ( <NUM_LIT> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . floor ( - <NUM_LIT:0.5> ) , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . floor ( - <NUM_LIT:1.0> ) , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . floor ( - <NUM_LIT> ) , - <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . fmod ( <NUM_LIT:10> , <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . fmod ( <NUM_LIT:10> , <NUM_LIT:0.5> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . fmod ( <NUM_LIT:10> , <NUM_LIT> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . fmod ( - <NUM_LIT:10> , <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . fmod ( - <NUM_LIT:10> , <NUM_LIT:0.5> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . fmod ( - <NUM_LIT:10> , <NUM_LIT> ) , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> def testfrexp ( name , ( mant , exp ) , ( emant , eexp ) ) : <EOL> if abs ( mant - emant ) > eps or exp != eexp : <EOL> raise TestFailed , '<STR_LIT>' % ( name , ( mant , exp ) , ( emant , eexp ) ) <EOL> testfrexp ( '<STR_LIT>' , math . frexp ( - <NUM_LIT:1> ) , ( - <NUM_LIT:0.5> , <NUM_LIT:1> ) ) <EOL> testfrexp ( '<STR_LIT>' , math . frexp ( <NUM_LIT:0> ) , ( <NUM_LIT:0> , <NUM_LIT:0> ) ) <EOL> testfrexp ( '<STR_LIT>' , math . frexp ( <NUM_LIT:1> ) , ( <NUM_LIT:0.5> , <NUM_LIT:1> ) ) <EOL> testfrexp ( '<STR_LIT>' , math . frexp ( <NUM_LIT:2> ) , ( <NUM_LIT:0.5> , <NUM_LIT:2> ) ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . hypot ( <NUM_LIT:0> , <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . hypot ( <NUM_LIT:3> , <NUM_LIT:4> ) , <NUM_LIT:5> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . ldexp ( <NUM_LIT:0> , <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . ldexp ( <NUM_LIT:1> , <NUM_LIT:1> ) , <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . ldexp ( <NUM_LIT:1> , - <NUM_LIT:1> ) , <NUM_LIT:0.5> ) <EOL> testit ( '<STR_LIT>' , math . ldexp ( - <NUM_LIT:1> , <NUM_LIT:1> ) , - <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . log ( <NUM_LIT:1> / math . e ) , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . log ( <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . log ( math . e ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . log ( <NUM_LIT:32> , <NUM_LIT:2> ) , <NUM_LIT:5> ) <EOL> testit ( '<STR_LIT>' , math . log ( <NUM_LIT:10> ** <NUM_LIT> , <NUM_LIT:10> ) , <NUM_LIT> ) <EOL> testit ( '<STR_LIT>' , math . log ( <NUM_LIT:10> ** <NUM_LIT> , <NUM_LIT:10> ** <NUM_LIT:20> ) , <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . log10 ( <NUM_LIT:0.1> ) , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . log10 ( <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . log10 ( <NUM_LIT:10> ) , <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> def testmodf ( name , ( v1 , v2 ) , ( e1 , e2 ) ) : <EOL> if abs ( v1 - e1 ) > eps or abs ( v2 - e2 ) : <EOL> raise TestFailed , '<STR_LIT>' % ( name , ( v1 , v2 ) , ( e1 , e2 ) ) <EOL> testmodf ( '<STR_LIT>' , math . modf ( <NUM_LIT> ) , ( <NUM_LIT:0.5> , <NUM_LIT:1.0> ) ) <EOL> testmodf ( '<STR_LIT>' , math . modf ( - <NUM_LIT> ) , ( - <NUM_LIT:0.5> , - <NUM_LIT:1.0> ) ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . pow ( <NUM_LIT:0> , <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . pow ( <NUM_LIT:1> , <NUM_LIT:0> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . pow ( <NUM_LIT:2> , <NUM_LIT:1> ) , <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . pow ( <NUM_LIT:2> , - <NUM_LIT:1> ) , <NUM_LIT:0.5> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . radians ( <NUM_LIT> ) , math . pi ) <EOL> testit ( '<STR_LIT>' , math . radians ( <NUM_LIT> ) , math . pi / <NUM_LIT:2> ) <EOL> testit ( '<STR_LIT>' , math . radians ( - <NUM_LIT> ) , - math . pi / <NUM_LIT:4> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . sin ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . sin ( math . pi / <NUM_LIT:2> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . sin ( - math . pi / <NUM_LIT:2> ) , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . sinh ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . sinh ( <NUM_LIT:1> ) ** <NUM_LIT:2> - math . cosh ( <NUM_LIT:1> ) ** <NUM_LIT:2> , - <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . sinh ( <NUM_LIT:1> ) + math . sinh ( - <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . sqrt ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . sqrt ( <NUM_LIT:1> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . sqrt ( <NUM_LIT:4> ) , <NUM_LIT:2> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . tan ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . tan ( math . pi / <NUM_LIT:4> ) , <NUM_LIT:1> ) <EOL> testit ( '<STR_LIT>' , math . tan ( - math . pi / <NUM_LIT:4> ) , - <NUM_LIT:1> ) <EOL> print '<STR_LIT>' <EOL> testit ( '<STR_LIT>' , math . tanh ( <NUM_LIT:0> ) , <NUM_LIT:0> ) <EOL> testit ( '<STR_LIT>' , math . tanh ( <NUM_LIT:1> ) + math . tanh ( - <NUM_LIT:1> ) , <NUM_LIT:0> ) <EOL> def test_exceptions ( ) : <EOL> print '<STR_LIT>' <EOL> try : <EOL> x = math . exp ( - <NUM_LIT> ) <EOL> except : <EOL> raise TestFailed ( "<STR_LIT>" <EOL> "<STR_LIT>" ) <EOL> if x != <NUM_LIT:0> : <EOL> raise TestFailed ( "<STR_LIT>" ) <EOL> try : <EOL> x = math . exp ( <NUM_LIT> ) <EOL> except OverflowError : <EOL> pass <EOL> else : <EOL> raise TestFailed ( "<STR_LIT>" ) <EOL> try : <EOL> x = math . sqrt ( - <NUM_LIT:1.0> ) <EOL> except ValueError : <EOL> pass <EOL> else : <EOL> raise TestFailed ( "<STR_LIT>" ) <EOL> if verbose : <EOL> test_exceptions ( ) </s>
