Macaulay2 Engine
Loading...
Searching...
No Matches

◆ mpfc_sub_mult()

void mpfc_sub_mult ( gmp_CCmutable result,
gmp_CCmutable a,
gmp_CCmutable b )

Definition at line 200 of file complex.c.

201{
202 // result->re -= a->re*b->re - a->im*b->im;
203 // result->im -= a->re*b->im + a->im*b->re;
204
205 mpfr_t tmp;
206 mpfr_init2(tmp, mpfr_get_prec(a->re));
207
208 mpfr_mul(tmp, a->re, b->re, MPFR_RNDN);
209 mpfr_add(result->re, result->re, tmp, MPFR_RNDN);
210 mpfr_mul(tmp, a->im, b->im, MPFR_RNDN);
211 mpfr_sub(result->re, result->re, tmp, MPFR_RNDN);
212
213 mpfr_mul(tmp, a->re, b->im, MPFR_RNDN);
214 mpfr_add(result->im, result->im, tmp, MPFR_RNDN);
215 mpfr_mul(tmp, a->im, b->re, MPFR_RNDN);
216 mpfr_add(result->im, result->im, tmp, MPFR_RNDN);
217
218 mpfr_clear(tmp);
219}
VALGRIND_MAKE_MEM_DEFINED & result(result)

References result().