コード例 #1
0
ファイル: gsl_userdef.c プロジェクト: gimunu/octopus_SCE
/* ------------------------------------------------------ */
gsl_complex gsl_complex_arctan2 (gsl_complex a, gsl_complex b)
{        
  gsl_complex z, p;

  if(GSL_REAL(b) != 0.0)
    {
      z = gsl_complex_arctan(gsl_complex_div(a, b));
      if(GSL_REAL(b) < 0.0){
	GSL_SET_COMPLEX (&p, M_PI, 0);
	if(GSL_REAL(a) >= 0.0)
	  z = gsl_complex_add(z, p);
	else
	  z = gsl_complex_sub(z, p);
      }
    }
  else
    {
      if(GSL_REAL(a) >= 0.0)
	{
	  GSL_SET_COMPLEX (&z, M_PI/2.0, 0.0);
	}
      else
	{
	  GSL_SET_COMPLEX (&z, -M_PI/2.0, 0.0);
	}
    }

  return z;
}
コード例 #2
0
ファイル: gsl-complex.c プロジェクト: Ghnuberath/gnumeric
void
gsl_complex_arccot (complex_t const *a, complex_t *res)
{                               /* z = arccot(a) */
        if (GSL_REAL (a) == 0.0 && GSL_IMAG (a) == 0.0) {
	        complex_init (res, M_PI_2gnum, 0);
	} else {
	        gsl_complex_inverse (a, res);
		gsl_complex_arctan (res, res);
	}
}
コード例 #3
0
ファイル: math.c プロジェクト: AlexWoroschilow/wurst-alphabet
gsl_complex gsl_complex_arctanh(gsl_complex a)
{				/* z = arctanh(a) */
    if (GSL_IMAG(a) == 0.0) {
	return gsl_complex_arctanh_real(GSL_REAL(a));
    } else {
	gsl_complex z = gsl_complex_mul_imag(a, 1.0);
	z = gsl_complex_arctan(z);
	z = gsl_complex_mul_imag(z, -1.0);
	return z;
    }
}
コード例 #4
0
ファイル: gsl-complex.c プロジェクト: Ghnuberath/gnumeric
void
gsl_complex_arctanh (complex_t const *a, complex_t *res)
{                               /* z = arctanh(a) */
        if (GSL_IMAG (a) == 0.0) {
	        gsl_complex_arctanh_real (GSL_REAL (a), res);
	} else {
	         gsl_complex_mul_imag (a, 1.0, res);
		 gsl_complex_arctan (res, res);
		 gsl_complex_mul_imag (res, -1.0, res);
	}
}
コード例 #5
0
ファイル: math.c プロジェクト: AlexWoroschilow/wurst-alphabet
gsl_complex gsl_complex_arccot(gsl_complex a)
{				/* z = arccot(a) */
    gsl_complex z;

    if (GSL_REAL(a) == 0.0 && GSL_IMAG(a) == 0.0) {
	GSL_SET_COMPLEX(&z, M_PI_2, 0);
    } else {
	z = gsl_complex_inverse(a);
	z = gsl_complex_arctan(z);
    }

    return z;
}
コード例 #6
0
ファイル: gslpp_complex.cpp プロジェクト: shehu0/HEPfit
 /** Inverse tangent
 \ingroup complex
 \param[in] z Complex number
 \return \f$ \arctan z \f$*/
 complex arctan(const complex& z)
 {
   return complex(gsl_complex_arctan(z.as_gsl_type()));
 }