DACE 2.0 API Manual
Differential Algebra Core Engine
dacebase.h
Go to the documentation of this file.
1 /******************************************************************************
2 * *
3 * DIFFERENTIAL ALGEBRA CORE ENGINE *
4 * *
5 *******************************************************************************
6 * *
7 * Copyright 2016 Politecnico di Milano (2014 Dinamica Srl) *
8 * Licensed under the Apache License, Version 2.0 (the "License"); *
9 * you may not use this file except in compliance with the License. *
10 * You may obtain a copy of the License at *
11 * *
12 * http://www.apache.org/licenses/LICENSE-2.0 *
13 * *
14 * Unless required by applicable law or agreed to in writing, software *
15 * distributed under the License is distributed on an "AS IS" BASIS, *
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
17 * See the License for the specific language governing permissions and *
18 * limitations under the License. *
19 * *
20 *******************************************************************************/
21 
22 /*
23  * dacebase.h
24  *
25  * Created on: November 18, 2016
26  * Author: Politecnico di Milano
27  */
28 
29 /*
30  This file contains all routines in the public interface to the DACE core.
31  DACE core users or high level interfaces should only include this file.
32 
33  Legacy users of DACE 1 can additionally include dacecompat.h to obtain a
34  source compatible mapping to the old DACE 1 function names and semantics.
35 */
40 #ifndef DINAMICA_DACEBASE_H_
41 #define DINAMICA_DACEBASE_H_
42 
43 #include <stdbool.h> // for bool type
44 
45 #include "dace/config.h"
46 
47 // Maximum line length of the DACE string I/O interface
48 #define DACE_STRLEN (140)
49 
50 #ifdef __cplusplus
51  // in C++ pass values by reference (which is ABI compatible with C pointers in all supported C++ compilers)
52  #define REF(x) &(x)
53  #define ARG(x) (x)
54  extern "C" {
55 #else /* __cplusplus */
56  // in C, and hence when compiling the DACE core library, pass values by pointer
57  #define REF(x) *(x)
58  #define ARG(x) &(x)
59 #endif /* __cplusplus */
60 
61 // Error handling symbolic constants
62 #define DACE_INFO 1
63 #define DACE_WARNING 3
64 #define DACE_ERROR 6
65 #define DACE_SEVERE 9
66 #define DACE_PANIC 10
67 
68 #if DACE_MEMORY_MODEL == DACE_MEMORY_HYBRID || DACE_MEMORY_MODEL == DACE_MEMORY_STATIC
69  // Type of a DACE DA object
70  typedef int DACEDA;
71 #elif DACE_MEMORY_MODEL == DACE_MEMORY_DYNAMIC
72  // A DACE variable
73  typedef struct dvariable {
74  unsigned int len, max;
75  struct dmonomial *mem;
76  } variable;
77 
78  // Type of a DACE DA object
79  typedef variable DACEDA;
80 #else
81  #error Invalid DACE memory model selected!
82 #endif
83 
85 /********************************************************************************
86 * DACE initialization and state related routines
87 *********************************************************************************/
88 DACE_API void daceInitialize(unsigned int no, unsigned int nv);
91 DACE_API void daceGetVersion(int REF(imaj), int REF(imin), int REF(ipat));
92 DACE_API double daceSetEpsilon(const double deps);
93 DACE_API double daceGetEpsilon();
95 DACE_API unsigned int daceGetMaxOrder();
96 DACE_API unsigned int daceGetMaxVariables();
97 DACE_API unsigned int daceGetMaxMonomials();
98 DACE_API unsigned int daceGetTruncationOrder();
99 DACE_API unsigned int daceSetTruncationOrder(const unsigned int fnot);
100 
101 /********************************************************************************
102 * DACE error state routine
103 *********************************************************************************/
104 DACE_API unsigned int daceGetError();
105 DACE_API unsigned int daceGetErrorX();
106 DACE_API unsigned int daceGetErrorYY();
107 DACE_API const char* daceGetErrorFunName();
108 DACE_API const char* daceGetErrorMSG();
109 DACE_API void daceClearError();
110 
111 /********************************************************************************
112 * DACE memory handling routines
113 *********************************************************************************/
114 DACE_API void daceAllocateDA(DACEDA REF(inc), const unsigned int len);
115 DACE_API void daceFreeDA(DACEDA REF(inc));
116 DACE_API void daceInvalidateDA(DACEDA REF(inc));
117 DACE_API void daceMemoryDump(); // really just an internal debugging routine
118 
119 /********************************************************************************
120 * DACE variable creation routines
121 *********************************************************************************/
122 DACE_API void daceCreateVariable(DACEDA REF(ina), const unsigned int i, const double ckon);
123 DACE_API void daceCreateMonomial(DACEDA REF(ina), const unsigned int jj[], const double ckon);
124 DACE_API void daceCreateConstant(DACEDA REF(ina), const double ckon);
125 DACE_API void daceCreateFilled(DACEDA REF(ina), const double ckon);
126 DACE_API void daceCreateRandom(DACEDA REF(ina), const double cm);
127 
128 /********************************************************************************
129 * DACE coefficient access routines
130 *********************************************************************************/
131 DACE_API double daceGetConstant(const DACEDA REF(ina));
132 DACE_API void daceGetLinear(const DACEDA REF(ina), double c[]);
133 DACE_API double daceGetCoefficient(const DACEDA REF(ina), const unsigned int jj[]);
134 DACE_API double daceGetCoefficient0(const DACEDA REF(ina), const unsigned int ic);
135 DACE_API void daceSetCoefficient(DACEDA REF(ina), const unsigned int jj[], const double cjj);
136 DACE_API void daceSetCoefficient0(DACEDA REF(ina), const unsigned int ic, const double cjj);
137 DACE_API void daceGetCoefficientAt(const DACEDA REF(ina), const unsigned int npos, unsigned int jj[], double REF(cjj));
138 DACE_API unsigned int daceGetLength(const DACEDA REF(ina));
139 
140 /********************************************************************************
141 * DACE DA copying and filtering
142 *********************************************************************************/
143 DACE_API void daceCopy(const DACEDA REF(ina), DACEDA REF(inb));
144 DACE_API void daceCopyFiltering(const DACEDA REF(ina), DACEDA REF(inb));
145 DACE_API void daceFilter(const DACEDA REF(ina), DACEDA REF(inb), const DACEDA REF(inc));
146 DACE_API void daceTrim(const DACEDA REF(ina), const unsigned int imin, const unsigned int imax, DACEDA REF(inc));
147 DACE_API unsigned int daceIsNan(const DACEDA REF(ina));
148 DACE_API unsigned int daceIsInf(const DACEDA REF(ina));
149 
150 /********************************************************************************
151 * Basic DACE arithmetic operations
152 *********************************************************************************/
153 DACE_API void daceWeightedSum(const DACEDA REF(ina), const double afac, const DACEDA REF(inb), const double bfac, DACEDA REF(inc));
154 DACE_API void daceAdd(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
155 DACE_API void daceSubtract(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
156 DACE_API void daceMultiply(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
157 DACE_API void daceMultiplyMonomials(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
158 DACE_API void daceDivide(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
159 DACE_API void daceSquare(const DACEDA REF(ina), DACEDA REF(inb));
160 DACE_API void daceAddDouble(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
161 DACE_API void daceDoubleSubtract(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
162 DACE_API void daceSubtractDouble(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
163 DACE_API void daceMultiplyDouble(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
164 DACE_API void daceDivideDouble(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
165 DACE_API void daceDoubleDivide(const DACEDA REF(ina), const double ckon, DACEDA REF(inb));
166 DACE_API void daceDivideByVariable(const DACEDA REF(ina), const unsigned int var, const unsigned int p, DACEDA REF(inc));
167 DACE_API void daceDifferentiate(const unsigned int idif, const DACEDA REF(ina), DACEDA REF(inc));
168 DACE_API void daceIntegrate(const unsigned int iint, const DACEDA REF(ina), DACEDA REF(inc));
169 
170 /********************************************************************************
171 * DACE intrinsic function routines
172 *********************************************************************************/
173 DACE_API void daceTruncate(const DACEDA REF(ina), DACEDA REF(inc));
174 DACE_API void daceRound(const DACEDA REF(ina), DACEDA REF(inc));
175 DACE_API void daceModulo(const DACEDA REF(ina), const double p, DACEDA REF(inc));
176 DACE_API void dacePowerDouble(const DACEDA REF(ina), const double p, DACEDA REF(inc));
177 DACE_API void dacePower(const DACEDA REF(ina), const int np, DACEDA REF(inc));
178 DACE_API void daceRoot(const DACEDA REF(ina), const int np, DACEDA REF(inc));
179 DACE_API void daceMultiplicativeInverse(const DACEDA REF(ina), DACEDA REF(inc));
180 DACE_API void daceSquareRoot(const DACEDA REF(ina), DACEDA REF(inc));
181 DACE_API void daceInverseSquareRoot(const DACEDA REF(ina), DACEDA REF(inc));
182 DACE_API void daceCubicRoot(const DACEDA REF(ina), DACEDA REF(inc));
183 DACE_API void daceInverseCubicRoot(const DACEDA REF(ina), DACEDA REF(inc));
184 DACE_API void daceHypotenuse(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
185 DACE_API void daceExponential(const DACEDA REF(ina), DACEDA REF(inc));
186 DACE_API void daceLogarithm(const DACEDA REF(ina), DACEDA REF(inc));
187 DACE_API void daceLogarithmBase(const DACEDA REF(ina), const double b, DACEDA REF(inc));
188 DACE_API void daceLogarithm10(const DACEDA REF(ina), DACEDA REF(inc));
189 DACE_API void daceLogarithm2(const DACEDA REF(ina), DACEDA REF(inc));
190 DACE_API void daceSine(const DACEDA REF(ina), DACEDA REF(inc));
191 DACE_API void daceCosine(const DACEDA REF(ina), DACEDA REF(inc));
192 DACE_API void daceTangent(const DACEDA REF(ina), DACEDA REF(inc));
193 DACE_API void daceArcSine(const DACEDA REF(ina), DACEDA REF(inc));
194 DACE_API void daceArcCosine(const DACEDA REF(ina), DACEDA REF(inc));
195 DACE_API void daceArcTangent(const DACEDA REF(ina), DACEDA REF(inc));
196 DACE_API void daceArcTangent2(const DACEDA REF(ina), const DACEDA REF(inb), DACEDA REF(inc));
197 DACE_API void daceHyperbolicSine(const DACEDA REF(ina), DACEDA REF(inc));
198 DACE_API void daceHyperbolicCosine(const DACEDA REF(ina), DACEDA REF(inc));
199 DACE_API void daceHyperbolicTangent(const DACEDA REF(ina), DACEDA REF(inc));
200 DACE_API void daceHyperbolicArcSine(const DACEDA REF(ina), DACEDA REF(inc));
201 DACE_API void daceHyperbolicArcCosine(const DACEDA REF(ina), DACEDA REF(inc));
202 DACE_API void daceHyperbolicArcTangent(const DACEDA REF(ina), DACEDA REF(inc));
203 DACE_API void daceErrorFunction(const DACEDA REF(ina), DACEDA REF(inc));
204 DACE_API void daceComplementaryErrorFunction(const DACEDA REF(ina), DACEDA REF(inc));
205 DACE_API void daceBesselIFunction(const DACEDA REF(ina), const int n, const bool scaled, DACEDA REF(inc));
206 DACE_API void daceBesselJFunction(const DACEDA REF(ina), const int n, DACEDA REF(inc));
207 DACE_API void daceBesselKFunction(const DACEDA REF(ina), const int n, const bool scaled, DACEDA REF(inc));
208 DACE_API void daceBesselYFunction(const DACEDA REF(ina), const int n, DACEDA REF(inc));
209 DACE_API void daceLogGammaFunction(const DACEDA REF(ina), DACEDA REF(inc));
210 DACE_API void daceGammaFunction(const DACEDA REF(ina), DACEDA REF(inc));
211 DACE_API void dacePsiFunction(const DACEDA REF(ina), const unsigned int n, DACEDA REF(inc));
212 
213 /********************************************************************************
214 * DACE norm and norm estimation routines
215 *********************************************************************************/
216 DACE_API double daceAbsoluteValue(const DACEDA REF(ina));
217 DACE_API double daceNorm(const DACEDA REF(ina), const unsigned int ityp);
218 DACE_API void daceOrderedNorm(const DACEDA REF(ina), const unsigned int ivar, const unsigned int ityp, double onorm[]);
219 DACE_API void daceEstimate(const DACEDA REF(ina), const unsigned int ivar, const unsigned int ityp, double c[], double err[], const unsigned int nc);
220 DACE_API void daceGetBounds(const DACEDA REF(ina), double REF(alo), double REF(aup));
221 
222 /********************************************************************************
223 * DACE polynomial evaluation routines
224 *********************************************************************************/
225 DACE_API double daceEvalMonomials(const DACEDA REF(ina), const DACEDA REF(inb));
226 DACE_API void daceReplaceVariable(const DACEDA REF(ina), const unsigned int from, const unsigned int to, const double val, DACEDA REF(inc));
227 DACE_API void daceEvalVariable(const DACEDA REF(ina), const unsigned int nvar, const double val, DACEDA REF(inc));
228 DACE_API void daceScaleVariable(const DACEDA REF(ina), const unsigned int nvar, const double val, DACEDA REF(inc));
229 DACE_API void daceTranslateVariable(const DACEDA REF(ina), const unsigned int nvar, const double a, const double c, DACEDA REF(inc));
230 DACE_API void daceEvalTree(const DACEDA *das[], const unsigned int count, double ac[], unsigned int REF(nterm), unsigned int REF(nvar), unsigned int REF(nord));
231 
232 /********************************************************************************
233 * DACE input/output routines
234 *********************************************************************************/
235 DACE_API void daceWrite(const DACEDA REF(ina), char *strs, unsigned int REF(nstrs));
236 DACE_API void daceRead(DACEDA REF(ina), char *strs, unsigned int nstrs);
237 DACE_API void dacePrint(const DACEDA REF(ina));
238 DACE_API unsigned int daceExportBlob(const DACEDA REF(ina), void *blob, unsigned int REF(size));
239 DACE_API unsigned int daceBlobSize(const void *blob);
240 DACE_API void daceImportBlob(const void *blob, DACEDA REF(inc));
241 
242 /********************************************************************************
243 * DACE miscellaneous routines
244 *********************************************************************************/
245 DACE_API double daceRandom();
247 #ifdef __cplusplus
248  }
249 #endif /* _cplusplus */
250 
251 #endif /* DINAMICA_DACEBASE_H_ */
void daceDivideByVariable(const DACEDA *ina, const unsigned int var, const unsigned int p, DACEDA *inc)
Definition: dacemath.c:402
double daceGetEpsilon()
Definition: daceinit.c:281
void daceLogarithm(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1008
void daceMemoryDump()
Definition: dacememory.c:254
void daceRound(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:672
void daceHyperbolicArcSine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1373
void daceCreateVariable(DACEDA *ina, const unsigned int i, const double ckon)
Definition: dacebasic.c:54
void daceCopyFiltering(const DACEDA *ina, DACEDA *inb)
Definition: dacebasic.c:496
struct dvariable variable
void daceDifferentiate(const unsigned int idif, const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:504
void daceSetCoefficient0(DACEDA *ina, const unsigned int ic, const double cjj)
Definition: dacebasic.c:331
void daceArcTangent2(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:1239
void daceGetLinear(const DACEDA *ina, double c[])
Definition: dacebasic.c:235
void daceDoubleDivide(const DACEDA *ina, const double ckon, DACEDA *inc)
Definition: dacemath.c:389
double daceGetMachineEpsilon()
Definition: daceinit.c:289
void daceSquareRoot(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:925
void daceReplaceVariable(const DACEDA *ina, const unsigned int from, const unsigned int to, const double val, DACEDA *inc)
Definition: daceeval.c:157
void dacePowerDouble(const DACEDA *ina, const double p, DACEDA *inc)
Definition: dacemath.c:696
void daceLogarithm2(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1072
void daceFilter(const DACEDA *ina, DACEDA *inb, const DACEDA *inc)
Definition: dacebasic.c:577
double daceAbsoluteValue(const DACEDA *ina)
Definition: dacenorm.c:49
void daceTangent(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1136
void daceImportBlob(const void *blob, DACEDA *inc)
Definition: daceio.c:468
const char * daceGetErrorMSG()
Definition: daceerror.c:87
void daceCleanupThread()
Definition: daceinit.c:212
void daceTrim(const DACEDA *ina, const unsigned int imin, const unsigned int imax, DACEDA *inc)
Definition: dacebasic.c:541
void dacePower(const DACEDA *ina, const int np, DACEDA *inc)
Definition: dacemath.c:741
void daceWeightedSum(const DACEDA *ina, const double afac, const DACEDA *inb, const double bfac, DACEDA *inc)
Definition: dacemath.c:2037
void daceSubtract(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:85
unsigned int daceGetMaxOrder()
Definition: daceinit.c:298
void daceScaleVariable(const DACEDA *ina, const unsigned int nvar, const double val, DACEDA *inc)
Definition: daceeval.c:213
unsigned int daceGetTruncationOrder()
Definition: daceinit.c:325
void daceTranslateVariable(const DACEDA *ina, const unsigned int nvar, const double a, const double c, DACEDA *inc)
Definition: daceeval.c:273
double daceRandom()
Definition: daceaux.c:410
void daceEvalTree(const DACEDA *das[], const unsigned int count, double ac[], unsigned int *nterm, unsigned int *nvar, unsigned int *nord)
Definition: daceeval.c:359
void daceInitializeThread()
Definition: daceinit.c:200
void daceRead(DACEDA *ina, char *strs, unsigned int nstrs)
Definition: daceio.c:124
void daceErrorFunction(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1441
void daceInverseSquareRoot(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:935
double daceEvalMonomials(const DACEDA *ina, const DACEDA *inb)
Definition: daceeval.c:52
unsigned int mem
Definition: dacememory.c:69
void daceAddDouble(const DACEDA *ina, const double ckon, DACEDA *inb)
Definition: dacemath.c:276
void daceBesselIFunction(const DACEDA *ina, const int n, const bool scaled, DACEDA *inc)
Definition: dacemath.c:1619
void daceLogGammaFunction(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1913
void daceHyperbolicArcTangent(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1416
void daceSine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1082
void daceHyperbolicCosine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1315
unsigned int daceGetMaxVariables()
Definition: daceinit.c:307
void daceEvalVariable(const DACEDA *ina, const unsigned int nvar, const double val, DACEDA *inc)
Definition: daceeval.c:82
void dacePsiFunction(const DACEDA *ina, const unsigned int n, DACEDA *inc)
Definition: dacemath.c:1953
void daceGammaFunction(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1932
void daceCosine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1109
void daceGetBounds(const DACEDA *ina, double *alo, double *aup)
Definition: dacenorm.c:281
void daceHyperbolicSine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1287
void daceCreateConstant(DACEDA *ina, const double ckon)
Definition: dacebasic.c:156
void daceLogarithmBase(const DACEDA *ina, const double b, DACEDA *inc)
Definition: dacemath.c:1044
void daceCubicRoot(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:945
Definition: daceaux.h:82
void daceSquare(const DACEDA *ina, DACEDA *inb)
Definition: dacemath.c:265
unsigned int daceExportBlob(const DACEDA *ina, void *blob, unsigned int *size)
Definition: daceio.c:391
void daceGetCoefficientAt(const DACEDA *ina, const unsigned int npos, unsigned int jj[], double *cjj)
Definition: dacebasic.c:435
unsigned int daceIsNan(const DACEDA *ina)
Definition: dacebasic.c:635
void daceHyperbolicTangent(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1343
void daceCreateRandom(DACEDA *ina, const double cm)
Definition: dacebasic.c:171
void daceRoot(const DACEDA *ina, const int np, DACEDA *inc)
Definition: dacemath.c:808
void daceCreateMonomial(DACEDA *ina, const unsigned int jj[], const double ckon)
Definition: dacebasic.c:107
void daceLogarithm10(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1062
double daceGetCoefficient(const DACEDA *ina, const unsigned int jj[])
Definition: dacebasic.c:260
void daceArcSine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1159
int max
Definition: dacememory.c:68
void daceMultiply(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:107
double daceNorm(const DACEDA *ina, const unsigned int ityp)
Definition: dacenorm.c:62
void daceExponential(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:985
Definition: dacememory.c:67
void daceArcTangent(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1201
double daceGetCoefficient0(const DACEDA *ina, const unsigned int ic)
Definition: dacebasic.c:270
void daceEstimate(const DACEDA *ina, const unsigned int ivar, const unsigned int ityp, double c[], double err[], const unsigned int nc)
Definition: dacenorm.c:208
void daceBesselKFunction(const DACEDA *ina, const int n, const bool scaled, DACEDA *inc)
Definition: dacemath.c:1661
void daceCreateFilled(DACEDA *ina, const double ckon)
Definition: dacebasic.c:136
void dacePrint(const DACEDA *ina)
Definition: daceio.c:337
void daceWrite(const DACEDA *ina, char *strs, unsigned int *nstrs)
Definition: daceio.c:55
void daceInitialize(unsigned int no, unsigned int nv)
Definition: daceinit.c:56
#define REF(x)
Definition: dacebase.h:57
void daceDivideDouble(const DACEDA *ina, const double ckon, DACEDA *inb)
Definition: dacemath.c:371
const char * daceGetErrorFunName()
Definition: daceerror.c:78
void daceAllocateDA(DACEDA *inc, const unsigned int len)
Definition: dacememory.c:132
void daceTruncate(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:661
unsigned int daceGetError()
Definition: daceerror.c:52
void daceIntegrate(const unsigned int iint, const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:577
void daceInvalidateDA(DACEDA *inc)
Definition: dacememory.c:247
void daceOrderedNorm(const DACEDA *ina, const unsigned int ivar, const unsigned int ityp, double onorm[])
Definition: dacenorm.c:102
void daceArcCosine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1184
void daceDoubleSubtract(const DACEDA *ina, const double ckon, DACEDA *inb)
Definition: dacemath.c:290
unsigned int daceGetErrorYY()
Definition: daceerror.c:70
#define DACE_API
Definition: dace_s.h:33
void daceHypotenuse(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:966
double daceSetEpsilon(const double eps)
Definition: daceinit.c:270
void daceMultiplyDouble(const DACEDA *ina, const double ckon, DACEDA *inb)
Definition: dacemath.c:313
void daceModulo(const DACEDA *ina, const double p, DACEDA *inc)
Definition: dacemath.c:684
void daceClearError()
Definition: daceerror.c:100
void daceMultiplyMonomials(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:212
void daceAdd(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:63
unsigned int daceSetTruncationOrder(const unsigned int fnot)
Definition: daceinit.c:335
void daceCopy(const DACEDA *ina, DACEDA *inb)
Definition: dacebasic.c:469
void daceSubtractDouble(const DACEDA *ina, const double ckon, DACEDA *inb)
Definition: dacemath.c:302
void daceBesselYFunction(const DACEDA *ina, const int n, DACEDA *inc)
Definition: dacemath.c:1738
unsigned int daceGetErrorX()
Definition: daceerror.c:61
void daceInverseCubicRoot(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:955
void daceBesselJFunction(const DACEDA *ina, const int n, DACEDA *inc)
Definition: dacemath.c:1702
void daceGetVersion(int *imaj, int *imin, int *ipat)
Definition: daceinit.c:251
unsigned int daceBlobSize(const void *blob)
Definition: daceio.c:445
unsigned int size(const DA &da)
Definition: DA.cpp:2549
void daceComplementaryErrorFunction(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1476
unsigned int daceGetLength(const DACEDA *ina)
Definition: dacebasic.c:457
void daceFreeDA(DACEDA *inc)
Definition: dacememory.c:190
void daceSetCoefficient(DACEDA *ina, const unsigned int jj[], const double cjj)
Definition: dacebasic.c:321
int len
Definition: dacememory.c:68
unsigned int daceGetMaxMonomials()
Definition: daceinit.c:316
void daceDivide(const DACEDA *ina, const DACEDA *inb, DACEDA *inc)
Definition: dacemath.c:250
double daceGetConstant(const DACEDA *ina)
Definition: dacebasic.c:215
unsigned int daceIsInf(const DACEDA *ina)
Definition: dacebasic.c:653
int DACEDA
Definition: dacebase.h:70
void daceMultiplicativeInverse(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:859
void daceHyperbolicArcCosine(const DACEDA *ina, DACEDA *inc)
Definition: dacemath.c:1391