annotate 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
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
1 /* Copyright 1990-2011, Jsoftware Inc. All rights reserved. */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2 /* License in license.txt. */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 /* */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4 /* Extended Precision */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 #if SY_64
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 #define XIDIG 5 /* max # x digits in an integer */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 #else
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 #define XIDIG 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 #endif
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
11
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 #define XBASE (I)10000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13 #define XBASEN (I)4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14 #define XPINF (I)99999
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 #define XNINF (I)-99999
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
16 #define XF1(f) X f(J jt, X w)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
17 #define XF2(f) X f(J jt,X a,X w)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
18 #define XDIG(a) (*(AV(a)+AN(a)-1)) /* leading digit */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19 #define XMAX(x,y) (1==xcompare(x,y)?x:y)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20 #define XMIN(x,y) (1==xcompare(x,y)?y:x)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
21 #define XDIV(x,y) xdiv(x,y,jt->xmode)
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
22 #define XCUBE(x) xtymes(x,xtymes(x,x))
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
23
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
24
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
25
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
26 /* values for jt->xmode */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
27
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
28 #define XMFLR 0 /* floor, round down */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
29 #define XMCEIL 1 /* ceiling, round up */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
30 #define XMEXACT 2 /* exact, error if impossible */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
31 #define XMEXMT 3 /* exact, empty if impossible */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
32 #define XMRND 4 /* round, round to nearest */
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
33
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
34
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
35 extern XF1(jtxfact);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
36 extern XF1(jtxsgn);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
37 extern XF1(jtxsq);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
38 extern XF1(jtxsqrt);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
39 extern XF1(jtxstd);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
40
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
41 extern XF2(jtxbin);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
42 extern XF2(jtxgcd);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
43 extern XF2(jtxlcm);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
44 extern XF2(jtxminus);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
45 extern XF2(jtxplus);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
46 extern XF2(jtxpow);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
47 extern XF2(jtxtymes);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
48
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
49 extern X jtxc(J,I);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
50 extern int jtxcompare(J,X,X);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
51 extern X jtxdiv(J,X,X,I);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
52 extern B jtxdivrem(J,X,X,X*,X*);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
53 extern X jtxev1(J,A,C*);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
54 extern X jtxev2(J,A,A,C*);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
55 extern I jtxint(J,X);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
56 extern D jtxlogabs(J,X);
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
57 extern X jtxrem(J,X,X);