48 const double inv = 1.0 / (
a_ +
s);
49 const double scale = 2.0 *
a_ * inv;
51 rho[0] =
a_ * (3.0 *
s -
a_) * inv;
52 rho[1] = scale * scale;
53 rho[2] = -2.0 * inv * rho[1];
66 const double r = std::sqrt(
s);
67 const double ra = r /
a_;
68 const double sum = 1.0 + ra;
70 rho[0] = 2.0 *
b_ * (ra - std::log(sum));
72 rho[2] = r == 0.0 ? std::numeric_limits<double>::lowest() : -0.5 / (
a_ * r * sum * sum);
77 const double sum =
b_ +
s;
78 const double inv = 1.0 / sum;
79 const double scale =
b_ * inv;
82 rho[1] = scale * scale;
83 rho[2] = -2.0 * inv * rho[1];
88 const double exp = std::exp(
s *
c_);
90 rho[0] =
b_ * (1 - exp);