Closed implementations for the admitted java.lang.Math overloads.
Inputs have already been selected and coerced by Java.Dispatch. Every
numeric result is re-tagged with the primitive kind declared by the selected
JVM descriptor so later Java calls can observe its overload identity.
Summary
Functions
@spec abs_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec abs_float([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec abs_int([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec abs_long([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec ceil_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec floor_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec max_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec max_float([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec max_int([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec max_long([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec min_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec min_float([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec min_int([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec min_long([integer()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec pow_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec round_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec round_float([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}
@spec sqrt_double([term()]) :: {:ok, PtcRunner.Lisp.Java.Primitive.t()}