summaryrefslogtreecommitdiff
path: root/ext/bigfloat/bigfloat.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bigfloat/bigfloat.h')
-rw-r--r--ext/bigfloat/bigfloat.h503
1 files changed, 0 insertions, 503 deletions
diff --git a/ext/bigfloat/bigfloat.h b/ext/bigfloat/bigfloat.h
deleted file mode 100644
index 7a86112c73..0000000000
--- a/ext/bigfloat/bigfloat.h
+++ /dev/null
@@ -1,503 +0,0 @@
-/*
- *
- * Ruby BIGFLOAT(Variable Precision) extension library.
- *
- * Version 1.1.7(2001/08/27)
- * Version 1.1.6(2001/03/28)
- *
- * Copyright(C) 1999 by Shigeo Kobayashi(shigeo@tinyforest.gr.jp)
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file
- * of this BigFloat distribution.
- *
- */
-
-#ifndef ____BIG_FLOAT__H____
-#define ____BIG_FLOAT__H____
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/*
- * #define VP_EXPORT other than static to let VP_ routines
- * be called from outside of this module.
- */
-#define VP_EXPORT static
-
-#define U_LONG unsigned long
-#define S_LONG long
-#define U_INT unsigned int
-#define S_INT int
-
-/* Exception codes */
-#define VP_EXCEPTION_ALL ((unsigned short)0xFFFF)
-#define VP_EXCEPTION_INFINITY ((unsigned short)0x0001)
-#define VP_EXCEPTION_NaN ((unsigned short)0x0002)
-#define VP_EXCEPTION_UNDERFLOW ((unsigned short)0x0004)
-#define VP_EXCEPTION_OVERFLOW ((unsigned short)0x0001) /* 0x0008) */
-#define VP_EXCEPTION_ZERODIVIDE ((unsigned short)0x0001) /* 0x0010) */
-/* Following 2 exceptions cann't controlled by user */
-#define VP_EXCEPTION_OP ((unsigned short)0x0020)
-#define VP_EXCEPTION_MEMORY ((unsigned short)0x0040)
-
-#define VP_SIGN_NaN 0 /* NaN */
-#define VP_SIGN_POSITIVE_ZERO 1 /* Positive zero */
-#define VP_SIGN_NEGATIVE_ZERO -1 /* Negative zero */
-#define VP_SIGN_POSITIVE_FINITE 2 /* Positive finite number */
-#define VP_SIGN_NEGATIVE_FINITE -2 /* Negative finite number */
-#define VP_SIGN_POSITIVE_INFINITE 3 /* Positive infinite number */
-#define VP_SIGN_NEGATIVE_INFINITE -3 /* Negative infinite number */
-
-/*
- * VP representation
- * r = 0.xxxxxxxxx *BASE**exponent
- */
-typedef struct {
- VALUE obj; /* Back pointer(VALUE) for Ruby object. */
- U_LONG MaxPrec; /* Maximum precision size */
- /* This is the actual size of pfrac[] */
- /*(frac[0] to frac[MaxPrec] are available). */
- U_LONG Prec; /* Current precision size. */
- /* This indicates how much the. */
- /* the array frac[] is actually used. */
- S_INT exponent;/* Exponent part. */
- short sign; /* Attributes of the value. */
- /*
- * ==0 : NaN
- * 1 : Positive zero
- * -1 : Negative zero
- * 2 : Positive number
- * -2 : Negative number
- * 3 : Positive infinite number
- * -3 : Negative infinite number
- */
- short flag; /* Not used in vp_routines,space for user. */
- U_LONG frac[1]; /* Pointer to array of fraction part. */
-} Real;
-
-/*
- * ------------------
- * EXPORTables.
- * ------------------
- */
-
-VP_EXPORT Real *
-#ifdef HAVE_STDARG_PROTOTYPES
-VpNewRbClass(U_LONG mx,char *str,VALUE klass);
-#else
-VpNewRbClass();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT Real *
-#ifdef HAVE_STDARG_PROTOTYPES
-VpCreateRbObject(U_LONG mx,char *str);
-#else
-VpCreateRbObject();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT S_LONG VpBaseFig();
-VP_EXPORT S_LONG VpDblFig();
-VP_EXPORT U_LONG VpBaseVal();
-
-/* Zero,Inf,NaN (isinf(),isnan() used to check) */
-VP_EXPORT double VpGetDoubleNaN();
-VP_EXPORT double VpGetDoublePosInf();
-VP_EXPORT double VpGetDoubleNegInf();
-VP_EXPORT double VpGetDoubleNegZero();
-
-/* These 2 functions added at v1.1.7 */
-VP_EXPORT U_LONG VpGetPrecLimit();
-#ifdef HAVE_STDARG_PROTOTYPES
-VP_EXPORT U_LONG VpSetPrecLimit(U_LONG n);
-#else
-VP_EXPORT U_LONG VpSetPrecLimit();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpException(unsigned short f,char *str,int always);
-#else
-VpException();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpIsNegDoubleZero(double v);
-#else
-VpIsNegDoubleZero();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT U_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-VpNumOfChars(Real *vp);
-#else
-VpNumOfChars();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT U_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-VpInit(U_LONG BaseVal);
-#else
-VpInit();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpFree(Real *pv);
-#else
-VpFree();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT Real *
-#ifdef HAVE_STDARG_PROTOTYPES
-VpAlloc(U_LONG mx, char *szVal);
-#else
-VpAlloc();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpAsgn(Real *c,Real *a,int isw);
-#else
-VpAsgn();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpAddSub(Real *c,Real *a,Real *b,int operation);
-#else
-VpAddSub();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpMult(Real *c,Real *a,Real *b);
-#else
-VpMult();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpDivd(Real *c,Real *r,Real *a,Real *b);
-#else
-VpDivd(c, r, a, b);
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpComp(Real *a,Real *b);
-#else
-VpComp();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT S_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-VpExponent10(Real *a);
-#else
-VpExponent10();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSzMantissa(Real *a,char *psz);
-#else
-VpSzMantissa();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpToString(Real *a,char *psz,int fFmt);
-#else
-VpToString();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpCtoV(Real *a,char *int_chr,U_LONG ni,char *frac,U_LONG nf,char *exp_chr,U_LONG ne);
-#else
-VpCtoV();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpVtoD(double *d,U_LONG *e,Real *m);
-#else
-VpVtoD();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpDtoV(Real *m,double d);
-#else
-VpDtoV();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpItoV(Real *m,S_INT ival);
-#else
-VpItoV();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSqrt(Real *y,Real *x);
-#else
-VpSqrt();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpRound(Real *y,Real *x,int sw,int f,int il);
-#else
-VpRound();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpFrac(Real *y,Real *x);
-#else
-VpFrac();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpPower(Real *y,Real *x,S_INT n);
-#else
-VpPower();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpPai(Real *y);
-#else
-VpPai();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpExp1(Real *y);
-#else
-VpExp1();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpExp(Real *y,Real *x);
-#else
-VpExp();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSinCos(Real *psin,Real *pcos,Real *x);
-#else
-VpSinCos();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-VP_EXPORT int
-#ifdef HAVE_STDARG_PROTOTYPES
-VPrint(FILE *fp,char *cntl_chr,Real *a);
-#else
-VPrint();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-/*
- * ------------------
- * static routines.
- * ------------------
- */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpIsDefOP(Real *c,Real *a,Real *b,int sw);
-#else
-VpIsDefOP();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-AddExponent(Real *a,S_INT n);
-#else
-AddExponent();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static void *
-#ifdef HAVE_STDARG_PROTOTYPES
-VpMemAlloc(U_LONG mb);
-#else
-VpMemAlloc();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static unsigned short VpGetException();
-
-static void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSetException(unsigned short f);
-#else
-VpSetException();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-MemCmp( unsigned char *a,unsigned char *b,int n);
-#else
-MemCmp(a,b,n);
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpAddAbs(Real *a,Real *b,Real *c);
-#else
-VpAddAbs();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSubAbs(Real *a,Real *b,Real *c);
-#else
-VpSubAbs();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static U_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-VpSetPTR(Real *a,Real *b,Real *c,U_LONG *a_pos,U_LONG *b_pos,U_LONG *c_pos,U_LONG *av,U_LONG *bv);
-#else
-VpSetPTR();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpNmlz(Real *a);
-#else
-VpNmlz();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static void
-#ifdef HAVE_STDARG_PROTOTYPES
-VpFormatSt(char *psz,S_INT fFmt);
-#else
-VpFormatSt();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static int
-#ifdef HAVE_STDARG_PROTOTYPES
-VpRdup(Real *m);
-#else
-VpRdup();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static U_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-SkipWhiteChar(char *szVal);
-#else
-SkipWhiteChar();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static U_LONG
-#ifdef HAVE_STDARG_PROTOTYPES
-GetAddSubPrec(Real *a,Real *b);
-#else
-GetAddSubPrec();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static S_INT
-#ifdef HAVE_STDARG_PROTOTYPES
-GetPositiveInt(VALUE v);
-#else
-GetPositiveInt();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static Real *
-#ifdef HAVE_STDARG_PROTOTYPES
-GetVpValue(VALUE v,int must);
-#else
-GetVpValue();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static VALUE
-#ifdef HAVE_STDARG_PROTOTYPES
-ToValue(Real *p);
-#else
-ToValue();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static S_INT
-#ifdef HAVE_STDARG_PROTOTYPES
-BigFloatCmp(VALUE self,VALUE r);
-#else
-BigFloatCmp();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static VALUE
-#ifdef HAVE_STDARG_PROTOTYPES
-BigFloat_divide(Real **c,Real **res,Real **div,VALUE self,VALUE r);
-#else
-BigFloat_divide();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-static VALUE
-#ifdef HAVE_STDARG_PROTOTYPES
-BigFloat_DoDivmod(VALUE self,VALUE r,Real **div,Real **mod);
-#else
-BigFloat_DoDivmod();
-#endif /* HAVE_STDARG_PROTOTYPES */
-
-/*
- * ------------------
- * MACRO definitions.
- * ------------------
- */
-#define Abs(a) (((a)>= 0)?(a):(-(a)))
-#define Max(a, b) (((a)>(b))?(a):(b))
-#define Min(a, b) (((a)>(b))?(b):(a))
-
-#define IsWhiteChar(ch) (((ch==' ')||(ch=='\n')||(ch=='\t')||(ch=='\b'))?1:0)
-
-#define VpMaxPrec(a) ((a)->MaxPrec)
-#define VpPrec(a) ((a)->Prec)
-#define VpGetFlag(a) ((a)->flag)
-
-/* Sign */
-
-/* VpGetSign(a) returns 1,-1 if a>0,a<0 respectively */
-#define VpGetSign(a) (((a)->sign>0)?1:(-1))
-/* Change sign of a to a>0,a<0 if s = 1,-1 respectively */
-#define VpChangeSign(a,s) {if((s)>0) (a)->sign=(short)Abs((S_LONG)(a)->sign);else (a)->sign=-(short)Abs((S_LONG)(a)->sign);}
-/* Sets sign of a to a>0,a<0 if s = 1,-1 respectively */
-#define VpSetSign(a,s) {if((s)>0) (a)->sign=(short)VP_SIGN_POSITIVE_FINITE;else (a)->sign=(short)VP_SIGN_NEGATIVE_FINITE;}
-
-/* 1 */
-#define VpSetOne(a) {(a)->frac[0]=(a)->exponent=(a)->Prec=1;(a)->sign=VP_SIGN_POSITIVE_FINITE;}
-
-/* ZEROs */
-#define VpIsPosZero(a) ((a)->sign==VP_SIGN_POSITIVE_ZERO)
-#define VpIsNegZero(a) ((a)->sign==VP_SIGN_NEGATIVE_ZERO)
-#define VpIsZero(a) (VpIsPosZero(a) || VpIsNegZero(a))
-#define VpSetPosZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_ZERO)
-#define VpSetNegZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_ZERO)
-#define VpSetZero(a,s) ( ((s)>0)?VpSetPosZero(a):VpSetNegZero(a) )
-
-/* NaN */
-#define VpIsNaN(a) ((a)->sign==VP_SIGN_NaN)
-#define VpSetNaN(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NaN)
-
-/* Infinity */
-#define VpIsPosInf(a) ((a)->sign==VP_SIGN_POSITIVE_INFINITE)
-#define VpIsNegInf(a) ((a)->sign==VP_SIGN_NEGATIVE_INFINITE)
-#define VpIsInf(a) (VpIsPosInf(a) || VpIsNegInf(a))
-#define VpIsDef(a) ( !(VpIsNaN(a)||VpIsInf(a)) )
-#define VpSetPosInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_INFINITE)
-#define VpSetNegInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_INFINITE)
-#define VpSetInf(a,s) ( ((s)>0)?VpSetPosInf(a):VpSetNegInf(a) )
-
-#ifdef _DEBUG
-int VpVarCheck(Real * v);
-#endif /* _DEBUG */
-
-#if defined(__cplusplus)
-} /* extern "C" { */
-#endif
-#endif //____BIG_FLOAT__H____