Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- my $inf = 9**9**9;
- my $neginf = -9**9**9;
- my $nan = -sin(9**9**9);
- sub isinf { $_[0]==9**9**9 || $_[0]==-9**9**9 }
- sub isnan { ! defined( $_[0] <=> 9**9**9 ) }
- # useful for detecting negative zero
- sub signbit { substr( sprintf( '%g', $_[0] ), 0, 1 ) eq '-' }
- for my $num ( $inf, $neginf, $nan ) {
- printf("%s:tisinf: %d,tisnan: %d,tsignbit: %dn", $num, isinf($num), isnan($num), signbit($num));
- }
- inf: isinf: 1, isnan: 0, signbit: 0
- -inf: isinf: 1, isnan: 0, signbit: 1
- nan: isinf: 0, isnan: 1, signbit: 0
- print "Is NaNn" if $a eq 'nan';
- print "Is Infn" if $a eq 'inf';
Add Comment
Please, Sign In to add comment