716 {
718 {
721 const complex *x0 = x0t0, *t0 = x0t0 + n;
722 const double t = (*(
double*)t0) *
bigT;
723 slpSxS->evaluate(n, x0, SxS);
724 slpTxT->evaluate(n, x0, TxT);
727 double mS = c -
productST *
s / sqrt_one_minus_productST_2;
728 double mT =
s / sqrt_one_minus_productST_2;
729 int j, i;
730 for (j = 0; j < n - 1; j++)
731 for (i = 0; i <= n; i++)
732 *(HxH + i * n + j) =
733 *(SxS + i * (n - 1) + j) * mS + *(TxT + i * (n - 1) + j) * mT;
734 j = n - 1;
735 for (i = 0; i < n; i++) *(HxH + i * n + j) = (x0 + i)->getconjugate();
736 *(HxH + n * n + n - 1) = complex(0.);
737 }
738 else
739 slpHxH->evaluate(n + 1, x0t0, HxH);
740 }
StraightLineProgram * slpHxH
StraightLineProgram * slpSxS
StraightLineProgram * slpTxT
const mpreal sqrt(const unsigned int v, mp_rnd_t rnd_mode=mpreal::get_default_rnd())
const mpreal cos(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
const mpreal sin(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
#define newarray_atomic(T, len)