bmulf#

Return $x multiplied by a floating-point value, truncated to an integer.

Synopsis#

my $x = Math::GMP->new(3)->bpow(100);
my $y = $x->bmulf(1.5);               # floor(3**100 * 1.5)

The double $float is converted to a GMP float, multiplied, then truncated toward zero. Internal precision is raised just enough to hold both operands exactly; the default mpf precision is restored before returning.

Edge cases#

  • $float == 0.0 gives a Math::GMP of 0.

  • Negative $float gives a result with the expected sign.

  • NaN / infinity gives an implementation-defined result; do not rely on it.