Beispiel #1
0
double do_acosh(double x)
{
  double t;
  if (x > 1.0e20)
    return (LOG1P(x) + log(2.0));
  else
    {
      t = sqrt(x - 1.0);
      return (LOG1P(t * (t + sqrt(x + 1))));
    }
}
Beispiel #2
0
double do_asinh(double x)
{
  double s, t;
  if (1.0 + x * x == 1.0)
    return (x);
  if (sqrt(1.0 + x * x) == 1.0)
    return (do_sign(1.0, x) * (LOG1P(x) + log(2.0)));
  else
    {
      t = fabs(x);
      s = 1.0 / t;
      return (do_sign(1.0, x) * LOG1P(t + t / (s + sqrt(1 + s * s))));
    }
}
Beispiel #3
0
double do_atanh(double x)
{
  double z;
  z = do_sign(0.5, x);
  x = do_sign(x, 1.0);
  x = x / (1.0 - x);
  return (z * LOG1P(x + x));
}
Beispiel #4
0
void KERNEL_NAME(VMLLONG n, VML_FLOAT * a, VML_FLOAT * b, VML_FLOAT * y, VML_FLOAT * z, VML_FLOAT * other_params) {
  VMLLONG i=0;
  for(i=0; i<n; i++){
    y[i]=LOG1P(a[i]);
  }
}
Beispiel #5
0
double do_log1p(double x)
{
  return LOG1P(x);
}