From cde01257f28031993dd34c29dc44634eb8ff16bc Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Thu, 7 Dec 2023 23:03:19 +0000 Subject: [PATCH 1/6] update qepcad to B 1.74 We removed 'B' from the version number to accommodate the tarfile name from Debian --- build/pkgs/qepcad/SPKG.rst | 11 +- build/pkgs/qepcad/checksums.ini | 10 +- build/pkgs/qepcad/package-version.txt | 2 +- .../qepcad/patches/qepcad-B-destructor.patch | 41 +- build/pkgs/qepcad/patches/qepcad-B-gcc6.patch | 21 +- .../pkgs/qepcad/patches/qepcad-B-parens.patch | 88 +- .../pkgs/qepcad/patches/qepcad-B-return.patch | 39 +- .../pkgs/qepcad/patches/qepcad-B-signed.patch | 115 ++- .../pkgs/qepcad/patches/qepcad-B-syntax.patch | 17 +- build/pkgs/qepcad/patches/qepcad-B-tty.patch | 20 +- .../pkgs/qepcad/patches/qepcad-B-uninit.patch | 207 ++--- .../pkgs/qepcad/patches/qepcad-B-unused.patch | 806 +++++++++--------- 12 files changed, 767 insertions(+), 610 deletions(-) diff --git a/build/pkgs/qepcad/SPKG.rst b/build/pkgs/qepcad/SPKG.rst index fa8ef06fb7c..6800372bc56 100644 --- a/build/pkgs/qepcad/SPKG.rst +++ b/build/pkgs/qepcad/SPKG.rst @@ -30,13 +30,4 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Upstream Contact ---------------- -- Website: http://www.usna.edu/CS/qepcadweb/B/QEPCAD.html -- Alternative location (sometimes more up-to-date): - - https://www.usna.edu/Users/cs/wcbrown/qepcad/B/QEPCAD.html - -Special Update/Build Instructions ---------------------------------- - -One might need to set MAKE to "make -j1" fo this to be built -successfully. + https://github.com/chriswestbrown/qepcad diff --git a/build/pkgs/qepcad/checksums.ini b/build/pkgs/qepcad/checksums.ini index 5ab616658b0..6a614100808 100644 --- a/build/pkgs/qepcad/checksums.ini +++ b/build/pkgs/qepcad/checksums.ini @@ -1,5 +1,5 @@ -tarball=qepcad-VERSION.tar.gz -sha1=7de9ff3a7ce61e751d91fe5e74079a706174e4fa -md5=61ebb23f407a72cee6142a3b144dea06 -cksum=2428332890 -upstream_url=http://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/qepcad-VERSION.tar.gz +tarball=qepcad-VERSION.tar.xz +sha1=3c482a88bf552cea6702e4db6a3d17e4b7549eb6 +md5=7d3f85d253473f6d90d83033ff22820d +cksum=2757536071 +upstream_url=http://deb.debian.org/debian/pool/main/q/qepcad/qepcad_VERSION+ds.orig.tar.xz diff --git a/build/pkgs/qepcad/package-version.txt b/build/pkgs/qepcad/package-version.txt index b477f38083e..bc8a6589c98 100644 --- a/build/pkgs/qepcad/package-version.txt +++ b/build/pkgs/qepcad/package-version.txt @@ -1 +1 @@ -B.1.72 +1.74 diff --git a/build/pkgs/qepcad/patches/qepcad-B-destructor.patch b/build/pkgs/qepcad/patches/qepcad-B-destructor.patch index 2809a0af004..6591e2eecfa 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-destructor.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-destructor.patch @@ -1,6 +1,11 @@ ---- a/extensions/rend/Rend_Sample.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/Rend_Sample.cc 2018-08-29 20:07:27.087257552 -0600 -@@ -40,11 +40,6 @@ Rend_Sample_1DS::Rend_Sample_1DS(Word C, +Description: Fix abstract base classes with non-virtual destructors. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/91dd25b/f/qepcad-B-destructor.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/extensions/rend/Rend_Sample.cc ++++ b/extensions/rend/Rend_Sample.cc +@@ -40,11 +40,6 @@ } @@ -12,7 +17,7 @@ /************************************************************* ** 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 +@@ -112,13 +107,6 @@ L.W = NIL; } @@ -26,7 +31,7 @@ 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) +@@ -178,11 +166,6 @@ } @@ -38,7 +43,7 @@ /************************************************************* ** 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, +@@ -237,11 +220,6 @@ } @@ -50,7 +55,7 @@ Word Rend_Sample_2DC::coordinate(int k) { return L.W; -@@ -265,11 +243,6 @@ Rend_Sample_BR::Rend_Sample_BR(Word a) +@@ -265,11 +243,6 @@ N.W = a; } @@ -62,9 +67,9 @@ Word Rend_Sample_BR::coordinate(int k) { return N.W; ---- a/extensions/rend/Rend_Sample.h.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/Rend_Sample.h 2018-08-29 20:07:27.087257552 -0600 -@@ -32,7 +32,7 @@ class Rend_Sample +--- a/extensions/rend/Rend_Sample.h ++++ b/extensions/rend/Rend_Sample.h +@@ -32,7 +32,7 @@ virtual Word coordinate(int k) = 0; virtual Word round(int k,int roundup) { return this -> coordinate(k); } @@ -73,7 +78,7 @@ }; class Rend_Sample_1DS : public Rend_Sample -@@ -49,7 +49,6 @@ private: +@@ -49,7 +49,6 @@ gcmemloc A,I; public: Rend_Sample_1DS(Word C, Word P); @@ -81,7 +86,7 @@ virtual Word coordinate(int k); virtual Word round(int k, int roundup); Word weakcompare(Word R); -@@ -66,7 +65,6 @@ public: +@@ -66,7 +65,6 @@ gcmemloc L; public: Rend_Sample_1DO(Rend_Cell *dad); @@ -89,7 +94,7 @@ virtual Word coordinate(int k); }; -@@ -86,7 +84,6 @@ private: +@@ -86,7 +84,6 @@ gcmemloc A,I; public: Rend_Sample_2DS(Word C); @@ -97,7 +102,7 @@ virtual Word coordinate(int k); }; -@@ -101,7 +98,6 @@ public: +@@ -101,7 +98,6 @@ gcmemloc L; public: Rend_Sample_2DC(Word C,Word P); @@ -105,7 +110,7 @@ virtual Word coordinate(int k); void add_point(Word p); void clear_points(); -@@ -116,7 +112,6 @@ private: +@@ -116,7 +112,6 @@ gcmemloc N; public: Rend_Sample_BR(Word a); @@ -113,9 +118,9 @@ virtual Word coordinate(int k); }; ---- a/plot2d/plot.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/plot2d/plot.cc 2018-08-29 20:07:27.086257553 -0600 -@@ -37,6 +37,7 @@ class CADELT +--- a/plot2d/plot.cc ++++ b/plot2d/plot.cc +@@ -37,6 +37,7 @@ public: virtual bool read(istream &in) = 0; virtual void glRend(const CADColors &C) = 0; diff --git a/build/pkgs/qepcad/patches/qepcad-B-gcc6.patch b/build/pkgs/qepcad/patches/qepcad-B-gcc6.patch index 2caed816ca7..f9846cb9829 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-gcc6.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-gcc6.patch @@ -1,6 +1,11 @@ ---- a/plot2d/plot.cc.orig 2018-08-29 20:10:06.396075816 -0600 -+++ b/plot2d/plot.cc 2018-08-29 20:11:48.982924732 -0600 -@@ -276,7 +276,7 @@ bool SNoverSR::read(istream &in) +Description: Adapt to GCC 6 +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/91dd25b/f/qepcad-B-gcc6.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/plot2d/plot.cc ++++ b/plot2d/plot.cc +@@ -276,7 +276,7 @@ V.resize(N); for(int i = 0; i < N; i++) in >> V[i]; @@ -9,7 +14,7 @@ } void SNoverSR::glRend(const CADColors &C) -@@ -333,7 +333,7 @@ bool SRoverSR::read(istream &in) +@@ -333,7 +333,7 @@ } } @@ -18,7 +23,7 @@ } void SRoverSR::glRend(const CADColors &C) -@@ -351,7 +351,7 @@ bool SRoverSN::read(istream &in) +@@ -351,7 +351,7 @@ { in >> colorType >> a >> b.y; b.x = a.x; @@ -27,7 +32,7 @@ } void SRoverSN::glRend(const CADColors &C) -@@ -365,7 +365,8 @@ void SRoverSN::glRend(const CADColors &C +@@ -365,7 +365,8 @@ bool SNoverSN::read(istream &in) { @@ -37,7 +42,7 @@ } void SNoverSN::glRend(const CADColors &C) -@@ -380,7 +381,8 @@ void SNoverSN::glRend(const CADColors &C +@@ -380,7 +381,8 @@ bool SN::read(istream &in) { @@ -47,7 +52,7 @@ } void SN::glRend(const CADColors &C) -@@ -394,7 +396,8 @@ void SN::glRend(const CADColors &C) +@@ -394,7 +396,8 @@ bool SR::read(istream &in) { diff --git a/build/pkgs/qepcad/patches/qepcad-B-parens.patch b/build/pkgs/qepcad/patches/qepcad-B-parens.patch index 1d881f7467b..4674bf7ef04 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-parens.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-parens.patch @@ -1,6 +1,23 @@ ---- a/extensions/adj2d/truthbytop/BOUNDARY2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/truthbytop/BOUNDARY2D.c 2018-08-29 20:07:50.511232206 -0600 -@@ -106,7 +106,7 @@ Step6: /* Split cell list by dimension. +Description: Add parentheses to disambiguate mixed boolean operators. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/60ceecd/f/qepcad-B-parens.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/extensions/adj2d/truthbytop/BOUNDARY2D.c ++++ b/extensions/adj2d/truthbytop/BOUNDARY2D.c +@@ -38,9 +38,9 @@ + while(S_c != NIL && RED(S_c) != NIL) + { + Word c1 = FIRST(S_c), c2 = SECOND(S_c), c3 = THIRD(S_c); +- if (LELTI(c1,TRUTH) == TRUE && LELTI(c3,TRUTH) == FALSE ++ if ((LELTI(c1,TRUTH) == TRUE && LELTI(c3,TRUTH) == FALSE) + || +- LELTI(c1,TRUTH) == FALSE && LELTI(c3,TRUTH) == TRUE) ++ (LELTI(c1,TRUTH) == FALSE && LELTI(c3,TRUTH) == TRUE)) + { + SLELTI(c2,TRUTH,TRUE); + SLELTI(c2,HOWTV,TOPINF); +@@ -106,7 +106,7 @@ tc++; else fc++; } @@ -9,9 +26,9 @@ GNEWLABEL(v,TRUE,G); else GNEWLABEL(v,FALSE,G); } ---- a/extensions/lift2D/IBPRRIOAP.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/IBPRRIOAP.c 2018-08-29 20:07:50.510232207 -0600 -@@ -95,7 +95,7 @@ Step3: /* Isolate the roots of B(alpha,y +--- a/extensions/lift2D/IBPRRIOAP.c ++++ b/extensions/lift2D/IBPRRIOAP.c +@@ -95,7 +95,7 @@ goto Return; } /* get trend of first root */ @@ -20,9 +37,9 @@ t1 = -1; else t1 = 1; ---- a/extensions/lift2D/modIBPRRIOAP.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/modIBPRRIOAP.c 2018-08-29 20:07:50.510232207 -0600 -@@ -97,7 +97,7 @@ Step3: /* Isolate the roots of B(alpha,y +--- a/extensions/lift2D/modIBPRRIOAP.c ++++ b/extensions/lift2D/modIBPRRIOAP.c +@@ -97,7 +97,7 @@ goto Return; } /* get trend of first root */ @@ -31,9 +48,9 @@ t1 = -1; else t1 = 1; ---- a/source/db/convenientstreams.h.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/db/convenientstreams.h 2018-08-29 20:07:50.511232206 -0600 -@@ -31,7 +31,7 @@ public: +--- a/source/db/convenientstreams.h ++++ b/source/db/convenientstreams.h +@@ -31,7 +31,7 @@ string s = ""; char c = in.get(); if (opt == skipleadingws) @@ -42,20 +59,29 @@ // States : 0 = normal, 1 = in comment, 2 = just read a backslash int state = 0; do { ---- a/source/db/SINGULAR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/db/SINGULAR.c 2018-08-29 20:07:50.511232206 -0600 -@@ -58,7 +58,7 @@ void SingularServer::reportStats(ostream +@@ -44,7 +44,7 @@ + if (state == 0 && c == '\\') { state = 2; continue; } + s += c; + state = 0; +- }while(c = in.get()); ++ }while((c = in.get())); + str(s); + } + }; +--- a/source/db/SINGULAR.c ++++ b/source/db/SINGULAR.c +@@ -58,7 +58,7 @@ 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; ++ char c; while((c = in.peek()) && (c == ' ' || c == '\t' || c == '\n')) in.get(); return c; } ---- a/source/proj/GROUPSAMEPJ.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/GROUPSAMEPJ.c 2018-08-29 20:07:50.511232206 -0600 -@@ -46,7 +46,7 @@ BDigit PRJPNTEQUAL(Word A, Word B) +--- a/source/proj/GROUPSAMEPJ.c ++++ b/source/proj/GROUPSAMEPJ.c +@@ -46,7 +46,7 @@ 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)); @@ -64,7 +90,7 @@ } /* One primitive, the other not */ -@@ -75,10 +75,10 @@ Step1: /* Group. */ +@@ -75,10 +75,10 @@ { ADV(Jt,&J2,&Jt); Jt2 = LELTI(J2,PO_POLY); @@ -79,9 +105,9 @@ { SLELTI(J2,PO_PARENT,CONC(LELTI(J2,PO_PARENT),LELTI(J1,PO_PARENT))); t = 1; ---- a/source/proj/PROJMCECmod.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJMCECmod.c 2018-08-29 20:07:50.511232206 -0600 -@@ -67,7 +67,7 @@ Step1: /* Obtain coefficients. */ +--- a/source/proj/PROJMCECmod.c ++++ b/source/proj/PROJMCECmod.c +@@ -67,7 +67,7 @@ t = 1; } /* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */ @@ -90,7 +116,7 @@ || (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W)) ) t = 0; -@@ -101,7 +101,7 @@ Step1: /* Obtain coefficients. */ +@@ -101,7 +101,7 @@ tf = tf || (Q == FULLDE || Q == FULLDA); /* Test 3: in free variable space when the PCMZERROR option is used */ @@ -99,9 +125,9 @@ /* Test 4: has no common zero with the system of all other coefficients */ if (!tf) ---- a/source/proj/PROJMCmod.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJMCmod.c 2018-08-29 20:07:50.511232206 -0600 -@@ -57,7 +57,7 @@ Step1: /* Obtain coefficients. */ +--- a/source/proj/PROJMCmod.c ++++ b/source/proj/PROJMCmod.c +@@ -57,7 +57,7 @@ t = 1; } /* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */ @@ -110,7 +136,7 @@ || (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W)) ) t = 0; -@@ -91,7 +91,7 @@ Step1: /* Obtain coefficients. */ +@@ -91,7 +91,7 @@ tf = tf || (Q == FULLDE || Q == FULLDA); /* Test 3: in free variable space when the PCMZERROR option is used */ @@ -119,9 +145,9 @@ /* Test 4: has no common zero with the system of all other coefficients */ if (!tf) ---- a/source/ticad/INITPCAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/INITPCAD.c 2018-08-29 20:07:50.511232206 -0600 -@@ -14,7 +14,7 @@ Word QepcadCls::INITPCAD() +--- a/source/ticad/INITPCAD.c ++++ b/source/ticad/INITPCAD.c +@@ -14,7 +14,7 @@ Word D, tv; Step0: /* Determine truth value! */ diff --git a/build/pkgs/qepcad/patches/qepcad-B-return.patch b/build/pkgs/qepcad/patches/qepcad-B-return.patch index 04a243a9b72..0d25636bdc6 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-return.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-return.patch @@ -1,6 +1,11 @@ ---- a/extensions/sfext/formula/FTYPEINFO.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FTYPEINFO.c 2018-08-29 20:06:48.870298902 -0600 -@@ -23,6 +23,6 @@ Word FTYPEINFO(Word A) +Description: Fix a non-void function where control can fall off the end. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/91dd25b/f/qepcad-B-return.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/extensions/sfext/formula/FTYPEINFO.c ++++ b/extensions/sfext/formula/FTYPEINFO.c +@@ -23,6 +23,6 @@ return TRUE; if (FIRST(A) == FALSE) return FALSE; @@ -8,20 +13,9 @@ + FAIL("FTYPEINFO","Unknown formula type!"); } ---- a/source/db/AFUPSFNDB.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/db/AFUPSFNDB.c 2018-08-29 20:06:48.871298901 -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; - ---- a/source/db/SingSacPolicy.h.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/db/SingSacPolicy.h 2018-08-29 20:06:48.872298900 -0600 -@@ -28,17 +28,17 @@ public: +--- a/source/db/SingSacPolicy.h ++++ b/source/db/SingSacPolicy.h +@@ -28,17 +28,17 @@ Word IPRES(Word r, Word A, Word B) { if (r > 2) @@ -43,14 +37,3 @@ } Word IPFACTGB(Word r, Word I, Word N) ---- a/source/qepcad.h.orig 2018-08-29 20:04:27.596451754 -0600 -+++ b/source/qepcad.h 2018-08-29 20:06:48.871298901 -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); diff --git a/build/pkgs/qepcad/patches/qepcad-B-signed.patch b/build/pkgs/qepcad/patches/qepcad-B-signed.patch index 4a424aec3aa..c934d513cdf 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-signed.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-signed.patch @@ -1,6 +1,11 @@ ---- a/plot2d/plot.cc.orig 2018-08-29 20:07:27.086257553 -0600 -+++ b/plot2d/plot.cc 2018-08-29 20:08:10.014211101 -0600 -@@ -134,7 +134,7 @@ void* readdata(void *x) +Description: Fix some mixed signed/unsigned operations. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/60ceecd/f/qepcad-B-signed.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/plot2d/plot.cc ++++ b/plot2d/plot.cc +@@ -134,7 +134,7 @@ pthread_mutex_lock(&M); swap(CE,E); pthread_mutex_unlock(&M); @@ -9,7 +14,7 @@ E.clear(); } else if (c == 'E') { /******* Exit! *******************/ return 0; -@@ -155,7 +155,7 @@ void display() +@@ -155,7 +155,7 @@ { pthread_mutex_lock(&M); glClear(GL_COLOR_BUFFER_BIT); @@ -18,7 +23,7 @@ CE[i]->glRend(Colors); pthread_mutex_unlock(&M); glutSwapBuffers(); -@@ -286,7 +286,7 @@ void SNoverSR::glRend(const CADColors &C +@@ -286,7 +286,7 @@ // 128 or so points that can appear. C.glSetColor(colorType,'D'); glBegin(GL_LINE_STRIP); @@ -27,7 +32,7 @@ glVertex2(V[i]); glEnd(); } -@@ -328,7 +328,7 @@ bool SRoverSR::read(istream &in) +@@ -328,7 +328,7 @@ else { cerr << "Sector over sector in unknown format!" << endl; @@ -36,9 +41,9 @@ cerr << V[i] << endl; exit(1); } ---- a/source/db/SINGULAR.c.orig 2018-08-29 20:07:50.511232206 -0600 -+++ b/source/db/SINGULAR.c 2018-08-29 20:08:10.015211100 -0600 -@@ -67,7 +67,7 @@ Word readSingularPoly(Word r, Word V, is +--- a/source/db/SINGULAR.c ++++ b/source/db/SINGULAR.c +@@ -67,7 +67,7 @@ Word A, t; string s; in >> s; @@ -47,7 +52,7 @@ if (s[i] == '*') s[i] = ' '; s += ".\n"; istringstream si(s); -@@ -108,7 +108,7 @@ string WritePolyForSingular(Word r, Word +@@ -108,7 +108,7 @@ out = sout.str(); } // Put in * symbols @@ -56,18 +61,92 @@ if (out[i] == ' ' && out[i+1] != '+' && out[i+1] != '-' && out[i-1] != '+' && out[i-1] != '-' ) ---- a/source/saclib/gcword.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/saclib/gcword.c 2018-08-29 20:08:10.015211100 -0600 -@@ -30,7 +30,7 @@ void gcw_MARK(); +--- a/source/main/qepcadcls.c ++++ b/source/main/qepcadcls.c +@@ -60,7 +60,7 @@ + + void QepcadCls::UnsatCore::OrigAtom::clearTags() + { +- for(int i = 0; i < factors.size(); i++) ++ for(size_t i = 0; i < factors.size(); i++) + factors[i].clearTag(); } - static vector G; --static int lim = 10; -+static size_t lim = 10; +@@ -82,7 +82,7 @@ + } - void clean() + // set in factored form +- for(int k = 0; k < conjuncts.size(); k++) ++ for(int k = 0; (size_t)k < conjuncts.size(); k++) + { + OrigAtom &A = conjuncts[k]; + Word r = A.r; +@@ -205,7 +205,7 @@ + { + if (sign < 0) SWRITE("-"); + if (ICOMP(content,1) != 0) { IWRITE(content); } +- for(int i = 0; i < factors.size(); i++) ++ for(size_t i = 0; i < factors.size(); i++) + factors[i].WRITEFULL(V); + SWRITE(" "); + SWRITE(relopString(relop).c_str()); +@@ -218,7 +218,7 @@ + bool QepcadCls::UnsatCore::OrigAtom::isKnownFalse() { -@@ -62,7 +62,7 @@ void gcw_MARK() + int s = signToSigma(sign); +- for(int i = 0; i < factors.size(); i++) ++ for(size_t i = 0; i < factors.size(); i++) + { + int sf = (factors[i].exp % 2 == 1) ? factors[i].tag : T_square[factors[i].tag]; + s = T_prod[s][sf]; +@@ -235,7 +235,7 @@ + if (LELTI(C,HOWTV) == BYEQC) return; + + // Clear truth tags (i.e. set them all to UNDET) +- for(int i = 0; i < conjuncts.size(); i++) ++ for(size_t i = 0; i < conjuncts.size(); i++) + conjuncts[i].clearTags(); + + int k = LELTI(C,LEVEL); +@@ -252,7 +252,7 @@ + { + int s = FIRST(Si); + vector< pair > &V = appearsIn[pair(i,j)]; +- for(int h = 0; h < V.size(); h++) ++ for(size_t h = 0; h < V.size(); h++) + { + int a = V[h].first, b = V[h].second; + conjuncts[a].factors[b].tag = signToSigma(s); +@@ -262,7 +262,7 @@ + + // go through each input atomic formula to determine if it's known to be false + Word K = NIL; +- for(int i = 0; i < conjuncts.size(); i++) ++ for(int i = 0; (size_t)i < conjuncts.size(); i++) + { + if (conjuncts[i].isKnownFalse()) + { +@@ -280,7 +280,7 @@ + // Add equational constraints as size 1 sets. Recall, right now + // we adopt the expedient of making the unsat core include all + // equational constraints. +- for(int i = 0; i < conjuncts.size(); i++) ++ for(int i = 0; (size_t)i < conjuncts.size(); i++) + { + if (conjuncts[i].relop == EQOP) + MHSP = COMP(LIST1(i),MHSP); +--- a/source/saclib/gcword.c ++++ b/source/saclib/gcword.c +@@ -54,7 +54,7 @@ + void gcw_register(Word *p) + { + G.push_back(p); +- if (G.size() == lim) ++ if (G.size() == (size_t)lim) + clean(); + } + +@@ -62,7 +62,7 @@ { // SWRITE("gcw size is: ");IWRITE(G.size()); SWRITE("\n"); clean(); diff --git a/build/pkgs/qepcad/patches/qepcad-B-syntax.patch b/build/pkgs/qepcad/patches/qepcad-B-syntax.patch index 832cdbee4e3..078bacfa606 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-syntax.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-syntax.patch @@ -1,6 +1,11 @@ ---- a/source/main/BEGINQEPCAD.c.orig 2018-08-29 20:03:05.718540333 -0600 -+++ b/source/main/BEGINQEPCAD.c 2018-08-29 20:09:45.542106837 -0600 -@@ -53,7 +53,7 @@ void BEGINQEPCAD(int &argc, char**& argv +Description: Fix syntactically incorrect expressions. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/91dd25b/f/qepcad-B-syntax.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/source/main/BEGINQEPCAD.c ++++ b/source/main/BEGINQEPCAD.c +@@ -53,7 +53,7 @@ { int tmp = system("bash -c 'exit $(stty size | cut -d\" \" -f2)'"); tmp = WEXITSTATUS(tmp); @@ -9,9 +14,9 @@ cols = tmp; } ---- a/source/userint/USERINT.c.orig 2018-03-16 14:22:00.000000000 -0600 -+++ b/source/userint/USERINT.c 2018-08-29 20:09:45.543106835 -0600 -@@ -492,7 +492,7 @@ void VERTFILL2D(Word D) +--- a/source/userint/USERINT.c ++++ b/source/userint/USERINT.c +@@ -507,7 +507,7 @@ Word L, S, T, CB; /* GET 1D CAD STACK */ diff --git a/build/pkgs/qepcad/patches/qepcad-B-tty.patch b/build/pkgs/qepcad/patches/qepcad-B-tty.patch index 0bda2e973b8..9b67d25846c 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-tty.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-tty.patch @@ -1,5 +1,11 @@ ---- a/source/db/SINGULAR.c.orig 2018-08-29 20:10:06.406075801 -0600 -+++ b/source/db/SINGULAR.c 2018-08-29 20:11:02.229992773 -0600 +Description: Tell Singular not to steal the TTY +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/91dd25b/f/qepcad-B-tty.patch +Bug: https://bugzilla.redhat.com/1257471 +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/source/db/SINGULAR.c ++++ b/source/db/SINGULAR.c @@ -1,6 +1,7 @@ #include "SINGULAR.h" #include @@ -8,7 +14,7 @@ using namespace std; -@@ -15,6 +16,12 @@ SingularServer::SingularServer(string Si +@@ -15,6 +16,12 @@ if (childpid == 0) { intoSingular.setStdinToPipe(); outofSingular.setStdoutToPipe(); @@ -21,7 +27,7 @@ // Begin: Just for debug!! //system("/home/wcbrown/bin/Singular -q --no-warn --min-time=0.001 --ticks-per-sec=1000 | tee /tmp/SingOutLog"); -@@ -30,9 +37,10 @@ SingularServer::SingularServer(string Si +@@ -30,9 +37,10 @@ "--ticks-per-sec=1000", NULL); perror("SingularServer Constructor: Singular startup failed! (Set SINGULAR environment variable)"); @@ -33,9 +39,9 @@ } SingularServer::~SingularServer() ---- a/source/db/unnamedpipe.h.orig 2018-08-29 20:10:06.406075801 -0600 -+++ b/source/db/unnamedpipe.h 2018-08-29 20:11:02.229992773 -0600 -@@ -113,6 +113,7 @@ public: +--- a/source/db/unnamedpipe.h ++++ b/source/db/unnamedpipe.h +@@ -113,6 +113,7 @@ int fdout() { return fd[1]; } int setStdinToPipe() { return dup2(fdin(),fileno(stdin)); } int setStdoutToPipe() { return dup2(fdout(),fileno(stdout)); } diff --git a/build/pkgs/qepcad/patches/qepcad-B-uninit.patch b/build/pkgs/qepcad/patches/qepcad-B-uninit.patch index f78e4c2239a..e75cd6846cf 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-uninit.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-uninit.patch @@ -1,15 +1,30 @@ ---- a/cad2d/src/TICAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/cad2d/src/TICAD.c 2018-08-29 20:05:52.862359504 -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. */ +Description: Fix use of uninitialized variables. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/60ceecd/f/qepcad-B-uninit.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/cad2d/src/CAD2D.c ++++ b/cad2d/src/CAD2D.c +@@ -23,6 +23,8 @@ + Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t; + Word L; + Step1: /* Normalize. */ ++ t = -1; ++ F_e = F_n = F_s = NIL; + FIRST4(Fs,&r,&f,&Q,&Fh); + F = NORMQFF(Fh); + GVNQFF = F; +--- a/cad2d/src/TICAD.c ++++ b/cad2d/src/TICAD.c +@@ -30,6 +30,7 @@ + Step1: /* Initialize. */ + D = INITPCAD(); + L = 0; ++ d = 0; + + Step2: /* Choose. */ + GVPC = D; +@@ -51,6 +52,7 @@ else L = RED2(L); } else if (d == 1 && L == NIL) { /* Init for 1D sections */ @@ -17,9 +32,9 @@ d = 0; L = RED(LELTI(D,CHILD)); } ---- a/extensions/adj2d/oldadj/ACMADJ2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/oldadj/ACMADJ2D.c 2018-08-29 20:05:52.864359502 -0600 -@@ -29,6 +29,7 @@ Step1: /* Get (A,I) defining c. */ +--- a/extensions/adj2d/oldadj/ACMADJ2D.c ++++ b/extensions/adj2d/oldadj/ACMADJ2D.c +@@ -29,6 +29,7 @@ FIRST2(Ip,&ip1,&ip2); i1 = RNLBRN(ip1); i2 = RNLBRN(ip2); @@ -27,9 +42,9 @@ Step2: /* Get sample points for c_l and c_r. */ i_l = RNLBRN(SPRLC(c_l)); ---- a/extensions/lift2D/modHIPRRID.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/modHIPRRID.c 2018-08-29 20:05:52.864359502 -0600 -@@ -28,6 +28,7 @@ Step1: /* Compute a bound for the positi +--- a/extensions/lift2D/modHIPRRID.c ++++ b/extensions/lift2D/modHIPRRID.c +@@ -28,6 +28,7 @@ k = HIPPRB(n,A); Step2: /* Isolate the positive roots. */ @@ -37,9 +52,9 @@ if (k == NIL) { L1 = NIL; goto Step3; } ---- a/extensions/lift2D/modIBPRRIOAPSF.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/modIBPRRIOAPSF.c 2018-08-29 20:05:52.863359503 -0600 -@@ -77,6 +77,7 @@ Step4: /* Isolate the real roots of eac +--- a/extensions/lift2D/modIBPRRIOAPSF.c ++++ b/extensions/lift2D/modIBPRRIOAPSF.c +@@ -77,6 +77,7 @@ Step5: /* Refine roots? */ if (k == NIL) goto Return; @@ -47,9 +62,9 @@ Ls = NIL; for(Lp = L; Lp != NIL; Lp = RED(Lp)) { ---- a/extensions/rend/WRITE_PS_INTERACTIVE.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/WRITE_PS_INTERACTIVE.cc 2018-08-29 20:05:52.863359503 -0600 -@@ -262,6 +262,8 @@ void WRITE_PS_INTERACTIVE(Rend_Cell &M, +--- a/extensions/rend/WRITE_PS_INTERACTIVE.cc ++++ b/extensions/rend/WRITE_PS_INTERACTIVE.cc +@@ -262,6 +262,8 @@ if (t == 'p') { SWRITE("Enter projetion factor by (level,index): "); p = LREAD(); } @@ -58,9 +73,9 @@ switch(c) { case 'x': // 1D Sectors ---- a/extensions/sfext/addpol/MINPFSETNSC.c.orig 2018-08-29 20:03:25.110519357 -0600 -+++ b/extensions/sfext/addpol/MINPFSETNSC.c 2018-08-29 20:05:52.865359501 -0600 -@@ -42,7 +42,7 @@ Word MINPFSETNSC(Word P,Word S,Word D,Wo +--- a/extensions/sfext/addpol/MINPFSETNSC.c ++++ b/extensions/sfext/addpol/MINPFSETNSC.c +@@ -42,7 +42,7 @@ 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. */ @@ -69,9 +84,9 @@ Step2: /* Loop over each level in D. */ for(r = 1; r <= N; r++) { ---- a/extensions/sfext/espcad/PCAD2ESPCAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/espcad/PCAD2ESPCAD.c 2018-08-29 20:05:52.866359500 -0600 -@@ -44,6 +44,8 @@ Step2: /* Generate correct i-level signi +--- a/extensions/sfext/espcad/PCAD2ESPCAD.c ++++ b/extensions/sfext/espcad/PCAD2ESPCAD.c +@@ -44,6 +44,8 @@ P_i = RED(P_i); s = RED(s); } s = INV(ss); } @@ -80,9 +95,9 @@ Step3: /* Construct extended Sub-CAD cell structure. */ EDs = LIST8(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET,UNDET); ---- a/extensions/sfext/extlang/SCAD2ESCAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/extlang/SCAD2ESCAD.c 2018-08-29 20:05:52.864359502 -0600 -@@ -27,6 +27,8 @@ Step2: /* Generate correct i-level signi +--- a/extensions/sfext/extlang/SCAD2ESCAD.c ++++ b/extensions/sfext/extlang/SCAD2ESCAD.c +@@ -27,6 +27,8 @@ P_i = RED(P_i); s = RED(s); } s = INV(ss); } @@ -91,9 +106,9 @@ Step3: /* Construct extended Sub-CAD cell structure. */ EDs = LIST7(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET); ---- a/extensions/sfext/formula/FMAATOMREAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAATOMREAD.c 2018-08-29 20:05:52.865359501 -0600 -@@ -18,7 +18,7 @@ void FMAATOMREAD(Word Q, Word V, Word *F +--- a/extensions/sfext/formula/FMAATOMREAD.c ++++ b/extensions/sfext/formula/FMAATOMREAD.c +@@ -18,7 +18,7 @@ /* hide r,s,t; */ Step1: /* Read the left polynomial. */ @@ -102,7 +117,7 @@ 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 +@@ -71,6 +71,7 @@ p = SECOND(p); /* Is p already in P? */ @@ -110,9 +125,9 @@ P_r = LELTI(P,r); *t = 0; for(Pp = P_r; Pp != NIL; Pp = RED(Pp)) { pp = FIRST(Pp); ---- a/extensions/sfext/formula/FMASMOOTH.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMASMOOTH.c 2018-08-29 20:05:52.865359501 -0600 -@@ -16,6 +16,7 @@ Step1: /* Atoms and Constants. */ +--- a/extensions/sfext/formula/FMASMOOTH.c ++++ b/extensions/sfext/formula/FMASMOOTH.c +@@ -16,6 +16,7 @@ if (ISLIST(F1) || F1 == TRUE || F1 == FALSE) { G = F; goto Return; } @@ -120,9 +135,9 @@ Step2: /* AND's */ if (F1 == ANDOP) { ---- a/extensions/sfext/sfcons/SFC3.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFC3.c 2018-08-29 20:05:52.865359501 -0600 -@@ -90,7 +90,7 @@ Step3: /* The normal language. */ +--- a/extensions/sfext/sfcons/SFC3.c ++++ b/extensions/sfext/sfcons/SFC3.c +@@ -90,7 +90,7 @@ switch(m) { case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break; case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break; @@ -131,9 +146,9 @@ Step4: /* Massage the formula. */ pflag = 1; ---- a/extensions/sfext/sfcons/SFC3f.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFC3f.c 2018-08-29 20:05:52.865359501 -0600 -@@ -88,7 +88,7 @@ Step3: /* The normal language. */ +--- a/extensions/sfext/sfcons/SFC3f.c ++++ b/extensions/sfext/sfcons/SFC3f.c +@@ -88,7 +88,7 @@ switch(m) { case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break; case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break; @@ -142,9 +157,9 @@ Step4: /* Massage the formula. */ pflag = 1; ---- a/extensions/sfext/sfcons/SFC4.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFC4.c 2018-08-29 20:05:52.865359501 -0600 -@@ -31,6 +31,7 @@ void QepcadCls::SFC4(Word D, Word P, Wor +--- a/extensions/sfext/sfcons/SFC4.c ++++ b/extensions/sfext/sfcons/SFC4.c +@@ -31,6 +31,7 @@ { Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag; char e,s,m,c; @@ -152,9 +167,9 @@ T1 = T2 = T3 = T4 = 0; F1 = 0; ---- a/extensions/sfext/sfcons/SFCFULLDf.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFCFULLDf.c 2018-08-29 20:05:52.865359501 -0600 -@@ -52,6 +52,7 @@ Step2: /* Extended language. */ +--- a/extensions/sfext/sfcons/SFCFULLDf.c ++++ b/extensions/sfext/sfcons/SFCFULLDf.c +@@ -52,6 +52,7 @@ if (Lt == NIL && Lf == NIL) { SWRITE("No cells have truth values!\n"); @@ -162,9 +177,9 @@ goto Return; } t = ESPCADDOPFSUFF(Pp,LIST1(Dp)); LA = LISTOETAmod(Pp,n,t==NIL); ---- a/source/io/ATOMFRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/ATOMFRDR.c 2018-08-29 20:05:52.866359500 -0600 -@@ -76,7 +76,7 @@ void ETFATOMRDR(Word V, Word P1, BDigit +--- a/source/io/ATOMFRDR.c ++++ b/source/io/ATOMFRDR.c +@@ -76,7 +76,7 @@ Word t, F, r, j, P2, P2p, r1, r2, a, P, s; Step1: /* Prepare */ @@ -173,9 +188,9 @@ Step2: /* Read "_root_" */ ---- a/source/io/CATTRNRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/CATTRNRDR.c 2018-08-29 20:05:52.866359500 -0600 -@@ -39,7 +39,7 @@ Step2: /* Get the internal representatio +--- a/source/io/CATTRNRDR.c ++++ b/source/io/CATTRNRDR.c +@@ -39,7 +39,7 @@ goto Return; Step3: /* Error exit. */ @@ -184,9 +199,9 @@ Return: /* Prepare for return. */ *V_ = V; ---- a/source/io/DESIREDRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/DESIREDRDR.c 2018-08-29 20:05:52.867359499 -0600 -@@ -15,6 +15,7 @@ void DESIREDRDR(Word *F_, Word *t_) +--- a/source/io/DESIREDRDR.c ++++ b/source/io/DESIREDRDR.c +@@ -15,6 +15,7 @@ /* hide C,C1,R,V1,V2,t; */ Step1: /* Atomic condition. */ @@ -194,9 +209,9 @@ t = 1; C = CREADB(); if (C == '[') goto Step2; BKSP(); ---- a/source/io/FREADR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/FREADR.c 2018-08-29 20:05:52.866359500 -0600 -@@ -23,7 +23,7 @@ void FREADR(Word V, Word f, Word *Fs_, W +--- a/source/io/FREADR.c ++++ b/source/io/FREADR.c +@@ -23,7 +23,7 @@ /* hide C,i,q,r,t; */ Step1: /* Read quantifier list. */ @@ -205,9 +220,9 @@ for (i = f + 1; i <= r; i++) { C = CREADB(); ---- a/source/io/GREADR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/GREADR.c 2018-08-29 20:05:52.867359499 -0600 -@@ -33,7 +33,7 @@ Step2: /* Read digits and convert. */ +--- a/source/io/GREADR.c ++++ b/source/io/GREADR.c +@@ -33,7 +33,7 @@ BKSP(); a = S * a; goto Return; Step3: /* Error. */ @@ -216,9 +231,9 @@ Return: /* Prepare for return. */ *a_ = a; ---- a/source/io/LGOPRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/LGOPRDR.c 2018-08-29 20:05:52.866359500 -0600 -@@ -50,7 +50,7 @@ Step1: /* Read in. */ +--- a/source/io/LGOPRDR.c ++++ b/source/io/LGOPRDR.c +@@ -50,7 +50,7 @@ { SWRITE("Error LGOPRDR: Logic operator was expected.\n"); goto Step2; } Step2: /* Error exit. */ @@ -227,9 +242,9 @@ Return: /* Prepare for return. */ *p_ = p; ---- a/source/io/QFRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/QFRDR.c 2018-08-29 20:05:52.867359499 -0600 -@@ -39,7 +39,7 @@ Step1: /* Read in. */ +--- a/source/io/QFRDR.c ++++ b/source/io/QFRDR.c +@@ -39,7 +39,7 @@ goto Return; Step2: /* Error exit. */ @@ -238,9 +253,9 @@ Return: /* Prepare for return. */ *q_ = q; ---- a/source/io/RLOPRDR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/RLOPRDR.c 2018-08-29 20:05:52.866359500 -0600 -@@ -31,7 +31,7 @@ Step1: /* Read in. */ +--- a/source/io/RLOPRDR.c ++++ b/source/io/RLOPRDR.c +@@ -31,7 +31,7 @@ goto Return; Step2: /* Error exit. */ @@ -249,31 +264,31 @@ Return: /* Prepare for return. */ *p_ = p; ---- a/source/main/QEPCADauto.c.orig 2018-03-16 14:22:00.000000000 -0600 -+++ b/source/main/QEPCADauto.c 2018-08-29 20:05:52.867359499 -0600 -@@ -27,6 +27,8 @@ void QepcadCls::QEPCADauto(Word Fs, Word +--- a/source/main/QEPCADauto.c ++++ b/source/main/QEPCADauto.c +@@ -27,6 +27,8 @@ char c1,c2; /* Chris variables. */ Step1: /* Normalize. */ -+ t = 0; ++ t = -1; + F_e = F_n = F_s = NIL; FIRST4(Fs,&r,&f,&Q,&Fh); F = NORMQFF(Fh); if (GVUA != NIL) GVNA = NORMQFF(GVUA); ---- a/source/main/QEPCAD.c.orig 2018-03-16 14:22:00.000000000 -0600 -+++ b/source/main/QEPCAD.c 2018-08-29 20:05:52.867359499 -0600 -@@ -26,6 +26,8 @@ void QepcadCls::QEPCAD(Word Fs, Word *t_ +--- a/source/main/QEPCAD.c ++++ b/source/main/QEPCAD.c +@@ -26,6 +26,8 @@ Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */ char c1,c2; /* Chris variables. */ Step1: /* Normalize. */ -+ t = 0; ++ t = -1; + F_e = F_n = F_s = NIL; FIRST4(Fs,&r,&f,&Q,&Fh); /*Int*/ PCNSTEP = 1; /*Int*/ if (INTERACT()) USERINT(LFS("Before Normalization"),'a'); ---- a/source/ticad/AFUPMPR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/AFUPMPR.c 2018-08-29 20:05:52.867359499 -0600 -@@ -27,6 +27,7 @@ void AFUPMPR(Word M, Word I, Word B, Wor +--- a/source/ticad/AFUPMPR.c ++++ b/source/ticad/AFUPMPR.c +@@ -27,6 +27,7 @@ /* hide L1,Lp,j,jp,s,t,v,vp; */ Step1: /* Initialize. */ @@ -281,9 +296,9 @@ FIRST2(J,&a,&b); t = AFUPSR(M,I,B,b); if (t == 0) ---- a/source/ticad/SUBST.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/SUBST.c 2018-08-29 20:05:52.867359499 -0600 -@@ -24,6 +24,7 @@ Word QepcadCls::SUBST(Word c, Word k, Wo +--- a/source/ticad/SUBST.c ++++ b/source/ticad/SUBST.c +@@ -24,6 +24,7 @@ Word P,L,Sp,T1,T2,G,Q,f,i; Step1: /* Substitute. */ @@ -291,9 +306,9 @@ L = NIL; S = NIL; Bp = B; ---- a/source/ticad/SUBSTR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/SUBSTR.c 2018-08-29 20:05:52.868359497 -0600 -@@ -24,6 +24,7 @@ Word QepcadCls::SUBSTR(Word c, Word k, W +--- a/source/ticad/SUBSTR.c ++++ b/source/ticad/SUBSTR.c +@@ -24,6 +24,7 @@ Word P,L,Q,T1,T2,Sp,G,f,i; Step1: /* Do it. */ @@ -301,9 +316,9 @@ L = NIL; S = NIL; Bp = B; ---- a/source/userint/PREQNCONSTL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/userint/PREQNCONSTL.c 2018-08-29 20:05:52.868359497 -0600 -@@ -73,7 +73,7 @@ Return: /* Prepare for return. */ +--- a/source/userint/PREQNCONSTL.c ++++ b/source/userint/PREQNCONSTL.c +@@ -73,7 +73,7 @@ Word POLYLABEL(Word P, Word p, Word r, Word *t) { diff --git a/build/pkgs/qepcad/patches/qepcad-B-unused.patch b/build/pkgs/qepcad/patches/qepcad-B-unused.patch index b14ade83ae3..6224c1e3a74 100644 --- a/build/pkgs/qepcad/patches/qepcad-B-unused.patch +++ b/build/pkgs/qepcad/patches/qepcad-B-unused.patch @@ -1,5 +1,10 @@ ---- a/cad2d/src/CAD2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/cad2d/src/CAD2D.c 2018-08-29 20:10:06.394075819 -0600 +Description: Remove unused variables and static functions. +Origin: https://src.fedoraproject.org/rpms/qepcad-B/blob/60ceecd/f/qepcad-B-unused.patch +Forwarded: https://github.com/chriswestbrown/qepcad/pull/2 +Last-Update: 2021-06-23 + +--- a/cad2d/src/CAD2D.c ++++ b/cad2d/src/CAD2D.c @@ -20,8 +20,8 @@ void QepcadCls2D::CAD2D(Word Fs, Word *t_, Word *F_e_, Word *F_n_, Word *F_s_) @@ -9,9 +14,9 @@ + Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,f,i,r,t; + Step1: /* Normalize. */ - FIRST4(Fs,&r,&f,&Q,&Fh); - F = NORMQFF(Fh); -@@ -70,9 +70,7 @@ Word AllAdjs(QepcadCls2D &Q, Word D,Word + t = -1; + F_e = F_n = F_s = NIL; +@@ -72,9 +72,7 @@ Word printgraph(Word D, Word L) { @@ -22,9 +27,9 @@ SWRITE("graph: {\n"); ---- a/cad2d/src/CONSTRUCT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/cad2d/src/CONSTRUCT.c 2018-08-29 20:10:06.395075818 -0600 -@@ -19,31 +19,10 @@ Construct a stack. +--- a/cad2d/src/CONSTRUCT.c ++++ b/cad2d/src/CONSTRUCT.c +@@ -19,31 +19,10 @@ ======================================================================*/ #include "cad2d.h" @@ -57,9 +62,9 @@ Step1: /* Extract the projection factors from their attribute lists. */ Word Ps = Ps_; ---- a/cad2d/src/PROJECT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/cad2d/src/PROJECT.c 2018-08-29 20:10:06.395075818 -0600 -@@ -17,7 +17,7 @@ Projection Phase. +--- a/cad2d/src/PROJECT.c ++++ b/cad2d/src/PROJECT.c +@@ -17,7 +17,7 @@ void QepcadCls2D::PROJECT(Word r, Word A,Word *P_, Word *J_) { @@ -68,9 +73,9 @@ Step1: /* Initialize. */ P = LLCOPY(A); ---- a/cad2d/src/TICAD.c.orig 2018-08-29 20:05:52.862359504 -0600 -+++ b/cad2d/src/TICAD.c 2018-08-29 20:10:06.394075819 -0600 -@@ -24,7 +24,7 @@ Output +--- a/cad2d/src/TICAD.c ++++ b/cad2d/src/TICAD.c +@@ -24,7 +24,7 @@ Word QepcadCls2D::TICAD(Word Q,Word F,Word f,Word P,Word A) { @@ -79,9 +84,9 @@ Word L,d; Step1: /* Initialize. */ ---- a/extensions/adj2d/ADJ_2D1.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/ADJ_2D1.c 2018-08-29 20:10:06.400075810 -0600 -@@ -16,6 +16,7 @@ Outputs +--- a/extensions/adj2d/ADJ_2D1.c ++++ b/extensions/adj2d/ADJ_2D1.c +@@ -16,6 +16,7 @@ #include "adj2D.h" #include "adj2D.h" /**************************************/ @@ -89,7 +94,7 @@ static FILE *OUTPUT; static void init() -@@ -30,6 +31,7 @@ static void uninit() +@@ -30,6 +31,7 @@ { fclose(OUTPUT); } @@ -97,9 +102,9 @@ /**************************************/ ---- a/extensions/adj2d/ADJ_2D1P2.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/ADJ_2D1P2.c 2018-08-29 20:10:06.401075809 -0600 -@@ -9,7 +9,7 @@ void sa_send(const char* S); +--- a/extensions/adj2d/ADJ_2D1P2.c ++++ b/extensions/adj2d/ADJ_2D1P2.c +@@ -9,7 +9,7 @@ Word ADJ_2D1P2(Word U, Word V, Word w_l, Word B) { @@ -108,9 +113,9 @@ /*sa_send("[");*/ ---- a/extensions/adj2d/ADJ_2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/ADJ_2D.c 2018-08-29 20:10:06.400075810 -0600 -@@ -17,12 +17,6 @@ Outputs +--- a/extensions/adj2d/ADJ_2D.c ++++ b/extensions/adj2d/ADJ_2D.c +@@ -17,12 +17,6 @@ ======================================================================*/ #include "adj2D.h" #include "adj2D.h" @@ -123,7 +128,7 @@ Word ADJ_2D(Word c, Word c_l, Word c_r, Word P, Word J) { -@@ -37,18 +31,3 @@ Word ADJ_2D(Word c, Word c_l, Word c_r, +@@ -37,18 +31,3 @@ return Sol; } @@ -142,9 +147,9 @@ - IWRITE(ADJ_D_Time); - SWRITE(" millseconds.\n"); -} ---- a/extensions/adj2d/ADJ_2D_PART.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/ADJ_2D_PART.c 2018-08-29 20:10:06.401075809 -0600 -@@ -80,8 +80,3 @@ Step5: /* Clean up evidence of "shadow s +--- a/extensions/adj2d/ADJ_2D_PART.c ++++ b/extensions/adj2d/ADJ_2D_PART.c +@@ -80,8 +80,3 @@ Return: /* Prepare to return. */ return Sol; } @@ -153,9 +158,9 @@ -{ - -} ---- a/extensions/adj2d/oldadj/ACMADJ2D.c.orig 2018-08-29 20:05:52.864359502 -0600 -+++ b/extensions/adj2d/oldadj/ACMADJ2D.c 2018-08-29 20:10:06.400075810 -0600 -@@ -239,7 +239,7 @@ Step3: /* Make assignments. */ +--- a/extensions/adj2d/oldadj/ACMADJ2D.c ++++ b/extensions/adj2d/oldadj/ACMADJ2D.c +@@ -239,7 +239,7 @@ Word ASYS2(Word M, Word H, Word I, Word P2) { @@ -164,9 +169,9 @@ tH = -LBRNSIGN(IUPLBREVAL(M,FIRST(H))); tI = LBRNSIGN(IUPLBREVAL(M,SECOND(I))); ---- a/extensions/adj2d/P1.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/P1.c 2018-08-29 20:10:06.401075809 -0600 -@@ -25,7 +25,7 @@ Notes: P1 has three main cases to deal w +--- a/extensions/adj2d/P1.c ++++ b/extensions/adj2d/P1.c +@@ -25,7 +25,7 @@ Word P1(Word U, Word V, Word W, Word v_l, Word B) { @@ -175,9 +180,9 @@ Sol = NIL; As = NIL; ---- a/extensions/adj2d/P3.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/P3.c 2018-08-29 20:10:06.401075809 -0600 -@@ -29,7 +29,7 @@ Note: Program 3 is the first called, an +--- a/extensions/adj2d/P3.c ++++ b/extensions/adj2d/P3.c +@@ -29,7 +29,7 @@ Word P3(Word U, Word V, Word W, Word v_l, Word B) { @@ -186,9 +191,9 @@ Step1: /* Special Case: No adjacencies to determine. */ if (U == NIL && W == NIL) ---- a/extensions/adj2d/P4.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/P4.c 2018-08-29 20:10:06.400075810 -0600 -@@ -25,7 +25,7 @@ Notes: Program 4 tries to find solutions +--- a/extensions/adj2d/P4.c ++++ b/extensions/adj2d/P4.c +@@ -25,7 +25,7 @@ Word P4(Word U, Word V, Word W, Word v_l, Word B) { @@ -197,9 +202,9 @@ Step1: /* Loop. */ J = LIST2(B,AD2D_N_In); Sol = NIL; As = NIL; ---- a/extensions/adj2d/sac_ext/IUPTSII.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/sac_ext/IUPTSII.c 2018-08-29 20:10:06.401075809 -0600 -@@ -14,7 +14,7 @@ Outputs +--- a/extensions/adj2d/sac_ext/IUPTSII.c ++++ b/extensions/adj2d/sac_ext/IUPTSII.c +@@ -14,7 +14,7 @@ Word IUPTSII(Word A, Word I) { @@ -208,9 +213,9 @@ Step1: /* One-point interval. */ FIRST2(I,&i1,&i2); ---- a/extensions/adj2d/truthbytop/ADJ2DITOEL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/truthbytop/ADJ2DITOEL.c 2018-08-29 20:10:06.400075810 -0600 -@@ -27,7 +27,7 @@ int bc(int a, int b) +--- a/extensions/adj2d/truthbytop/ADJ2DITOEL.c ++++ b/extensions/adj2d/truthbytop/ADJ2DITOEL.c +@@ -27,7 +27,7 @@ Word ADJ2DITOEL(Word L, Word c1, Word c0) { @@ -219,9 +224,9 @@ Step1: /* Initialize & Special Case. */ E = NIL; ---- a/extensions/adj2d/truthbytop/GRAPHMODULE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/adj2d/truthbytop/GRAPHMODULE.c 2018-08-29 20:10:06.400075810 -0600 -@@ -61,9 +61,9 @@ Return: /* Prepare to return. */ +--- a/extensions/adj2d/truthbytop/GRAPHMODULE.c ++++ b/extensions/adj2d/truthbytop/GRAPHMODULE.c +@@ -61,9 +61,9 @@ Word GSTACKHANDLE(Word i, Word G_) { @@ -234,7 +239,7 @@ if (G == NIL || FIRST(FIRST(G)) != i) h = NIL; else -@@ -74,7 +74,7 @@ Word GSTACKHANDLE(Word i, Word G_) +@@ -74,7 +74,7 @@ Word GVERTEXHANDLE(Word v, Word G_) { @@ -243,9 +248,9 @@ FIRST2(v,&i,&j); h = GSTACKHANDLE(i,G_); ---- a/extensions/lift2D/IBPRRIOAPSF.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/IBPRRIOAPSF.c 2018-08-29 20:10:06.399075811 -0600 -@@ -30,8 +30,8 @@ Outputs +--- a/extensions/lift2D/IBPRRIOAPSF.c ++++ b/extensions/lift2D/IBPRRIOAPSF.c +@@ -30,8 +30,8 @@ void IBPRRIOAPSF(Word M, Word I, Word B, BDigit p,BDigit k, Word *J_, Word *L_) { @@ -256,8 +261,8 @@ Step1: /* Convert the minimal polynomial to a software interval polynomial. */ ---- a/extensions/lift2D/LIFTSRD2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/LIFTSRD2D.c 2018-08-29 20:10:06.399075811 -0600 +--- a/extensions/lift2D/LIFTSRD2D.c ++++ b/extensions/lift2D/LIFTSRD2D.c @@ -14,7 +14,7 @@ Word LIFTSRD2D(Word c, Word D, Word P, Word L) @@ -267,7 +272,7 @@ Word M,I,P2,Rp,t,R,Rs,Rt,SP,r,k,c1,c2,prev,Sp,sor,next,s2,nextc,X; Word DL,Rps,pf,a,b,e,temp,count,J; Word R_L; -@@ -113,7 +113,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre +@@ -113,7 +113,6 @@ /* Go through the neighboring stacks! */ /**************************************/ i = 0; @@ -275,7 +280,7 @@ /* LIMITATION OF CURRENT IMPLEMENTATION make sure the larger stack is to the right */ -@@ -127,7 +126,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre +@@ -127,7 +126,6 @@ for(S = NIL; S_R != NIL; ) { /******* BIG LOOP!!!! **********/ @@ -283,7 +288,7 @@ c_R = FIRST(S_R); if (LELTI(c_R,MULSUB) != NIL && FIRST(FIRST(LELTI(c_R,MULSUB))) == J) -@@ -153,7 +151,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre +@@ -153,7 +151,6 @@ NOTDET, LELTI(c_R,DEGSUB),LELTI(c_R,MULSUB)); S = COMP(cp,S); @@ -291,9 +296,9 @@ if (RED(S_L) == NIL && RED(S_R) != NIL) S_R = RED(S_R); else { ---- a/extensions/lift2D/LIFTSRR2D.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/LIFTSRR2D.c 2018-08-29 20:10:06.400075810 -0600 -@@ -38,7 +38,7 @@ void debWRITEINTERVAL(Word I) { +--- a/extensions/lift2D/LIFTSRR2D.c ++++ b/extensions/lift2D/LIFTSRR2D.c +@@ -38,7 +38,7 @@ Word LIFTSRR2D(Word c, Word D, Word P) { @@ -302,7 +307,7 @@ Word M,I,P2,Rp,t,R,Rs,Rt,SP,r,k,c1,c2,prev,Sp,sor,next,s2,nextc,X; Word OC, OT,count; -@@ -108,7 +108,6 @@ Word LIFTSRR2D(Word c, Word D, Word P) +@@ -108,7 +108,6 @@ /* Go through the neighboring stacks! */ /**************************************/ i = 0; @@ -310,7 +315,7 @@ for(S = NIL; S_L != NIL; S_L = RED(S_L), S_R = RED(S_R)) { c_L = FIRST(S_L); -@@ -133,8 +132,7 @@ Word LIFTSRR2D(Word c, Word D, Word P) +@@ -133,8 +132,7 @@ CCONC(LELTI(c,INDX),LIST1(i)),COMP(FIRST(LELTI(c_L,SIGNPF)),LELTI(c,SIGNPF)), NOTDET, LELTI(c_L,DEGSUB),LELTI(c_L,MULSUB)); @@ -320,9 +325,9 @@ else { /************************************************************ ---- a/extensions/lift2D/modHIPRRID.c.orig 2018-08-29 20:05:52.864359502 -0600 -+++ b/extensions/lift2D/modHIPRRID.c 2018-08-29 20:10:06.400075810 -0600 -@@ -22,7 +22,7 @@ void modHIPRRID(BDigit n, interval *A, W +--- a/extensions/lift2D/modHIPRRID.c ++++ b/extensions/lift2D/modHIPRRID.c +@@ -22,7 +22,7 @@ { BDigit k,s,t; interval *B,*C; @@ -331,9 +336,9 @@ Step1: /* Compute a bound for the positive roots. */ k = HIPPRB(n,A); ---- a/extensions/lift2D/modHIPRRISD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/lift2D/modHIPRRISD.c 2018-08-29 20:10:06.399075811 -0600 -@@ -23,7 +23,7 @@ Outputs +--- a/extensions/lift2D/modHIPRRISD.c ++++ b/extensions/lift2D/modHIPRRISD.c +@@ -23,7 +23,7 @@ Word modHIPRRISD(BDigit n, interval *A, Word a, Word b) { @@ -342,9 +347,9 @@ Word c,L,L1,L2; interval *B,*C,J; ---- a/extensions/lift2D/modIBPRRIOAPSF.c.orig 2018-08-29 20:05:52.863359503 -0600 -+++ b/extensions/lift2D/modIBPRRIOAPSF.c 2018-08-29 20:10:06.399075811 -0600 -@@ -31,8 +31,8 @@ Outputs +--- a/extensions/lift2D/modIBPRRIOAPSF.c ++++ b/extensions/lift2D/modIBPRRIOAPSF.c +@@ -31,8 +31,8 @@ void modIBPRRIOAPSF(Word M, Word I, Word B, Word p, Word k, BDigit *J_, BDigit *L_) { @@ -355,9 +360,9 @@ Step1: /* Convert the minimal polynomial to a software interval polynomial. */ ---- a/extensions/newadj/HAP2.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/newadj/HAP2.c 2018-08-29 20:10:06.406075801 -0600 -@@ -18,7 +18,7 @@ Outputs +--- a/extensions/newadj/HAP2.c ++++ b/extensions/newadj/HAP2.c +@@ -18,7 +18,7 @@ Word HAP2(Word U, Word V, Word w_l, Word B) { @@ -366,9 +371,9 @@ Sol = NIL; S = NIL; ---- a/extensions/newadj/HATEST.c.orig 2018-08-29 20:03:25.111519356 -0600 -+++ b/extensions/newadj/HATEST.c 2018-08-29 20:10:06.406075801 -0600 -@@ -111,13 +111,11 @@ Sample point coordinate write. +--- a/extensions/newadj/HATEST.c ++++ b/extensions/newadj/HATEST.c +@@ -111,13 +111,11 @@ void SAMPLECWR(Word c) { @@ -383,7 +388,7 @@ Step2: /* Extended representation. */ if (ISPRIMIT(s)) goto Step3; -@@ -160,7 +158,7 @@ Algebraic number field elements list wri +@@ -160,7 +158,7 @@ void strippedAFLWR(Word M,Word I,Word N,Word a,Word A) { @@ -392,7 +397,7 @@ /* hide i; */ Step1: /* Write. */ -@@ -196,7 +194,7 @@ Side effects +@@ -196,7 +194,7 @@ void ANDWRITExx(Word M, Word I, Word n) { @@ -401,8 +406,8 @@ Word a,a1,a2,b,b1,b2,d,d1,d2,e,f,m; Word N; ---- a/extensions/rend/CH_VIEW_WIN.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/CH_VIEW_WIN.cc 2018-08-29 20:10:06.397075815 -0600 +--- a/extensions/rend/CH_VIEW_WIN.cc ++++ b/extensions/rend/CH_VIEW_WIN.cc @@ -4,7 +4,7 @@ Word CH_VIEW_WIN(Rend_Cell &M, Rend_Win &W, Word Xs, Word Xt, Word Ys,Word Yt, Word e, Word P) @@ -412,9 +417,9 @@ mx = LBRNP2PROD( LBRNSUM(W.x.W,W.X.W) , -1 ); my = LBRNP2PROD( LBRNSUM(W.y.W,W.Y.W) , -1 ); ---- a/extensions/rend/PLOT_2D_CAD.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/PLOT_2D_CAD.cc 2018-08-29 20:10:06.397075815 -0600 -@@ -42,9 +42,8 @@ void PLOT_2D_CAD(Word D, Word P, Word J, +--- a/extensions/rend/PLOT_2D_CAD.cc ++++ b/extensions/rend/PLOT_2D_CAD.cc +@@ -42,9 +42,8 @@ { char c; Word N; @@ -426,9 +431,9 @@ longtostring(getpid(),FIFO_NAME+11); int t = 1, first = 1; int wcount = 0; ---- a/extensions/rend/Rend_Cell.cc.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/rend/Rend_Cell.cc 2018-08-29 20:10:06.398075813 -0600 -@@ -183,7 +183,7 @@ Word Rend_Cell::description(Rend_Win &W) +--- a/extensions/rend/Rend_Cell.cc ++++ b/extensions/rend/Rend_Cell.cc +@@ -183,7 +183,7 @@ *************************************************************/ void Rend_Cell::out_descrip(Rend_Win &W,ostream &out,Mapper &M) { @@ -437,7 +442,7 @@ int px = 8; int py = 8; -@@ -310,7 +310,7 @@ void Rend_Cell::out_descrip(Rend_Win &W, +@@ -310,7 +310,7 @@ *************************************************************/ void Rend_Cell::out_descrip_ps(Rend_Win &W,ostream &out, Mapper &M) { @@ -446,7 +451,7 @@ p = 12; switch (level) { case 0 : -@@ -382,7 +382,7 @@ void Rend_Cell::out_descrip_ps(Rend_Win +@@ -382,7 +382,7 @@ *************************************************************/ void Rend_Cell::out_descrip_ps_color(Rend_Win &W,ostream &out, Mapper &M) { @@ -455,7 +460,7 @@ p = 12; switch (level) { case 0 : -@@ -475,7 +475,7 @@ void Rend_Cell::out_descrip_ps_color(Ren +@@ -475,7 +475,7 @@ *************************************************************/ void Rend_Cell::out_descrip_ps_raji(Rend_Win &W,ostream &out, Mapper &M) { @@ -464,7 +469,7 @@ p = 12; switch (level) { case 0 : -@@ -511,7 +511,7 @@ void Rend_Cell::out_descrip_ps_raji(Rend +@@ -511,7 +511,7 @@ *************************************************************/ void Rend_Cell::out_descrip_ps_standard(Rend_Win &W,ostream &out, Mapper &M) { @@ -473,9 +478,9 @@ p = 12; switch (level) { case 0 : ---- a/extensions/rend/Rend_Sample.cc.orig 2018-08-29 20:07:27.087257552 -0600 -+++ b/extensions/rend/Rend_Sample.cc 2018-08-29 20:10:06.396075816 -0600 -@@ -46,7 +46,7 @@ Rend_Sample_1DS::Rend_Sample_1DS(Word C, +--- a/extensions/rend/Rend_Sample.cc ++++ b/extensions/rend/Rend_Sample.cc +@@ -46,7 +46,7 @@ *************************************************************/ Word Rend_Sample_1DS::coordinate(int k) { @@ -484,7 +489,7 @@ P = A.W; J = I.W; -@@ -64,7 +64,7 @@ Step2: /* Save interval refinement and r +@@ -64,7 +64,7 @@ Word Rend_Sample_1DS::round(int k, int roundup) { @@ -493,7 +498,7 @@ P = A.W; J = I.W; -@@ -109,7 +109,7 @@ Rend_Sample_1DO::Rend_Sample_1DO(Rend_Ce +@@ -109,7 +109,7 @@ Word Rend_Sample_1DO::coordinate(int k) { @@ -502,7 +507,7 @@ do { j1 = l -> sample -> round(kp,1); j2 = r -> sample -> round(kp,0); -@@ -132,8 +132,8 @@ Word Rend_Sample_1DO::coordinate(int k) +@@ -132,8 +132,8 @@ *************************************************************/ Rend_Sample_2DS::Rend_Sample_2DS(Word C) { @@ -513,7 +518,7 @@ //-- Set A to the minpol of sample point, and I to isolating int --/ T = LELTI( C , SAMPLE ); -@@ -172,7 +172,7 @@ Rend_Sample_2DS::Rend_Sample_2DS(Word C) +@@ -172,7 +172,7 @@ *************************************************************/ Word Rend_Sample_2DS::coordinate(int k) { @@ -522,9 +527,9 @@ Step1: /* Initialize and decide if refinement is even necessary. */ ---- a/extensions/rend/WRITE_PS_INTERACTIVE.cc.orig 2018-08-29 20:05:52.863359503 -0600 -+++ b/extensions/rend/WRITE_PS_INTERACTIVE.cc 2018-08-29 20:10:06.399075811 -0600 -@@ -190,8 +190,8 @@ void WRITE_PS_INTERACTIVE(Rend_Cell &M, +--- a/extensions/rend/WRITE_PS_INTERACTIVE.cc ++++ b/extensions/rend/WRITE_PS_INTERACTIVE.cc +@@ -190,8 +190,8 @@ **********************************************************/ case 'a': { @@ -535,9 +540,9 @@ SWRITE("Provide an origin: "); qein() >> Ox >> Oy; OX = IEEELBRN(Ox); ---- a/extensions/sfext/addpol/BPOLSETS.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/addpol/BPOLSETS.c 2018-08-29 20:10:06.405075803 -0600 -@@ -24,7 +24,7 @@ Outputs +--- a/extensions/sfext/addpol/BPOLSETS.c ++++ b/extensions/sfext/addpol/BPOLSETS.c +@@ -24,7 +24,7 @@ void BPOLSETS(Word L_, Word D, Word P, Word *T_, Word *N_) { @@ -546,9 +551,9 @@ S_T,S_L,s_c,c,i,Tb,Tp; Step1: /* Initialization. */ ---- a/extensions/sfext/addpol/CFLCELLLIST.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/addpol/CFLCELLLIST.c 2018-08-29 20:10:06.405075803 -0600 -@@ -21,8 +21,7 @@ static Word comp(Word A, Word B); +--- a/extensions/sfext/addpol/CFLCELLLIST.c ++++ b/extensions/sfext/addpol/CFLCELLLIST.c +@@ -21,8 +21,7 @@ Word CFLCELLLIST(Word L_D) { @@ -558,9 +563,9 @@ Step1: /* Initialize. */ C = NIL; ---- a/extensions/sfext/addpol/CLEAN_BIGLOOP.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/addpol/CLEAN_BIGLOOP.c 2018-08-29 20:10:06.405075803 -0600 -@@ -15,8 +15,8 @@ Inputs +--- a/extensions/sfext/addpol/CLEAN_BIGLOOP.c ++++ b/extensions/sfext/addpol/CLEAN_BIGLOOP.c +@@ -15,8 +15,8 @@ void QepcadCls::CLEAN_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_) { @@ -571,9 +576,9 @@ Word inum,tm,temp; Step1: /* Initialize. */ ---- a/extensions/sfext/addpol/KCONST.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/addpol/KCONST.c 2018-08-29 20:10:06.405075803 -0600 -@@ -53,8 +53,7 @@ static Word S1_EMPTY(Word S1) +--- a/extensions/sfext/addpol/KCONST.c ++++ b/extensions/sfext/addpol/KCONST.c +@@ -53,8 +53,7 @@ static Word S2_IN(Word o, Word S2) { @@ -583,7 +588,7 @@ if ( EQUAL(FIRST(FIRST(S2)),o) ) return (1); } return (0); -@@ -79,30 +78,6 @@ static Word S2_EMPTY(Word S2) +@@ -79,30 +78,6 @@ return ( (S2 == NIL) ); } @@ -614,7 +619,7 @@ /*--------- List of derivative factor indices. --------*/ static Word LIST_OF_DI(Word o, Word J, Word P) -@@ -132,7 +107,7 @@ return (L); +@@ -132,7 +107,7 @@ void KCONST(Word J, Word P, Word G, Word *K_, Word *KT_) { @@ -623,9 +628,9 @@ /* Initialization. */ S1 = NIL; S2 = NIL; ---- a/extensions/sfext/addpol/MINPFSETNSC.c.orig 2018-08-29 20:05:52.865359501 -0600 -+++ b/extensions/sfext/addpol/MINPFSETNSC.c 2018-08-29 20:10:06.405075803 -0600 -@@ -38,8 +38,8 @@ static Word comp1(Word a,Word b) { +--- a/extensions/sfext/addpol/MINPFSETNSC.c ++++ b/extensions/sfext/addpol/MINPFSETNSC.c +@@ -38,8 +38,8 @@ Word MINPFSETNSC(Word P,Word S,Word D,Word K) { @@ -636,9 +641,9 @@ Step1: /* Initialization. */ C = NIL; Sltr = NIL; S_r = NIL; Pltr = NIL; N = LENGTH(K); ---- a/extensions/sfext/addpol/STRIPPED_BIGLOOP.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/addpol/STRIPPED_BIGLOOP.c 2018-08-29 20:10:06.405075803 -0600 -@@ -15,8 +15,8 @@ Inputs +--- a/extensions/sfext/addpol/STRIPPED_BIGLOOP.c ++++ b/extensions/sfext/addpol/STRIPPED_BIGLOOP.c +@@ -15,8 +15,8 @@ void QepcadCls::STRIPPED_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_) { @@ -649,9 +654,9 @@ Word inum,tm,tt; Step1: /* Initialize. */ ---- a/extensions/sfext/crcads/CSORCELL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/crcads/CSORCELL.c 2018-08-29 20:10:06.405075803 -0600 -@@ -19,7 +19,7 @@ Side Effects +--- a/extensions/sfext/crcads/CSORCELL.c ++++ b/extensions/sfext/crcads/CSORCELL.c +@@ -19,7 +19,7 @@ void QepcadCls::CSORCELLTR(Word c, Word Pp, Word PpO, Word PpN) { @@ -660,9 +665,9 @@ k = LELTI(c,LEVEL); ---- a/extensions/sfext/crcads/CSORCELL_MOD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/crcads/CSORCELL_MOD.c 2018-08-29 20:10:06.406075801 -0600 -@@ -25,8 +25,8 @@ static Word LLPFZC(Word c,Word P); +--- a/extensions/sfext/crcads/CSORCELL_MOD.c ++++ b/extensions/sfext/crcads/CSORCELL_MOD.c +@@ -25,8 +25,8 @@ void QepcadCls::CSORCELLTR_MOD(Word c, Word Pp, Word PpO, Word PpN, Word P) { @@ -673,9 +678,9 @@ Step0: k = LELTI(c,LEVEL); ---- a/extensions/sfext/crcads/LISTOFCWTV.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/crcads/LISTOFCWTV.c 2018-08-29 20:10:06.406075801 -0600 -@@ -14,7 +14,7 @@ Outputs +--- a/extensions/sfext/crcads/LISTOFCWTV.c ++++ b/extensions/sfext/crcads/LISTOFCWTV.c +@@ -14,7 +14,7 @@ void LISTOFCWTV(Word C, Word *Lt_, Word *Lf_) { @@ -684,9 +689,9 @@ Step1: /* If C is undetermined recurse on the children. */ t = LELTI(C,TRUTH); ---- a/extensions/sfext/espcad/ESPCADLSNC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/espcad/ESPCADLSNC.c 2018-08-29 20:10:06.406075801 -0600 -@@ -97,7 +97,7 @@ Output +--- a/extensions/sfext/espcad/ESPCADLSNC.c ++++ b/extensions/sfext/espcad/ESPCADLSNC.c +@@ -97,7 +97,7 @@ Word ESPCADCTLSNC(Word c1,Word c2,Word c3,Word i,Word P) { @@ -695,7 +700,7 @@ Step1: /* Initialize. */ if (LELTI(c1,SC_TMPM) == LELTI(c2,SC_TMPM) && -@@ -106,7 +106,6 @@ Step1: /* Initialize. */ +@@ -106,7 +106,6 @@ goto Return; } S1 = LELTI(c1,SC_SIGN); S2 = LELTI(c2,SC_SIGN); @@ -703,9 +708,9 @@ Step2: /* Figure out which polynomials are zero in c2. */ for(n = 0, Sp1 = S1, Sp2 = S2, T = NIL; n < LENGTH(S1); n++) { ---- a/extensions/sfext/formula/FMAATOMREAD.c.orig 2018-08-29 20:05:52.865359501 -0600 -+++ b/extensions/sfext/formula/FMAATOMREAD.c 2018-08-29 20:10:06.403075806 -0600 -@@ -13,9 +13,9 @@ Word POLYINDEX(Word P, Word p, Word r, W +--- a/extensions/sfext/formula/FMAATOMREAD.c ++++ b/extensions/sfext/formula/FMAATOMREAD.c +@@ -13,9 +13,9 @@ void FMAATOMREAD(Word Q, Word V, Word *F_, Word *t_) { @@ -717,9 +722,9 @@ Step1: /* Read the left polynomial. */ t = 1; r = LENGTH(V); F = NIL; ---- a/extensions/sfext/formula/FMACELLEVAL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMACELLEVAL.c 2018-08-29 20:10:06.404075804 -0600 -@@ -15,7 +15,7 @@ Outputs +--- a/extensions/sfext/formula/FMACELLEVAL.c ++++ b/extensions/sfext/formula/FMACELLEVAL.c +@@ -15,7 +15,7 @@ Word FMACELLEVAL(Word F, Word C, Word P) { @@ -728,9 +733,9 @@ switch(FIRST(F)) { ---- a/extensions/sfext/formula/FMAPOLLIST.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAPOLLIST.c 2018-08-29 20:10:06.404075804 -0600 -@@ -19,7 +19,7 @@ static Word subprog(Word F); +--- a/extensions/sfext/formula/FMAPOLLIST.c ++++ b/extensions/sfext/formula/FMAPOLLIST.c +@@ -19,7 +19,7 @@ Word FMAPOLLIST(Word F, Word P) { @@ -739,9 +744,9 @@ Q = NIL; L = subprog(F); ---- a/extensions/sfext/formula/FMATRYDISTRIBUTE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMATRYDISTRIBUTE.c 2018-08-29 20:10:06.404075804 -0600 -@@ -45,7 +45,7 @@ Fp: the conjunction of C and F. The fun +--- a/extensions/sfext/formula/FMATRYDISTRIBUTE.c ++++ b/extensions/sfext/formula/FMATRYDISTRIBUTE.c +@@ -45,7 +45,7 @@ Word FMADISTRIBUTE(Word F, Word C) { @@ -750,7 +755,7 @@ f = FIRST(F); switch(f) -@@ -59,7 +59,6 @@ Word FMADISTRIBUTE(Word F, Word C) +@@ -59,7 +59,6 @@ L = NIL; for(Fp = CINV(RED(F)); Fp != NIL; Fp = RED(Fp)) { @@ -758,9 +763,9 @@ gp = FMADISTRIBUTE(FIRST(Fp),C); L = COMP(gp,L); } ---- a/extensions/sfext/formula/FMAWRITE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAWRITE.c 2018-08-29 20:10:06.404075804 -0600 -@@ -8,7 +8,7 @@ ForMulA write. +--- a/extensions/sfext/formula/FMAWRITE.c ++++ b/extensions/sfext/formula/FMAWRITE.c +@@ -8,7 +8,7 @@ void FMAWRITE(Word F, Word P, Word V) { @@ -769,9 +774,9 @@ switch(FTYPEINFO(F)) { ---- a/extensions/sfext/formula/FMAWRITELATEX.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAWRITELATEX.c 2018-08-29 20:10:06.404075804 -0600 -@@ -8,7 +8,7 @@ ForMulA write. +--- a/extensions/sfext/formula/FMAWRITELATEX.c ++++ b/extensions/sfext/formula/FMAWRITELATEX.c +@@ -8,7 +8,7 @@ void FMAWRITELATEX(Word F, Word P, Word V) { @@ -780,7 +785,7 @@ switch(FTYPEINFO(F)) { -@@ -62,7 +62,7 @@ void FMAWRITELATEX(Word F, Word P, Word +@@ -62,7 +62,7 @@ void FMAWRITELATEXp(Word F, Word P, Word V, Word flag) { @@ -789,9 +794,9 @@ switch(FTYPEINFO(F)) { ---- a/extensions/sfext/formula/FMAWRITENEWLINE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAWRITENEWLINE.c 2018-08-29 20:10:06.404075804 -0600 -@@ -10,7 +10,7 @@ ForMulA write. +--- a/extensions/sfext/formula/FMAWRITENEWLINE.c ++++ b/extensions/sfext/formula/FMAWRITENEWLINE.c +@@ -10,7 +10,7 @@ void FMAWRITENEWLINE(Word F, Word P, Word V, Word n) { @@ -800,7 +805,7 @@ switch(FTYPEINFO(F)) { -@@ -65,7 +65,7 @@ void FMAWRITENEWLINE(Word F, Word P, Wor +@@ -65,7 +65,7 @@ void FMAWRITENEWLINEp(Word F, Word P, Word V, Word flag) { @@ -809,9 +814,9 @@ switch(FTYPEINFO(F)) { ---- a/extensions/sfext/formula/FMAWRITEp.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAWRITEp.c 2018-08-29 20:10:06.404075804 -0600 -@@ -9,7 +9,7 @@ ForMulA write. +--- a/extensions/sfext/formula/FMAWRITEp.c ++++ b/extensions/sfext/formula/FMAWRITEp.c +@@ -9,7 +9,7 @@ void FMAWRITEp(Word F, Word P, Word V, Word flag) { @@ -820,9 +825,9 @@ switch(FTYPEINFO(F)) { ---- a/extensions/sfext/formula/FMAWRITEQEIN.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/formula/FMAWRITEQEIN.c 2018-08-29 20:10:06.404075804 -0600 -@@ -7,7 +7,7 @@ ForMulA write. +--- a/extensions/sfext/formula/FMAWRITEQEIN.c ++++ b/extensions/sfext/formula/FMAWRITEQEIN.c +@@ -7,7 +7,7 @@ void FMAWRITEQEIN(Word F, Word P, Word V) { @@ -831,9 +836,9 @@ Step1: /* Get list of polynomials. */ Q = FMAPOLLIST(F,P); ---- a/extensions/sfext/minhit/MINHITSETSRDR.c.orig 2018-08-29 20:03:25.109519358 -0600 -+++ b/extensions/sfext/minhit/MINHITSETSRDR.c 2018-08-29 20:10:06.402075807 -0600 -@@ -27,7 +27,7 @@ Note: The point is that not only sortin +--- a/extensions/sfext/minhit/MINHITSETSRDR.c ++++ b/extensions/sfext/minhit/MINHITSETSRDR.c +@@ -27,7 +27,7 @@ static Word comp(Word a, Word b) __pure; static Word comp(Word a, Word b) { @@ -842,9 +847,9 @@ ap = a; bp = b; t = BDCOMP(LENGTH(ap),LENGTH(bp)); while ((t == 0) && (bp != NIL) && (ap != NIL)) { ---- a/extensions/sfext/pcadst/CADFPCAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/CADFPCAD.c 2018-08-29 20:10:06.402075807 -0600 -@@ -21,7 +21,7 @@ Outputs +--- a/extensions/sfext/pcadst/CADFPCAD.c ++++ b/extensions/sfext/pcadst/CADFPCAD.c +@@ -21,7 +21,7 @@ Word CADFPCAD(Word D, Word P, Word S, Word I, Word Pb) { @@ -853,9 +858,9 @@ Word Mb,mb; Step1: /* Is D the root cell? */ ---- a/extensions/sfext/pcadst/CADFPCADWI.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/CADFPCADWI.c 2018-08-29 20:10:06.401075809 -0600 -@@ -22,7 +22,7 @@ Outputs +--- a/extensions/sfext/pcadst/CADFPCADWI.c ++++ b/extensions/sfext/pcadst/CADFPCADWI.c +@@ -22,7 +22,7 @@ Word CADFPCADWI(Word D, Word P, Word S, Word I, Word Pb) { @@ -864,9 +869,9 @@ Word Mb,mb; Step1: /* Is D the root cell? */ ---- a/extensions/sfext/pcadst/CCADCONEXT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/CCADCONEXT.c 2018-08-29 20:10:06.402075807 -0600 -@@ -21,7 +21,7 @@ Outputs +--- a/extensions/sfext/pcadst/CCADCONEXT.c ++++ b/extensions/sfext/pcadst/CCADCONEXT.c +@@ -21,7 +21,7 @@ void CCADCONEXT(Word n, Word P, Word C, Word *Ps_, Word *Cs_, Word *N_) { @@ -875,9 +880,9 @@ Word t; ---- a/extensions/sfext/pcadst/CCADCONmod.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/CCADCONmod.c 2018-08-29 20:10:06.402075807 -0600 -@@ -22,7 +22,7 @@ Outputs +--- a/extensions/sfext/pcadst/CCADCONmod.c ++++ b/extensions/sfext/pcadst/CCADCONmod.c +@@ -22,7 +22,7 @@ void CCADCONmod(Word n, Word P, Word C, Word *Ps_, Word *Cs_) { @@ -886,9 +891,9 @@ Step1: /* Set Ps to the empty projection list, and Cs to the full original CAD C. */ ---- a/extensions/sfext/pcadst/LTFOCALWTV.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/LTFOCALWTV.c 2018-08-29 20:10:06.402075807 -0600 -@@ -16,7 +16,7 @@ Outputs +--- a/extensions/sfext/pcadst/LTFOCALWTV.c ++++ b/extensions/sfext/pcadst/LTFOCALWTV.c +@@ -16,7 +16,7 @@ void LTFOCALWTV(Word C, Word n, Word *Lt_, Word *Lf_) { @@ -897,9 +902,9 @@ Step1: /* If C is undetermined recurse on the children. */ t = LELTI(C,SC_CDTV); ---- a/extensions/sfext/pcadst/LTFOCWTV.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/LTFOCWTV.c 2018-08-29 20:10:06.402075807 -0600 -@@ -15,7 +15,7 @@ Outputs +--- a/extensions/sfext/pcadst/LTFOCWTV.c ++++ b/extensions/sfext/pcadst/LTFOCWTV.c +@@ -15,7 +15,7 @@ void LTFOCWTV(Word C, Word *Lt_, Word *Lf_) { @@ -908,9 +913,9 @@ Step1: /* If C is undetermined recurse on the children. */ t = LELTI(C,SC_CDTV); ---- a/extensions/sfext/pcadst/PCADSCANL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/PCADSCANL.c 2018-08-29 20:10:06.402075807 -0600 -@@ -18,7 +18,7 @@ Outputs +--- a/extensions/sfext/pcadst/PCADSCANL.c ++++ b/extensions/sfext/pcadst/PCADSCANL.c +@@ -18,7 +18,7 @@ Word PCADSCANL(Word Cs, Word i) { @@ -919,8 +924,8 @@ Step1: /* Get list of children. */ CC = LELTI(Cs,SC_CDTV); ---- a/extensions/sfext/pcadst/PCADWRITE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/PCADWRITE.c 2018-08-29 20:10:06.402075807 -0600 +--- a/extensions/sfext/pcadst/PCADWRITE.c ++++ b/extensions/sfext/pcadst/PCADWRITE.c @@ -7,7 +7,7 @@ void PCADWRITE(Word Cs, Word Ps) @@ -930,9 +935,9 @@ Step1: /* */ I = PCADCINDEX(Cs); ---- a/extensions/sfext/pcadst/SCADDSCON.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/SCADDSCON.c 2018-08-29 20:10:06.401075809 -0600 -@@ -30,7 +30,7 @@ example, would be bad. +--- a/extensions/sfext/pcadst/SCADDSCON.c ++++ b/extensions/sfext/pcadst/SCADDSCON.c +@@ -30,7 +30,7 @@ Word SCADDSCON(Word C, Word A, Word n) { @@ -941,9 +946,9 @@ Step1: /* Construct a preliminary version of Cs, with all but the child list filled in. */ ---- a/extensions/sfext/pcadst/SIMPLE_CAD_INFO.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/pcadst/SIMPLE_CAD_INFO.c 2018-08-29 20:10:06.401075809 -0600 -@@ -6,7 +6,7 @@ n : the level +--- a/extensions/sfext/pcadst/SIMPLE_CAD_INFO.c ++++ b/extensions/sfext/pcadst/SIMPLE_CAD_INFO.c +@@ -6,7 +6,7 @@ void SIMPLE_CAD_INFO(Word D, Word P, Word n, Word flag) { @@ -952,9 +957,9 @@ Step1: /* Check for the trivial cases. */ switch( DOPFSUFF(P,LIST1(D)) ) { ---- a/extensions/sfext/projpf/PPFLPROJ.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/projpf/PPFLPROJ.c 2018-08-29 20:10:06.403075806 -0600 -@@ -17,11 +17,10 @@ Side Effects +--- a/extensions/sfext/projpf/PPFLPROJ.c ++++ b/extensions/sfext/projpf/PPFLPROJ.c +@@ -17,11 +17,10 @@ void PPFLPROJ(Word L, Word i, Word P) { @@ -967,9 +972,9 @@ while(A != NIL) { ADV(A,&p,&A); ---- a/extensions/sfext/sfcons/CYLIMPFORM.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/CYLIMPFORM.c 2018-08-29 20:10:06.403075806 -0600 -@@ -9,7 +9,7 @@ A : a list of atoms from which to constr +--- a/extensions/sfext/sfcons/CYLIMPFORM.c ++++ b/extensions/sfext/sfcons/CYLIMPFORM.c +@@ -9,7 +9,7 @@ Word CYLIMPFORM(Word C, Word P, Word k, Word A) { @@ -978,9 +983,9 @@ Step1: /* Set L to a list of all (k-1)-level cells over which there are k-level cells with SC_TMPM of TRUE. */ ---- a/extensions/sfext/sfcons/GEOTEST.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/GEOTEST.c 2018-08-29 20:10:06.403075806 -0600 -@@ -101,7 +101,7 @@ Word GEOMERGE(Word c,Word G,Word P) +--- a/extensions/sfext/sfcons/GEOTEST.c ++++ b/extensions/sfext/sfcons/GEOTEST.c +@@ -101,7 +101,7 @@ Word GEOFIT(Word c,Word G,Word P) { @@ -989,7 +994,7 @@ FIRST5(G,&Q,&C_Q,&Ap,&R,&T); FIRST5(c,&Qp,&C_Qp,&App,&Rp,&Tp); Tp = SINTER(Tp,T); -@@ -128,8 +128,8 @@ Word GEOFIT(Word c,Word G,Word P) +@@ -128,8 +128,8 @@ Word GEOTEST(Word C,Word P,Word k,Word A) { @@ -1000,9 +1005,9 @@ Step1: /* Set L to a list of all (k-1)-level cells over which there are k-level cells with SC_TMPM of TRUE. */ ---- a/extensions/sfext/sfcons/SFC2.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFC2.c 2018-08-29 20:10:06.402075807 -0600 -@@ -5,7 +5,7 @@ Solution formula construction version 2 +--- a/extensions/sfext/sfcons/SFC2.c ++++ b/extensions/sfext/sfcons/SFC2.c +@@ -5,7 +5,7 @@ void QepcadCls::SFC2(Word D, Word P, Word J, Word n, Word sfm) { @@ -1011,9 +1016,9 @@ Step1: /* Space is either empty or R^n. */ t = DOPFSUFF(P,LIST1(D)); ---- a/extensions/sfext/sfcons/SFC4.c.orig 2018-08-29 20:05:52.865359501 -0600 -+++ b/extensions/sfext/sfcons/SFC4.c 2018-08-29 20:10:06.403075806 -0600 -@@ -29,7 +29,7 @@ static Word F1; /* Flag indicating that +--- a/extensions/sfext/sfcons/SFC4.c ++++ b/extensions/sfext/sfcons/SFC4.c +@@ -29,7 +29,7 @@ void QepcadCls::SFC4(Word D, Word P, Word J, Word n, Word L) { @@ -1022,9 +1027,9 @@ char e,s,m,c; e = s = m = c = '\0'; T1 = T2 = T3 = T4 = 0; ---- a/extensions/sfext/sfcons/SFCFULLD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SFCFULLD.c 2018-08-29 20:10:06.403075806 -0600 -@@ -19,8 +19,7 @@ static Word PLISTOETAmod(Word p,Word B,W +--- a/extensions/sfext/sfcons/SFCFULLD.c ++++ b/extensions/sfext/sfcons/SFCFULLD.c +@@ -19,8 +19,7 @@ void QepcadCls::SFCFULLD(Word D, Word P, Word J, Word n) { @@ -1034,9 +1039,9 @@ Step1: /* Space is either empty or R^n. */ t = DOPFSUFF_FULLD(P,LIST1(D)); ---- a/extensions/sfext/sfcons/SFCFULLDf.c.orig 2018-08-29 20:05:52.865359501 -0600 -+++ b/extensions/sfext/sfcons/SFCFULLDf.c 2018-08-29 20:10:06.403075806 -0600 -@@ -19,8 +19,7 @@ static Word PLISTOETAmod(Word p,Word B,W +--- a/extensions/sfext/sfcons/SFCFULLDf.c ++++ b/extensions/sfext/sfcons/SFCFULLDf.c +@@ -19,8 +19,7 @@ Word QepcadCls::SFCFULLDf(Word D, Word P, Word J, Word n) { @@ -1046,9 +1051,9 @@ Step1: /* Space is either empty or R^n. */ t = DOPFSUFF_FULLD(P,LIST1(D)); ---- a/extensions/sfext/sfcons/SOLEXTINT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sfcons/SOLEXTINT.c 2018-08-29 20:10:06.403075806 -0600 -@@ -10,7 +10,7 @@ method to call and, of course, calls it. +--- a/extensions/sfext/sfcons/SOLEXTINT.c ++++ b/extensions/sfext/sfcons/SOLEXTINT.c +@@ -10,7 +10,7 @@ void QepcadCls::SOLEXTINT() { @@ -1057,9 +1062,9 @@ Step1: /* Initialization */ T = ACLOCK(); ---- a/extensions/sfext/sort/GMSDS.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/extensions/sfext/sort/GMSDS.c 2018-08-29 20:10:06.404075804 -0600 -@@ -19,7 +19,7 @@ static Word G23VSDS(Word *v,Word m,Word +--- a/extensions/sfext/sort/GMSDS.c ++++ b/extensions/sfext/sort/GMSDS.c +@@ -19,7 +19,7 @@ Word GMSDS(Word *A, Word m, Word (*C)(Word,Word)) { @@ -1068,9 +1073,9 @@ Step1: /* Split. */ m1 = m >> 1; ---- a/plot2d/plot.cc.orig 2018-08-29 20:08:10.014211101 -0600 -+++ b/plot2d/plot.cc 2018-08-29 20:10:06.396075816 -0600 -@@ -112,7 +112,6 @@ void* readdata(void *x) +--- a/plot2d/plot.cc ++++ b/plot2d/plot.cc +@@ -112,7 +112,6 @@ { vector E; istream &in = *inp; @@ -1078,9 +1083,9 @@ char c; do { while( in >> c ) ---- a/source/db/SINGULAR.c.orig 2018-08-29 20:08:10.015211100 -0600 -+++ b/source/db/SINGULAR.c 2018-08-29 20:10:06.406075801 -0600 -@@ -162,8 +162,6 @@ Return: /* Prepare for return. */ +--- a/source/db/SINGULAR.c ++++ b/source/db/SINGULAR.c +@@ -162,8 +162,6 @@ void SingularServer::IPFAC(Word r, Word P, Word *s_, Word *c_, Word *L_) { @@ -1089,7 +1094,7 @@ Word V = CreateVariableList(r); string out = WritePolyForSingular(r,P,V); -@@ -212,9 +210,6 @@ void SingularServer::IPFAC(Word r, Word +@@ -212,9 +210,6 @@ Word ct = IABSF(lcf); sn *= ISIGNF(lcf); @@ -1099,9 +1104,9 @@ // RETURN *s_ = sn; *c_ = ct; ---- a/source/db/unnamedpipe.h.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/db/unnamedpipe.h 2018-08-29 20:10:06.406075801 -0600 -@@ -118,7 +118,7 @@ public: +--- a/source/db/unnamedpipe.h ++++ b/source/db/unnamedpipe.h +@@ -118,7 +118,7 @@ if (openmask[0]) { close(fd[0]); openmask[0] = false; } } void closeOut() { @@ -1110,9 +1115,9 @@ if (_out) { delete _out; _out = 0; } if (openmask[1]) { // write(fd[1],ts,2); ---- a/source/io/DNFLWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/DNFLWR.c 2018-08-29 20:10:06.407075800 -0600 -@@ -13,7 +13,7 @@ Disjuctive Normal Form Label Write. +--- a/source/io/DNFLWR.c ++++ b/source/io/DNFLWR.c +@@ -13,7 +13,7 @@ void DNFLWR(Word N, Word V, Word F) { @@ -1121,9 +1126,9 @@ Step1: /* Classify the formula F. */ T = FIRST(F); ---- a/source/io/DNFWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/DNFWR.c 2018-08-29 20:10:06.408075798 -0600 -@@ -12,7 +12,7 @@ Disjunctive Normal Form Write. +--- a/source/io/DNFWR.c ++++ b/source/io/DNFWR.c +@@ -12,7 +12,7 @@ void DNFWR(Word V, Word F) { @@ -1132,9 +1137,9 @@ Step1: /* Classify the formula F. */ T = FIRST(F); ---- a/source/io/IPLLDWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/IPLLDWR.c 2018-08-29 20:10:06.407075800 -0600 -@@ -12,7 +12,7 @@ Integral Polynomial, List of Lists, Dist +--- a/source/io/IPLLDWR.c ++++ b/source/io/IPLLDWR.c +@@ -12,7 +12,7 @@ void IPLLDWR(Word V, Word A) { @@ -1143,9 +1148,9 @@ /* hide i,j,n,r; */ Step1: /* Write. */ ---- a/source/io/IPLLDWRMOD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/IPLLDWRMOD.c 2018-08-29 20:10:06.407075800 -0600 -@@ -12,7 +12,7 @@ Integral Polynomial, List of Lists, Dist +--- a/source/io/IPLLDWRMOD.c ++++ b/source/io/IPLLDWRMOD.c +@@ -12,7 +12,7 @@ void IPLLDWRMOD(Word V, Word A) { @@ -1154,9 +1159,9 @@ /* hide i,j,n,r; */ Step1: /* Write. */ ---- a/source/io/PCADSWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/PCADSWR.c 2018-08-29 20:10:06.407075800 -0600 -@@ -11,7 +11,7 @@ Partial CAD signature write. +--- a/source/io/PCADSWR.c ++++ b/source/io/PCADSWR.c +@@ -11,7 +11,7 @@ void PCADSWR(Word c) { @@ -1165,9 +1170,9 @@ /* hide p; */ Step1: /* common. */ ---- a/source/io/PCADWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/PCADWR.c 2018-08-29 20:10:06.407075800 -0600 -@@ -11,7 +11,7 @@ Partial CAD write. +--- a/source/io/PCADWR.c ++++ b/source/io/PCADWR.c +@@ -11,7 +11,7 @@ void PCADWR(Word c) { @@ -1176,9 +1181,9 @@ /* hide p; */ Step1: /* common. */ ---- a/source/io/PRODWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/PRODWR.c 2018-08-29 20:10:06.407075800 -0600 -@@ -10,7 +10,8 @@ Product Write. +--- a/source/io/PRODWR.c ++++ b/source/io/PRODWR.c +@@ -10,7 +10,8 @@ void PRODWR(Word v) { @@ -1188,9 +1193,9 @@ /* hide i,j,n1; */ SWRITE("In \"PRODWR\"! This is dead code!\n"); exit(1); ---- a/source/io/SAMPLEWR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/io/SAMPLEWR.c 2018-08-29 20:10:06.408075798 -0600 -@@ -55,8 +55,7 @@ Return: /* Prepare for return. */ +--- a/source/io/SAMPLEWR.c ++++ b/source/io/SAMPLEWR.c +@@ -55,8 +55,7 @@ void QepcadCls::SAMPLEWR(Word c) { @@ -1200,9 +1205,9 @@ s = LELTI(c,SAMPLE); k = LELTI(c,LEVEL); ---- a/source/main/CADautoConst.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/main/CADautoConst.c 2018-08-29 20:10:06.409075797 -0600 -@@ -16,11 +16,7 @@ been set to something other than NIL, th +--- a/source/main/CADautoConst.c ++++ b/source/main/CADautoConst.c +@@ -16,11 +16,7 @@ void QepcadCls::CADautoConst() { @@ -1215,9 +1220,9 @@ Step1: /* Normalize. */ FIRST4(GVF,&r,&f,&Q,&Fh); ---- a/source/main/INITCTRL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/main/INITCTRL.c 2018-08-29 20:10:06.409075797 -0600 -@@ -7,12 +7,9 @@ Initialize Program/Trace Control. +--- a/source/main/INITCTRL.c ++++ b/source/main/INITCTRL.c +@@ -7,12 +7,9 @@ void INITCTRL() { @@ -1232,9 +1237,9 @@ Step2: /* Initialize Algorithm Trace Control Variables. */ TCPROJ = NIL; ---- a/source/main/INITIO.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/main/INITIO.c 2018-08-29 20:10:06.409075797 -0600 -@@ -14,8 +14,6 @@ void OutputContextInit(ostream&); +--- a/source/main/INITIO.c ++++ b/source/main/INITIO.c +@@ -14,8 +14,6 @@ void INITIO() { @@ -1243,9 +1248,9 @@ Step1: /* Initialize Input. */ if (isatty(0)) InputContextInit(*(new readlineIstream())); ---- a/source/main/INITSTAT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/main/INITSTAT.c 2018-08-29 20:10:06.409075797 -0600 -@@ -7,10 +7,6 @@ Initialize Statistics. +--- a/source/main/INITSTAT.c ++++ b/source/main/INITSTAT.c +@@ -7,10 +7,6 @@ void INITSTAT() { @@ -1256,9 +1261,20 @@ Step5: /* Statistics on Databases. */ TMDBMNG = 0; TMDBSAV = 0; ---- a/source/main/QEPCADauto.c.orig 2018-08-29 20:05:52.867359499 -0600 -+++ b/source/main/QEPCADauto.c 2018-08-29 20:10:06.409075797 -0600 -@@ -20,11 +20,8 @@ Quantifier Elimination by Partial Cylind +--- a/source/main/PRINTBANNER.c ++++ b/source/main/PRINTBANNER.c +@@ -12,7 +12,7 @@ + static const char* versdate = "Thu Feb 25 14:48:53 EST 2021"; + + void setversline() { +- int j; ++ /* int j; */ + SWRITE(" Version B "); + SWRITE(version); + SWRITE(", "); +--- a/source/main/QEPCADauto.c ++++ b/source/main/QEPCADauto.c +@@ -20,11 +20,8 @@ void QepcadCls::QEPCADauto(Word Fs, Word *t_, Word *F_e_, Word *F_n_, Word *F_s_) { @@ -1271,10 +1287,10 @@ + /* hide t; */ Step1: /* Normalize. */ - t = 0; ---- a/source/main/QEPCAD.c.orig 2018-08-29 20:05:52.867359499 -0600 -+++ b/source/main/QEPCAD.c 2018-08-29 20:10:06.409075797 -0600 -@@ -22,9 +22,6 @@ void QepcadCls::QEPCAD(Word Fs, Word *t_ + t = -1; +--- a/source/main/QEPCAD.c ++++ b/source/main/QEPCAD.c +@@ -22,9 +22,6 @@ { Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t, T; /* hide Ths,i,t; */ @@ -1282,11 +1298,37 @@ - Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */ - char c1,c2; /* Chris variables. */ Step1: /* Normalize. */ - t = 0; + t = -1; F_e = F_n = F_s = NIL; ---- a/source/proj/ECLEVEL.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/ECLEVEL.c 2018-08-29 20:10:06.408075798 -0600 -@@ -14,10 +14,9 @@ Output +--- a/source/main/qepcadcls.c ++++ b/source/main/qepcadcls.c +@@ -87,7 +87,6 @@ + OrigAtom &A = conjuncts[k]; + Word r = A.r; + Word P = A.P; +- Word sigma = A.relop; + Word s, c, L; + IPFACDB(r,P,&s,&c,&L); // FACTOR + if (ISIGNF(c)<= 0) { FAIL("QepcadCls::UnsatCore::prepareForLift","Unexpected non-positive sign!"); } +@@ -154,6 +153,7 @@ + /*GEOP*/{NOOP,LEOP,EQOP,LEOP,GEOP,ALOP,GEOP,ALOP}, + /*ALOP*/{NOOP,ALOP,EQOP,ALOP,ALOP,ALOP,ALOP,ALOP} + }; ++#if 0 + static + short T_sum[8][8] = { + //______|NOOP_LTOP_EQOP_LEOP_GTOP_NEOP_GEOP_ALOP +@@ -166,6 +166,7 @@ + /*GEOP*/{NOOP,ALOP,GEOP,ALOP,GTOP,ALOP,GEOP,ALOP}, + /*ALOP*/{NOOP,ALOP,ALOP,ALOP,ALOP,ALOP,ALOP,ALOP} + }; ++#endif + + inline int signToSigma(int s) { return s < 0 ? LTOP : (s == 0 ? EQOP : GTOP); } + +--- a/source/proj/ECLEVEL.c ++++ b/source/proj/ECLEVEL.c +@@ -14,10 +14,9 @@ Word ECLEVEL(Word L) { @@ -1298,9 +1340,9 @@ k = 0; Step2: /* Loop. */ ---- a/source/proj/PROJCO.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJCO.c 2018-08-29 20:10:06.408075798 -0600 -@@ -15,7 +15,7 @@ Collins' projection. +--- a/source/proj/PROJCO.c ++++ b/source/proj/PROJCO.c +@@ -15,7 +15,7 @@ Word QepcadCls::PROJCO(Word r, Word A) { @@ -1309,9 +1351,9 @@ Rpp,Rs2,S1,Sp1,T,W,ap1,b,d,i,i1,i2,k,t; Step1: /* $r = 2$. */ ---- a/source/proj/PROJECTauto.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJECTauto.c 2018-08-29 20:10:06.408075798 -0600 -@@ -17,7 +17,7 @@ Projection Phase. +--- a/source/proj/PROJECTauto.c ++++ b/source/proj/PROJECTauto.c +@@ -17,7 +17,7 @@ void QepcadCls::PROJECTauto(Word r, Word A, Word *P_, Word *J_) { @@ -1320,9 +1362,9 @@ Step1: /* Initialize. */ P = LLCOPY(A); ---- a/source/proj/PROJECT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJECT.c 2018-08-29 20:10:06.408075798 -0600 -@@ -19,7 +19,7 @@ Projection Phase. +--- a/source/proj/PROJECT.c ++++ b/source/proj/PROJECT.c +@@ -19,7 +19,7 @@ void QepcadCls::PROJECT(Word r, Word A, Word *P_, Word *J_) { @@ -1331,9 +1373,9 @@ Step1: /* Initialize. */ P = LLCOPY(A); ---- a/source/proj/PROJMCECmod.c.orig 2018-08-29 20:07:50.511232206 -0600 -+++ b/source/proj/PROJMCECmod.c 2018-08-29 20:10:06.408075798 -0600 -@@ -18,8 +18,8 @@ not propogate! +--- a/source/proj/PROJMCECmod.c ++++ b/source/proj/PROJMCECmod.c +@@ -18,8 +18,8 @@ Word QepcadCls::PROJMCECmod(Word r, Word A) { @@ -1344,9 +1386,9 @@ Step0: /* Obtain pivot constraint: If pivot is not all of level k, we can't use it! */ C = LELTI(GVPIVOT,r); ---- a/source/proj/PROJMCmod.c.orig 2018-08-29 20:07:50.511232206 -0600 -+++ b/source/proj/PROJMCmod.c 2018-08-29 20:10:06.409075797 -0600 -@@ -20,8 +20,8 @@ using namespace std; +--- a/source/proj/PROJMCmod.c ++++ b/source/proj/PROJMCmod.c +@@ -20,8 +20,8 @@ Word QepcadCls::PROJMCmod(Word r, Word A) { @@ -1357,9 +1399,9 @@ Step1: /* Obtain coefficients. */ P = NIL; ---- a/source/proj/PROJMCx.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/proj/PROJMCx.c 2018-08-29 20:10:06.408075798 -0600 -@@ -15,7 +15,7 @@ McCallum's projection excluding leading +--- a/source/proj/PROJMCx.c ++++ b/source/proj/PROJMCx.c +@@ -15,7 +15,7 @@ Word QepcadCls::PROJMCx(Word r, Word A) { @@ -1368,9 +1410,9 @@ Step1: /* Obtain coefficients. */ P = NIL; ---- a/source/saclib/GCSI.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/saclib/GCSI.c 2018-08-29 20:10:06.408075798 -0600 -@@ -23,10 +23,9 @@ extern void gcw_MARK(); +--- a/source/saclib/GCSI.c ++++ b/source/saclib/GCSI.c +@@ -23,10 +23,9 @@ void GCSI(Word s, char *EACSTACK) { @@ -1383,9 +1425,9 @@ Step1: /* Setup. */ if (GCM == 1) { ---- a/source/sysolve/EVALSYS.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/sysolve/EVALSYS.c 2018-08-29 20:10:06.407075800 -0600 -@@ -20,7 +20,7 @@ Outputs: +--- a/source/sysolve/EVALSYS.c ++++ b/source/sysolve/EVALSYS.c +@@ -20,7 +20,7 @@ Word EVALSYS(Word S, BDigit t, Word R) { @@ -1394,9 +1436,9 @@ Step1: /* Construct the skelaton of L, the answer. */ r = LENGTH(S); ---- a/source/sysolve/SYSSOLVE.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/sysolve/SYSSOLVE.c 2018-08-29 20:10:06.407075800 -0600 -@@ -21,7 +21,7 @@ Output +--- a/source/sysolve/SYSSOLVE.c ++++ b/source/sysolve/SYSSOLVE.c +@@ -21,7 +21,7 @@ Word SYSSOLVECAD(BDigit r, Word L, Word A, Word Vp, QepcadCls &Q) { @@ -1405,9 +1447,9 @@ /* Set variable list */ if (LENGTH(Vp) < r) { ---- a/source/sysolve/VERIFYCONSTSIGN.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/sysolve/VERIFYCONSTSIGN.c 2018-08-29 20:10:06.406075801 -0600 -@@ -78,7 +78,7 @@ BDigit VERIFYPOSITIVITY(Word A, BDigit r +--- a/source/sysolve/VERIFYCONSTSIGN.c ++++ b/source/sysolve/VERIFYCONSTSIGN.c +@@ -78,7 +78,7 @@ else if (FIRST(A) != IROOT) { /* atomic formula is "P_A T_A 0", where P_A is of level k_A. */ @@ -1416,9 +1458,9 @@ FIRST3(A,&T_A,&P_A,&k_A); if (r != k_A) { goto Return; } ---- a/source/ticad/ACCCVBC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/ACCCVBC.c 2018-08-29 20:10:06.411075794 -0600 -@@ -28,7 +28,7 @@ static Word SECTIONPOLS(Word k, Word c, +--- a/source/ticad/ACCCVBC.c ++++ b/source/ticad/ACCCVBC.c +@@ -28,7 +28,7 @@ Word QepcadCls::ACCCVBC(Word k, Word c, Word M, Word B1, Word b, Word* B1h) { @@ -1427,7 +1469,7 @@ Step1: /* Initialization **********************************************/ a = NIL; /* this is the pseudo-sample point we're building up *******/ -@@ -44,7 +44,6 @@ Step1: /* Initialization *************** +@@ -44,7 +44,6 @@ Step2: /* Loop over each level from 1 to k ****************************/ for(i = 1; i <= k; i++) { I_i = LELTI(IV,i); @@ -1435,7 +1477,7 @@ c_i = LELTI(LELTI(c_i,CHILD),I_i); Step3: /* c_i is a section over a 0-dimensional cell ******************/ -@@ -108,11 +107,10 @@ L : the list of all k-level polynomials +@@ -108,11 +107,10 @@ ======================================================================*/ static Word SECTIONPOLS(Word k, Word c, Word P) { @@ -1449,9 +1491,9 @@ i = FIRST(FIRST(M)); L = COMP(LELTI(P_k,i),L); } return L; ---- a/source/ticad/ACCCVBCR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/ACCCVBCR.c 2018-08-29 20:10:06.409075797 -0600 -@@ -25,7 +25,7 @@ static Word SECTIONPOLS(Word k, Word c, +--- a/source/ticad/ACCCVBCR.c ++++ b/source/ticad/ACCCVBCR.c +@@ -25,7 +25,7 @@ Word QepcadCls::ACCCVBCR(Word k, Word c, Word B1, Word b, Word* B1h) { @@ -1460,7 +1502,7 @@ Step1: /* Initialization **********************************************/ a = NIL; /* this is the pseudo-sample point we're building up *******/ -@@ -41,7 +41,6 @@ Step2: /* Loop over each level from 1 to +@@ -41,7 +41,6 @@ c_i = GVPC; for(i = 1; i <= k; i++) { I_i = LELTI(IV,i); @@ -1468,7 +1510,7 @@ c_i = LELTI(LELTI(c_i,CHILD),I_i); Step3: /* c_i is a section over a 0-dimensional cell ******************/ -@@ -99,11 +98,10 @@ L : the list of all k-level polynomials +@@ -99,11 +98,10 @@ ======================================================================*/ static Word SECTIONPOLS(Word k, Word c, Word P) { @@ -1482,9 +1524,9 @@ i = FIRST(FIRST(M)); L = COMP(LELTI(P_k,i),L); } return L; ---- a/source/ticad/APEQC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/APEQC.c 2018-08-29 20:10:06.410075795 -0600 -@@ -21,7 +21,7 @@ Effect +--- a/source/ticad/APEQC.c ++++ b/source/ticad/APEQC.c +@@ -21,7 +21,7 @@ void QepcadCls::APEQC(Word c, Word k, Word P) { @@ -1493,9 +1535,9 @@ Step1: /* Get (k+1)-level equational constraints, if none, return. */ E = LELTI(GVEQNCONST,k+1); ---- a/source/ticad/CONSTRUCT.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/CONSTRUCT.c 2018-08-29 20:10:06.411075794 -0600 -@@ -24,8 +24,7 @@ Word IUPSBRRI(Word B, BDigit k); +--- a/source/ticad/CONSTRUCT.c ++++ b/source/ticad/CONSTRUCT.c +@@ -24,8 +24,7 @@ void QepcadCls::CONSTRUCT(Word c, Word k, Word f, Word Ps_, Word As) { BDigit p,t,Ths; @@ -1505,7 +1547,7 @@ Step0: /* Root cell. */ if (k == 0) { CONSTRUCT1(c,k,f,Ps_,As); goto Return; } -@@ -36,9 +35,7 @@ Step1: /* Extract the projection factors +@@ -36,9 +35,7 @@ for(Word Pt = CINV(Ps_); Pt != NIL; Pt = RED(Pt)) { Word Pt1 = FIRST(Pt); @@ -1516,7 +1558,7 @@ Ps = COMP(LELTI(Pt1,PO_POLY),Ps); } -@@ -242,9 +239,8 @@ BDigit C1COMP(Word A, Word B) +@@ -242,9 +239,8 @@ /* Root cell. */ void QepcadCls::CONSTRUCT1(Word c, Word k, Word f, Word Ps_, Word As) { @@ -1528,7 +1570,7 @@ Step1: /* Extract the projection factors from their attribute lists. */ Ps = NIL; /* Basis for real-root isolation - i.e. the polynomials */ -@@ -390,7 +386,7 @@ Word IUPSBRRIIR(Word t_B, BDigit p, BDig +@@ -390,7 +386,7 @@ if (Li == 0) { fail = true; goto Return; } for(BDigit t = (n%2==1 ? 1 : -1); Li != NIL; t *= -1, Li = RED(Li)) { @@ -1537,9 +1579,9 @@ Word J = SIPIR(C[i],I,t,k); L = COMP(LIST3(i,J,t),L); } ---- a/source/ticad/EC1.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/EC1.c 2018-08-29 20:10:06.411075794 -0600 -@@ -15,7 +15,7 @@ Establish Children of the root. +--- a/source/ticad/EC1.c ++++ b/source/ticad/EC1.c +@@ -15,7 +15,7 @@ void EC1(Word c, Word L, Word Bs) { @@ -1548,7 +1590,7 @@ /* hide kp,xp; */ Word T; -@@ -58,7 +58,6 @@ Step4: /* First section. */ +@@ -58,7 +58,6 @@ Step5: /* Check if there are more roots. */ if (Lp == NIL) goto Step9; @@ -1556,9 +1598,9 @@ Step6: /* Next sector. */ ADV(Lp,&Lp1,&Lp); ---- a/source/ticad/EC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/EC.c 2018-08-29 20:10:06.410075795 -0600 -@@ -16,7 +16,7 @@ Establish Children. +--- a/source/ticad/EC.c ++++ b/source/ticad/EC.c +@@ -16,7 +16,7 @@ void EC(Word c, Word L, Word E, Word Bs) { @@ -1567,7 +1609,7 @@ /* hide kp,xp; */ Word T; -@@ -52,7 +52,6 @@ Step4: /* First section. */ +@@ -52,7 +52,6 @@ Step5: /* Check if there are more roots. */ if (Lp == NIL) goto Step9; @@ -1575,9 +1617,9 @@ Step6: /* Next sector. */ ADV2(Lp,&I,&B,&Lp); FIRST2(I,&l,&r); ---- a/source/ticad/ECR.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/ECR.c 2018-08-29 20:10:06.410075795 -0600 -@@ -16,7 +16,7 @@ Establish Children on a rational sample +--- a/source/ticad/ECR.c ++++ b/source/ticad/ECR.c +@@ -16,7 +16,7 @@ void ECR(Word c, Word L, Word E, Word Bs) { @@ -1586,7 +1628,7 @@ /* hide kp,xp; */ Word T; -@@ -55,7 +55,6 @@ Step4: /* First section. */ +@@ -55,7 +55,6 @@ Step5: /* Check if there are more roots. */ if (Lp == NIL) goto Step9; @@ -1594,9 +1636,9 @@ Step6: /* Next sector. */ ADV2(Lp,&I,&B,&Lp); FIRST2(I,&l,&r); ---- a/source/ticad/MAFUPGCD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/MAFUPGCD.c 2018-08-29 20:10:06.409075797 -0600 -@@ -17,7 +17,7 @@ Output +--- a/source/ticad/MAFUPGCD.c ++++ b/source/ticad/MAFUPGCD.c +@@ -17,7 +17,7 @@ Word MAFUPGCD(Word p, Word M, Word A, Word B) { @@ -1605,9 +1647,9 @@ Step1: /* A = 0 \/ B = 0 */ if (A == 0) { ---- a/source/ticad/MAFUPMON.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/MAFUPMON.c 2018-08-29 20:10:06.410075795 -0600 -@@ -17,7 +17,7 @@ Output +--- a/source/ticad/MAFUPMON.c ++++ b/source/ticad/MAFUPMON.c +@@ -17,7 +17,7 @@ Word MAFUPMON(Word p, Word M, Word A) { @@ -1616,9 +1658,9 @@ Step1: /* A = 0 */ if (A == 0) { ---- a/source/ticad/QFFTEV.c.orig 2018-08-29 20:03:25.112519355 -0600 -+++ b/source/ticad/QFFTEV.c 2018-08-29 20:10:06.411075794 -0600 -@@ -17,8 +17,8 @@ static Word ATOMETFEVAL(Word Q, Word D, +--- a/source/ticad/QFFTEV.c ++++ b/source/ticad/QFFTEV.c +@@ -17,8 +17,8 @@ Word QepcadCls::QFFTEV(Word F, Word c, Word k) { @@ -1629,9 +1671,9 @@ Step1: /* Classify the formula $F$. */ T = FIRST(F); ---- a/source/ticad/SIGNP1.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/SIGNP1.c 2018-08-29 20:10:06.410075795 -0600 -@@ -19,7 +19,7 @@ using namespace std; +--- a/source/ticad/SIGNP1.c ++++ b/source/ticad/SIGNP1.c +@@ -19,7 +19,7 @@ void SIGNP1(Word c, Word P1, Word I) { @@ -1640,9 +1682,9 @@ Step1: /* Compute the signatures of $P_1$. */ vector S; ---- a/source/ticad/SUBST.c.orig 2018-08-29 20:05:52.867359499 -0600 -+++ b/source/ticad/SUBST.c 2018-08-29 20:10:06.410075795 -0600 -@@ -20,7 +20,6 @@ Substitute the sample point into the pro +--- a/source/ticad/SUBST.c ++++ b/source/ticad/SUBST.c +@@ -20,7 +20,6 @@ Word QepcadCls::SUBST(Word c, Word k, Word M, Word b, Word B) { Word B1,Bp,S,S1; @@ -1650,9 +1692,9 @@ Word P,L,Sp,T1,T2,G,Q,f,i; Step1: /* Substitute. */ ---- a/source/ticad/SUBSTR.c.orig 2018-08-29 20:05:52.868359497 -0600 -+++ b/source/ticad/SUBSTR.c 2018-08-29 20:10:06.411075794 -0600 -@@ -20,7 +20,6 @@ Substitute the rational sample point int +--- a/source/ticad/SUBSTR.c ++++ b/source/ticad/SUBSTR.c +@@ -20,7 +20,6 @@ Word QepcadCls::SUBSTR(Word c, Word k, Word b, Word B) { Word B1,Bp,S,S1; @@ -1660,9 +1702,9 @@ Word P,L,Q,T1,T2,Sp,G,f,i; Step1: /* Do it. */ ---- a/source/ticad/TICADauto.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/TICADauto.c 2018-08-29 20:10:06.410075795 -0600 -@@ -24,7 +24,7 @@ Output +--- a/source/ticad/TICADauto.c ++++ b/source/ticad/TICADauto.c +@@ -24,7 +24,7 @@ Word QepcadCls::TICADauto(Word Q, Word F, Word f, Word P, Word A) { @@ -1671,9 +1713,9 @@ Step1: /* Initialize. */ D = INITPCAD(); ---- a/source/ticad/TICAD.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/ticad/TICAD.c 2018-08-29 20:10:06.410075795 -0600 -@@ -24,7 +24,7 @@ Output +--- a/source/ticad/TICAD.c ++++ b/source/ticad/TICAD.c +@@ -24,7 +24,7 @@ Word QepcadCls::TICAD(Word Q, Word F, Word f, Word P, Word A) { @@ -1682,9 +1724,9 @@ Step1: /* Initialize. */ D = INITPCAD(); ---- a/source/userint/PRDLFI.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/userint/PRDLFI.c 2018-08-29 20:10:06.411075794 -0600 -@@ -7,7 +7,7 @@ Process "display-level-factors i" comman +--- a/source/userint/PRDLFI.c ++++ b/source/userint/PRDLFI.c +@@ -7,7 +7,7 @@ void QepcadCls::PRDLFI() { @@ -1693,9 +1735,9 @@ Step1: /* Get level. */ i = IREAD(); ---- a/source/userint/PREQNCONSTL.c.orig 2018-08-29 20:05:52.868359497 -0600 -+++ b/source/userint/PREQNCONSTL.c 2018-08-29 20:10:06.412075792 -0600 -@@ -90,7 +90,7 @@ Word POLYLABEL(Word P, Word p, Word r, W +--- a/source/userint/PREQNCONSTL.c ++++ b/source/userint/PREQNCONSTL.c +@@ -90,7 +90,7 @@ void QepcadCls::PREQNCONSTPOLY() { @@ -1704,9 +1746,9 @@ // Check if propagation of equational constraints was specified. if (PCPROPEC == FALSE) { ---- a/source/userint/PRMCC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/userint/PRMCC.c 2018-08-29 20:10:06.411075794 -0600 -@@ -10,7 +10,7 @@ Process "manually choose a cell" command +--- a/source/userint/PRMCC.c ++++ b/source/userint/PRMCC.c +@@ -10,7 +10,7 @@ void QepcadCls::PRMCC(Word *t_) { @@ -1715,9 +1757,9 @@ /* hide t; */ Step1: /* Read in an argument. */ ---- a/source/userint/PRPROPEC.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/userint/PRPROPEC.c 2018-08-29 20:10:06.412075792 -0600 -@@ -7,7 +7,7 @@ Process prop-eqn-const command. +--- a/source/userint/PRPROPEC.c ++++ b/source/userint/PRPROPEC.c +@@ -7,7 +7,7 @@ void QepcadCls::PRPROPEC() { @@ -1726,9 +1768,9 @@ Step1: /* Toggle the PCPROPEC global variable and initialize globals. */ GVEQNCONST = GVPIVOT = NIL; ---- a/source/userint/PRRMPF.c.orig 2018-01-25 14:25:22.000000000 -0700 -+++ b/source/userint/PRRMPF.c 2018-08-29 20:10:06.411075794 -0600 -@@ -7,7 +7,7 @@ Process "Remove Projection Factor" comma +--- a/source/userint/PRRMPF.c ++++ b/source/userint/PRRMPF.c +@@ -7,7 +7,7 @@ void QepcadCls::PRRMPF() { From 365a88eb882b01acba077a2292407274e052af88 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 7 Dec 2023 17:22:21 -0800 Subject: [PATCH 2/6] build/pkgs/qepcad/distros: Add debian, fedora, macports --- build/pkgs/qepcad/distros/debian.txt | 1 + build/pkgs/qepcad/distros/fedora.txt | 1 + build/pkgs/qepcad/distros/macports.txt | 1 + 3 files changed, 3 insertions(+) create mode 100644 build/pkgs/qepcad/distros/debian.txt create mode 100644 build/pkgs/qepcad/distros/fedora.txt create mode 100644 build/pkgs/qepcad/distros/macports.txt diff --git a/build/pkgs/qepcad/distros/debian.txt b/build/pkgs/qepcad/distros/debian.txt new file mode 100644 index 00000000000..38b796f2c4b --- /dev/null +++ b/build/pkgs/qepcad/distros/debian.txt @@ -0,0 +1 @@ +qepcad diff --git a/build/pkgs/qepcad/distros/fedora.txt b/build/pkgs/qepcad/distros/fedora.txt new file mode 100644 index 00000000000..d50223a4423 --- /dev/null +++ b/build/pkgs/qepcad/distros/fedora.txt @@ -0,0 +1 @@ +qepcad-B diff --git a/build/pkgs/qepcad/distros/macports.txt b/build/pkgs/qepcad/distros/macports.txt new file mode 100644 index 00000000000..38b796f2c4b --- /dev/null +++ b/build/pkgs/qepcad/distros/macports.txt @@ -0,0 +1 @@ +qepcad From 78e6cd857ec883e9be33cd178a34ddc2c3357a39 Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Fri, 8 Dec 2023 11:23:51 +0000 Subject: [PATCH 3/6] use "real" upstream tarballs, update saclib, update SPKG.rst files --- build/pkgs/qepcad/SPKG.rst | 21 ++++----------------- build/pkgs/qepcad/checksums.ini | 10 +++++----- build/pkgs/saclib/SPKG.rst | 25 ++++--------------------- build/pkgs/saclib/checksums.ini | 7 ++++--- build/pkgs/saclib/package-version.txt | 2 +- 5 files changed, 18 insertions(+), 47 deletions(-) diff --git a/build/pkgs/qepcad/SPKG.rst b/build/pkgs/qepcad/SPKG.rst index 6800372bc56..f95888fa9d9 100644 --- a/build/pkgs/qepcad/SPKG.rst +++ b/build/pkgs/qepcad/SPKG.rst @@ -10,24 +10,11 @@ cylindrical algebraic decomposition License ------- -QEPCAD B Copyright (c) 1990, 2008, Hoon Hong & Chris Brown (contact -wcbrown@usna.edu) - -Permission to use, copy, modify, and/or distribute this software, -including source files, README files, etc., for any purpose with or -without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - +ICS :wikipedia:`ISC_license` Upstream Contact ---------------- - https://github.com/chriswestbrown/qepcad +- Repository: https://github.com/chriswestbrown/qepcad +- Tarballs: https://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/IQ.html +- Website: (outdated) https://www.usna.edu/Users/cs/wcbrown/qepcad/B/QEPCAD.html diff --git a/build/pkgs/qepcad/checksums.ini b/build/pkgs/qepcad/checksums.ini index 6a614100808..48c23eaad91 100644 --- a/build/pkgs/qepcad/checksums.ini +++ b/build/pkgs/qepcad/checksums.ini @@ -1,5 +1,5 @@ -tarball=qepcad-VERSION.tar.xz -sha1=3c482a88bf552cea6702e4db6a3d17e4b7549eb6 -md5=7d3f85d253473f6d90d83033ff22820d -cksum=2757536071 -upstream_url=http://deb.debian.org/debian/pool/main/q/qepcad/qepcad_VERSION+ds.orig.tar.xz +tarball=qepcad-VERSION.tar.gz +sha1=644324e1224350cc663e93c5ce99b93de0de26e3 +md5=f368459cfab2d42caa40919e60093020 +cksum=783450087 +upstream_url=https://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/qepcad-B.VERSION.tgz diff --git a/build/pkgs/saclib/SPKG.rst b/build/pkgs/saclib/SPKG.rst index 06a733a7f20..84d62729fa8 100644 --- a/build/pkgs/saclib/SPKG.rst +++ b/build/pkgs/saclib/SPKG.rst @@ -10,28 +10,11 @@ SAC2 system. It is mainly used as a dependency of qepcad. License ------- -Saclib 2.2 Copyright (c) 1993, 2008, RISC-Linz (contact -wcbrown@usna.edu) - -Permission to use, copy, modify, and/or distribute this software, -including source files, README files, etc., for any purpose with or -without fee is hereby granted, provided that the above copyright notice -and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - +ICS :wikipedia:`ISC_license` Upstream Contact ---------------- -- Website: http://www.usna.edu/CS/qepcadweb/B/QEPCAD.html -- Alternative location (sometimes more up-to-date): - - https://www.usna.edu/Users/cs/wcbrown/qepcad/B/QEPCAD.html - +- Repository: https://github.com/chriswestbrown/saclib +- Tarballs: https://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/IQ.html +- Website: (outdated) https://www.usna.edu/Users/cs/wcbrown/qepcad/B/QEPCAD.html diff --git a/build/pkgs/saclib/checksums.ini b/build/pkgs/saclib/checksums.ini index e8d1f41da83..1f0289be1e8 100644 --- a/build/pkgs/saclib/checksums.ini +++ b/build/pkgs/saclib/checksums.ini @@ -1,4 +1,5 @@ tarball=saclibVERSION.tar.gz -sha1=c82597e094d771f7d63e77c3c104ba7ab56c16ea -md5=e834693dd428caf1b15bd87b260f7825 -cksum=549883117 +sha1=6f37da451e1003b381e8a9dd7f60ec265021d061 +md5=2a251651bc96a14eba4300f18ec4cbb4 +cksum=3062086094 +upstream_url=https://www.usna.edu/Users/cs/wcbrown/qepcad/INSTALL/saclibVERSION.tgz diff --git a/build/pkgs/saclib/package-version.txt b/build/pkgs/saclib/package-version.txt index 5bc1cc43d4e..23a63f524e2 100644 --- a/build/pkgs/saclib/package-version.txt +++ b/build/pkgs/saclib/package-version.txt @@ -1 +1 @@ -2.2.7 +2.2.8 From d256b42f901eb888262d74b123b6f8dab771d73f Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Fri, 8 Dec 2023 11:28:40 +0000 Subject: [PATCH 4/6] distros info for saclib --- build/pkgs/saclib/distros/debian.txt | 1 + build/pkgs/saclib/distros/fedora.txt | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 build/pkgs/saclib/distros/debian.txt create mode 100644 build/pkgs/saclib/distros/fedora.txt diff --git a/build/pkgs/saclib/distros/debian.txt b/build/pkgs/saclib/distros/debian.txt new file mode 100644 index 00000000000..2eb44006718 --- /dev/null +++ b/build/pkgs/saclib/distros/debian.txt @@ -0,0 +1 @@ +libsaclib-dev diff --git a/build/pkgs/saclib/distros/fedora.txt b/build/pkgs/saclib/distros/fedora.txt new file mode 100644 index 00000000000..51f02e6fee8 --- /dev/null +++ b/build/pkgs/saclib/distros/fedora.txt @@ -0,0 +1,2 @@ +saclib +saclib-devel From beb976109e4513faa8a6f4b8acbff402efc2b7a9 Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Fri, 8 Dec 2023 11:29:18 +0000 Subject: [PATCH 5/6] promote qepcad to optional --- build/pkgs/qepcad/type | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/qepcad/type b/build/pkgs/qepcad/type index 9839eb20815..134d9bc32d5 100644 --- a/build/pkgs/qepcad/type +++ b/build/pkgs/qepcad/type @@ -1 +1 @@ -experimental +optional From 95b80ca04ddd98cd1d86ff8b05f917adde609e5f Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Sat, 9 Dec 2023 16:49:33 +0000 Subject: [PATCH 6/6] adjust doctest --- src/sage/interfaces/qepcad.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/interfaces/qepcad.py b/src/sage/interfaces/qepcad.py index 5a69861eec8..5b05124d33a 100644 --- a/src/sage/interfaces/qepcad.py +++ b/src/sage/interfaces/qepcad.py @@ -1090,7 +1090,7 @@ def _parse_answer_stats(self): sage: ans 'x^2 - 2 > 0' sage: stats - '-----------------------------------------------------------------------------\r\n0 Garbage collections, 0 Cells and 0 Arrays reclaimed, in 0 milliseconds.\r\n492514 Cells in AVAIL, 500000 Cells in SPACE.\r\n\r\nSystem time: 16 milliseconds.\r\nSystem time after the initialization: 4 milliseconds.\r\n-----------------------------------------------------------------------------\r\n' + '-----------------------------------------------------------------------------\r\n0 Garbage collections, 0 Cells and 0 Arrays reclaimed, in 0 ... """ if self.phase() != 'EXITED': raise ValueError("QEPCAD is not finished yet")