Source: eclib Severity: minor Tags: patch Followup-For: Bug #755227 User: pkg-llvm-t...@lists.alioth.debian.org Usertags: clang-ftbfs
Hi, Please see new patch in the attach. First version of the patch has been created in the wrong way. Thanks, Alexander -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
--- ./libsrc/eclib/smat.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/smat.h 2014-07-31 01:28:09.037375213 +0400 @@ -23,6 +23,9 @@ // Original version by Luiz Figueiredo +int eqmodp(const smat&, const smat&, const scalar& p=DEFAULT_MODULUS); +int liftmat(const smat& mm, scalar pr, smat& m, scalar& dd, int trace=0); + class smat { friend class smat_elim; @@ -79,7 +82,7 @@ friend smat transpose(const smat&); friend int operator==(const smat&, const smat&); // Equality mod p: - friend int eqmodp(const smat&, const smat&, const scalar& p=DEFAULT_MODULUS); + friend int eqmodp(const smat&, const smat&, const scalar& p); friend ostream& operator<< (ostream&s, const smat&); friend istream& operator>> (istream&s, smat&); friend int get_population (const smat& ); //mainly used for testing @@ -87,7 +90,7 @@ {return (((double)(get_population(m)))/m.nro)/m.nco;} friend void random_fill_in( smat&, int, scalar ); //the elimination program friend smat sidmat(scalar); // identity matrix - friend int liftmat(const smat& mm, scalar pr, smat& m, scalar& dd, int trace=0); + friend int liftmat(const smat& mm, scalar pr, smat& m, scalar& dd, int trace); friend int liftmats_chinese(const smat& mm1, scalar pr1, const smat& mm2, scalar pr2, smat& m, scalar& dd); }; --- ./libsrc/eclib/mat.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/mat.h 2014-07-31 01:25:26.976901882 +0400 @@ -32,6 +32,9 @@ #define INT_MIN (-INT_MAX-1) #endif +int liftmat(const mat& mm, scalar pr, mat& m, scalar& dd, int trace=0); +int lift(const subspace& s, scalar pr, subspace& ans, int trace=0); + class mat { friend class subspace; friend class mat_m; @@ -103,8 +106,8 @@ long& rk, long& ny, scalar pr); friend subspace combine(const subspace& s1, const subspace& s2); friend mat restrict_mat(const mat& m, const subspace& s, int cr); - friend int liftmat(const mat& mm, scalar pr, mat& m, scalar& dd, int trace=0); - friend int lift(const subspace& s, scalar pr, subspace& ans, int trace=0); + friend int liftmat(const mat& mm, scalar pr, mat& m, scalar& dd, int trace); + friend int lift(const subspace& s, scalar pr, subspace& ans, int trace); friend subspace pcombine(const subspace& s1, const subspace& s2, scalar pr); friend mat prestrict(const mat& m, const subspace& s, scalar pr, int cr); friend mat matmulmodp(const mat&, const mat&, scalar pr); --- ./libsrc/eclib/p2points.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/p2points.h 2014-07-31 01:30:04.843045951 +0400 @@ -30,6 +30,16 @@ // // class for points in P^2(Q), used as base for points on elliptic curves etc. // +class P2Point; +P2Point scale(const P2Point& P, const bigint& u, int back=0); +P2Point scale(const P2Point& P, long u=1, int back=0); +P2Point shift(const P2Point& P, + const bigint& r, const bigint& s, const bigint& t, + int back=0); +P2Point transform(const P2Point& P, + const bigint& u, + const bigint& r, const bigint& s, const bigint& t, + int back=0); class P2Point{ friend class Point; @@ -100,15 +110,15 @@ { X=Q.X ; Y=Q.Y; Z=Q.Z; } // Coordinate transforms useful for elliptic curve points - friend P2Point scale(const P2Point& P, const bigint& u, int back=0); - friend P2Point scale(const P2Point& P, long u=1, int back=0); + friend P2Point scale(const P2Point& P, const bigint& u, int back); + friend P2Point scale(const P2Point& P, long u, int back); friend P2Point shift(const P2Point& P, const bigint& r, const bigint& s, const bigint& t, - int back=0); + int back); friend P2Point transform(const P2Point& P, const bigint& u, const bigint& r, const bigint& s, const bigint& t, - int back=0); + int back); void getcoordinates(bigint& x, bigint& y, bigint& z) const {x=X; y=Y; z=Z; } --- ./libsrc/eclib/mmatrix.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/mmatrix.h 2014-07-31 01:26:09.999924774 +0400 @@ -27,6 +27,8 @@ #include "mvector.h" #include "matrix.h" +msubspace lift(const msubspace& s, const bigint& pr, int =0); + class mat_m { friend class msubspace; public: @@ -84,7 +86,7 @@ long& rk, long& ny, const bigint& pr); friend msubspace combine(const msubspace& s1, const msubspace& s2); friend mat_m restrict_mat(const mat_m& m, const msubspace& s); - friend msubspace lift(const msubspace& s, const bigint& pr, int =0); + friend msubspace lift(const msubspace& s, const bigint& pr, int); friend msubspace pcombine(const msubspace& s1, const msubspace& s2, const bigint& pr); friend mat_m prestrict(const mat_m& m, const msubspace& s, const bigint& pr); friend mat_m matmulmodp(const mat_m&, const mat_m&, const bigint& pr); --- ./libsrc/eclib/points.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/points.h 2014-07-31 01:30:53.706098874 +0400 @@ -33,6 +33,12 @@ // class for points on elliptic curves // +class Point; +Point transform(const Point& p, Curvedata* newc, + const bigint& u, + const bigint& r, const bigint& s, const bigint& t, + int back=0); + class Point : public P2Point { Curvedata *E; // pointer to the curve that the point is on int ord; // order: 0 if not calculated yet, -1 if infinite @@ -109,7 +115,7 @@ friend Point transform(const Point& p, Curvedata* newc, const bigint& u, const bigint& r, const bigint& s, const bigint& t, - int back=0); + int back); void operator+=(const Point&) ; // P1 += P2 ; order and height unknown void operator-=(const Point&) ; // P1 -= P2 ; ditto --- ./libsrc/eclib/svec.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/svec.h 2014-07-31 01:26:48.011089299 +0400 @@ -21,6 +21,8 @@ // ////////////////////////////////////////////////////////////////////////// +int eqmodp(const svec&, const svec&, const scalar& p=DEFAULT_MODULUS); + class svec { friend class smat; @@ -83,7 +85,7 @@ friend inline int dim(const svec& v) {return v.d;} // Equality mod p: - friend int eqmodp(const svec&, const svec&, const scalar& p=DEFAULT_MODULUS); + friend int eqmodp(const svec&, const svec&, const scalar& p); friend ostream& operator<< (ostream&s, const svec&); friend scalar operator*(const svec&, const svec&); //dot product friend scalar operator*(const svec&, const vec&); --- ./libsrc/eclib/vec.h 2014-05-15 15:12:49.000000000 +0400 +++ ../eclib-2014-05-14a-my/./libsrc/eclib/vec.h 2014-07-31 01:24:03.278900642 +0400 @@ -32,6 +32,8 @@ class vec; vec iota(scalar n); // (1,2,...,n) +mat restrict_mat(const mat& m, const subspace& s, int cr=0); +mat prestrict(const mat& m, const subspace& s, scalar pr, int cr=0); class vec { friend class svec; @@ -78,9 +80,9 @@ friend scalar vecgcd(const vec&); friend void swapvec(vec& v, vec& w); friend int member(scalar a, const vec& v);//tests if a=v[i] for some i - friend mat restrict_mat(const mat& m, const subspace& s, int cr=0); + friend mat restrict_mat(const mat& m, const subspace& s, int cr); friend mat_m restrict_mat(const mat_m& m, const msubspace& s); - friend mat prestrict(const mat& m, const subspace& s, scalar pr, int cr=0); + friend mat prestrict(const mat& m, const subspace& s, scalar pr, int cr); friend mat_m prestrict(const mat_m& m, const msubspace& s, const bigint& pr); // Implementation