sub floor { my $i= int( my $f= shift @_ ); return $i - ( $f<0 && $f!=$i ); }