diff -ur old/LiDIA/src/base/include/LiDIA/base/sf_bigint.h new/LiDIA/src/base/include/LiDIA/base/sf_bigint.h --- old/LiDIA/src/base/include/LiDIA/base/sf_bigint.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/base/sf_bigint.h 2008-09-24 01:10:22.000000000 -0700 @@ -264,6 +264,8 @@ factorization< bigint > completely_factor(const bigint & x); +factorization< bigint > PollardRho(const bigint &, int); + #ifdef LIDIA_NAMESPACE } // end of namespace LiDIA # undef IN_NAMESPACE_LIDIA diff -ur old/LiDIA/src/base/include/LiDIA/bigmod.h new/LiDIA/src/base/include/LiDIA/bigmod.h --- old/LiDIA/src/base/include/LiDIA/bigmod.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/bigmod.h 2008-09-24 01:09:16.000000000 -0700 @@ -47,7 +47,7 @@ private : #ifndef HEADBANGER - static residue_class< bigint > *Mp; + static LiDIA::residue_class< bigint > *Mp; #endif static bigint M; @@ -59,7 +59,7 @@ static void set_modulus (const bigint & m); static const bigint & modulus (); - static residue_class< bigint > * residue_class(); + static LiDIA::residue_class< bigint > * residue_class(); // @@ -188,7 +188,7 @@ inline -residue_class< bigint > * +LiDIA::residue_class< bigint > * bigmod::residue_class () { return bigmod::Mp; diff -ur old/LiDIA/src/base/include/LiDIA/dense_field_matrix.h new/LiDIA/src/base/include/LiDIA/dense_field_matrix.h --- old/LiDIA/src/base/include/LiDIA/dense_field_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/dense_field_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -91,6 +91,8 @@ public: + using dense_ring_matrix< T >::assign; + dense_field_matrix< T > & operator = (const dense_field_matrix< T > &B) { this->assign(B); diff -ur old/LiDIA/src/base/include/LiDIA/dense_ring_matrix.h new/LiDIA/src/base/include/LiDIA/dense_ring_matrix.h --- old/LiDIA/src/base/include/LiDIA/dense_ring_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/dense_ring_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -89,6 +89,8 @@ public: + using dense_base_matrix< T >::assign; + dense_ring_matrix< T > & operator = (const dense_ring_matrix< T > &B) { this->assign(B); diff -ur old/LiDIA/src/base/include/LiDIA/field_matrix.h new/LiDIA/src/base/include/LiDIA/field_matrix.h --- old/LiDIA/src/base/include/LiDIA/field_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/field_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -130,6 +130,8 @@ public: + using ring_matrix< T >::assign; + field_matrix< T > & operator = (const field_matrix< T > &B) { // Changed by G.A. diff -ur old/LiDIA/src/base/include/LiDIA/matrix/sparse_ring_matrix_kernel.h new/LiDIA/src/base/include/LiDIA/matrix/sparse_ring_matrix_kernel.h --- old/LiDIA/src/base/include/LiDIA/matrix/sparse_ring_matrix_kernel.h 2008-09-24 01:05:00.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/matrix/sparse_ring_matrix_kernel.h 2008-09-24 01:09:16.000000000 -0700 @@ -57,6 +57,7 @@ ~sparse_ring_matrix_kernel () {} + using SBMK< T >::assign; ////////////////////////////////// // BEGIN: arithmetic procedures // diff -ur old/LiDIA/src/base/include/LiDIA/ring_matrix.h new/LiDIA/src/base/include/LiDIA/ring_matrix.h --- old/LiDIA/src/base/include/LiDIA/ring_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/ring_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -120,6 +120,8 @@ public: + using base_matrix< T >::assign; + ring_matrix< T > & operator = (const ring_matrix< T > &B) { // Changed by G.A. diff -ur old/LiDIA/src/base/include/LiDIA/sparse_field_matrix.h new/LiDIA/src/base/include/LiDIA/sparse_field_matrix.h --- old/LiDIA/src/base/include/LiDIA/sparse_field_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/sparse_field_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -95,6 +95,8 @@ public: + using sparse_ring_matrix< T >::assign; + sparse_field_matrix< T > & operator = (const sparse_field_matrix< T > &B) { //Changed by G.A. diff -ur old/LiDIA/src/base/include/LiDIA/sparse_ring_matrix.h new/LiDIA/src/base/include/LiDIA/sparse_ring_matrix.h --- old/LiDIA/src/base/include/LiDIA/sparse_ring_matrix.h 2008-09-24 01:05:01.000000000 -0700 +++ new/LiDIA/src/base/include/LiDIA/sparse_ring_matrix.h 2008-09-24 01:09:16.000000000 -0700 @@ -101,6 +101,8 @@ public: + using sparse_base_matrix< T >::assign; + sparse_ring_matrix< T > & operator = (const sparse_ring_matrix< T > &B) { //Changed by G.A.