-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathc_wrappers.h
93 lines (64 loc) · 2.94 KB
/
c_wrappers.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* ====================================================================
* This file is part of Polylogarithm.
*
* Polylogarithm is licenced under the MIT License.
* ==================================================================== */
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/** Clausen function with n=2 */
double cl2(double x);
/** Clausen function with n=3 */
double cl3(double x);
/** Clausen function with n=4 */
double cl4(double x);
/** Clausen function with n=5 */
double cl5(double x);
/** Clausen function with n=6 */
double cl6(double x);
/** Clausen function with n=2 with long double precision */
long double cl2l(long double x);
/** Clausen function with n=3 with long double precision */
long double cl3l(long double x);
/** Clausen function with n=4 with long double precision */
long double cl4l(long double x);
/** Clausen function with n=5 with long double precision */
long double cl5l(long double x);
/** Clausen function with n=6 with long double precision */
long double cl6l(long double x);
/** real polylogarithm with n=2 (dilogarithm) with single precision */
float li2f(float x);
/** real polylogarithm with n=2 (dilogarithm) */
double li2(double x);
/** real polylogarithm with n=3 (trilogarithm) */
double li3(double x);
/** real polylogarithm with n=4 (trilogarithm) */
double li4(double x);
/** real polylogarithm with n=2 (dilogarithm) with long double precision */
long double li2l(long double x);
/** complex polylogarithm with n=2 (dilogarithm) with single precision */
void cli2f_c(float re, float im, float* res_re, float* res_im);
/** complex polylogarithm with n=2 (dilogarithm) with double precision */
void cli2_c(double re, double im, double* res_re, double* res_im);
/** complex polylogarithm with n=2 (dilogarithm) with long double precision */
void cli2l_c(long double re, long double im, long double* res_re, long double* res_im);
/** complex polylogarithm with n=3 (trilogarithm) */
void cli3_c(double re, double im, double* res_re, double* res_im);
/** complex polylogarithm with n=3 (trilogarithm) with long double precision */
void cli3l_c(long double re, long double im, long double* res_re, long double* res_im);
/** complex polylogarithm with n=4 */
void cli4_c(double re, double im, double* res_re, double* res_im);
/** complex polylogarithm with n=4 with long double precision */
void cli4l_c(long double re, long double im, long double* res_re, long double* res_im);
/** complex polylogarithm with n=5 */
void cli5_c(double re, double im, double* res_re, double* res_im);
/** complex polylogarithm with n=5 with long double precision */
void cli5l_c(long double re, long double im, long double* res_re, long double* res_im);
/** complex polylogarithm with n=6 */
void cli6_c(double re, double im, double* res_re, double* res_im);
/** complex polylogarithm with n=6 with long double precision */
void cli6l_c(long double re, long double im, long double* res_re, long double* res_im);
#ifdef __cplusplus
}
#endif