File indexing completed on 2025-02-21 10:03:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #ifndef __GSL_COMPLEX_MATH_H__
0021 #define __GSL_COMPLEX_MATH_H__
0022 #include <gsl/gsl_inline.h>
0023 #include <gsl/gsl_complex.h>
0024
0025 #undef __BEGIN_DECLS
0026 #undef __END_DECLS
0027 #ifdef __cplusplus
0028 #define __BEGIN_DECLS extern "C" {
0029 #define __END_DECLS }
0030 #else
0031 #define __BEGIN_DECLS
0032 #define __END_DECLS
0033 #endif
0034
0035 __BEGIN_DECLS
0036
0037
0038
0039 gsl_complex gsl_complex_polar (double r, double theta);
0040
0041 INLINE_DECL gsl_complex gsl_complex_rect (double x, double y);
0042
0043 #ifdef HAVE_INLINE
0044 INLINE_FUN gsl_complex
0045 gsl_complex_rect (double x, double y)
0046 {
0047 gsl_complex z;
0048 GSL_SET_COMPLEX (&z, x, y);
0049 return z;
0050 }
0051 #endif
0052
0053 #define GSL_COMPLEX_ONE (gsl_complex_rect(1.0,0.0))
0054 #define GSL_COMPLEX_ZERO (gsl_complex_rect(0.0,0.0))
0055 #define GSL_COMPLEX_NEGONE (gsl_complex_rect(-1.0,0.0))
0056
0057
0058
0059 double gsl_complex_arg (gsl_complex z);
0060 double gsl_complex_abs (gsl_complex z);
0061 double gsl_complex_abs2 (gsl_complex z);
0062 double gsl_complex_logabs (gsl_complex z);
0063
0064
0065
0066 gsl_complex gsl_complex_add (gsl_complex a, gsl_complex b);
0067 gsl_complex gsl_complex_sub (gsl_complex a, gsl_complex b);
0068 gsl_complex gsl_complex_mul (gsl_complex a, gsl_complex b);
0069 gsl_complex gsl_complex_div (gsl_complex a, gsl_complex b);
0070
0071 gsl_complex gsl_complex_add_real (gsl_complex a, double x);
0072 gsl_complex gsl_complex_sub_real (gsl_complex a, double x);
0073 gsl_complex gsl_complex_mul_real (gsl_complex a, double x);
0074 gsl_complex gsl_complex_div_real (gsl_complex a, double x);
0075
0076 gsl_complex gsl_complex_add_imag (gsl_complex a, double y);
0077 gsl_complex gsl_complex_sub_imag (gsl_complex a, double y);
0078 gsl_complex gsl_complex_mul_imag (gsl_complex a, double y);
0079 gsl_complex gsl_complex_div_imag (gsl_complex a, double y);
0080
0081 gsl_complex gsl_complex_conjugate (gsl_complex z);
0082 gsl_complex gsl_complex_inverse (gsl_complex a);
0083 gsl_complex gsl_complex_negative (gsl_complex a);
0084
0085
0086
0087 gsl_complex gsl_complex_sqrt (gsl_complex z);
0088 gsl_complex gsl_complex_sqrt_real (double x);
0089
0090 gsl_complex gsl_complex_pow (gsl_complex a, gsl_complex b);
0091 gsl_complex gsl_complex_pow_real (gsl_complex a, double b);
0092
0093 gsl_complex gsl_complex_exp (gsl_complex a);
0094 gsl_complex gsl_complex_log (gsl_complex a);
0095 gsl_complex gsl_complex_log10 (gsl_complex a);
0096 gsl_complex gsl_complex_log_b (gsl_complex a, gsl_complex b);
0097
0098
0099
0100 gsl_complex gsl_complex_sin (gsl_complex a);
0101 gsl_complex gsl_complex_cos (gsl_complex a);
0102 gsl_complex gsl_complex_sec (gsl_complex a);
0103 gsl_complex gsl_complex_csc (gsl_complex a);
0104 gsl_complex gsl_complex_tan (gsl_complex a);
0105 gsl_complex gsl_complex_cot (gsl_complex a);
0106
0107
0108
0109 gsl_complex gsl_complex_arcsin (gsl_complex a);
0110 gsl_complex gsl_complex_arcsin_real (double a);
0111 gsl_complex gsl_complex_arccos (gsl_complex a);
0112 gsl_complex gsl_complex_arccos_real (double a);
0113 gsl_complex gsl_complex_arcsec (gsl_complex a);
0114 gsl_complex gsl_complex_arcsec_real (double a);
0115 gsl_complex gsl_complex_arccsc (gsl_complex a);
0116 gsl_complex gsl_complex_arccsc_real (double a);
0117 gsl_complex gsl_complex_arctan (gsl_complex a);
0118 gsl_complex gsl_complex_arccot (gsl_complex a);
0119
0120
0121
0122 gsl_complex gsl_complex_sinh (gsl_complex a);
0123 gsl_complex gsl_complex_cosh (gsl_complex a);
0124 gsl_complex gsl_complex_sech (gsl_complex a);
0125 gsl_complex gsl_complex_csch (gsl_complex a);
0126 gsl_complex gsl_complex_tanh (gsl_complex a);
0127 gsl_complex gsl_complex_coth (gsl_complex a);
0128
0129
0130
0131 gsl_complex gsl_complex_arcsinh (gsl_complex a);
0132 gsl_complex gsl_complex_arccosh (gsl_complex a);
0133 gsl_complex gsl_complex_arccosh_real (double a);
0134 gsl_complex gsl_complex_arcsech (gsl_complex a);
0135 gsl_complex gsl_complex_arccsch (gsl_complex a);
0136 gsl_complex gsl_complex_arctanh (gsl_complex a);
0137 gsl_complex gsl_complex_arctanh_real (double a);
0138 gsl_complex gsl_complex_arccoth (gsl_complex a);
0139
0140 __END_DECLS
0141
0142 #endif