>>108105464
# let iseven n = 0. = n -. (2. *. float_of_int (truncate (n /. 2.)));;
val iseven : float -> bool = <fun>
# List.map (fun n -> n, iseven n) [1.;2.;3.;4.;5.;infinity;nan;neg_infinity;0.];;
- : (float * bool) list =
[(1., false); (2., true); (3., false); (4., true); (5., false);
(infinity, false); (nan, false); (neg_infinity, false); (0., true)]
all of those weird numbers are, appropriately, odd