diff vx.h @ 0:e0bbaa717f41 draft default tip

lol J
author Jordi GutiƩrrez Hermoso <jordigh@octave.org>
date Mon, 25 Nov 2013 11:56:30 -0500 (2013-11-25)
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/vx.h
@@ -0,0 +1,57 @@
+/* Copyright 1990-2011, Jsoftware Inc.  All rights reserved. */
+/* License in license.txt.                                   */
+/*                                                                         */
+/* Extended Precision                                                      */
+
+#if SY_64
+#define XIDIG           5                  /* max # x digits in an integer */
+#else
+#define XIDIG           3
+#endif
+
+#define XBASE           (I)10000
+#define XBASEN          (I)4
+#define XPINF           (I)99999
+#define XNINF           (I)-99999
+#define XF1(f)          X f(J jt,    X w)
+#define XF2(f)          X f(J jt,X a,X w)
+#define XDIG(a)         (*(AV(a)+AN(a)-1))   /* leading digit              */
+#define XMAX(x,y)       (1==xcompare(x,y)?x:y)
+#define XMIN(x,y)       (1==xcompare(x,y)?y:x)
+#define XDIV(x,y)       xdiv(x,y,jt->xmode)
+#define XCUBE(x)        xtymes(x,xtymes(x,x))
+
+
+
+/* values for jt->xmode */
+
+#define XMFLR           0                    /* floor,   round down        */
+#define XMCEIL          1                    /* ceiling, round up          */
+#define XMEXACT         2                    /* exact, error if impossible */
+#define XMEXMT          3                    /* exact, empty if impossible */
+#define XMRND           4                    /* round,   round to nearest  */
+
+
+extern XF1(jtxfact);
+extern XF1(jtxsgn);
+extern XF1(jtxsq);
+extern XF1(jtxsqrt);
+extern XF1(jtxstd);
+
+extern XF2(jtxbin);
+extern XF2(jtxgcd);
+extern XF2(jtxlcm);
+extern XF2(jtxminus);
+extern XF2(jtxplus);
+extern XF2(jtxpow);
+extern XF2(jtxtymes);
+
+extern X   jtxc(J,I);
+extern int jtxcompare(J,X,X);
+extern X   jtxdiv(J,X,X,I);
+extern B   jtxdivrem(J,X,X,X*,X*);
+extern X   jtxev1(J,A,C*);
+extern X   jtxev2(J,A,A,C*);
+extern I   jtxint(J,X);
+extern D   jtxlogabs(J,X);
+extern X   jtxrem(J,X,X);