my
$div
= 2015;
my
$den
= Rmpfr_init2(64);
my
$rop1
= Math::MPFR->new();
my
$rop2
= Math::MPFR->new();
my
$num
= Math::MPFR->new(7000.2);
Rmpfr_set_ui(
$den
,
$div
, MPFR_RNDN);
Rmpfr_fmod (
$rop1
,
$num
,
$den
, MPFR_RNDN);
Rmpfr_fmod_ui (
$rop2
,
$num
,
$div
, MPFR_RNDN );
cmp_ok(
$rop1
,
'=='
,
$rop2
,
'53-bit prec: Rmpfr_fmod and Rmpfr_fmod_ui agree'
);
Rmpfr_set_default_prec(6);
my
$rop3
= Math::MPFR->new();
my
$rop4
= Math::MPFR->new();
for
(1..149) {
my
$div
=
int
(
rand
(2048)) + 1;
my
$num
= Math::MPFR->new(1 +
rand
(6000));
Rmpfr_set_ui(
$den
,
$div
, MPFR_RNDN);
Rmpfr_fmod (
$rop3
,
$num
,
$den
, MPFR_RNDN);
Rmpfr_fmod_ui (
$rop4
,
$num
,
$div
, MPFR_RNDN );
cmp_ok(
$rop3
,
'=='
,
$rop4
,
"$num $div: Rmpfr_fmod and Rmpfr_fmod_ui agree"
);
}
done_testing()