File indexing completed on 2026-08-06 09:31:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef _QD_C_QD_H
0014 #define _QD_C_QD_H
0015
0016 #include <qd/c_dd.h>
0017 #include <qd/qd_config.h>
0018
0019 #ifdef __cplusplus
0020 extern "C" {
0021 #endif
0022
0023
0024 void c_qd_add(const double *a, const double *b, double *c);
0025 void c_qd_add_dd_qd(const double *a, const double *b, double *c);
0026 void c_qd_add_qd_dd(const double *a, const double *b, double *c);
0027 void c_qd_add_d_qd(double a, const double *b, double *c);
0028 void c_qd_add_qd_d(const double *a, double b, double *c);
0029 void c_qd_selfadd(const double *a, double *b);
0030 void c_qd_selfadd_dd(const double *a, double *b);
0031 void c_qd_selfadd_d(double a, double *b);
0032
0033
0034 void c_qd_sub(const double *a, const double *b, double *c);
0035 void c_qd_sub_dd_qd(const double *a, const double *b, double *c);
0036 void c_qd_sub_qd_dd(const double *a, const double *b, double *c);
0037 void c_qd_sub_d_qd(double a, const double *b, double *c);
0038 void c_qd_sub_qd_d(const double *a, double b, double *c);
0039 void c_qd_selfsub(const double *a, double *b);
0040 void c_qd_selfsub_dd(const double *a, double *b);
0041 void c_qd_selfsub_d(double a, double *b);
0042
0043
0044 void c_qd_mul(const double *a, const double *b, double *c);
0045 void c_qd_mul_dd_qd(const double *a, const double *b, double *c);
0046 void c_qd_mul_qd_dd(const double *a, const double *b, double *c);
0047 void c_qd_mul_d_qd(double a, const double *b, double *c);
0048 void c_qd_mul_qd_d(const double *a, double b, double *c);
0049 void c_qd_selfmul(const double *a, double *b);
0050 void c_qd_selfmul_dd(const double *a, double *b);
0051 void c_qd_selfmul_d(double a, double *b);
0052
0053
0054 void c_qd_div(const double *a, const double *b, double *c);
0055 void c_qd_div_dd_qd(const double *a, const double *b, double *c);
0056 void c_qd_div_qd_dd(const double *a, const double *b, double *c);
0057 void c_qd_div_d_qd(double a, const double *b, double *c);
0058 void c_qd_div_qd_d(const double *a, double b, double *c);
0059 void c_qd_selfdiv(const double *a, double *b);
0060 void c_qd_selfdiv_dd(const double *a, double *b);
0061 void c_qd_selfdiv_d(double a, double *b);
0062
0063
0064 void c_qd_copy(const double *a, double *b);
0065 void c_qd_copy_dd(const double *a, double *b);
0066 void c_qd_copy_d(double a, double *b);
0067
0068 int c_qd_sqrt(const double *a, double *b);
0069 void c_qd_sqr(const double *a, double *b);
0070
0071 void c_qd_abs(const double *a, double *b);
0072
0073 void c_qd_npwr(const double *a, int b, double *c);
0074 void c_qd_nroot(const double *a, int b, double *c);
0075
0076 void c_qd_nint(const double *a, double *b);
0077 void c_qd_aint(const double *a, double *b);
0078 void c_qd_floor(const double *a, double *b);
0079 void c_qd_ceil(const double *a, double *b);
0080
0081 void c_qd_exp(const double *a, double *b);
0082 void c_qd_log(const double *a, double *b);
0083 void c_qd_log10(const double *a, double *b);
0084
0085 void c_qd_sin(const double *a, double *b);
0086 void c_qd_cos(const double *a, double *b);
0087 void c_qd_tan(const double *a, double *b);
0088
0089 void c_qd_asin(const double *a, double *b);
0090 void c_qd_acos(const double *a, double *b);
0091 void c_qd_atan(const double *a, double *b);
0092 void c_qd_atan2(const double *a, const double *b, double *c);
0093
0094 void c_qd_sinh(const double *a, double *b);
0095 void c_qd_cosh(const double *a, double *b);
0096 void c_qd_tanh(const double *a, double *b);
0097
0098 void c_qd_asinh(const double *a, double *b);
0099 void c_qd_acosh(const double *a, double *b);
0100 void c_qd_atanh(const double *a, double *b);
0101
0102 void c_qd_sincos(const double *a, double *s, double *c);
0103 void c_qd_sincosh(const double *a, double *s, double *c);
0104
0105 void c_qd_read(const char *s, double *a);
0106 void c_qd_swrite(const double *a, int precision, char *s, int len);
0107 void c_qd_write(const double *a);
0108 void c_qd_neg(const double *a, double *b);
0109 void c_qd_rand(double *a);
0110 void c_qd_comp(const double *a, const double *b, int *result);
0111 void c_qd_comp_qd_d(const double *a, double b, int *result);
0112 void c_qd_comp_d_qd(double a, const double *b, int *result);
0113 void c_qd_pi(double *a);
0114 void c_qd_2pi(double *a);
0115 double c_qd_epsilon(void);
0116
0117 #ifdef __cplusplus
0118 }
0119 #endif
0120
0121 #endif