|
nsz |
f9d179 |
#include <fenv.h>
|
|
nsz |
f9d179 |
#include <math.h>
|
|
nsz |
f9d179 |
#include <float.h>
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
#undef RN
|
|
nsz |
f9d179 |
#undef RZ
|
|
nsz |
f9d179 |
#undef RD
|
|
nsz |
f9d179 |
#undef RU
|
|
nsz |
f9d179 |
#define RN FE_TONEAREST
|
|
nsz |
f9d179 |
#define RZ FE_TOWARDZERO
|
|
nsz |
f9d179 |
#define RD FE_DOWNWARD
|
|
nsz |
f9d179 |
#define RU FE_UPWARD
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
#undef INEXACT
|
|
nsz |
f9d179 |
#undef INVALID
|
|
nsz |
f9d179 |
#undef DIVBYZERO
|
|
nsz |
f9d179 |
#undef UNDERFLOW
|
|
nsz |
f9d179 |
#undef OVERFLOW
|
|
nsz |
f9d179 |
#define INEXACT FE_INEXACT
|
|
nsz |
f9d179 |
#define INVALID FE_INVALID
|
|
nsz |
f9d179 |
#define DIVBYZERO FE_DIVBYZERO
|
|
nsz |
f9d179 |
#define UNDERFLOW FE_UNDERFLOW
|
|
nsz |
f9d179 |
#define OVERFLOW FE_OVERFLOW
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
#undef inf
|
|
nsz |
f9d179 |
#undef nan
|
|
nsz |
f9d179 |
#define inf INFINITY
|
|
nsz |
f9d179 |
#define nan NAN
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
struct f1 { int r; float x; float y; float dy; int e; };
|
|
nsz |
f9d179 |
struct f2 { int r; float x; float x2; float y; float dy; int e; };
|
|
nsz |
f9d179 |
struct d1 { int r; double x; double y; float dy; int e; };
|
|
nsz |
f9d179 |
struct d2 { int r; double x; double x2; double y; float dy; int e; };
|
|
nsz |
f9d179 |
struct l1 { int r; long double x; long double y; float dy; int e; };
|
|
nsz |
f9d179 |
struct l2 { int r; long double x; long double x2; long double y; float dy; int e; };
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
struct t {
|
|
nsz |
f9d179 |
int type;
|
|
nsz |
f9d179 |
int r;
|
|
nsz |
f9d179 |
long double x;
|
|
nsz |
f9d179 |
long double x2;
|
|
nsz |
f9d179 |
long double x3;
|
|
nsz |
f9d179 |
long long i;
|
|
nsz |
f9d179 |
long double y;
|
|
nsz |
f9d179 |
long double y2;
|
|
nsz |
f9d179 |
float dy;
|
|
nsz |
f9d179 |
float dy2;
|
|
nsz |
f9d179 |
int e;
|
|
nsz |
f9d179 |
};
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
char *skipstr(char *, char *);
|
|
nsz |
f9d179 |
int splitstr(char **, int, char *, char *);
|
|
nsz |
f9d179 |
char *dropcomm(char *);
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
char *estr(int);
|
|
nsz |
f9d179 |
char *rstr(int);
|
|
nsz |
f9d179 |
int rconv(int *, char *);
|
|
nsz |
f9d179 |
int econv(int *, char *);
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
int eulp(double);
|
|
nsz |
f9d179 |
int eulpf(float);
|
|
nsz |
f9d179 |
int eulpl(long double);
|
|
nsz |
f9d179 |
double ulperr(double y, double ycr, double dy);
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
void setupfenv(int);
|
|
nsz |
f9d179 |
int getexcept(void);
|
|
nsz |
f9d179 |
|
|
nsz |
f9d179 |
#define T(f,x) int mp##f(struct t *);
|
|
nsz |
f9d179 |
#include "functions.h"
|
|
nsz |
f9d179 |
#undef T
|
|
nsz |
f9d179 |
|