152 |
#endif /* HAVE_ERF */ |
#endif /* HAVE_ERF */ |
153 |
|
|
154 |
#ifdef NDEBUG |
#ifdef NDEBUG |
155 |
#define ascnint(a) (((int) (a)>=0.0 ? floor((a) + 0.5) : -floor(0.5 - (a)))) |
#define ascnint(d) (((int) (d)>=0.0 ? floor((d) + 0.5) : -floor(0.5 - (d)))) |
156 |
|
/**< |
157 |
|
* Converts a double to the nearest integer (release version). |
158 |
|
* @param d double, the real number to convert. |
159 |
|
* @return The nearest integer as an int. |
160 |
|
*/ |
161 |
#else |
#else |
162 |
#define ascnint(a) ascnintF(a) |
#define ascnint(a) ascnintF(a) |
163 |
|
/**< |
164 |
|
* Converts a double to the nearest integer (debug version). |
165 |
|
* @param d double, the real number to convert. |
166 |
|
* @return The nearest integer as an int. |
167 |
|
*/ |
168 |
extern int DLEXPORT ascnintF(double); |
extern int DLEXPORT ascnintF(double); |
|
#endif |
|
169 |
/**< |
/**< |
170 |
* int j = ascnint((double) x); converts double in to nearest integer; |
* Implementation function for debug version of ascnint(). |
171 |
|
* Do not call this function directly - use ascnint() instead. |
172 |
*/ |
*/ |
173 |
|
|
174 |
|
#endif |
175 |
|
|
176 |
extern double DLEXPORT dln(double x); |
extern double DLEXPORT dln(double x); |
177 |
extern double DLEXPORT dln2(double x); |
extern double DLEXPORT dln2(double x); |
178 |
extern double DLEXPORT dlog(double x); |
extern double DLEXPORT dlog(double x); |