Exemple #1
0
int
gsl_sf_complex_spence_xy_e(
  const double x,
  const double y,
  gsl_sf_result * real_sp,
  gsl_sf_result * imag_sp
  )
{
  const double oms_x = 1.0 - x;
  const double oms_y =     - y;
  return gsl_sf_complex_dilog_xy_e(oms_x, oms_y, real_sp, imag_sp);
}
Exemple #2
0
int
gsl_sf_complex_dilog_e(
  const double r,
  const double theta,
  gsl_sf_result * real_dl,
  gsl_sf_result * imag_dl
  )
{
  const double cos_theta = cos(theta);
  const double sin_theta = sin(theta);
  const double x = r * cos_theta;
  const double y = r * sin_theta;
  return gsl_sf_complex_dilog_xy_e(x, y, real_dl, imag_dl);
}
Exemple #3
0
CAMLprim value ml_gsl_sf_complex_dilog_xy_e(value x, value y)
{
  gsl_sf_result re, im;
  gsl_sf_complex_dilog_xy_e (Double_val(x), Double_val(y), &re, &im);
  return val_of_result_pair (&re, &im);
}
Exemple #4
0
gslpp::complex Polylogarithms::Li2(const gslpp::complex z) const 
{
    gsl_sf_result re, im;
    gsl_sf_complex_dilog_xy_e(z.real(), z.imag(), &re, &im);
    return gslpp::complex(re.val, im.val, false);
}
Exemple #5
0
gslpp::complex Polylogarithms::Li2(const double x) const 
{
    gsl_sf_result re, im;
    gsl_sf_complex_dilog_xy_e(x, 0.0, &re, &im);
    return gslpp::complex(re.val, im.val, false);
}
Exemple #6
0
 /** DiLogarithm of a complex number
 \ingroup complex
 \param[in] z Complex number
 \return \f$ Li_2(z) \f$*/
 complex dilog(const complex& z)
 {
   gsl_sf_result re, im;
   gsl_sf_complex_dilog_xy_e(z.real(), z.imag(), &re, &im);
   return complex(re.val, im.val, false);
 }