| 25 |
|
|
| 26 |
#include <strstream> |
#include <strstream> |
| 27 |
#include <ginac/basic.h> |
#include <ginac/basic.h> |
| 28 |
|
#include <ginac/ex.h> |
|
#define HASHVALUE_NUMERIC 0x80000001U |
|
| 29 |
|
|
| 30 |
class cl_N; // We want to include cln.h only in numeric.cpp in order to |
class cl_N; // We want to include cln.h only in numeric.cpp in order to |
| 31 |
// avoid namespace pollution and keep compile-time low. |
// avoid namespace pollution and keep compile-time low. |
| 32 |
|
|
| 33 |
|
namespace GiNaC { |
| 34 |
|
|
| 35 |
|
#define HASHVALUE_NUMERIC 0x80000001U |
| 36 |
|
|
| 37 |
/** This class is used to instantiate a global object Digits which |
/** This class is used to instantiate a global object Digits which |
| 38 |
* behaves just like Maple's Digits. We need an object rather than a |
* behaves just like Maple's Digits. We need an object rather than a |
| 39 |
* dumber basic type since as a side-effect we let it change |
* dumber basic type since as a side-effect we let it change |
| 321 |
ex EulerGammaEvalf(void); |
ex EulerGammaEvalf(void); |
| 322 |
ex CatalanEvalf(void); |
ex CatalanEvalf(void); |
| 323 |
|
|
| 324 |
#define ex_to_numeric(X) static_cast<numeric const &>(*(X).bp) |
// utility functions |
| 325 |
|
inline const numeric &ex_to_numeric(const ex &e) |
| 326 |
|
{ |
| 327 |
|
return static_cast<const numeric &>(*e.bp); |
| 328 |
|
} |
| 329 |
|
|
| 330 |
|
} // namespace GiNaC |
| 331 |
|
|
| 332 |
#endif // ndef __GINAC_NUMERIC_H__ |
#endif // ndef __GINAC_NUMERIC_H__ |