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