349 {
350 mpfr_t tmp;
353
354
355 mpfr_mul(tmp, &a.re, &b.re, MPFR_RNDN);
356 mpfr_set(&
result.value().re, tmp, MPFR_RNDN);
357 mpfr_mul(tmp, &a.im, &b.im, MPFR_RNDN);
358 mpfr_sub(&
result.value().re, &
result.value().re, tmp, MPFR_RNDN);
359
360
361 mpfr_mul(tmp, &a.re, &b.im, MPFR_RNDN);
362 mpfr_set(&
result.value().im, tmp, MPFR_RNDN);
363 mpfr_mul(tmp, &a.im, &b.re, MPFR_RNDN);
364 mpfr_add(&
result.value().im, &
result.value().im, tmp, MPFR_RNDN);
365
367 mpfr_clear(tmp);
368 }
unsigned long get_precision() const
void set(ElementType &result, const ElementType &a) const
VALGRIND_MAKE_MEM_DEFINED & result(result)