Initial import.
This commit is contained in:
parent
7cd30fd8ae
commit
8d6f9f081f
|
@ -0,0 +1 @@
|
||||||
|
/qepcad-B.1.69.tar.gz
|
|
@ -0,0 +1,387 @@
|
||||||
|
--- ./extensions/rend/rend.h.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/rend/rend.h 2013-08-28 11:34:57.057516390 -0600
|
||||||
|
@@ -34,7 +34,7 @@ extern "C" {
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
|
-istream& qein(); // fetches the current qepcad istream object
|
||||||
|
+istream& qein() __pure; // fetches the current qepcad istream object
|
||||||
|
|
||||||
|
class singlelinestream : public istringstream
|
||||||
|
{
|
||||||
|
--- ./extensions/rend/Rend_Cell.h.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/rend/Rend_Cell.h 2013-08-30 14:37:28.376780785 -0600
|
||||||
|
@@ -49,8 +49,8 @@ public:
|
||||||
|
Rend_Cell& operator[](int i); /* gives child from index */
|
||||||
|
Rend_Cell* neighbor_l(); /* returns left neighbor cell */
|
||||||
|
Rend_Cell* neighbor_r(); /* returns right neighbor cell */
|
||||||
|
- int array_index(); /* returns i such that
|
||||||
|
- parent->child[i] is the cell */
|
||||||
|
+ int array_index() __pure; /* returns i such that
|
||||||
|
+ parent->child[i] is the cell */
|
||||||
|
void set_extents(Word J);
|
||||||
|
void out_descrip(Rend_Win &W, ostream &out, Mapper &M);
|
||||||
|
void out_descrip_ps(Rend_Win &W, ostream &out, Mapper &M);
|
||||||
|
--- ./extensions/adj2d/truthbytop/truthbytop.h.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/adj2d/truthbytop/truthbytop.h 2013-08-30 09:41:55.321108153 -0600
|
||||||
|
@@ -4,13 +4,13 @@
|
||||||
|
#include "adj2D.h"
|
||||||
|
|
||||||
|
void GADDVERTEX(Word v, Word l, Word *G_);
|
||||||
|
-Word GSTACKHANDLE(Word i, Word G_);
|
||||||
|
+Word GSTACKHANDLE(Word i, Word G_) __pure;
|
||||||
|
Word GVERTEXHANDLE(Word v, Word G_);
|
||||||
|
Word GVERTEXLABEL(Word v, Word G_);
|
||||||
|
void GNEWLABEL(Word v, Word l, Word G_);
|
||||||
|
void GADDEDGE(Word e, Word G_);
|
||||||
|
Word GSUCCLIST(Word v, Word G_);
|
||||||
|
-Word vert2dim(Word v);
|
||||||
|
+Word vert2dim(Word v) __pure;
|
||||||
|
Word GPREDLIST(Word v, Word G_);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
--- ./extensions/adj2d/adj2D.h.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/adj2d/adj2D.h 2013-08-30 14:35:45.336575945 -0600
|
||||||
|
@@ -25,7 +25,7 @@ Word ADJ_2D1P2(Word U, Word V, Word w_l,
|
||||||
|
Word ADJ_2D1P3(Word U, Word w_l, Word B);
|
||||||
|
Word ADJ_2D1_COMPLETE(Word c, Word c_l, Word c_r, Word P, Word J);
|
||||||
|
Word ADJ_2D1_SIMPLE(Word U, Word V, Word w_l, Word B);
|
||||||
|
-Word CWD_VECTOR_Q(Word u, Word v);
|
||||||
|
+Word CWD_VECTOR_Q(Word u, Word v) __pure;
|
||||||
|
Word EQUAL_ON_ONES(Word u, Word v);
|
||||||
|
Word LDCOEFMASK(Word c, Word P, Word J);
|
||||||
|
Word LDCOEFMASK(Word c, Word P, Word J);
|
||||||
|
@@ -34,13 +34,13 @@ Word P1(Word U, Word V, Word W, Word v_l
|
||||||
|
Word P2(Word x_l, Word x_r, Word U, Word V, Word W, Word v_l, Word B);
|
||||||
|
Word P3(Word U, Word V, Word W, Word v_l, Word B);
|
||||||
|
Word P4(Word U, Word V, Word W, Word v_l, Word B);
|
||||||
|
-Word SUM_NORM_SP(Word v);
|
||||||
|
+Word SUM_NORM_SP(Word v) __pure;
|
||||||
|
Word VECTOR_DIF(Word u, Word v);
|
||||||
|
Word VECTOR_DIF_S(Word u, Word v, Word *f);
|
||||||
|
-Word VECTOR_LTEQ(Word u, Word v);
|
||||||
|
+Word VECTOR_LTEQ(Word u, Word v) __pure;
|
||||||
|
Word VECTOR_NEG(Word u);
|
||||||
|
-Word VECTOR_ODD_E(Word v_);
|
||||||
|
-Word VECTOR_SEMI_COMP(Word u, Word v);
|
||||||
|
+Word VECTOR_ODD_E(Word v_) __pure;
|
||||||
|
+Word VECTOR_SEMI_COMP(Word u, Word v) __pure;
|
||||||
|
Word VECTOR_SUM(Word u, Word v);
|
||||||
|
Word VECTOR_S_PROD(Word s, Word v);
|
||||||
|
Word ZERO_VECTOR(Word n);
|
||||||
|
@@ -55,7 +55,7 @@ Word RIIFACMA(Word I, Word A, Word t, Wo
|
||||||
|
Word RIIFACMABR(Word P, Word J, Word K, Word *H, Word *I);
|
||||||
|
Word SPRLC(Word c);
|
||||||
|
Word ADJ2DITOEL(Word L, Word c1, Word c0);
|
||||||
|
-Word CCTV(Word C);
|
||||||
|
+Word CCTV(Word C) __pure;
|
||||||
|
void CTVPROPUP(Word C, Word t, Word N, Word by);
|
||||||
|
void TVCLOSURE1D(Word D, Word P, Word J, Word k, Word t);
|
||||||
|
void TVCLOSURE1DS(Word D, Word P, Word J, Word k, Word t);
|
||||||
|
--- ./extensions/sfext/minhit/MINHITSETSRDR.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/minhit/MINHITSETSRDR.c 2013-08-30 09:28:39.624633978 -0600
|
||||||
|
@@ -24,6 +24,8 @@ Note: The point is that not only sortin
|
||||||
|
#define BDCOMP(a,b) ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
|
||||||
|
#define MC_FAIL 0
|
||||||
|
|
||||||
|
+static Word comp(Word a, Word b) __pure;
|
||||||
|
+
|
||||||
|
static Word comp(Word a, Word b) {
|
||||||
|
Word ap,bp,t,q;
|
||||||
|
ap = a; bp = b;
|
||||||
|
--- ./extensions/sfext/extlang/CLOSESTINDEX.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/extlang/CLOSESTINDEX.c 2013-08-30 09:20:44.193946578 -0600
|
||||||
|
@@ -10,6 +10,8 @@ cp: the ESCAD cell in L with index close
|
||||||
|
|
||||||
|
#include "extlang.h"
|
||||||
|
|
||||||
|
+static Word comp(Word u, Word v) __pure;
|
||||||
|
+
|
||||||
|
static Word comp(Word u, Word v)
|
||||||
|
{
|
||||||
|
Word r,t,U,V,A,B,a,b;
|
||||||
|
--- ./extensions/sfext/sfcons/ESPCADDOPFSUFF.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sfcons/ESPCADDOPFSUFF.c 2013-08-30 09:32:29.048483014 -0600
|
||||||
|
@@ -17,7 +17,7 @@ outputs
|
||||||
|
#include "qepcad.h"
|
||||||
|
#include "espcad.h"
|
||||||
|
|
||||||
|
-static Word comp(Word A, Word B);
|
||||||
|
+static Word comp(Word A, Word B) __pure;
|
||||||
|
#define BDCOMP(a,b) ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
|
||||||
|
|
||||||
|
Word ESPCADDOPFSUFF(Word P, Word K)
|
||||||
|
--- ./extensions/sfext/sort/BVCI1.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sort/BVCI1.c 2013-08-28 13:12:30.385244306 -0600
|
||||||
|
@@ -12,9 +12,9 @@ b : -1 if u < v in lex order, 0 if u = v
|
||||||
|
======================================================================*/
|
||||||
|
#include "qepcad.h"
|
||||||
|
|
||||||
|
-Word BVCI1(Word *u_, Word *v_, Word n)
|
||||||
|
+Word BVCI1(const Word *u_, const Word *v_, Word n)
|
||||||
|
{
|
||||||
|
- Word *w,*u,*v;
|
||||||
|
+ const Word *w,*u,*v;
|
||||||
|
u = u_+1;
|
||||||
|
v = v_+1;
|
||||||
|
w = u + n;
|
||||||
|
--- ./extensions/sfext/sort/BVC.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sort/BVC.c 2013-08-28 13:12:21.033150320 -0600
|
||||||
|
@@ -12,9 +12,9 @@ b : -1 if u < v in lex order, 0 if u = v
|
||||||
|
======================================================================*/
|
||||||
|
#include "mysort.h"
|
||||||
|
|
||||||
|
-Word BVC(Word *u_, Word *v_, Word n)
|
||||||
|
+Word BVC(const Word *u_, const Word *v_, Word n)
|
||||||
|
{
|
||||||
|
- Word *w,*u,*v;
|
||||||
|
+ const Word *w,*u,*v;
|
||||||
|
u = u_;
|
||||||
|
v = v_;
|
||||||
|
w = u + n;
|
||||||
|
--- ./extensions/sfext/addpol/MINPFSETNSC.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/addpol/MINPFSETNSC.c 2013-08-28 16:29:15.985921210 -0600
|
||||||
|
@@ -25,6 +25,8 @@ outputs
|
||||||
|
#define BDCOMP(a,b) ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
|
||||||
|
#define CFLCT 5
|
||||||
|
|
||||||
|
+static Word comp1(Word a, Word b) __pure;
|
||||||
|
+
|
||||||
|
static Word comp1(Word a,Word b) {
|
||||||
|
Word A,B,t;
|
||||||
|
A = RED(a); B = RED(b); t = 0;
|
||||||
|
--- ./extensions/sfext/mysort.h.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/mysort.h 2013-08-28 11:29:59.907828961 -0600
|
||||||
|
@@ -52,7 +52,7 @@ Side Effects
|
||||||
|
Word GMSDS(Word *A, Word m, Word (*C)(Word,Word));
|
||||||
|
|
||||||
|
|
||||||
|
-extern Word BVC(Word *u_,Word *v_,Word n);
|
||||||
|
+extern Word BVC(const Word *u_,const Word *v_,Word n) __pure;
|
||||||
|
extern void BVIS(Word **A,Word m,Word n);
|
||||||
|
-extern Word BVCI1(Word *u_,Word *v_,Word n);
|
||||||
|
+extern Word BVCI1(const Word *u_,const Word *v_,Word n) __pure;
|
||||||
|
extern void BVISI1(Word **A,Word m,Word n);
|
||||||
|
--- ./extensions/newadj/HATEST.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/newadj/HATEST.c 2013-08-30 13:26:52.518542789 -0600
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
#include "newadj2D.h"
|
||||||
|
-Word ISSECTOR(Word C) { return LAST(LELTI(C,INDX)) % 2; }
|
||||||
|
+static Word __pure ISSECTOR(Word C) { return LAST(LELTI(C,INDX)) % 2; }
|
||||||
|
void SAMPLECWR(Word c);
|
||||||
|
void strippedAFLWR(Word M,Word I,Word N,Word a,Word A);
|
||||||
|
void ANDWRITExx(Word M,Word I,Word n);
|
||||||
|
--- ./source/qepcad.h.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/qepcad.h 2013-08-30 14:39:10.225632400 -0600
|
||||||
|
@@ -134,10 +134,10 @@ void IPLLDWRMOD(Word V, Word A);
|
||||||
|
void IPLSRP(Word A, Word *s_, Word *P_);
|
||||||
|
Word IPRESPRS(Word r, Word A, Word B);
|
||||||
|
Word IPRNEVAL(BDigit r, Word P, BDigit t, Word b);
|
||||||
|
-Word ISATOMF(Word F);
|
||||||
|
+Word ISATOMF(Word F) __pure;
|
||||||
|
Word ISDESIRED(Word c, Word C);
|
||||||
|
Word ISNULL(Word L);
|
||||||
|
-Word ISPRIMIT(Word s);
|
||||||
|
+Word ISPRIMIT(Word s) __pure;
|
||||||
|
void IUPRWR(Word v, Word A, Word I);
|
||||||
|
Word IXCOMP(Word c1, Word c2);
|
||||||
|
void LABELWR(Word N, Word I);
|
||||||
|
@@ -148,7 +148,7 @@ Word LOAR(Word k, Word Q, Word F);
|
||||||
|
Word LPFTOLRLP(Word r, Word L);
|
||||||
|
Word LPFZCALL(Word c, Word P, Word D);
|
||||||
|
Word LUNION(Word L1, Word L2);
|
||||||
|
-Word LVCOMP(Word c1, Word c2);
|
||||||
|
+Word LVCOMP(Word c1, Word c2) __pure;
|
||||||
|
Word MAFDIF(Word p,Word a,Word b);
|
||||||
|
Word MAFHOM(Word p,Word M,Word a);
|
||||||
|
Word MAFINV(Word p,Word M,Word a);
|
||||||
|
@@ -158,7 +158,7 @@ Word MAFUPEPROD(Word p,Word M,Word a,Wor
|
||||||
|
Word MAFUPGCD(Word p,Word M,Word A,Word B);
|
||||||
|
Word MAFUPMON(Word p, Word M, Word A);
|
||||||
|
Word MAFUPNR(Word p, Word M, Word A, Word B);
|
||||||
|
-Word MATCHWORD(Word A, Word B);
|
||||||
|
+Word MATCHWORD(Word A, Word B) __pure;
|
||||||
|
Word MBPROD(Word A, Word B);
|
||||||
|
Word MCELL(Word a1, Word a2, Word a3, Word a4, Word a5, Word a6, Word a7, Word a8, Word a9, Word a10);
|
||||||
|
Word MKMUL(Word E, Word k);
|
||||||
|
@@ -169,7 +169,7 @@ Word MPOLY(Word a1, Word a2, Word a3, Wo
|
||||||
|
Word MUPNR(Word p,Word A,Word B);
|
||||||
|
Word MVLMA(Word H_t, Word H_f);
|
||||||
|
Word MVLMASF(Word H_t, Word H_f);
|
||||||
|
-Word NEGRLOP(Word T);
|
||||||
|
+Word NEGRLOP(Word T) __constfunc;
|
||||||
|
void NEXTCELL(Word D, Word c, Word *cp_, Word *t_);
|
||||||
|
void NEXTCOMB(Word n, Word r, Word Rs, Word *R_, Word *q_);
|
||||||
|
void NEXTLEXI(Word l, Word Rs, Word *R_, Word *q_);
|
||||||
|
@@ -188,12 +188,12 @@ void PARENTWR(Word P);
|
||||||
|
void PCADWR(Word c);
|
||||||
|
void PCADSWR(Word c);
|
||||||
|
Word PFCOICQ(Word r, Word A, Word c, Word P, Word D);
|
||||||
|
-Word PFPRDQ(Word P);
|
||||||
|
+Word PFPRDQ(Word P) __pure;
|
||||||
|
void PIMPTBLWR(Word C, Word R, Word V);
|
||||||
|
void PLABELWR(Word P);
|
||||||
|
Word PLDEG(Word P);
|
||||||
|
Word PLPOS(Word P, Word i);
|
||||||
|
-Word PPPRDQ(Word P);
|
||||||
|
+Word PPPRDQ(Word P) __pure;
|
||||||
|
void PQFF(Word F, Word L, Word *Lp_);
|
||||||
|
void PRDADJINFO();
|
||||||
|
void PRDCC();
|
||||||
|
@@ -209,7 +209,7 @@ void PRLDB();
|
||||||
|
void PRODWR(Word v);
|
||||||
|
void PROMPT();
|
||||||
|
void PROPAGATE(Word D, Word c, Word k, Word f, Word Q);
|
||||||
|
-void PRQUIT();
|
||||||
|
+void PRQUIT() __noreturn;
|
||||||
|
void PRTRACEA();
|
||||||
|
void PRTRACED();
|
||||||
|
void PRUDB();
|
||||||
|
@@ -217,7 +217,7 @@ void PRWHATIS();
|
||||||
|
void PSIGTBL(Word c, Word f, Word T_t, Word T_f, Word *Tp_t_, Word *Tp_f_);
|
||||||
|
void PSIMREP(Word r, Word P, Word *rs_, Word *Ps_);
|
||||||
|
void QEGLOBALS();
|
||||||
|
-const char* QEPCADBVersion();
|
||||||
|
+const char* QEPCADBVersion() __constfunc;
|
||||||
|
Word QFFFSOP(Word H, Word P, Word f);
|
||||||
|
void QFFLPWR(Word N, Word V, Word F);
|
||||||
|
void QFFLWR(Word N, Word V, Word F);
|
||||||
|
@@ -239,7 +239,7 @@ Word RMMPF(Word P, Word k);
|
||||||
|
Word RMMPJ(Word J, Word k);
|
||||||
|
Word RMNOTOP(Word F);
|
||||||
|
Word RMNOTOPN(Word F);
|
||||||
|
-Word RNFAF(Word a);
|
||||||
|
+Word RNFAF(Word a) __pure;
|
||||||
|
Word RVSPTSVSP(BDigit r, Word P, BDigit s);
|
||||||
|
void SALGF(Word f, Word F, Word *G_, Word *H_);
|
||||||
|
void SAMPLEWR(Word r, Word s, Word PCNUMDEC);
|
||||||
|
@@ -263,7 +263,7 @@ Word SOPFST(Word T);
|
||||||
|
Word SOSRSUBS(Word L);
|
||||||
|
Word SOSRSUPS(Word L);
|
||||||
|
void SPFRPSFT(Word P, Word c, Word k, Word *R_, Word *F_);
|
||||||
|
-Word SSCOMP(Word c1, Word c2);
|
||||||
|
+Word SSCOMP(Word c1, Word c2) __pure;
|
||||||
|
Word STACKMULT(Word C);
|
||||||
|
void STACKMWR(Word M);
|
||||||
|
Word STFSOP(Word H);
|
||||||
|
@@ -630,9 +630,9 @@ Word NEWDERIV(Word KT, Word P, Word Pb,
|
||||||
|
void STRIPPED_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_);
|
||||||
|
Word CADSCL(Word C, Word i);
|
||||||
|
Word CELLFINDEX(Word D, Word I);
|
||||||
|
-Word CRCELL(Word d);
|
||||||
|
+Word CRCELL(Word d) __pure;
|
||||||
|
void CSN(Word c, Word D, Word *b_, Word *d_);
|
||||||
|
-Word BZWAZ(Word a, Word b);
|
||||||
|
+Word BZWAZ(Word a, Word b) __pure;
|
||||||
|
void LISTOFCWTV(Word C, Word *Lt_, Word *Lf_);
|
||||||
|
BDigit NUMSOLPOINTS(Word D, BDigit k);
|
||||||
|
Word LPFOWCS(Word C, Word B, Word P);
|
||||||
|
@@ -669,7 +669,7 @@ void LTFOCWTVMARK(Word C, Word *Lt_, Wor
|
||||||
|
Word OPARTLIST(Word n);
|
||||||
|
Word PARTLIST(Word n);
|
||||||
|
Word SCAD2ESCAD(Word P, Word Ps, Word Ds, Word A);
|
||||||
|
-Word SCCONFLICTQ(Word L1, Word L2);
|
||||||
|
+Word SCCONFLICTQ(Word L1, Word L2) __pure;
|
||||||
|
Word SCFILTER(Word c, Word d);
|
||||||
|
void SETCADTV2MARK(Word D);
|
||||||
|
void SETMARK2FMA(Word D, Word F, Word P);
|
||||||
|
@@ -693,7 +693,7 @@ void CSORTSS(Word **A, Word a, Word L);
|
||||||
|
Word ICSIGDIFFL(Word **A, Word a, Word k);
|
||||||
|
Word MINPFSET(Word P, Word S, Word D, Word N);
|
||||||
|
Word PWUDSCWCP(Word D, Word P, Word N);
|
||||||
|
-Word SIGEQUALOL(Word *A, Word *B, Word L);
|
||||||
|
+Word SIGEQUALOL(Word *A, Word *B, Word L) __pure;
|
||||||
|
void TDTOD(Word P, Word N, Word ***P2_, Word *P1_, Word *k_);
|
||||||
|
Word FMA2DNF(Word F);
|
||||||
|
Word FMA2QUNF(Word F, Word P);
|
||||||
|
@@ -705,8 +705,8 @@ Word FMADMQ(Word F,Word C,Word k,Word P)
|
||||||
|
Word singleFMADMQ(Word F,Word C,Word k,Word P);
|
||||||
|
void FMAIWRITE(Word F);
|
||||||
|
Word FMALEVEL(Word F);
|
||||||
|
-Word FMAOPCOMBINE(Word F);
|
||||||
|
-Word FMAQEXTAF(Word F) ;
|
||||||
|
+Word FMAOPCOMBINE(Word F) __pure;
|
||||||
|
+Word FMAQEXTAF(Word F) __pure;
|
||||||
|
Word FMAPOLLIST(Word F, Word P);
|
||||||
|
void FMAREAD(Word P,Word V, Word *F_,Word *t_);
|
||||||
|
Word FMASMOOTH(Word F);
|
||||||
|
@@ -723,9 +723,9 @@ void FMAWRITENEWLINEp(Word F, Word P, Wo
|
||||||
|
void FMAWRITEQEIN(Word F, Word P, Word V);
|
||||||
|
void FMAWRITEp(Word F, Word P, Word V, Word flag);
|
||||||
|
Word FMA_REMCONST(Word F);
|
||||||
|
-Word FTYPEINFO(Word A);
|
||||||
|
+Word FTYPEINFO(Word A) __pure;
|
||||||
|
void IPDWRITELATEX(Word r, Word A, Word V);
|
||||||
|
-Word POLINDEX2SIGINDEX(Word P_i, Word j);
|
||||||
|
+Word POLINDEX2SIGINDEX(Word P_i, Word j) __pure;
|
||||||
|
void SETTV2FMA(Word D, Word P, Word F, Word k);
|
||||||
|
void SETORDERfromFMA(Word D,Word P,Word F,Word o);
|
||||||
|
void SETORDER(Word D,Word P,Word V);
|
||||||
|
@@ -739,7 +739,7 @@ Word RSFHSP(Word A, Word *Ab_);
|
||||||
|
Word CADCL(Word C, Word i);
|
||||||
|
Word CADFPCAD(Word D, Word P, Word S, Word I, Word Pb);
|
||||||
|
Word CADFPCADWI(Word D, Word P, Word S, Word I, Word Pb);
|
||||||
|
-Word CATV(Word c);
|
||||||
|
+Word CATV(Word c) __pure;
|
||||||
|
void CCADCON(Word n, Word P, Word C, Word *Ps_, Word *Cs_);
|
||||||
|
void CCADCONEXT(Word n, Word P, Word C, Word *Ps_, Word *Cs_, Word *N_);
|
||||||
|
void CCADCONFPFS(Word n, Word P, Word C, Word N, Word *Ps_, Word *Cs_);
|
||||||
|
@@ -749,7 +749,7 @@ Word CHTVQ(Word cs, Word b);
|
||||||
|
Word CTSEQ(Word as, Word bs);
|
||||||
|
void LTFOCALWTV(Word C, Word n, Word *Lt_, Word *Lf_);
|
||||||
|
void LTFOCWTV(Word C, Word *Lt_, Word *Lf_);
|
||||||
|
-Word PCADCFCADC(Word c, Word Cs);
|
||||||
|
+Word PCADCFCADC(Word c, Word Cs) __pure;
|
||||||
|
Word PCADCINDEX(Word c);
|
||||||
|
Word PCADCL(Word Cs, Word i);
|
||||||
|
Word PCADCSV(Word cs, Word Ps);
|
||||||
|
@@ -792,7 +792,7 @@ Word DOPFSUFF(Word P, Word K);
|
||||||
|
Word ESPCADDOPFSUFF(Word P, Word K);
|
||||||
|
Word GEOPARTII(Word F, Word S, Word P, Word Fs);
|
||||||
|
Word GEODATA(Word c, Word A, Word P);
|
||||||
|
-Word GEOHEURISTIC(Word a, Word b);
|
||||||
|
+Word GEOHEURISTIC(Word a, Word b) __pure;
|
||||||
|
Word GEOMERGE(Word c,Word G,Word P);
|
||||||
|
Word GEOFIT(Word c,Word G,Word P);
|
||||||
|
Word ATOMFILTER(Word L_A,Word L_C,Word P);
|
||||||
|
@@ -820,7 +820,7 @@ Word NECCONDS(Word L_T, Word L_F, Word L
|
||||||
|
Word DOPFSUFF_FULLD(Word P, Word K);
|
||||||
|
Word ESPCADDOPFSUFF_FULLD(Word P, Word K);
|
||||||
|
Word BVC(Word *u_, Word *v_, Word n);
|
||||||
|
-Word BVCI1(Word *u_, Word *v_, Word n);
|
||||||
|
+Word BVCI1(Word *u_, Word *v_, Word n) __pure;
|
||||||
|
void BVIS(Word **A, Word m, Word n);
|
||||||
|
void BVISI1(Word **A, Word m, Word n);
|
||||||
|
void GIS(Word *A, Word m, Word (*C)(Word,Word));
|
||||||
|
--- ./source/main/qepcadcls.h.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/main/qepcadcls.h 2013-08-30 13:29:46.950334457 -0600
|
||||||
|
@@ -213,7 +213,7 @@ Word NMATOM; /* Number of atom
|
||||||
|
void CHCELL(Word cs, Word *c_, Word *t_);
|
||||||
|
void ECLI(Word D, Word *c_, Word *t_);
|
||||||
|
BDigit SCREEN(Word c);
|
||||||
|
- BDigit SCREENBYQUANTIFIER(Word c);
|
||||||
|
+ BDigit SCREENBYQUANTIFIER(Word c) __pure;
|
||||||
|
Word ISFECLI(Word D);
|
||||||
|
Word INITPCAD();
|
||||||
|
void EVALUATE(Word c, Word k, Word F, Word A);
|
||||||
|
--- ./source/ticad/QFFTEV.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/ticad/QFFTEV.c 2013-08-30 13:34:05.245953999 -0600
|
||||||
|
@@ -12,7 +12,7 @@ Quantifier-Free Formula Trial Evaluation
|
||||||
|
\parm{t} is the trial truth value of $F$ on the cell $c$.
|
||||||
|
======================================================================*/
|
||||||
|
#include "qepcad.h"
|
||||||
|
-static Word zeroQ(Word s, Word I_L);
|
||||||
|
+static Word zeroQ(Word s, Word I_L) __pure;
|
||||||
|
static Word ATOMETFEVAL(Word Q, Word D, Word c, Word F);
|
||||||
|
|
||||||
|
Word QepcadCls::QFFTEV(Word F, Word c, Word k)
|
||||||
|
--- ./source/userint/PRQUIT.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/userint/PRQUIT.c 2013-08-30 14:40:03.857550869 -0600
|
||||||
|
@@ -13,7 +13,4 @@ Step1: /* Process. */
|
||||||
|
ENDQEPCAD();
|
||||||
|
ENDSACLIB(SAC_FREEMEM);
|
||||||
|
exit(0);
|
||||||
|
-
|
||||||
|
-Return: /* Prepare for return. */
|
||||||
|
- return;
|
||||||
|
}
|
|
@ -0,0 +1,125 @@
|
||||||
|
--- ./plot2d/plot.cc.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./plot2d/plot.cc 2013-08-30 16:51:16.409298807 -0600
|
||||||
|
@@ -37,6 +37,7 @@ class CADELT
|
||||||
|
public:
|
||||||
|
virtual bool read(istream &in) = 0;
|
||||||
|
virtual void glRend(const CADColors &C) = 0;
|
||||||
|
+ virtual ~CADELT() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class SNoverSR : public CADELT
|
||||||
|
--- ./extensions/rend/Rend_Sample.cc.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/rend/Rend_Sample.cc 2013-08-30 16:59:11.255885740 -0600
|
||||||
|
@@ -40,11 +40,6 @@ Rend_Sample_1DS::Rend_Sample_1DS(Word C,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-Rend_Sample_1DS::~Rend_Sample_1DS()
|
||||||
|
-{
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*************************************************************
|
||||||
|
** Refines I to 2^k or less, and returns binary rational
|
||||||
|
** middle of interval.
|
||||||
|
@@ -112,13 +107,6 @@ Rend_Sample_1DO::Rend_Sample_1DO(Rend_Ce
|
||||||
|
L.W = NIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
-Rend_Sample_1DO::~Rend_Sample_1DO()
|
||||||
|
-{
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
Word Rend_Sample_1DO::coordinate(int k)
|
||||||
|
{
|
||||||
|
Word e,j1,j2,J,kp = k;
|
||||||
|
@@ -178,11 +166,6 @@ Rend_Sample_2DS::Rend_Sample_2DS(Word C)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-Rend_Sample_2DS::~Rend_Sample_2DS()
|
||||||
|
-{
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*************************************************************
|
||||||
|
** Refines I to 2^k or less, and returns binary rational
|
||||||
|
** lower endpoint.
|
||||||
|
@@ -237,11 +220,6 @@ Rend_Sample_2DC::Rend_Sample_2DC(Word C,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-Rend_Sample_2DC::~Rend_Sample_2DC()
|
||||||
|
-{
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
Word Rend_Sample_2DC::coordinate(int k)
|
||||||
|
{
|
||||||
|
return L.W;
|
||||||
|
@@ -265,11 +243,6 @@ Rend_Sample_BR::Rend_Sample_BR(Word a)
|
||||||
|
N.W = a;
|
||||||
|
}
|
||||||
|
|
||||||
|
-Rend_Sample_BR::~Rend_Sample_BR()
|
||||||
|
-{
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
Word Rend_Sample_BR::coordinate(int k)
|
||||||
|
{
|
||||||
|
return N.W;
|
||||||
|
--- ./extensions/rend/Rend_Sample.h.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/rend/Rend_Sample.h 2013-08-30 16:58:37.015983821 -0600
|
||||||
|
@@ -32,7 +32,7 @@ class Rend_Sample
|
||||||
|
virtual Word coordinate(int k) = 0;
|
||||||
|
virtual Word round(int k,int roundup)
|
||||||
|
{ return this -> coordinate(k); }
|
||||||
|
- // virtual ~Rend_Sample() = 0;
|
||||||
|
+ virtual ~Rend_Sample() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class Rend_Sample_1DS : public Rend_Sample
|
||||||
|
@@ -49,7 +49,6 @@ private:
|
||||||
|
gcmemloc A,I;
|
||||||
|
public:
|
||||||
|
Rend_Sample_1DS(Word C, Word P);
|
||||||
|
- virtual ~Rend_Sample_1DS();
|
||||||
|
virtual Word coordinate(int k);
|
||||||
|
virtual Word round(int k, int roundup);
|
||||||
|
Word weakcompare(Word R);
|
||||||
|
@@ -66,7 +65,6 @@ public:
|
||||||
|
gcmemloc L;
|
||||||
|
public:
|
||||||
|
Rend_Sample_1DO(Rend_Cell *dad);
|
||||||
|
- virtual ~Rend_Sample_1DO();
|
||||||
|
virtual Word coordinate(int k);
|
||||||
|
|
||||||
|
};
|
||||||
|
@@ -86,7 +84,6 @@ private:
|
||||||
|
gcmemloc A,I;
|
||||||
|
public:
|
||||||
|
Rend_Sample_2DS(Word C);
|
||||||
|
- virtual ~Rend_Sample_2DS();
|
||||||
|
virtual Word coordinate(int k);
|
||||||
|
|
||||||
|
};
|
||||||
|
@@ -101,7 +98,6 @@ public:
|
||||||
|
gcmemloc L;
|
||||||
|
public:
|
||||||
|
Rend_Sample_2DC(Word C,Word P);
|
||||||
|
- virtual ~Rend_Sample_2DC();
|
||||||
|
virtual Word coordinate(int k);
|
||||||
|
void add_point(Word p);
|
||||||
|
void clear_points();
|
||||||
|
@@ -116,7 +112,6 @@ private:
|
||||||
|
gcmemloc N;
|
||||||
|
public:
|
||||||
|
Rend_Sample_BR(Word a);
|
||||||
|
- virtual ~Rend_Sample_BR();
|
||||||
|
virtual Word coordinate(int k);
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./source/main/BEGINQEPCAD.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/main/BEGINQEPCAD.c 2013-07-18 16:57:34.694879193 -0600
|
||||||
|
@@ -98,7 +98,7 @@ void BEGINQEPCAD(int &argc, char**& argv
|
||||||
|
void QEPCAD_ProcessRC(int argc, char **argv)
|
||||||
|
{
|
||||||
|
char *qepath = getenv("qe");
|
||||||
|
- if (qepath == NULL) { FAIL("QEPCAD_ProcessRC","Environment variable qe not defined!"); }
|
||||||
|
+ if (qepath == NULL) { setenv("qe", "/usr/share/qepcad", 1); qepath = getenv("qe"); }
|
||||||
|
string rcFileName = qepath + string("/default.qepcadrc");
|
||||||
|
ifstream rcin(rcFileName.c_str());
|
||||||
|
if (!rcin) { return; }
|
|
@ -0,0 +1,132 @@
|
||||||
|
--- ./extensions/lift2D/IBPRRIOAP.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/lift2D/IBPRRIOAP.c 2013-08-30 16:03:12.403968400 -0600
|
||||||
|
@@ -95,7 +95,7 @@ Step3: /* Isolate the roots of B(alpha,y
|
||||||
|
goto Return; }
|
||||||
|
|
||||||
|
/* get trend of first root */
|
||||||
|
- if (PDEG(B) % 2 == 0 && s == 1 || PDEG(B) % 2 == 1 && s == -1)
|
||||||
|
+ if ((PDEG(B) % 2 == 0 && s == 1) || (PDEG(B) % 2 == 1 && s == -1))
|
||||||
|
t1 = -1;
|
||||||
|
else
|
||||||
|
t1 = 1;
|
||||||
|
--- ./extensions/lift2D/modIBPRRIOAP.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/lift2D/modIBPRRIOAP.c 2013-08-30 16:02:49.164007931 -0600
|
||||||
|
@@ -97,7 +97,7 @@ Step3: /* Isolate the roots of B(alpha,y
|
||||||
|
goto Return; }
|
||||||
|
|
||||||
|
/* get trend of first root */
|
||||||
|
- if (PDEG(B) % 2 == 0 && s == 1 || PDEG(B) % 2 == 1 && s == -1)
|
||||||
|
+ if ((PDEG(B) % 2 == 0 && s == 1) || (PDEG(B) % 2 == 1 && s == -1))
|
||||||
|
t1 = -1;
|
||||||
|
else
|
||||||
|
t1 = 1;
|
||||||
|
--- ./extensions/adj2d/truthbytop/BOUNDARY2D.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/adj2d/truthbytop/BOUNDARY2D.c 2013-08-30 16:14:29.779797280 -0600
|
||||||
|
@@ -80,7 +80,7 @@ Step6: /* Split cell list by dimension.
|
||||||
|
tc++;
|
||||||
|
else
|
||||||
|
fc++; }
|
||||||
|
- if (tc > 0 && fc > 0 || GVERTEXLABEL(v,G) == TRUE && tc == 0)
|
||||||
|
+ if ((tc > 0 && fc > 0) || (GVERTEXLABEL(v,G) == TRUE && tc == 0))
|
||||||
|
GNEWLABEL(v,TRUE,G);
|
||||||
|
else
|
||||||
|
GNEWLABEL(v,FALSE,G); }
|
||||||
|
--- ./source/db/SINGULAR.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/db/SINGULAR.c 2013-08-30 16:04:35.516826349 -0600
|
||||||
|
@@ -58,7 +58,7 @@ void SingularServer::reportStats(ostream
|
||||||
|
|
||||||
|
char peekNonWS(istream &in)
|
||||||
|
{
|
||||||
|
- char c; while((c = in.peek()) && c == ' ' || c == '\t' || c == '\n') in.get(); return c;
|
||||||
|
+ char c; while(c = in.peek() && (c == ' ' || c == '\t' || c == '\n')) in.get(); return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--- ./source/db/convenientstreams.h.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/db/convenientstreams.h 2013-08-30 16:05:34.707724662 -0600
|
||||||
|
@@ -31,7 +31,7 @@ public:
|
||||||
|
string s = "";
|
||||||
|
char c = in.get();
|
||||||
|
if (opt == skipleadingws)
|
||||||
|
- while(c != EOF && (isspace(c) || c == '\\' && isspace(in.peek()))) c = in.get();
|
||||||
|
+ while(c != EOF && (isspace(c) || (c == '\\' && isspace(in.peek())))) c = in.get();
|
||||||
|
// States : 0 = normal, 1 = in comment, 2 = just read a backslash
|
||||||
|
int state = 0;
|
||||||
|
do {
|
||||||
|
--- ./source/proj/GROUPSAMEPJ.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/proj/GROUPSAMEPJ.c 2013-08-30 16:10:24.459222092 -0600
|
||||||
|
@@ -46,7 +46,7 @@ BDigit PRJPNTEQUAL(Word A, Word B)
|
||||||
|
Word KR = LIST2(SECOND(aK),LIST2(1,1));
|
||||||
|
Word sL = AFSIGN(aM,aI,AFPEMV(1,aM,G,KL));
|
||||||
|
Word sR = AFSIGN(aM,aI,AFPEMV(1,aM,G,KR));
|
||||||
|
- return EQUAL(KL,KR) && sL == 0 || sL == 1 && sR == -1 || sL == -1 && sR == 1;
|
||||||
|
+ return (EQUAL(KL,KR) && sL == 0) || (sL == 1 && sR == -1) || (sL == -1 && sR == 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* One primitive, the other not */
|
||||||
|
@@ -75,10 +75,10 @@ Step1: /* Group. */
|
||||||
|
{
|
||||||
|
ADV(Jt,&J2,&Jt);
|
||||||
|
Jt2 = LELTI(J2,PO_POLY);
|
||||||
|
- if (LELTI(J1,PO_TYPE) == PO_POINT && LELTI(J2,PO_TYPE) == PO_POINT
|
||||||
|
- && PRJPNTEQUAL(Js1,Jt2) ||
|
||||||
|
- LELTI(J1,PO_TYPE) != PO_POINT && LELTI(J2,PO_TYPE) != PO_POINT
|
||||||
|
- && EQUAL(Js1,Jt2))
|
||||||
|
+ if ((LELTI(J1,PO_TYPE) == PO_POINT && LELTI(J2,PO_TYPE) == PO_POINT
|
||||||
|
+ && PRJPNTEQUAL(Js1,Jt2)) ||
|
||||||
|
+ (LELTI(J1,PO_TYPE) != PO_POINT && LELTI(J2,PO_TYPE) != PO_POINT
|
||||||
|
+ && EQUAL(Js1,Jt2)))
|
||||||
|
{
|
||||||
|
SLELTI(J2,PO_PARENT,CONC(LELTI(J2,PO_PARENT),LELTI(J1,PO_PARENT)));
|
||||||
|
t = 1;
|
||||||
|
--- ./source/proj/PROJMCECmod.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/proj/PROJMCECmod.c 2013-08-30 16:12:22.235018024 -0600
|
||||||
|
@@ -67,7 +67,7 @@ Step1: /* Obtain coefficients. */
|
||||||
|
t = 1; }
|
||||||
|
|
||||||
|
/* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */
|
||||||
|
- if (t && (r == 2 || (PCMZERROR && r-1 <= GVNFV))
|
||||||
|
+ if ((t && (r == 2 || (PCMZERROR && r-1 <= GVNFV)))
|
||||||
|
|| (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W))
|
||||||
|
)
|
||||||
|
t = 0;
|
||||||
|
@@ -101,7 +101,7 @@ Step1: /* Obtain coefficients. */
|
||||||
|
tf = tf || (Q == FULLDE || Q == FULLDA);
|
||||||
|
|
||||||
|
/* Test 3: in free variable space when the PCMZERROR option is used */
|
||||||
|
- tf = tf || PCMZERROR && rp <= GVNFV;
|
||||||
|
+ tf = tf || (PCMZERROR && rp <= GVNFV);
|
||||||
|
|
||||||
|
/* Test 4: has no common zero with the system of all other coefficients */
|
||||||
|
if (!tf)
|
||||||
|
--- ./source/proj/PROJMCmod.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/proj/PROJMCmod.c 2013-08-30 16:11:49.731074222 -0600
|
||||||
|
@@ -57,7 +57,7 @@ Step1: /* Obtain coefficients. */
|
||||||
|
t = 1; }
|
||||||
|
|
||||||
|
/* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */
|
||||||
|
- if (t && (r == 2 || (PCMZERROR && r-1 <= GVNFV))
|
||||||
|
+ if ((t && (r == 2 || (PCMZERROR && r-1 <= GVNFV)))
|
||||||
|
|| (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W))
|
||||||
|
)
|
||||||
|
t = 0;
|
||||||
|
@@ -91,7 +91,7 @@ Step1: /* Obtain coefficients. */
|
||||||
|
tf = tf || (Q == FULLDE || Q == FULLDA);
|
||||||
|
|
||||||
|
/* Test 3: in free variable space when the PCMZERROR option is used */
|
||||||
|
- tf = tf || PCMZERROR && rp <= GVNFV;
|
||||||
|
+ tf = tf || (PCMZERROR && rp <= GVNFV);
|
||||||
|
|
||||||
|
/* Test 4: has no common zero with the system of all other coefficients */
|
||||||
|
if (!tf)
|
||||||
|
--- ./source/ticad/INITPCAD.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/ticad/INITPCAD.c 2013-08-30 16:13:07.946938949 -0600
|
||||||
|
@@ -14,7 +14,7 @@ Word QepcadCls::INITPCAD()
|
||||||
|
Word D, tv;
|
||||||
|
|
||||||
|
Step0: /* Determine truth value! */
|
||||||
|
- if (GVNA == FALSE || GVNA != NIL && LELTI(GVNA,1) == NEOP && LELTI(GVNA,2) == 0) tv = NA;
|
||||||
|
+ if (GVNA == FALSE || (GVNA != NIL && LELTI(GVNA,1) == NEOP && LELTI(GVNA,2) == 0)) tv = NA;
|
||||||
|
else if (LELTI(GVNQFF,1) == NEOP && LELTI(GVNQFF,2) == 0) tv = FALSE;
|
||||||
|
else if (LELTI(GVNQFF,1) == EQOP && LELTI(GVNQFF,2) == 0) tv = TRUE;
|
||||||
|
else tv = UNDET;
|
|
@ -0,0 +1,56 @@
|
||||||
|
--- ./extensions/sfext/formula/FTYPEINFO.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/formula/FTYPEINFO.c 2013-08-30 15:48:28.420527430 -0600
|
||||||
|
@@ -23,6 +23,6 @@ Word FTYPEINFO(Word A)
|
||||||
|
return TRUE;
|
||||||
|
if (FIRST(A) == FALSE)
|
||||||
|
return FALSE;
|
||||||
|
-
|
||||||
|
+ FAIL("FTYPEINFO","Unknown formula type!");
|
||||||
|
}
|
||||||
|
|
||||||
|
--- ./source/qepcad.h.orig 2013-08-30 14:39:10.225632400 -0600
|
||||||
|
+++ ./source/qepcad.h 2013-08-30 16:17:46.258481805 -0600
|
||||||
|
@@ -34,7 +34,7 @@ Word AFPNIPDB(Word Mb, Word B);
|
||||||
|
void AFUPGCDB(Word M, Word A, Word B, Word *C_, Word *Ab_, Word *Bb_);
|
||||||
|
void AFUPLM(Word M, Word A, Word *L_, Word *P_);
|
||||||
|
void AFUPRWR(Word a, Word v, Word A, Word I);
|
||||||
|
-Word AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_);
|
||||||
|
+void AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_);
|
||||||
|
Word APPEND(Word P, Word k, Word R);
|
||||||
|
void APPENDEC(Word P, Word k, Word R, Word *Ps_, Word *F_);
|
||||||
|
void ATOMFLWR(Word N, Word V, Word A);
|
||||||
|
--- ./source/db/AFUPSFNDB.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/db/AFUPSFNDB.c 2013-08-30 16:18:05.419450506 -0600
|
||||||
|
@@ -5,7 +5,7 @@ AFUPSFN with Database.
|
||||||
|
======================================================================*/
|
||||||
|
#include "qepcad.h"
|
||||||
|
|
||||||
|
-Word AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_)
|
||||||
|
+void AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_)
|
||||||
|
{
|
||||||
|
Word t,Bt,F;
|
||||||
|
|
||||||
|
--- ./source/db/SingSacPolicy.h.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/db/SingSacPolicy.h 2013-08-30 16:20:40.923189610 -0600
|
||||||
|
@@ -28,17 +28,17 @@ public:
|
||||||
|
Word IPRES(Word r, Word A, Word B)
|
||||||
|
{
|
||||||
|
if (r > 2)
|
||||||
|
- sing->IPRES(r,A,B);
|
||||||
|
+ return sing->IPRES(r,A,B);
|
||||||
|
else
|
||||||
|
- sac ->IPRES(r,A,B);
|
||||||
|
+ return sac ->IPRES(r,A,B);
|
||||||
|
}
|
||||||
|
|
||||||
|
Word IPDSCR(Word r, Word A)
|
||||||
|
{
|
||||||
|
if (r > 2)
|
||||||
|
- sing->IPDSCR(r,A);
|
||||||
|
+ return sing->IPDSCR(r,A);
|
||||||
|
else
|
||||||
|
- sac ->IPDSCR(r,A);
|
||||||
|
+ return sac ->IPDSCR(r,A);
|
||||||
|
}
|
||||||
|
|
||||||
|
Word IPFACTGB(Word r, Word I, Word N)
|
|
@ -0,0 +1,78 @@
|
||||||
|
--- ./plot2d/plot.cc.orig 2013-08-30 16:51:16.409298807 -0600
|
||||||
|
+++ ./plot2d/plot.cc 2013-08-30 16:55:10.593713039 -0600
|
||||||
|
@@ -134,7 +134,7 @@ void* readdata(void *x)
|
||||||
|
pthread_mutex_lock(&M);
|
||||||
|
swap(CE,E);
|
||||||
|
pthread_mutex_unlock(&M);
|
||||||
|
- for(int i = 0; i < E.size(); i++) delete E[i];
|
||||||
|
+ for(size_t i = 0; i < E.size(); i++) delete E[i];
|
||||||
|
E.clear(); }
|
||||||
|
else if (c == 'E') { /******* Exit! *******************/
|
||||||
|
return 0;
|
||||||
|
@@ -155,7 +155,7 @@ void display()
|
||||||
|
{
|
||||||
|
pthread_mutex_lock(&M);
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
- for(int i = 0; i < CE.size(); i++)
|
||||||
|
+ for(size_t i = 0; i < CE.size(); i++)
|
||||||
|
CE[i]->glRend(Colors);
|
||||||
|
pthread_mutex_unlock(&M);
|
||||||
|
glutSwapBuffers();
|
||||||
|
@@ -286,7 +286,7 @@ void SNoverSR::glRend(const CADColors &C
|
||||||
|
// 128 or so points that can appear.
|
||||||
|
C.glSetColor(colorType,'D');
|
||||||
|
glBegin(GL_LINE_STRIP);
|
||||||
|
- for(int i = 0; i < V.size(); i++)
|
||||||
|
+ for(size_t i = 0; i < V.size(); i++)
|
||||||
|
glVertex2(V[i]);
|
||||||
|
glEnd();
|
||||||
|
}
|
||||||
|
@@ -328,7 +328,7 @@ bool SRoverSR::read(istream &in)
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cerr << "Sector over sector in unknown format!" << endl;
|
||||||
|
- for(int i = 0; i < V.size(); i++)
|
||||||
|
+ for(size_t i = 0; i < V.size(); i++)
|
||||||
|
cerr << V[i] << endl;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
--- ./source/db/SINGULAR.c.orig 2013-08-30 16:04:35.516826349 -0600
|
||||||
|
+++ ./source/db/SINGULAR.c 2013-08-30 16:22:52.913963575 -0600
|
||||||
|
@@ -67,7 +67,7 @@ Word readSingularPoly(Word r, Word V, is
|
||||||
|
Word A, t;
|
||||||
|
string s;
|
||||||
|
in >> s;
|
||||||
|
- for(int i = 0; i < s.length(); ++i)
|
||||||
|
+ for(size_t i = 0; i < s.length(); ++i)
|
||||||
|
if (s[i] == '*') s[i] = ' ';
|
||||||
|
s += ".\n";
|
||||||
|
istringstream si(s);
|
||||||
|
@@ -108,7 +108,7 @@ string WritePolyForSingular(Word r, Word
|
||||||
|
out = sout.str();
|
||||||
|
}
|
||||||
|
// Put in * symbols
|
||||||
|
- for(int i = 1; i < out.length() - 1; ++i)
|
||||||
|
+ for(size_t i = 1; i < out.length() - 1U; ++i)
|
||||||
|
if (out[i] == ' ' && out[i+1] != '+' && out[i+1] != '-'
|
||||||
|
&& out[i-1] != '+' && out[i-1] != '-'
|
||||||
|
)
|
||||||
|
--- ./source/saclib/gcword.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/saclib/gcword.c 2013-08-30 16:24:04.393840511 -0600
|
||||||
|
@@ -30,7 +30,7 @@ void gcw_MARK();
|
||||||
|
}
|
||||||
|
|
||||||
|
static vector<Word*> G;
|
||||||
|
-static int lim = 10;
|
||||||
|
+static size_t lim = 10;
|
||||||
|
|
||||||
|
void clean()
|
||||||
|
{
|
||||||
|
@@ -62,7 +62,7 @@ void gcw_MARK()
|
||||||
|
{
|
||||||
|
// SWRITE("gcw size is: ");IWRITE(G.size()); SWRITE("\n");
|
||||||
|
clean();
|
||||||
|
- for(int i = 0; i < G.size(); i++)
|
||||||
|
+ for(size_t i = 0; i < G.size(); i++)
|
||||||
|
if (*G[i] > BETA && *G[i] < BETAp && (*G[i] & 1))
|
||||||
|
MARK(*G[i]);
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
--- ./source/main/BEGINQEPCAD.c.orig 2013-07-18 16:57:34.694879193 -0600
|
||||||
|
+++ ./source/main/BEGINQEPCAD.c 2013-08-30 16:28:15.882368349 -0600
|
||||||
|
@@ -49,7 +49,7 @@ void BEGINQEPCAD(int &argc, char**& argv
|
||||||
|
{
|
||||||
|
int tmp = system("bash -c 'exit $(stty size | cut -d\" \" -f2)'");
|
||||||
|
tmp = WEXITSTATUS(tmp);
|
||||||
|
- if (10 <= tmp <= 512)
|
||||||
|
+ if (10 <= tmp && tmp <= 512)
|
||||||
|
cols = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- ./source/userint/USERINT.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/userint/USERINT.c 2013-08-30 16:30:52.370086235 -0600
|
||||||
|
@@ -446,7 +446,7 @@ void VERTFILL2D(Word D)
|
||||||
|
Word L, S, T, CB;
|
||||||
|
|
||||||
|
/* GET 1D CAD STACK */
|
||||||
|
- L = L = LELTI(D,CHILD);
|
||||||
|
+ L = LELTI(D,CHILD);
|
||||||
|
if (L == NIL)
|
||||||
|
{
|
||||||
|
SWRITE("Must by a 2D CAD!\n");
|
|
@ -0,0 +1,314 @@
|
||||||
|
--- ./cad2d/src/TICAD.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./cad2d/src/TICAD.c 2013-08-30 15:42:57.518153269 -0600
|
||||||
|
@@ -43,6 +43,8 @@ Step2: /* Choose. */
|
||||||
|
if (L == 0) { /* Init for 1D Sectors */
|
||||||
|
L = LELTI(D,CHILD);
|
||||||
|
d = 1; }
|
||||||
|
+ else
|
||||||
|
+ d = 0;
|
||||||
|
|
||||||
|
if (d == 1 && L != NIL) { /* Choose next 1D sectors */
|
||||||
|
c = FIRST(L);
|
||||||
|
@@ -51,6 +53,7 @@ Step2: /* Choose. */
|
||||||
|
else
|
||||||
|
L = RED2(L); }
|
||||||
|
else if (d == 1 && L == NIL) { /* Init for 1D sections */
|
||||||
|
+ c = NIL;
|
||||||
|
d = 0;
|
||||||
|
L = RED(LELTI(D,CHILD));
|
||||||
|
}
|
||||||
|
--- ./extensions/rend/WRITE_PS_INTERACTIVE.cc.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/rend/WRITE_PS_INTERACTIVE.cc 2013-08-28 15:31:47.564213356 -0600
|
||||||
|
@@ -262,6 +262,8 @@ void WRITE_PS_INTERACTIVE(Rend_Cell &M,
|
||||||
|
if (t == 'p') {
|
||||||
|
SWRITE("Enter projetion factor by (level,index): ");
|
||||||
|
p = LREAD(); }
|
||||||
|
+ else
|
||||||
|
+ p = NIL;
|
||||||
|
|
||||||
|
switch(c) {
|
||||||
|
case 'x': // 1D Sectors
|
||||||
|
--- ./extensions/lift2D/modIBPRRIOAPSF.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/lift2D/modIBPRRIOAPSF.c 2013-08-28 15:36:30.044273572 -0600
|
||||||
|
@@ -77,6 +77,7 @@ Step4: /* Isolate the real roots of eac
|
||||||
|
Step5: /* Refine roots? */
|
||||||
|
if (k == NIL)
|
||||||
|
goto Return;
|
||||||
|
+ Js = NIL;
|
||||||
|
Ls = NIL;
|
||||||
|
for(Lp = L; Lp != NIL; Lp = RED(Lp))
|
||||||
|
{
|
||||||
|
--- ./extensions/lift2D/modHIPRRID.c.orig 2012-03-16 06:49:32.000000000 -0600
|
||||||
|
+++ ./extensions/lift2D/modHIPRRID.c 2013-08-28 15:34:25.468248208 -0600
|
||||||
|
@@ -28,6 +28,7 @@ Step1: /* Compute a bound for the positi
|
||||||
|
k = HIPPRB(n,A);
|
||||||
|
|
||||||
|
Step2: /* Isolate the positive roots. */
|
||||||
|
+ L = NIL;
|
||||||
|
if (k == NIL) {
|
||||||
|
L1 = NIL;
|
||||||
|
goto Step3; }
|
||||||
|
--- ./extensions/adj2d/oldadj/ACMADJ2D.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/adj2d/oldadj/ACMADJ2D.c 2013-08-28 15:27:00.100211471 -0600
|
||||||
|
@@ -29,6 +29,7 @@ Step1: /* Get (A,I) defining c. */
|
||||||
|
FIRST2(Ip,&ip1,&ip2);
|
||||||
|
i1 = RNLBRN(ip1);
|
||||||
|
i2 = RNLBRN(ip2);
|
||||||
|
+ t = 0;
|
||||||
|
|
||||||
|
Step2: /* Get sample points for c_l and c_r. */
|
||||||
|
i_l = RNLBRN(SPRLC(c_l));
|
||||||
|
--- ./extensions/sfext/extlang/SCAD2ESCAD.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/extlang/SCAD2ESCAD.c 2013-08-28 14:48:30.455672479 -0600
|
||||||
|
@@ -27,6 +27,8 @@ Step2: /* Generate correct i-level signi
|
||||||
|
P_i = RED(P_i);
|
||||||
|
s = RED(s); }
|
||||||
|
s = INV(ss); }
|
||||||
|
+ else
|
||||||
|
+ s = NIL;
|
||||||
|
|
||||||
|
Step3: /* Construct extended Sub-CAD cell structure. */
|
||||||
|
EDs = LIST7(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET);
|
||||||
|
--- ./extensions/sfext/sfcons/SFCFULLDf.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sfcons/SFCFULLDf.c 2013-08-28 15:14:42.812090282 -0600
|
||||||
|
@@ -52,6 +52,7 @@ Step2: /* Extended language. */
|
||||||
|
|
||||||
|
if (Lt == NIL && Lf == NIL) {
|
||||||
|
SWRITE("No cells have truth values!\n");
|
||||||
|
+ SF = NIL;
|
||||||
|
goto Return; }
|
||||||
|
t = ESPCADDOPFSUFF(Pp,LIST1(Dp));
|
||||||
|
LA = LISTOETAmod(Pp,n,t==NIL);
|
||||||
|
--- ./extensions/sfext/sfcons/SFC4.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sfcons/SFC4.c 2013-08-30 15:15:10.647569953 -0600
|
||||||
|
@@ -31,6 +31,7 @@ void QepcadCls::SFC4(Word D, Word P, Wor
|
||||||
|
{
|
||||||
|
Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag;
|
||||||
|
char e,s,m,c;
|
||||||
|
+ e = s = m = c = '\0';
|
||||||
|
T1 = T2 = T3 = T4 = 0;
|
||||||
|
F1 = 0;
|
||||||
|
|
||||||
|
--- ./extensions/sfext/sfcons/SFC3.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sfcons/SFC3.c 2013-08-28 15:16:00.827160334 -0600
|
||||||
|
@@ -90,7 +90,7 @@ Step3: /* The normal language. */
|
||||||
|
switch(m) {
|
||||||
|
case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break;
|
||||||
|
case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break;
|
||||||
|
- case (2) : SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
|
||||||
|
+ case (2) : SF = NIL; SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
|
||||||
|
|
||||||
|
Step4: /* Massage the formula. */
|
||||||
|
pflag = 1;
|
||||||
|
--- ./extensions/sfext/sfcons/SFC3f.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/sfcons/SFC3f.c 2013-08-28 15:15:36.243138257 -0600
|
||||||
|
@@ -88,7 +88,7 @@ Step3: /* The normal language. */
|
||||||
|
switch(m) {
|
||||||
|
case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break;
|
||||||
|
case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break;
|
||||||
|
- case (2) : SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
|
||||||
|
+ case (2) : SF = NIL; SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
|
||||||
|
|
||||||
|
Step4: /* Massage the formula. */
|
||||||
|
pflag = 1;
|
||||||
|
--- ./extensions/sfext/formula/FMAATOMREAD.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/formula/FMAATOMREAD.c 2013-08-28 14:56:16.650119530 -0600
|
||||||
|
@@ -18,7 +18,7 @@ void FMAATOMREAD(Word Q, Word V, Word *F
|
||||||
|
/* hide r,s,t; */
|
||||||
|
|
||||||
|
Step1: /* Read the left polynomial. */
|
||||||
|
- t = 1; r = LENGTH(V);
|
||||||
|
+ t = 1; r = LENGTH(V); F = NIL;
|
||||||
|
IPEXPREAD(r,V,&P1,&t); if (t == 0) goto Return;
|
||||||
|
|
||||||
|
Step2: /* Read the relational operator. */
|
||||||
|
@@ -71,6 +71,7 @@ Word POLYINDEX(Word P, Word p, Word r, W
|
||||||
|
p = SECOND(p);
|
||||||
|
|
||||||
|
/* Is p already in P? */
|
||||||
|
+ pp = NIL;
|
||||||
|
P_r = LELTI(P,r); *t = 0;
|
||||||
|
for(Pp = P_r; Pp != NIL; Pp = RED(Pp)) {
|
||||||
|
pp = FIRST(Pp);
|
||||||
|
--- ./extensions/sfext/formula/FMASMOOTH.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/formula/FMASMOOTH.c 2013-08-28 14:50:13.736716426 -0600
|
||||||
|
@@ -16,6 +16,7 @@ Step1: /* Atoms and Constants. */
|
||||||
|
if (ISLIST(F1) || F1 == TRUE || F1 == FALSE) {
|
||||||
|
G = F;
|
||||||
|
goto Return; }
|
||||||
|
+ G = NIL;
|
||||||
|
|
||||||
|
Step2: /* AND's */
|
||||||
|
if (F1 == ANDOP) {
|
||||||
|
--- ./extensions/sfext/addpol/MINPFSETNSC.c.orig 2013-08-28 16:29:15.985921210 -0600
|
||||||
|
+++ ./extensions/sfext/addpol/MINPFSETNSC.c 2013-08-30 15:07:56.269063272 -0600
|
||||||
|
@@ -42,7 +42,7 @@ Word MINPFSETNSC(Word P,Word S,Word D,Wo
|
||||||
|
Word x_s,js,Ls,O,Q,Q_i,Sp,Pp,i,Cp,*V,*Vp,**A,a,N,k,S_r,I,j,p;
|
||||||
|
|
||||||
|
Step1: /* Initialization. */
|
||||||
|
- C = NIL; Sltr = NIL; Pltr = NIL; N = LENGTH(K);
|
||||||
|
+ C = NIL; Sltr = NIL; S_r = NIL; Pltr = NIL; N = LENGTH(K);
|
||||||
|
|
||||||
|
Step2: /* Loop over each level in D. */
|
||||||
|
for(r = 1; r <= N; r++) {
|
||||||
|
--- ./extensions/sfext/espcad/PCAD2ESPCAD.c.orig 2012-03-16 06:49:31.000000000 -0600
|
||||||
|
+++ ./extensions/sfext/espcad/PCAD2ESPCAD.c 2013-08-30 15:10:16.295906419 -0600
|
||||||
|
@@ -44,6 +44,8 @@ Step2: /* Generate correct i-level signi
|
||||||
|
P_i = RED(P_i);
|
||||||
|
s = RED(s); }
|
||||||
|
s = INV(ss); }
|
||||||
|
+ else
|
||||||
|
+ s = NIL;
|
||||||
|
|
||||||
|
Step3: /* Construct extended Sub-CAD cell structure. */
|
||||||
|
EDs = LIST8(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET,UNDET);
|
||||||
|
--- ./source/io/FREADR.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/io/FREADR.c 2013-08-28 15:44:52.884175239 -0600
|
||||||
|
@@ -23,7 +23,7 @@ void FREADR(Word V, Word f, Word *Fs_, W
|
||||||
|
/* hide C,i,q,r,t; */
|
||||||
|
|
||||||
|
Step1: /* Read quantifier list. */
|
||||||
|
- t = 1; Q = NIL; r = LENGTH(V);
|
||||||
|
+ Fs = NIL; t = 1; Q = NIL; r = LENGTH(V);
|
||||||
|
for (i = f + 1; i <= r; i++)
|
||||||
|
{
|
||||||
|
C = CREADB();
|
||||||
|
--- ./source/io/CATTRNRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/CATTRNRDR.c 2013-08-28 15:40:18.276327460 -0600
|
||||||
|
@@ -39,7 +39,7 @@ Step2: /* Get the internal representatio
|
||||||
|
goto Return;
|
||||||
|
|
||||||
|
Step3: /* Error exit. */
|
||||||
|
- DIELOC(); t = 0;
|
||||||
|
+ DIELOC(); V = 0; t = 0;
|
||||||
|
|
||||||
|
Return: /* Prepare for return. */
|
||||||
|
*V_ = V;
|
||||||
|
--- ./source/io/ATOMFRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/ATOMFRDR.c 2013-08-28 15:37:47.085286610 -0600
|
||||||
|
@@ -76,7 +76,7 @@ void ETFATOMRDR(Word V, Word P1, BDigit
|
||||||
|
Word t, F, r, j, P2, P2p, r1, r2, a, P, s;
|
||||||
|
|
||||||
|
Step1: /* Prepare */
|
||||||
|
- t = 1; r = LENGTH(V);
|
||||||
|
+ t = 1; r = LENGTH(V); F = NIL;
|
||||||
|
|
||||||
|
|
||||||
|
Step2: /* Read "_root_" */
|
||||||
|
--- ./source/io/RLOPRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/RLOPRDR.c 2013-08-28 15:47:38.828113556 -0600
|
||||||
|
@@ -31,7 +31,7 @@ Step1: /* Read in. */
|
||||||
|
goto Return;
|
||||||
|
|
||||||
|
Step2: /* Error exit. */
|
||||||
|
- DIELOC(); t = 0; goto Return;
|
||||||
|
+ DIELOC(); p = 0; t = 0; goto Return;
|
||||||
|
|
||||||
|
Return: /* Prepare for return. */
|
||||||
|
*p_ = p;
|
||||||
|
--- ./source/io/LGOPRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/LGOPRDR.c 2013-08-28 15:46:19.140193709 -0600
|
||||||
|
@@ -50,7 +50,7 @@ Step1: /* Read in. */
|
||||||
|
{ SWRITE("Error LGOPRDR: Logic operator was expected.\n"); goto Step2; }
|
||||||
|
|
||||||
|
Step2: /* Error exit. */
|
||||||
|
- DIELOC(); t = 0; goto Return;
|
||||||
|
+ DIELOC(); p = 0; t = 0; goto Return;
|
||||||
|
|
||||||
|
Return: /* Prepare for return. */
|
||||||
|
*p_ = p;
|
||||||
|
--- ./source/io/DESIREDRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/DESIREDRDR.c 2013-08-28 15:41:17.860345319 -0600
|
||||||
|
@@ -15,6 +15,7 @@ void DESIREDRDR(Word *F_, Word *t_)
|
||||||
|
/* hide C,C1,R,V1,V2,t; */
|
||||||
|
|
||||||
|
Step1: /* Atomic condition. */
|
||||||
|
+ F = NIL;
|
||||||
|
t = 1;
|
||||||
|
C = CREADB(); if (C == '[') goto Step2;
|
||||||
|
BKSP();
|
||||||
|
--- ./source/io/QFRDR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/QFRDR.c 2013-08-28 15:46:59.100124953 -0600
|
||||||
|
@@ -39,7 +39,7 @@ Step1: /* Read in. */
|
||||||
|
goto Return;
|
||||||
|
|
||||||
|
Step2: /* Error exit. */
|
||||||
|
- DIELOC(); t = 0; goto Return;
|
||||||
|
+ DIELOC(); q = 0; t = 0; goto Return;
|
||||||
|
|
||||||
|
Return: /* Prepare for return. */
|
||||||
|
*q_ = q;
|
||||||
|
--- ./source/io/GREADR.c.orig 2012-03-16 06:49:29.000000000 -0600
|
||||||
|
+++ ./source/io/GREADR.c 2013-08-28 15:45:29.740181394 -0600
|
||||||
|
@@ -33,7 +33,7 @@ Step2: /* Read digits and convert. */
|
||||||
|
BKSP(); a = S * a; goto Return;
|
||||||
|
|
||||||
|
Step3: /* Error. */
|
||||||
|
- DIELOC(); t = 0; goto Return;
|
||||||
|
+ DIELOC(); a = 0; t = 0; goto Return;
|
||||||
|
|
||||||
|
Return: /* Prepare for return. */
|
||||||
|
*a_ = a;
|
||||||
|
--- ./source/main/QEPCADauto.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/main/QEPCADauto.c 2013-08-28 15:52:45.403836140 -0600
|
||||||
|
@@ -27,6 +27,8 @@ void QepcadCls::QEPCADauto(Word Fs, Word
|
||||||
|
char c1,c2; /* Chris variables. */
|
||||||
|
|
||||||
|
Step1: /* Normalize. */
|
||||||
|
+ t = 0;
|
||||||
|
+ F_e = F_n = F_s = NIL;
|
||||||
|
FIRST4(Fs,&r,&f,&Q,&Fh);
|
||||||
|
F = NORMQFF(Fh);
|
||||||
|
if (GVUA != NIL) GVNA = NORMQFF(GVUA);
|
||||||
|
--- ./source/main/QEPCAD.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/main/QEPCAD.c 2013-08-28 15:51:13.747873723 -0600
|
||||||
|
@@ -26,6 +26,8 @@ void QepcadCls::QEPCAD(Word Fs, Word *t_
|
||||||
|
Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */
|
||||||
|
char c1,c2; /* Chris variables. */
|
||||||
|
Step1: /* Normalize. */
|
||||||
|
+ t = 0;
|
||||||
|
+ F_e = F_n = F_s = NIL;
|
||||||
|
FIRST4(Fs,&r,&f,&Q,&Fh);
|
||||||
|
/*Int*/ PCNSTEP = 1;
|
||||||
|
/*Int*/ if (INTERACT()) USERINT(LFS("Before Normalization"),'a');
|
||||||
|
--- ./source/ticad/SUBST.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/ticad/SUBST.c 2013-08-30 15:36:14.959182825 -0600
|
||||||
|
@@ -24,6 +24,7 @@ Word QepcadCls::SUBST(Word c, Word k, Wo
|
||||||
|
Word P,L,Sp,T1,T2,G,Q,f,i;
|
||||||
|
|
||||||
|
Step1: /* Substitute. */
|
||||||
|
+ f = UNDET;
|
||||||
|
L = NIL;
|
||||||
|
S = NIL;
|
||||||
|
Bp = B;
|
||||||
|
--- ./source/ticad/AFUPMPR.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/ticad/AFUPMPR.c 2013-08-30 15:32:39.031457638 -0600
|
||||||
|
@@ -27,6 +27,7 @@ void AFUPMPR(Word M, Word I, Word B, Wor
|
||||||
|
/* hide L1,Lp,j,jp,s,t,v,vp; */
|
||||||
|
|
||||||
|
Step1: /* Initialize. */
|
||||||
|
+ j = 0;
|
||||||
|
FIRST2(J,&a,&b);
|
||||||
|
t = AFUPSR(M,I,B,b);
|
||||||
|
if (t == 0)
|
||||||
|
--- ./source/ticad/SUBSTR.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/ticad/SUBSTR.c 2013-08-30 15:36:46.631109286 -0600
|
||||||
|
@@ -24,6 +24,7 @@ Word QepcadCls::SUBSTR(Word c, Word k, W
|
||||||
|
Word P,L,Q,T1,T2,Sp,G,f,i;
|
||||||
|
|
||||||
|
Step1: /* Do it. */
|
||||||
|
+ f = UNDET;
|
||||||
|
L = NIL;
|
||||||
|
S = NIL;
|
||||||
|
Bp = B;
|
||||||
|
--- ./source/userint/PREQNCONSTL.c.orig 2012-03-16 06:49:30.000000000 -0600
|
||||||
|
+++ ./source/userint/PREQNCONSTL.c 2013-08-30 15:37:35.045721919 -0600
|
||||||
|
@@ -73,7 +73,7 @@ Return: /* Prepare for return. */
|
||||||
|
|
||||||
|
Word POLYLABEL(Word P, Word p, Word r, Word *t)
|
||||||
|
{
|
||||||
|
- Word P_r, Pp, pp;
|
||||||
|
+ Word P_r, Pp, pp = NIL;
|
||||||
|
|
||||||
|
for(; PDEG(p) == 0; r--)
|
||||||
|
p = SECOND(p);
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,116 @@
|
||||||
|
Name: qepcad-B
|
||||||
|
Version: 1.69
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: Quantifier elimination tool
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
URL: http://www.usna.edu/CS/~qepcad/B/QEPCAD.html
|
||||||
|
Source0: http://www.usna.edu/CS/~qepcad/INSTALL/%{name}.%{version}.tar.gz
|
||||||
|
# Don't require users to set the "qe" environment variable. Not for upstream.
|
||||||
|
Patch0: %{name}-env.patch
|
||||||
|
# Add gcc attributes for better efficiency and warnings. Upstream: 20 Nov 2013.
|
||||||
|
Patch1: %{name}-attr.patch
|
||||||
|
# Fix use of uninitialized variables. Upstream: 20 Nov 2013.
|
||||||
|
Patch2: %{name}-uninit.patch
|
||||||
|
# Fix a non-void function where control can fall off the end. Upstream:
|
||||||
|
# 20 Nov 2013.
|
||||||
|
Patch3: %{name}-return.patch
|
||||||
|
# Fix abstract base classes with non-virtual destructors. Upstream:
|
||||||
|
# 20 Nov 2013.
|
||||||
|
Patch4: %{name}-destructor.patch
|
||||||
|
# Add parentheses to disambiguate mixed boolean operators. Upstream:
|
||||||
|
# 20 Nov 2013.
|
||||||
|
Patch5: %{name}-parens.patch
|
||||||
|
# Fix some mixed signed/unsigned operations. Upstream: 20 Nov 2013.
|
||||||
|
Patch6: %{name}-signed.patch
|
||||||
|
# Fix syntactically incorrect expressions. Upstream: 20 Nov 2013.
|
||||||
|
Patch7: %{name}-syntax.patch
|
||||||
|
# Remove unused variables and static functions.
|
||||||
|
Patch8: %{name}-unused.patch
|
||||||
|
|
||||||
|
BuildRequires: freeglut-devel
|
||||||
|
BuildRequires: readline-devel
|
||||||
|
BuildRequires: saclib-devel
|
||||||
|
|
||||||
|
Requires: bash
|
||||||
|
Requires: Singular
|
||||||
|
|
||||||
|
%description
|
||||||
|
QEPCAD is an implementation of quantifier elimination by partial
|
||||||
|
cylindrical algebraic decomposition due originally to Hoon Hong, and
|
||||||
|
subsequently added on to by many others. It is an interactive
|
||||||
|
command-line program written in C/C++, and based on the SACLIB library.
|
||||||
|
This is QEPCAD B version 1.x, the "B" designating a substantial
|
||||||
|
departure from the original QEPCAD and distinguishing it from any
|
||||||
|
development of the original that may proceed in a different direction.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n qesource
|
||||||
|
%patch0
|
||||||
|
%patch1
|
||||||
|
%patch2
|
||||||
|
%patch3
|
||||||
|
%patch4
|
||||||
|
%patch5
|
||||||
|
%patch6
|
||||||
|
%patch7
|
||||||
|
%patch8
|
||||||
|
|
||||||
|
# Adapt to the Fedora saclib package
|
||||||
|
sed -i 's,\${saclib}/lib/saclib.\.a,-lsaclib,' source/Makefile cad2d/Makefile
|
||||||
|
|
||||||
|
# Use the right build flags
|
||||||
|
sed -i "s/-O4/%{optflags} -Wno-unused-label $RPM_LD_FLAGS/" plot2d/Makefile
|
||||||
|
|
||||||
|
%build
|
||||||
|
# FIXME: %%{?_smp_mflags} doesn't work
|
||||||
|
export saclib=%{_prefix}
|
||||||
|
export qe=$PWD
|
||||||
|
export CC=g++
|
||||||
|
export CCo=g++
|
||||||
|
export FLAGS="%{optflags} -I%{_includedir}/saclib -Wno-unused-label"
|
||||||
|
export FLAGSo="$FLAGS"
|
||||||
|
export SPECIFLAGS="-I%{_includedir}/saclib"
|
||||||
|
export SPECLFLAGS="$RPM_LD_FLAGS"
|
||||||
|
make -C extensions/sfext
|
||||||
|
make -C extensions/adj2d
|
||||||
|
make -C extensions/rend
|
||||||
|
make -C extensions/newadj
|
||||||
|
make -C extensions/lift2D
|
||||||
|
make -C source opt FLAGSo="$FLAGS"
|
||||||
|
make -C plot2d
|
||||||
|
make -C cad2d opt FLAGSo="$FLAGS"
|
||||||
|
|
||||||
|
%install
|
||||||
|
#Install the binaries
|
||||||
|
mkdir -p %{buildroot}%{_bindir}
|
||||||
|
install -p -m 0755 source/qepcad %{buildroot}%{_bindir}
|
||||||
|
install -p -m 0755 plot2d/ADJ2D_plot %{buildroot}%{_bindir}
|
||||||
|
install -p -m 0755 cad2d/cad2d %{buildroot}%{_bindir}
|
||||||
|
|
||||||
|
# Install the default settings file
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/qepcad
|
||||||
|
sed 's/^#S/S/' default.qepcadrc > \
|
||||||
|
%{buildroot}%{_datadir}/qepcad/default.qepcadrc
|
||||||
|
touch -r default.qepcadrc %{buildroot}%{_datadir}/qepcad/default.qepcadrc
|
||||||
|
|
||||||
|
# Install qepcad.help and the expected symbolic links
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/qepcad/bin
|
||||||
|
cp -p source/qepcad.help %{buildroot}%{_datadir}/qepcad/bin
|
||||||
|
ln -s %{_bindir}/ADJ2D_plot %{buildroot}%{_datadir}/qepcad/bin
|
||||||
|
ln -s %{_bindir}/cad2d %{buildroot}%{_datadir}/qepcad/bin
|
||||||
|
ln -s %{_bindir}/qepcad %{buildroot}%{_datadir}/qepcad/bin
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc LICENSE LOG
|
||||||
|
%{_bindir}/qepcad
|
||||||
|
%{_bindir}/ADJ2D_plot
|
||||||
|
%{_bindir}/cad2d
|
||||||
|
%{_datadir}/qepcad/
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Feb 13 2014 Jerry James <loganjerry@gmail.com> - 1.69-2
|
||||||
|
- Install qepcad.help
|
||||||
|
|
||||||
|
* Thu Nov 21 2013 Jerry James <loganjerry@gmail.com> - 1.69-1
|
||||||
|
- Initial RPM
|
Loading…
Reference in New Issue