-
Notifications
You must be signed in to change notification settings - Fork 0
/
symengine_cwrapper.ads
162 lines (128 loc) · 4.5 KB
/
symengine_cwrapper.ads
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
with System;
with Interfaces.C;
use Interfaces.C;
with Interfaces.C.Strings;
use Interfaces.C.Strings;
package symengine_cwrapper is
subtype cptr is System.Address;
function basic_new_heap return cptr
with Import => True,
Convention => C,
External_Name => "basic_new_heap";
procedure basic_free_heap(s : cptr)
with Import => True,
Convention => C,
External_Name => "basic_free_heap";
function basic_assign(a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_assign";
function basic_add(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_add";
function basic_sub(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_sub";
function basic_mul(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_mul";
function basic_div(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_div";
function basic_pow(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_pow";
procedure basic_const_pi(s : cptr)
with Import => True,
Convention => C,
External_Name => "basic_const_pi";
procedure basic_const_e(s : cptr)
with Import => True,
Convention => C,
External_Name => "basic_const_E";
function basic_abs(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_abs";
function basic_log(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_log";
function basic_exp(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_exp";
function basic_sin(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_sin";
function basic_cos(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_cos";
function basic_tan(s : cptr; a : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_tan";
function basic_atan2(s : cptr; a : cptr; b : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_atan2";
function basic_eq(a, b : cptr) return int
with Import => True,
Convention => C,
External_Name => "basic_eq";
function basic_max(s : cptr; d : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_max";
function basic_min(s : cptr; d : cptr) return long
with Import => True,
Convention => C,
External_Name => "basic_min";
function basic_str(s : cptr) return chars_ptr
with Import => True,
Convention => C,
External_Name => "basic_str";
procedure basic_str_free(s : chars_ptr)
with Import => True,
Convention => C,
External_Name => "basic_str_free";
function basic_parse(b : cptr; str : chars_ptr) return long
with Import => True,
Convention => C,
External_Name => "basic_parse";
function integer_set_si(s : cptr; i : long) return long
with Import => True,
Convention => C,
External_Name => "integer_set_si";
function rational_set_si(s : cptr; a, b : long) return long
with Import => True,
Convention => C,
External_Name => "rational_set_si";
function real_double_set_d(s : cptr; d : double) return long
with Import => True,
Convention => C,
External_Name => "real_double_set_d";
function symbol_set(s : cptr; c : chars_ptr) return long
with Import => True,
Convention => C,
External_Name => "symbol_set";
function vecbasic_new return cptr
with Import => True,
Convention => C,
External_Name => "vecbasic_new";
procedure vecbasic_free(self : cptr)
with Import => True,
Convention => C,
External_Name => "vecbasic_free";
function vecbasic_push_back(self : cptr; value : cptr) return long
with Import => True,
Convention => C,
External_Name => "vecbasic_push_back";
end symengine_cwrapper;