Mercurial > hg > jgplsrc
view vq.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 |
line wrap: on
line source
/* Copyright 1990-2011, Jsoftware Inc. All rights reserved. */ /* License in license.txt. */ /* */ /* Rational Numbers */ #define QF1(f) Q f(J jt, Q w) #define QF2(f) Q f(J jt,Q a,Q w) #define QASSERT(b,e) {if(!(b)){jsignal(e); R zeroQ;}} #define QEPILOG(q) {Q z9; z9=(qstd(q)); gc3(z9.n,z9.d,0L,_ttop); R z9;} #define QRE(exp) {if((exp),jt->jerr)R zeroQ;} #define QRZ(exp) {if(!(exp)) R zeroQ;} #define QX1(x) (1==AN(x)&&1==XDIG(x)) #define QEQ(x,y) (equ((x).n,(y).n)&&equ((x).d,(y).d)) #define QCOMP(x,y) (xcompare(xtymes((x).n,(y).d),xtymes((y).n,(x).d))) #define QLT(x,y) (0> QCOMP(x,y)) #define QLE(x,y) (0>=QCOMP(x,y)) #define QGT(x,y) (0< QCOMP(x,y)) #define QGE(x,y) (0<=QCOMP(x,y)) #define QMAX(x,y) (QGE(x,y)?x:y) #define QMIN(x,y) (QLE(x,y)?x:y) extern QF1(jtqstd); extern QF2(jtqdiv); extern QF2(jtqminus); extern QF2(jtqplus); extern QF2(jtqtymes); extern Q zeroQ;