Changeset a07784 in git


Ignore:
Timestamp:
Dec 5, 2012, 4:03:45 PM (11 years ago)
Author:
Alexander Dreyer <adreyer@…>
Branches:
(u'spielwiese', '8d54773d6c9e2f1d2593a28bc68b7eeab54ed529')
Children:
ae900ff750a6fe0dbab70a5aa87cc48fc3dd280e
Parents:
b3646035aca6a8d660df952d443268649a51090907ff965ddd552fe3a981f417b2da928dca53a8f2
Message:
Merge branch 'spielwiese' of github.com:Singular/Sources into spielwiese-pyobject
Files:
48 edited

Legend:

Unmodified
Added
Removed
  • .gdbinit

    rb36460 ra07784  
    11break dErrorBreak
    22break dReportError
    3 
     3break omReportError
    44
    55
  • Makefile.am

    r07ff96 ra07784  
    3737
    3838bin_SCRIPTS = libsingular-config
     39
  • Singular/Cache.h

    rb36460 ra07784  
    44#include <string>
    55#include <list>
    6 #include <assert.h>
    7 
    8 using namespace std;
     6
     7// #include <assert.h>
     8// using namespace std;
    99
    1010/*! \class Cache
     
    7575     * as long as the pair <c>key(_rank(i)) -->  value(_rank(i))</c>.
    7676     */
    77      list<int> _rank;
     77   std::list<int> _rank;
    7878 
    7979     /**
     
    8383     * in KeyClass.
    8484     */
    85      list<KeyClass> _key;
     85     std::list<KeyClass> _key;
    8686 
    8787     /**
     
    9191     * argument \c _key[i]).
    9292     */
    93      list<ValueClass> _value;
     93     std::list<ValueClass> _value;
    9494     
    9595     /**
    9696     * container for the weights of all cached values
    9797     */
    98      list<int> _weights;
     98     std::list<int> _weights;
    9999 
    100100     /**
     
    104104     * const, as the user would expect for these methods.
    105105     */
    106      mutable typename list<KeyClass>::const_iterator _itKey;
     106     mutable typename std::list<KeyClass>::const_iterator _itKey;
    107107     
    108108     /**
     
    112112     * const, as the user would expect for these methods.
    113113     */
    114      mutable typename list<ValueClass>::const_iterator _itValue;
     114     mutable typename std::list<ValueClass>::const_iterator _itValue;
    115115 
    116116     /**
     
    314314     *         string
    315315     */
    316      string toString () const;
     316   std::string toString () const;
    317317 
    318318     /**
     
    324324};
    325325
    326 #include <CacheImplementation.h>
     326#include "CacheImplementation.h"
    327327
    328328#endif
  • Singular/CacheImplementation.h

    rb36460 ra07784  
    11#ifndef CACHE_IMPLEMENTATION_H
    22#define CACHE_IMPLEMENTATION_H
     3
     4#include <reporter/reporter.h>
    35
    46#include <cstdio> // for sprintf
     
    5355{
    5456  _itKey = _key.end(); // referring to past-the-end element in the list
    55   typename list<KeyClass>::const_iterator itKey;
     57   typename std::list<KeyClass>::const_iterator itKey;
    5658  _itValue = _value.begin();
    5759  /* As _key is a sorted list, the following could actually be implemented
     
    8082       thus, getValue has been called although hasKey
    8183       produced no match */
    82     assert(false);
     84    assume(false);
    8385
    8486  return *_itValue;
     
    123125     erasing the last entry which is only implemented for forward
    124126     iterators by std::list. */
    125   list<int>::iterator itRank;
     127   std::list<int>::iterator itRank;
    126128  for (itRank = _rank.begin(); itRank != _rank.end(); itRank++) { }
    127129  itRank--; /* Now, this forward iterator points to the last list entry. */
     
    132134  /* now delete entries in _key and _value with index deleteIndex */
    133135  int k = 0;
    134   typename list<KeyClass>::iterator itKey;
    135   typename list<ValueClass>::iterator itValue = _value.begin();
    136   typename list<int>::iterator itWeights = _weights.begin();
     136  typename std::list<KeyClass>::iterator itKey;
     137  typename std::list<ValueClass>::iterator itValue = _value.begin();
     138  typename std::list<int>::iterator itWeights = _weights.begin();
    137139  for (itKey = _key.begin(); itKey != _key.end(); itKey++)
    138140  {
     
    176178                                       keyWasContained == false */
    177179  int k = 0;
    178   typename list<KeyClass>::iterator itKey;
     180  typename std::list<KeyClass>::iterator itKey;
    179181  // itOldValue will later only be used in the case keyWasContained == true: */
    180   typename list<ValueClass>::iterator itOldValue = _value.begin();
     182  typename std::list<ValueClass>::iterator itOldValue = _value.begin();
    181183  /* itOldWeights will later only be used in the case
    182184     keyWasContained == true */
    183   typename list<int>::iterator itOldWeights = _weights.begin();
     185  typename std::list<int>::iterator itOldWeights = _weights.begin();
    184186  for (itKey = _key.begin(); itKey != _key.end(); itKey++)
    185187  {
     
    203205  int newWeight = value.getWeight();
    204206  k = 0;
    205   typename list<ValueClass>::iterator itValue = _value.begin();
     207  typename std::list<ValueClass>::iterator itValue = _value.begin();
    206208  for (itValue = _value.begin(); itValue != _value.end(); itValue++)
    207209  {
     
    229231       _rank[oldIndexInRank] == oldIndexInKey, i.e.
    230232       _key[_rank[oldIndexInRank]] == key: */
    231     list<int>::iterator itRank;
     233    std::list<int>::iterator itRank;
    232234    k = 0;
    233235    for (itRank = _rank.begin(); itRank != _rank.end(); itRank++)
     
    306308       Let's make room for the assignment
    307309       _rank[newIndexInRank] := newIndexInKey: */
    308     list<int>::iterator itRank;
     310    std::list<int>::iterator itRank;
    309311    for (itRank = _rank.begin(); itRank != _rank.end(); itRank++)
    310312    {
     
    323325    /* let's insert new key and new value at index newIndexInKey: */
    324326    itValue = _value.begin();
    325     typename list<int>::iterator itWeights = _weights.begin();
     327    typename std::list<int>::iterator itWeights = _weights.begin();
    326328    k = 0;
    327329    for (itKey = _key.begin(); itKey != _key.end(); itKey++)
     
    344346                                 new (key, value)-pair */
    345347
    346   assert(_rank.size() == _key.size());
    347   assert(_rank.size() == _value.size());
     348  assume(_rank.size() == _key.size());
     349  assume(_rank.size() == _value.size());
    348350  return !result; /* true iff the new (key --> value) pair is
    349351                     actually in the cache now */
     
    351353
    352354template<class KeyClass, class ValueClass>
    353 string Cache<KeyClass, ValueClass>::toString() const
     355std::string Cache<KeyClass, ValueClass>::toString() const
    354356{
    355357  char h[10];
    356   string s = "Cache:";
     358  std::string s = "Cache:";
    357359  s += "\n   entries: ";
    358360  sprintf(h, "%d", getNumberOfEntries()); s += h;
     
    371373    int k = 1;
    372374    s += "\n   (key --> value) pairs in ascending order of keys:";
    373     typename list<KeyClass>::const_iterator itKey;
    374     typename list<ValueClass>::const_iterator itValue = _value.begin();
     375    typename std::list<KeyClass>::const_iterator itKey;
     376    typename std::list<ValueClass>::const_iterator itValue = _value.begin();
    375377    for (itKey = _key.begin(); itKey != _key.end(); itKey++)
    376378    {
     
    385387    }
    386388    s += "\n   (key --> value) pairs in descending order of ranks:";
    387     list<int>::const_iterator itRank;
     389    std::list<int>::const_iterator itRank;
    388390    int r = 1;
    389391    for (itRank = _rank.begin(); itRank != _rank.end(); itRank++)
     
    413415void Cache<KeyClass, ValueClass>::print() const
    414416{
    415   cout << this->toString();
     417  PrintS(this->toString().c_str());
    416418}
    417419
  • Singular/Makefile.am

    r07ff96 ra07784  
    8888   links/ssiLink.cc\
    8989   subexpr.cc\
     90   pyobject_setup.cc\
    9091   walk.cc\
    9192   walk_ip.cc\
     
    390391MOD: ${abs_top_builddir}/libpolys/polys/.libs
    391392        ln -snf ${abs_top_builddir}/libpolys/polys/.libs/ ${abs_builddir}/MOD
     393
     394
     395if PYTHON_USE
     396   PACKAGES=pyobject
     397   moduledir = $(bindir)
     398   module_LTLIBRARIES=pyobject.la
     399   pyobject_la_SOURCES = pyobject.cc
     400   pyobject_la_LIBADD =  libSingular.la -lnumeric -lkernel -lpolys  -lcoeffs \
     401  -lreporter -lmisc $(FACTORY_LIBS) -lomalloc -lfindexec $(FLINT_LIBS) \
     402$(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
     403
     404
     405   pyobject_la_CPPFLAGS  = ${AM_CPPFLAGS} @PYTHON_CSPEC@ ${Singular_LDADD} ${AMLDFLAGS}
     406   pyobject_la_LDFLAGS = ${AMLDFLAGS} -export-dynamic  -shared -module -avoid-version @PYTHON_LSPEC@ \
     407 -DHUHUHUHUHU ${pyobject_la_LIBADD}
     408endif
  • Singular/Minor.cc

    rb36460 ra07784  
    1 #include <iostream>
    2 
    31#include "config.h"
    42#include <kernel/mod2.h>
     3
     4#include "Minor.h"
     5
    56#include <kernel/structs.h>
    67#include <kernel/polys.h>
    7 #include <Minor.h>
    88#include <kernel/febase.h>
    99
     10using namespace std;
    1011
    1112void MinorKey::reset()
     
    114115void MinorKey::print() const
    115116{
    116   cout << this->toString();
     117  PrintS(this->toString().c_str());
    117118}
    118119
     
    145146  }
    146147  /* We should never reach this line of code. */
    147   assert(false);
     148  assume(false);
    148149}
    149150
     
    176177  }
    177178  /* We should never reach this line of code. */
    178   assert(false);
     179  assume(false);
    179180}
    180181
     
    198199    }
    199200  }
    200   return;
    201201}
    202202
     
    220220    }
    221221  }
    222   return;
    223222}
    224223
     
    251250  }
    252251  /* We should never reach this line of code. */
    253   assert(false);
     252  assume(false);
    254253}
    255254
     
    282281  }
    283282  /* We should never reach this line of code. */
    284   assert(false);
     283  assume(false);
    285284}
    286285
     
    439438bool MinorKey::operator==(const MinorKey& mk) const
    440439{
    441   assert(false);
     440  assume(false);
    442441  return this->compare(mk) == 0;
    443442}
     
    447446bool MinorKey::operator<(const MinorKey& mk) const
    448447{
    449   assert(false);
     448  assume(false);
    450449  return this->compare(mk) == -1;
    451450}
     
    833832int MinorValue::getWeight () const
    834833{
    835   assert(false);  /* must be overridden in derived classes */
     834  assume(false);  /* must be overridden in derived classes */
    836835  return 0;
    837836}
     
    841840bool MinorValue::operator==(const MinorValue& mv) const
    842841{
    843   assert(false);
     842  assume(false);
    844843  return (this == &mv);  /* compare addresses of both objects */
    845844}
     
    847846string MinorValue::toString () const
    848847{
    849   assert(false);  /* must be overridden in derived classes */
     848  assume(false);  /* must be overridden in derived classes */
    850849  return "";
    851850}
     
    855854bool MinorValue::operator<(const MinorValue& mv) const
    856855{
    857   assert(false);
     856  assume(false);
    858857  return (this < &mv);  /* compare addresses of both objects */
    859858}
     
    896895void MinorValue::print() const
    897896{
    898   cout << this->toString();
     897  PrintS(this->toString().c_str());
    899898}
    900899
  • Singular/Minor.h

    rb36460 ra07784  
    22#define MINOR_H
    33
    4 #include <assert.h>
     4// #include <assert.h>
    55#include <string>
    66
    7 #include <kernel/polys.h>
    8 
    9 using namespace std;
     7struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly;
     8struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring;
     9
     10struct sip_sideal; typedef struct sip_sideal *       ideal;
     11
     12// using namespace std;
    1013
    1114/*! \class MinorKey
     
    391394     * string
    392395     */
    393      string toString () const;
     396   std::string toString () const;
    394397
    395398     /**
     
    683686    *         string
    684687    */
    685     virtual string toString () const;
     688   virtual std::string toString () const;
    686689   
    687690    /**
     
    771774    * string
    772775    */
    773     string toString () const;
     776   std::string toString () const;
    774777};
    775778
     
    858861    * string
    859862    */
    860     string toString () const;
     863   std::string toString () const;
    861864};
    862865
  • Singular/MinorInterface.cc

    rb36460 ra07784  
     1#include "config.h"
     2#include <kernel/mod2.h>
     3
    14// include before anything to avoid clashes with stdio.h included elsewhere
    2 #include <cstdio>
    3 
    4 #include <MinorInterface.h>
    5 #include <MinorProcessor.h>
     5// #include <cstdio>
     6
     7#include "MinorInterface.h"
     8#include "MinorProcessor.h"
     9
     10#include <polys/simpleideals.h>
    611
    712#include <kernel/polys.h>
    813#include <kernel/structs.h>
    9 
    10 #include "config.h"
    11 #include <kernel/mod2.h>
     14#include <kernel/kstd1.h>
    1215#include <kernel/ideals.h>
    13 #include <kernel/kstd1.h>
     16
     17using namespace std;
    1418
    1519bool currRingIsOverIntegralDomain ()
     
    172176#if (defined COUNT_AND_PRINT_OPERATIONS) && (COUNT_AND_PRINT_OPERATIONS > 1)
    173177    qqq++;
    174     printf("after %d", qqq);
     178    Print("after %d", qqq);
    175179    printCounters ("-th minor", false);
    176180#endif
     
    401405#if (defined COUNT_AND_PRINT_OPERATIONS) && (COUNT_AND_PRINT_OPERATIONS > 1)
    402406    qqq++;
    403     printf("after %d", qqq);
     407    Print("after %d", qqq);
    404408    printCounters ("-th minor", false);
    405409#endif
  • Singular/MinorInterface.h

    rb36460 ra07784  
    33
    44
    5 #include <polys/simpleideals.h>
    6 #include <kernel/polys.h>
     5struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly;
     6struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring;
     7
     8struct sip_sideal; typedef struct sip_sideal *       ideal;
     9
     10class ip_smatrix; typedef ip_smatrix *       matrix;
    711
    812/* all computations are module char, if char <> 0;
  • Singular/MinorProcessor.cc

    rb36460 ra07784  
    1 #include <MinorProcessor.h>
    2 
    31#include "config.h"
    42#include <kernel/mod2.h>
     3
     4#include "MinorProcessor.h"
     5
     6#include <polys/kbuckets.h>
     7
    58#include <kernel/structs.h>
    69#include <kernel/polys.h>
    710#include <kernel/febase.h>
    811#include <kernel/kstd1.h>
    9 #include <polys/kbuckets.h>
     12
     13#include <kernel/ideals.h>
     14
     15using namespace std;
    1016
    1117#ifdef COUNT_AND_PRINT_OPERATIONS
     
    213219{
    214220  /* This is a non-recursive implementation. */
    215   assert( (i >= 0) && (j >= 0) && (i >= j));
     221  assume( (i >= 0) && (j >= 0) && (i >= j));
    216222  if (j == 0 || i == j) return 1;
    217223  int result = 1;
     
    227233{
    228234  /* This is a non-recursive implementation. */
    229   assert(i >= 0);
     235  assume(i >= 0);
    230236  int result = 1;
    231237  for (int j = 1; j <= i; j++) result *= j;
     
    444450     const ideal& iSB)
    445451{
    446   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     452  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    447453                    1x1 */
    448454  /* The method works by recursion, and using Lapace's Theorem along the
     
    561567     const ideal& iSB)
    562568{
    563   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     569  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    564570                    1x1 */
    565571  int *theRows=new int[k]; mk.getAbsoluteRowIndices(theRows);
     
    652658     const int characteristic, const ideal& iSB)
    653659{
    654   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     660  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    655661                    1x1 */
    656662  /* The method works by recursion, and using Lapace's Theorem along
     
    944950                                                          const ideal& iSB)
    945951{
    946   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     952  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    947953                    1x1 */
    948954  /* The method works by recursion, and using Lapace's Theorem along the
     
    10811087     const ideal& iSB)
    10821088{
    1083   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     1089  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    10841090                    1x1 */
    10851091  /* The method works by recursion, and using Lapace's Theorem along
     
    13841390                                                          const ideal& iSB)
    13851391{
    1386   assert(k > 0); /* k is the minor's dimension; the minor must be at least
     1392  assume(k > 0); /* k is the minor's dimension; the minor must be at least
    13871393                    1x1 */
    13881394  int *theRows=new int[k]; mk.getAbsoluteRowIndices(theRows);
  • Singular/MinorProcessor.h

    rb36460 ra07784  
    22#define MINOR_PROCESSOR_H
    33
    4 #include <Cache.h>
    5 #include <Minor.h>
    6 #include <assert.h>
     4#include "Cache.h"
     5#include "Minor.h"
     6
     7struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly;
     8struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring;
     9
     10struct sip_sideal; typedef struct sip_sideal *       ideal;
     11
     12// #include <assert.h>
    713#include <string>
    814
     
    279285    * string
    280286    */
    281     virtual string toString () const;
     287   virtual std::string toString () const;
    282288
    283289    /**
     
    546552    *         string
    547553    */
    548     string toString () const;
     554   std::string toString () const;
    549555};
    550556
     
    760766    *         string
    761767    */
    762     string toString () const;
     768   std::string toString () const;
    763769};
    764770
  • Singular/blackbox.h

    r07ff96 ra07784  
    5858
    5959/// default procedure blackboxDefaultOp3, to be called as "default:" branch
    60 BOOLEAN blackboxDefaultOp3(int op,leftv l, leftv r1,leftv r2, leftv r3);
     60BOOLEAN blackbox_default_Op3(int op,leftv l, leftv r1,leftv r2, leftv r3);
    6161
    6262/// default procedure blackboxDefaultOpM, to be called as "default:" branch
  • Singular/countedref.cc

    rb36460 ra07784  
    555555  CountedRefShared ref = CountedRefShared::cast(head);
    556556
    557   if ((op == LINK_CMD) )
     557  if (op == LINK_CMD)
    558558  {
    559559    if (ref.dereference(head)) return TRUE;
  • Singular/countedref.h

    rb36460 ra07784  
    312312  /// @name Pointer-style access
    313313  //@{
    314   const leftv operator->() const { return m_data;  }
     314  /*const*/ leftv operator->() const { return m_data;  }
     315  /*^ warning: 'const' type qualifier on return type has no effect!!! */
    315316  leftv operator->() { return m_data;  }
    316317  //@]
  • Singular/pyobject.cc

    r07ff96 ra07784  
    1515#include "config.h"
    1616#include <kernel/mod2.h>
     17  //#include <misc/auxiliary.h>
     18  //#include "newstruct.h"
     19
     20#include <Python.h>
     21
     22#include <Singular/ipid.h>
     23#include <Singular/blackbox.h>
     24#include <Singular/lists.h>
     25#include <Singular/ipid.h>
     26#include <Singular/ipshell.h>
     27#include <Singular/newstruct.h>
     28
     29
    1730#include <misc/auxiliary.h>
    18 #include "newstruct.h"
    1931
    2032#include <omalloc/omalloc.h>
    2133
    2234#include <kernel/febase.h>
    23 #include <kernel/intvec.h>
     35#include <misc/intvec.h>
    2436
    2537#include "subexpr.h"
     
    2739#include "ipid.h"
    2840#include "blackbox.h"
    29 
    30 #include <Python.h>
     41#include "ipshell.h"
     42
     43
     44
     45
     46  //#include <Python.h>
    3147// #include <iterator>             // std::distance
    3248// #include <stdio.h>
     
    587603    return FALSE;
    588604
    589   return blackboxDefaultOp3(op, res, arg1, arg2, arg3);
     605  return blackbox_default_Op3(op, res, arg1, arg2, arg3);
    590606}
    591607
     
    687703
    688704// forward declaration
    689 int iiAddCproc(char *libname, char *procname, BOOLEAN pstatic,
    690                BOOLEAN(*func)(leftv res, leftv v));
     705//int iiAddCproc(char *libname, char *procname, BOOLEAN pstatic,
     706//               BOOLEAN(*func)(leftv res, leftv v));
    691707
    692708#define ADD_C_PROC(name) iiAddCproc("", (char*)#name, FALSE, name);
  • Singular/tesths.cc

    r07ff96 ra07784  
    4343#include "fegetopt.h"
    4444
    45 // #include "pyobject_setup.h"
     45#include "pyobject_setup.h"
    4646
    4747#include <unistd.h>
  • Tst/Short/factorizeQa_s.res.gz.uu

    rb36460 ra07784  
    11begin 644 factorizeQa_s.res.gz
    2 M'XL(".QDKE```V9A8W1O<FEZ95%A7W,N<F5S`)5:6V\=MQ%^]Z]8I'TX.JO5
    3 MDL-[#>NAZ$N`HDB1OA5)("N6J\2Q`TF!M?KU^6;();GGK(,T`JQ=#B]S^>:;
    4 MX4;?_N<?7_]K&`9]/?SSZ[\/7ST]/EU]N'_[U>M7WQ8)70\8_.'^X_W3X>+U
    5 M*_X]7%\/=S>W3Y\>[E_>_?OFA\>KC^\^7ST^W3S55>9ZJ,_V:ICGX>[ATR_#
    6 M^T\/+^\^5(F[&A[N/[X?OGUS4)<_75P>?COHJRNZN'PNOU_R[XO+'W]M&OGK
    7 MX9?[C[]^^K"\^8E&W03A>N#1X9LWV.?B>WM\X5\TT5'>S1';7I3!NBA>#6.>
    8 M(&+,*JN>^SWJ]+2=CG\(XI-96ET-.%5VH.V42=Y.M]4:"VQ3D[*:^(<NZAS"
    9 MT;;3E+XTT?03:35I.P=!&:N76+_QU$O4Z^?$H*V7:..ES72_G=Y<L)D5=KU$
    10 M&R_Q6XVPC@U6&I&H(#Q\`VC^5W_WMU<(T0]X>*/S$WV7L5`4+1M3%IHL%.],
    11 M%1OC8?KIHKEV/.#MM]4E\E8=-)59\*ML:+^PX7:_:;OA](4=H;N8HR_E9[6;
    12 M5/,!:4FMI_O;G]\]#7\Q1E4)E=1ZN!TXN6Z17,^7RR:1R-1$&MX,MTBEV=Y.
    13 M>M:^3;$EI>Z>,>69H"U/@L+R1,[?8I569"_:&M>QP^'N^<N1R9O$V][6B@[R
    14 M]6A6[W^??OGT'KO!AG82$A[2UZ]ZQ98SS8Y+VS1N=5O^A'+'95>]U,)@%(=A
    15 MC0(97P5ZC0(L0!1N=J)@J(_"34]HQJPNX.7/T\W%\;#@WS;!;LSY8V-N+BKJ
    16 ME_RZ05C=TW6&^=ZPF.IX6.VZ%W3=PZZ;R[>,,EC6EL?>M/N-::DW[69\RPQT
    17 MVZ6Z57_2-*P=#_<7Q]MJG8Q,,K1KH=6R]>/3C^?[[JQMXS*\;D+%@/?9@%LV
    18 MX&UO@.D->/]'!LB!;\?>@D,9V3?`5@/.]CU?N@ZOAZR;='&VFSA;3\/#NU\_
    19 M/3R]^W%XNYP4;5MC_UF[#.O/.["VF]A_!O-^'FV3=MGCD#T9"AHSK5>1`BFK
    20 MDD]>*75\_CY`^?/QSTCV[_UQF1)I[ZQ542>3*"]QQP7Q..RL.I_.^UC,-[OS
    21 MQ[,QGF\PWXY[)Q,D;E_AW:TPW>],7MAJ8TCIX`,9FTSPHKY1WH80G38I6;)9
    22 M'1R80M#!!1<59"3'::6T5TX[4B:0C=545L]ZDZ"]T>1$A/DX)Z5H%;FHZW23
    23 M/3DY[!N<\TXI(\9B0?1>H^BX:!1K+_,I>W(ZUV?:U4<<"4N]=<E$9:SR(4\G
    24 MKY+#@+4Q>BO>RJZE$*V+(9)Q6)&CJHE\4G`@;\\>S+:.!ZTC]K36F:`<E=DA
    25 M&NV35MYH72<;=HQ-+J6$4[US-L\>M34N4#(^:J?C.IV*8WP,.-7JI&PJVHQ$
    26 M.D:X,K";K:J1-@(,YTP*B#.V5"LFO<?^-JC@M"JF6JY`*&!.P3%:IZ`1&_8+
    27 M>:1HA+4)VD-_41Z6FLA>Q.[14L0XYN)58UI`8#&=XJKY>(#SE.8=M598(K.C
    28 M5L$ZFVQ(/A:58:+&:4$[2$R*"`X,-/`?5`T``N*/?R^*=7R03=Y:33`^>R-H
    29 M2M;#B89:QK'K#.Q2B(/'DN+L"8CR2F,IF1"KYQ@A&E8Q)@"KDLK1..\Y/4S0
    30 M#"?1`AL;G0`0@\GP1U`Q,585_,(J1P?MH$QN8I!XACV0$(*(G8GC[1FI[$Z'
    31 M3-.*6XCQX`U0B*3Q*1*MAD%'3=!`"UA:97:Z(SA:"8Y`<`1?).@7`&F*.%Y8
    32 M(R(@.P+AN"#AVI,BO$"9B<DALH`H8[FP(@AW1UB8T4S[6C`+VB^L,VOR[2JR
    33 M,[KFB/_2HG%_D5#?WH)%O*2`.0="!"DXBP@)'#50%P)>D-4@BT#9#0Q=($"%
    34 MZ)$_D722Z1.231.BCC0'C3!\,XL*,S(2D=+)<_29#L71AJD,!`V=0&A,QFO9
    35 MD-[3$+(36F%%(N@FE`0@&P]>\$`W4<Z2[$C.5@9=A(_A:PI*,MMI3`6S*P.>
    36 M"11\S5<A`_(:_`LC%:>BA8JY((!C41\(``V6O//%BQPM'<@983[4"P45K60O
    37 M,LE)-ML(F.<JDB.%LPUV`0$@)=8\<TA2O`'K"1ELUA3F`TP(<",BP0<EG1,#
    38 M[C)PMD?T.)>LVE0>YSB[$!CP3J+"$<8QY2!07#>B)K6M/@1*!B2BCXG_*_44
    39 M?`=34!K!0M`NJFT)BC&"!U%$$`(EE8)S-B'C?0`20&C16=55(<#'!Z95$CO+
    40 M*0PY(6=M^2!JE<BBUP>G6=``2A)*A.=4P,Y020-VH#?0C_.E%$U@,+`1?HC`
    41 M9B`>XV7_B/D)X0`D$$3;JA$S6W`):$PA0AR$GE1BRU"J@T,A`.1]5X^2XKKF
    42 MF-4B:G9)3[!O8+8&3QGP,,9;00(2&=C@1^@#L6821(X0SD0=0QRYTCI::Q*)
    43 MM@I4SD2O"T9`MLY@-1<RQ'&-N50\[BB@-+H$'B\1A^<\N@8$!T626ET0D/P_
    44 M\2Y%BA.#>9^8HXM6(Z.<HH$/K70H)79BMD.J81471\?9SJ%(@!X*(_QA440=
    45 M:GNI5:B!R&L,(P]0=`)R4RH%)S`*,HH5:CZ.BJ5<:8_<-MQA<$5$.Z5]+MUX
    46 M!9"@*>I81)6^6"D$V,,BP`N=@TVY!QHQ"R8@VA;EUJK<[NVS(T*/;<$D("<7
    47 MN'@F01=@Y9CDP.2("[<+K4IUG^F<[;ZG#(<[?;RCLTL+ZH%#@6:`<X5`86=-
    48 MB8LM=!?WMCLGM^U<P/S"7WG<`BOA`0S8!?Z'\_!H%CM"2`MS21Y:_+1@*?`]
    49 M6^VP(GA^@`1S8I3!,2DJ@W;)",OCB$<9-WP>U[(L"+&,TY*I(6_>]EFX"U4F
    50 M#]LP1X/(2,$S2KL9]!$CM[`:M)7?^'!P`!HQ-W/W9\'%((3R(BI`C'YL!D\0
    51 MC#/(2'D6-:2IYI:R[#VB4042Z]ZB)]I$K`\>MP`<[F0'>8-RG(L@[YAFL#SJ
    52 M"_HA]">^O/'YXP'HUKK*@0[LW280%(S<"]<9[($J9A4!KK!*1^0&JD"=(!IB
    53 M:$:(<+FAP`^\K51$^"'")0`'/^0O,^A[9^1IO@K,F5/V^K7Y[$*4NS*0(6>^
    54 M1IY!K=/K5^[H`G,]9PR('I209L<CR!Q<0Z2N,./BU@,R1AH%3LFS*=+P.3VC
    55 MY0>'!/[=OIX\HPUA7(=E!;1?*$/<3,"CY6>3$3UI<;-OZ`[C@O4F@QIU;P6W
    56 M9_CI`GE+@C_LR#&V>.$[2ZR0EY)HU\F^0AX!H0)L8RO@&2@V%&BCUU\1+_5;
    57 ME\Q!*F?,>[GLF0KY:+5MJ"QK8H,\:+0B7I(1M\0&:C!KA^F<E*1X"1H5Y"L?
    58 MQ(\U,YGU5\2/(%:G*N(E1\'`2"*,`'$H5?*8,]5P@6M81P/KJ8$YWZ:"2@W.
    59 M7.]FOE^ZDJSH_ZVM8B'=/EF@.S"99@^&Q@'<&^HN6X17N)6K.H`<G6WIDGLX
    60 M-Z.A0-B,/.0TY7JWNL0ZW[GDR^YB=4!&LMN(EBKO)EJ@AP`/(>N2MCYQGO'U
    61 M!I[3GAMFZ;98B@P@*`Q7<>9RRRM<KD.^1["]N"EQJXE\`>$;9`+4X[1$C9>"
    62 MBAB!`0DLA?Z8PW0^I:0^W(`+,@B2VVA@$)6.T`IROX.[*9Q%O$H:-G069Q,R
    63 M4R"L(6<ERK>D)7*>60Q-ETIR0TWHUM@7,:#'0KBC$S6YTTT>C1':E`!^X4;>
    64 M<,7F?GG_.YOK/I$Y?S7\?/_AP_#0JF>X+E_"^H^[ER^7CYLO8:Y]"3OYONOJ
    65 M1]`W`[15LPG'FW)%T_;X@H='M)DZ@`U76629KK)^&89Q1:HB-$\BRK<4;2"P
    66 M(N#>(@L""U05M!5:/D"M`F[90<E13JF;\2DVB\B*J&[7B<JJNF$1D9EC:>\U
    67 ME7/RL"WWU[09Y<F)KRAU%)"HEH?5*20B^493O:**5^ALF98[;149"_JPJ87`
    68 M%7T-;CG1S)1-\7UTS(1RI;/33@2XB=IUN[C:V6VGL]-2'U"#*P(ZS;S?B:17
    69 M3T*==M73U*&@5V\K&'%A]3.9+>!LUB%9T;P$NPI&`\;8@-2T-4@K-NE4,'(#
    70 MOIY3P9O7<)G.YX2-`,T:7-<#7FW/"6?C&W-J(IR:4[%P;HZL"3OF;`6@'2WF
    71 M=(E@\F8*!50$-0W,R8J:!$6`<C,C*A54JD#1@/)#16DJH::VR%=!J$LLUX+5
    72 M&"JI0F<'B<CN'J3ETU`5X<JT922HEWVC<?/JPQ.*H%\A;K-%X/6&<=9`$W^U
    73 MM3WEQ"II2VJ6BF#D6_F:!F%-*Q(1JNU\PI)9`)(LFYT*J&TF"J0JTLFI^818
    74 MB\3Z=;M3"2=;8;RXD?1:BT%^1VMM.S[JM3X1R#&%<T4#MZN!K*K>F2ARCV`V
    75 MA"EK<$>8&[>G/#KQMY^:4"4V=7KC>U^F][NO$3O9778Q99B+-$+7(1_AE5'?
    76 M07L=DYD5NCR*>\_JS]3ESHA+:67"+J"X/834`:T-.U_C0BVA9)_"T'V\1F-P
    77 MHVRX7(<[=22-[(XZOJ57KTX_3'(OZ$J0Q`B]>:S:K/[",%J:V)4>&9S*:6D-
    78 MY6B#H[X.Q;9EZ'D$@XFOC[7VR!APL*&4$R57^)THN89JHV0;7)5<&0<C:$?C
    79 MIAPI#!K<_?K:$4XF%I*!2M;VE40ZBHF_3IVU37;TOBL@>0@=K.\JA+0>$[K0
    80 M>-9:6=SBR<]A.]:.KZ#8'E\3N!W?AB:^/76E@W7BXJAB5S:B#+:9E15-;2<]
    81 M_R_S-\/=\:X-Z>O-1YW3#SJX+./"BYYHQE4HM4\WR\LCFFU<&9.ZF1#!.7^4
    82 MI.5E"E#`.KY^O""WXZQQ)<';Q)_1I&<_OCRVJ_+B7NPC7TEP#TKAAB]!+X8'
    83 M?,SO?"5\X7JK\)[?'L$F1M[<R^/DO3PNC_5/;);\Y/C/&LJSQS--N&8LY4][
    84 K`@;Z/]O`CY6?^K<9GEIS[\V5_)$;_PG;;X\'??%Z^.NKWP&KI%B;&R<`````
     2M'XL("!OBM%```V9A8W1O<FEZ95%A7W,N<F5S`)5:2V\DMQ&^[Z]H.#F,IM5J
     3MLOC.8G4(<@D0!`Z<6V`;6GFUD;WV&I(,J?7K\U613;)G>@W'"VNF6<5B/;\J
     4MMO3-O__V]W\.PZ"OAW_\_:_#5T^/3U>?[M]_]?;--X5"UP,6O[__Y?[I</'V
     5M#7\.U]?#W<WMT^>'^]</_[KY_O'JEP_/5X]/-T]UE[D>ZG=[-<SS</?P^>?A
     6MX^>'UP^?*L5=#0_WOWP<OGEW4)<_7EP>?COHJRNZN'PIGZ_Y\^+RAU^;1OYZ
     7M^/G^EU\_?UK>_4BC;H1P/?#J\/4[R+GXSAY?^8,F.LJS.4+L15FLF^+5,&8&
     8M(8.K['KI953VM&7'#P+YA$NKJP&GB@3:LDSR="I6:VRP34W*:N('750>PM&V
     9MTY2^Q&AZ1EI-VO(@*&/U$NLWGGJ)>OV<&+3U$FV\M&'W6_;F@@U7V/42;;S$
     10M3S7".K:TTHA$3<+#UTC-_^AO__(&(?H>7][I_(V^S;E0%"V"*1--)HIWIIH;
     11MXV'Z\:*Y=CS@Z;?5)?)4'305+OA5!-HO"-S*F[8"IR](A.YBCKZ4?ZO=I)H/
     12M2$MI/=W?_O3A:?B3,:I2J)36P^W`Q76+XGJY7#:%1*86TO!NN$4IS?9VTK/V
     13MC<66DKI[`<L+05MF@L+RC9R_Q2ZMR%ZT/:Y#A\/=RY<CDX7$V][6FAWDZ]&L
     14MWG\___SY(Z3!AG82"A[4MV]ZQ98SS8Y+$QJWNBU_0+GCLJM>:F$PBL.P1H&,
     15MKP2]1@$6(`HW.U$PU$?AI@<T8U87\/:7Z>;B>%CPLS'8C3F_;\S-1<WZ)3]N
     16M,JS*=)UAOC<LIKH>5KON);ON8=?-Y7O.,EC6ML?>M/N-::DW[69\SPATVY6Z
     17M57_0-.P=#_<7Q]MJG:Q,LK1KH=4B^O'IAW.Y.WO;NBRO0J@8\#$;<,L&O.\-
     18M,+T!'W_/`#GP_=A;<"@K^P;8:L"9W/.MZ_)ZR"JDB[/=Q-EZ&AX^_/KYX>G#
     19M#\/[Y:1IVQK[9^UR6C_OI+7=Q/X9R/L\VD;MJL>A>G(J:'!:KR(%4E8EG[Q2
     20MZOCR78#RY^O/*/;O_'&9$FGOK%51)Y,H;W''!?$X[.PZ9V<Y%OQFEW\\6V-^
     21M`WX[[IU,H+A]A7=%@=WO,"]LM3&D=/"!C$TF>%'?*&]#B$Z;E"S9K`X.3"'H
     22MX(*+"C22X[12VBNG'2D3R,9J*JMGO4G0WFAR0@(_SDDI6D4NZLINLB<G![G!
     23M.>^4,F(L-D3O-9J.BT:Q]L)/V9/3N3[3KC[B2%CJK4LF*F.5#YF=O$H."];&
     24MZ*UX*[N60K0NADC&84>.JB;R2<&!+)X]F&T=#UI'R+36F:`<%>X0C?9)*V^T
     25MKLR&'6.32RGA5.^<S=RCML8%2L9'[71<V:DXQL>`4ZU.RJ:BS4BD8X0K`[O9
     26MJAII(XGAG$D!<89(M>:D]Y!O@PI.JV*JY0Z$!N84'*-U"AJQ8;^01XE&6)N@
     27M/?07Y6&IB>Q%2(^6(M;!BT<-MH#`@IWBJOEX@/.49HE:*VP1[JA5L,XF&Y*/
     28M1668J'%:T`X4DR*"`P,-_`=5`Q(!\<?/BV(='V23MU83C,_>")J2]7"BH59Q
     29M[#H#NQ3BX+&E.'M"1GFEL95,B-5SG"$:5G%.(*U**4?CO.?R,$%S.HD6$&QT
     30M0H(8,,,?0<7$N:K@%U8Y.F@'9?(0@\(S[(&$$$1()HZWYTQE=SI4FE8\0HP'
     31M;Y"%*!J?(M%J&'34!`VT)$OKS$YW`$<KP!$`CN"+!/T"4IHBCA?4B`C(#D$P
     32M+DBX]J@(+[+,Q.006:0HYW)!10#N#K$@HYGVM6`4M%_89];BVU5D9W6M$?^E
     33M3>/^)H&^O0V+>$DAYQP`$:#@+"(DZ:B1=2'@`54-L`B4W<"IBPQ0(7K43R2=
     34MA'U"L6E"U%'F@!%.WXRB@HR<B2CIY#GZ#(?B:,-0!H"&3@`T!N.U;<CL:0C5
     35M":VP(Q%T$TA"(AL/7/#(;J)<)=F17*V<=!$^AJ\I**ELI\$*9%<&.!,H^%JO
     36M`@;D-?`71BHN10L5<T,`QJ(_$!(T6/+.%R]RM'0@9P3YT"\45+12O:@D)]5L
     37M(](\=Y$<*9QM(`4`@))8Z\RA2/&$7$^H8+.6,!]@0H`;$0D^*.E<&'"7@;,]
     38MHL>U9-6F\SC'U87``'<2%8PPCB$'@>*^$36I;?<A0#)2(OJ8^+_23X%W,`6M
     39M$2@$[:+:MJ`8(W`0300A4-(IN&83*MX'9`(`+3JKNBZ$]/&!897$SG(*IYR`
     40ML[9\$+5.9#'K`],L8``M"2W"<RE`,E322#O`&^#'^=**)B`8T`C_B(!F`![C
     41M17X$?T(XD!((HFW=B)$MN(1L3"&"'`2>5&++T*J#0R-`RONN'R7%?<TQJD7T
     42M[%*>0-_`:`V<,L!AK+>&A$SDQ`8^0A^0-8,@:H1P)OH8XLB=UM':DTBT58!R
     43M!GI=<@1@ZPQV<R-#'->82\?CB0)*8TK@]1)Q>,YC:D!PT"2I]05)DO\GWJ5)
     44M<6$P[A-C=-%JY"RG:.!#*Q-*B9V8[5!JV,7-T7&U<R@24@^-$?ZP:*(.O;WT
     45M*O1`U#6640=H.@&U*9V""Q@-&<T*/1]'Q=*NM$=M&YXPN"-BG-(^MVX\(I&@
     46M*?I81)>^6"$$N8=-2"],#C;E&6@$%TQ`M"W:K55YW-M'1X0>8H$D`"<7N'DF
     47MR2ZDE6.0`Y(C+CPNM"[5O:9SMGN?,ASN]/&.SBXMZ`<.#9H3G#L$&CMK2MQL
     48MH;NXM]TY>6SG!N87?LOC%E@)#V#!+O`_G(>O9K$CB+0PEN2EQ4\+MB*_9ZL=
     49M=@3/7T`!3XRR."9%9=$N.</R.N)1U@V?Q[TL$T(LZ[1D:,C"FYR%IU!E\K(-
     50M<S2(C#0\H[2;`1\Q\@BK`5OYB0\'!F`0<S-/?Q98#$`H#Z("R)C'9N`$P3B#
     51MBI3OHH8,U3Q2%MDC!E5D8I4M>F),Q/[@<0O`X4XDR!.4XUH$>,<T`^717S`/
     52M83[QY8G/'P_(;JTK'=D!V8V!H&#D6;ARL`<JF55$<H65.J(VT`4J@VB(I1DA
     53MPN6&`G]AL=(1X8<(ER`Y^$M^,X.Y=T:=YJO`G#%E;UZ;SRY$>2H#&'+E:]09
     54MU#J]?N6)+C#6<\4`Z`$):7:\@LK!-43Z"B,N;CT`8Y11X)(\8Y&!S^D9(S\P
     55M)/!G>WOR@C&$\SHL:T+[A7**FPGY:/F[R1D]:7&S;]D=Q@7[34YJ]+TUN3VG
     56MGRXI;TGR#Q(YQA8/?&>)->6E)=J5V=>41T"H)+:Q->$Y46PHJ8U9?\UXZ=^Z
     57M5`Y*.>>\E\N>J2D?K;8M*\N>V%(>,%HS7HH1M\26U$#6+J=S49+B+1A44*]\
     58M$'^ME<FHOV;\"&!UJF:\U"@0&$6$%60<6I5\S95JN,&U7,<`ZZDE<[Y-!95:
     59M.G._F_E^Z4JQ8OZWMI(%=/MB@>[(R31[(#0.X-E0=]4BN,*C7-4!X.AL*Y<\
     60MP[D9`P7"9N1++E/N=ZM+K/.=2[[L+E8'8"321HQ469IH@1D".(2J2]KZQ'7&
     61MUQMX3GL>F&7:8BHJ@*`P7,65RR.O8+D.^1[!]N*FQ*,FZ@6`;U`)4(_+$CU>
     62M&BIB!`0DH!3F8P[3.4LI?;@!%V0`)(_1R$%T.L(HR/,.[J9P%O$N&=@P69PQ
     63M9*1`6$.N2K1O*4O4/*,8ABZ5Y(::,*VQ+V+`C(5P1R=J\J2;/`8CC"D!^,*#
     64MO.&.S?/R_GLVU[TB<[Z^]I)7GGOOO%S8O/.RT[,9Z9G&Y^[%IXO=B\\7[:8%
     65M_VMW?-$&)AT7?"1<M[1&:\*31OL#,8W\L20D!XAAXH\E8/B.7)'\@0*`M4BF
     66MB3\`1"Q3)+:CTQ]]6SPM#>QH1/2`;Z;^BJ.\;:=GPS\ENDM;0A,H4.DRJRR/
     67MIN/,C*8R>C#:*B!S2CEV.ZD[HL@RX])VI<P%U)9->CUO0Z^'CZX>'O+A>5G7
     68MLS<&4MNH^[,SCUN/GESU@!S=D9OV(N'TESO;7_'X[E<\7E\-/]U_^C0\U#AZ
     69MNBZIV/]2X?+U\G&3C;[]>N?D]PJ^_E;GW8`J4;,)QYOR:D#;XRN^/.)ZHP.Z
     70M\$J+3-.5UF_#,J[FE82A74CY=JP-"%8(/--F0F""JH2V0\N+SY7`5T6,`E%.
     71MJ<+X%)M)9(54Q76DLJL*+"0R<RS72DWEG+QLRWN3M%EEYL17X[H***J6A]4I
     72M)"1Y-UB]HHI7Z&R;EG<IE60LVI9-+02NZ&NXP)'(V13?1P=9AK$G.^V$X-&7
     73M5G%QM;,3I[/34A]01@W<<+*\$TJOGH0Z[:JGJ<N"7KTM`4"F_4QFFW`VZY"L
     74M:%Z"70FC0:?:)*EI>P#G;-(I8>2+WWI.3=Z\A\?#?$[8$'!)@.OZA%?;<\+9
     75M^L:<6@BGYM1<.#=']H0=<[8$(+D6<[I",%F8PN`FA%H&YF1'+8)"P)@S(RHU
     76MJ51)18-1(]0L3274U#;Y2@AUB^499#6&2JG0V4%"LKL':7DE64FXJF\1">IE
     77MWVC<^/OPA$+H=XC;;"%XO4&<-=#$ORVP/>3$2FE;:I4*8>2W06L9A+6L2$B8
     78M\N83E,P$@&01=DJ@)DP42)6DDU/S";`6BO6KN%,*%UM!O+BA]%J+07Y':VT[
     79M/.JU/B'(,05S10.WJX'LJMZ9*/)L:C:`*7MP-YT;MJ>\.O$[QUI0)3:5O>&]
     80M+^R]]#5B)])%BBG+/!PB=%WF([RRZKO47M>$LZ8NK^*^O?HS=;4S1MPK*)X%
     81M%+?6D+I$:\O.U[A0*RB14Q"ZC]=HC(M=7J[+G3I21G9''=_*JU>G7R:YCW8M
     82M2&*$.V&LVJS^PC)&Z=BU'EF<RFEI#>5H@Z.^#\4F,O0X@L7$KRUJ[Y$UY,$&
     83M4DZ47-/O1,DU5!LEV^*JY(HX6,$U*&[:D<*B\<GWO2.<,!:0@4K6]IU$)HJ)
     84MWXJ>C4UV]+YK('D)-R??=0@9/2;<?N+9:&4QT9*?PW:M'5^38GM\+>!V?%N:
     85M^-;>M0[6B9NCBEW;B++8."LJFC9.\A_\O!ONCG=MR5]O7B:>WC6FX$GCSJMF
     86M7,%3NW@LKX\8E(.9D[J9$,$YOPRGY74*4,`ZOO:^HK;CK'$5QM/$KV_EKGA\
     87M?6RWEL6]VD>^"N/^G<(-7[Y?#2_XF)_Y5<0K]UN%Y_ST"#0Q\N1>'R?OY>OR
     88M6.\]2[O6C$N[N=`DUYIVF^C_7`C_K/RK?Q/D0S?<QROYXTK^T\G?'@_ZXNWP
     89,YS?_`\@ZJ/F3*0``
    8590`
    8691end
  • Tst/Short/factorizeQa_s.stat

    rb36460 ra07784  
    1 1 >> tst_memory_0 :: 1353606379:3150:3-1-5:ix86-Linux:mamawutz:913456
    2 1 >> tst_memory_1 :: 1353606379:3150:3-1-5:ix86-Linux:mamawutz:2240284
    3 1 >> tst_memory_2 :: 1353606379:3150:3-1-5:ix86-Linux:mamawutz:2273068
    4 1 >> tst_timer_1 :: 1353606379:3150:3-1-5:ix86-Linux:mamawutz:576
     11 >> tst_memory_0 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:1127772
     21 >> tst_memory_1 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:2342912
     31 >> tst_memory_2 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:2359296
     41 >> tst_timer_1 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:637
  • Tst/Short/factorizeQa_s.tst

    rb36460 ra07784  
    5454factorize (f1*f2);
    5555
     56ring rw =(0,w),(x,y),dp;
     57minpoly = w4-w3+2w2+w+1;
     58poly f = x15-y15-15*x13+15*y13+90*x11-90*y11-275*x9+275*y9+450*x7-450*y7-378*x5+378*y5+140*x3-140*y3-15*x+15*y;
     59factorize(f);
     60
    5661kill r;
    5762ring r= (0,a),(x,y,z,s),dp;
  • Tst/Short/factorizep_s.res.gz.uu

    rb36460 ra07784  
    11begin 644 factorizep_s.res.gz
    2 M'XL(",%6&E```V9A8W1O<FEZ97!?<RYR97,`E/U-DRQ/>MV)[?DIKLU&#00<
     2M'XL("*[7N%```V9A8W1O<FEZ97!?<RYR97,`E/U-DRQ/>MV)[?DIKLU&#00<
    33M<\O?2Q2P&)L-S<9F,[,;(V@4"5!M:@$T=$N\1=E\=X6?YSS',SRB;KJ,1E3T
    44M_Z:'9U5F^-OS.^?\;__[__SO_M<?/WY\_/V/_^7?_4\__H>__/DO?_NG/_[?
     
    13341334M_?CX67K\Z__V#^FO__L_Y"-^I%CLZK/&G^=_S^?_2D=,YS?KK_\;KC]B3I_G
    13351335MO]3S?YU[\=*\>3Q*KG;Q4<OGS_'Z(^;>RWC!<;[OFN;[J2_OIYUO]^]^_--_
    1336 M_$]_^9=__>-__\<??_BGO_JW/_[RCW_^B_VG/__XPY_^YL?YW_Y_[9U/<^3&
    1337 MD;?O_A2]CCUP"$)&_040LN:TE[WL9??,#8XDCAD>2XXA1_UGP]]],[.`0C6;
    1338 MM"5ZXHU](Y[U2@(*Z%_54Y69E55`-R_&1YM2QV@?NNA/OG=#SN&T[^?ZZ.SD
    1339 M]Z&?7=2+?IRG9Z^DK,UHQB->CD=JQB.UXW&SNWJ\>3H;C"2#\6P`4F@^'K<!
    1340 M>+R5Y.CJZ=VU'$0YN/5V&+JKWET_W;I)3_.XGLYVFNW&P8Y3595AM7)GY47,
    1341 MU/*JYJ.=NO4TV>E@=YIRRE4M%[5@#8AK`X+=)K-#.8W6!ID6EU.K+J[5Q6"G
    1342 MOFJ.JEDN6=62V2^G64]E,2,UQM&.)SU.5N[GY;9LU?D->:J"V:B]46>KUWL[
    1343 M-F3O[-@J]6NEV<3=7-7F3<W:X*P-4U&S0Q6S@[3Y<6X,([NWFG(UX\?8/X:G
    1344 M[M$_^>XI5AM^C%;4/SZ%6ARWXJ?MJ:T*M$7Y7%,$ZJ5QO=1?7)KD4NX>DUR*
    1345 M6FW0>G.Y-NNU7JYU5BR?E58\I7K=#>4&N=A?7G2K<J?*7;FKO<%O\K5JE3F_
    1346 M2_M$>FAY0.ZBG3X^];5$NT+[:RO1GNB>7MHD//M?L/^Y4`>U":TY7`2&W(36
    1347 MG)K`X(=!@\/]S<>;7VZ.-U]N#N]N=DV4R/DB2F29+"PR_$F,2*+JE]O0Q^O[
    1348 M6W_]\?J7ZZ.<^UVWNYJN]>(O4BQ+J/6R_/O0R<W7'^7(KFDL^5*EQ5?Z]8/A
    1349 M^M!OM\K9]5%T/Z[7;OW6HGFC&X?GUOVG%ZS[3W_/NN/]1_^+/_HOO1V%XZ'[
    1350 M&'X)!]]-]T$N:+G_^,OQB^^U(!RZK.?^RZ&[#U_"2Q/LZ)H6^HOA&27P/A^2
    1351 MNYL/-]_?W)\/QQ@OAF-,VW#<2<=\D'_N979T4[Z^DZ[[(//C]]JEG7,I^.L[
    1352 M*4G7W\N5>YT%8QA&*<E2(I_;5)NY;[R8^WYSE][7&/&AAH7L/WS?W=V?F;H8
    1353 M=:VUF>K&RZEN&IYWV=5!#/AT-L=-[J*[)O^^SFMB0ZD3"PS=2>/H07KJ>*O?
    1354 M9+B=Y"!U8JS25<=;O:3_399<'*2SCK=Y4VQFS2G^T['UH&W2)FF+]$E:=YCL
    1355 M/9ATG.R5F%/05UWS2V8VI:8I^;+/QDLSLTY[EJ=-TV6WS;7;UJ)9/*U/8Q@&
    1356 M[2=]1!*'Y$8YGL7E@V12TWQ=NE+2+DE#)[UOE%-)UJ8I>KVJ71FKHLQ,W9C#
    1357 M[.:EYU,7QIROR\CD/L=9SN4TR.G8IWE*3B.!CE&?HN1-LX:)V[GSPSS.-II5
    1358 M7-RNC]D-DC-J$T]]3D-,2Q/E=(YQ3N/21"]YH<OCZ,9A:66PDIQ=BDOC).^L
    1359 MXA)R)6\+?G3#TEHQEF[*?C1,;6_6*MTT9K\T>92"<4ACGJS1DYS*Y2%H;=J^
    1360 M,;HA>&N?)*RU*C$Q<=N8LS5DU+;?>NF:$/S:5F]%+H>4K;M2:;^637/T:Q.C
    1361 M)<)Y\JDV,IU5E;3+TN"GN#39$NI>,&?ME\*@$M*MN2!HOCWE/$W6-DO&Y\GG
    1362 M6%JF!?TH1N/"TBQ?DO=AF,1`EG8%NRV/*4UKNRS'[WT(4S$Q7]TQNC!+XG]8
    1363 M6B?UI<&E<6E;#2>SYHH2`?U<S.YD(3),PYA*2[2DG[R+5F=<FA;[<?1Q7FVN
    1364 M+$'F.$_K(&K#-@/6Y#$E+Y9H#2KK%.GR%.+2OMB[,8RQ&/CI-O6RG/'3G$J=
    1365 M6B)+E"2=L=2HC:BYY*RYI/!E<:>E_F`?"2Y'9U5&.Y^2V)E;6I`$=(HV!'HU
    1366 M=V(4(:=2@194^5FMV(TR3:QNI=5G<8WLBGPP`?FT..E26^XE!)11T:NCV*U?
    1367 M;5S/%W4W#.K=*<=<G%2EQVX4?YSG17GL<M+5GGWX)''79[<,KIV.@QC:\M&I
    1368 MEV"01J&2D[E6HB'$^7F<2F]*),C:7W+HAE[!M)_$O?:]GU+4CYO[[V4<AL&%
    1369 M-43)@K&;AVD>8W7_?:U#(XFL%,7*QQH*]K9LRZL)RWJRDU6K7X<QRWF4@#)7
    1370 MWY?S<1YT',UQY%3T@C??WZH*-N`YVXWJ7W*CF]PX#O/J_%*UN-LTY,WYI6B,
    1371 MT^9DP8K<'"3:C)OS-_5(4.DE^LTZS&L@D*HF-[O5TG*I7,*,]E+Q+^VE:1`/
    1372 M+\ZOE;AAC&EQ?M_4H+'$A7$8PU1C@;</B-/-J0D'VO<R4!IWFH"@]TJ8R#ZL
    1373 M?1J?U:`>[H,X@MVQ1@A5<S&-?HE8N99-,B#3&L.T)$<QB;2$!QGP3GS?NRT^
    1374 MM#90/#W*#4VTT,]D&63?Q@LM#.)3*3<APPKSX%P>:J1HY=71LT\NN#6N*;XZ
    1375 MQQ"6T*$VI]-+F2V+N4?%T!V'N+;`E](JK.M'+R(AKJ88UL_-PRQ36(TBT4QX
    1376 M"CFOD4Q'.UJ@*6'&*AMEX@DUEJ2M*J?^[F2^G,(Z??ARA[C*E'6>6R.*EL59
    1377 M<M%IC6!2,$E-R[QT,O^9LY_&&E=R4Y-3VY+;TYQK:,FJ*0E!<FO84GO.*9E7
    1378 M6/"Q@<DUOHSZ"2^1<UZC4U.%^KR/>;(,XZ0.VXO7A"21\KB<"ZH?U9@TNH04
    1379 M9'HQG]UKGBVN+@.S^*R62-X]Q;'Z[+Y.N\X5IP^^9AK!/B'Y2:S.JP7CF,2`
    1380 MJL-JD4C&L3ILJ5E2"C\O'MM6HXF$CX);IFZY9`YF&8/YMN8+?@KB!:O'EI8[
    1381 M[T/>'-8*I=]"&C9_/:M)=WVDYZ1'-M<MS2T#5+VUU"DM7A*YO-PG,5=FS;`&
    1382 MG48Z:^`2>Q^FQ6]]^8"7Z&?1.*V11JMS$@-;AUUN#I)KA,9ESX=C5.L:Q&!=
    1383 M;#S8[NFE4>.T3?:E,`J!&[=8H^G9($G6M'AN.)/7-:\F5-.6`Y3Q=@(UA,:/
    1384 MEV(?4TZA\=Y2+E/T/.3JON>5E)D]J_EOT4;:-8V3'U:'+E:59DE1I^K1L1B&
    1385 MEUQY:MPXMO)>EP)A").9XQ93](/"Y=.\Q13M'RE8P$[%;GM)8/R0JW.G,W5U
    1386 M;W'4:!_:PHBJ.PE((6]AQ%+<E);\Y;3X0-0<='7S?*:M?BWF%O,6-K0/).]0
    1387 MW!($1%2B1IKC&B:481IU:C@MCC-+&F-+!;T:JKIZLI>Q#\M:1R]*I)(L/&\S
    1388 MWM[6YG*/R]5_[#Z997+>,F`KTS0_;?-;6YGZLZX*8EY\IWP@BP.GQ?F#Q(QI
    1389 M=,6?3W:#3-]C7/W$2L2=VEGMK(YDZ56<_3QL_E((9"[2O83J(5::U+?"ZA\F
    1390 M+_FNQIC5N3=M=>4<)%=>9SA?""99,"R3SK&6^BQ#.LR-=Y2.E`6B&W/C'/ZL
    1391 M#O5E67S*?+QYBE][5M8"8^/(LK:0/'K(BW>$TG\:UEWUCG"FKK.VF&1V8^LJ
    1392 MRVC*!"<S1G6/M33E$MAJ%1*$-=8L[A&7!Q.2P6SN46S!2\S-8_6(I7"456W.
    1393 MC0]*)8,8ZS(M%"^1%9<;95DW+#YQ;D@:+)(L/F-JG"U(/B(34#*GR&7(9=$F
    1394 M?EN]2H9;DNTY+DX29.THW542JGU=)4EZ)MT49!FJU9O=R47)866%,%2SV]L#
    1395 MGM'9LB4L/A%EL3I7"]-S6<]9NKDXPU:'I01!PK9;TF]=RLEZ?%Z"L!7(M!)R
    1396 MJ''7RL2H9.T4-\.R>F31)LO,9M%U5IDO6;J;MOA;/A7"Z(=J^R(>)4ZL"[$"
    1397 M*9X?\QBK1?DS90L@4<+J/#06Y4N/R;)K2<5#+13G'E-CV%*!GTH2NUK=IJX1
    1398 M0[<(_&9:I9OG,<S+BF^UX-BG+,%\:,Q7ULMS'-.\&%8\TRZ10B:<R2]&MHR8
    1399 M&$AH,E,%&67H1S,L&T0QCJ3[)L=:(,MT-RY6ME51EO0QCDLPW>M25[QIW>"P
    1400 M@B#+N"9.:)&$ZE!C:+"B+-%]37WW=<$M8K:O(QX_N\7$9,4N%K(.HGU84I@Q
    1401 MUARXW*/^,VY#9H6:EOMI';"S>C0)D';KWD"U'VFHA*1UO5.&4VN??)BV`2NE
    1402 M8EBY65?[,W&;_"513W%J;$6D1EEQSFM<"$5HE+6DS\N0E<Z19=*LZ^;-&*IV
    1403 M'"PY2BXN*_%8/N&SIA7KJ"=Q/?6J93R3AN"4RNINK_MZXNANF5"TH*KK:EZ&
    1404 M9MON\':_6\N6\<N2QSN=DHZ+H"RK9#%;DIB3W2!N/L]KIYW5H<XKV64<Z]K!
    1405 M),91LGU7ATHTG28I2V=9.V0Y(8G%&D/]F:KE\).X=LTL2M/%.[V&N:4CLP;1
    1406 M,"VKB%(B29^JEJ[;%-5998&6<NFH_>VHV>>\9H):H)0IK6:@!5XBG$SX2S^-
    1407 MLH24)<JR`-*"JF[+\T$0QV7L2P7B\VE+\T?)I&154D;:*I!D?<X:%-8"7>E(
    1408 M)%Q@-GWU55DHQF*X^]M)%_YRJPVBGDN8DRE]==)),TY+DJQB.=5=LS5'L;T?
    1409 MR5*62J=:BZ[*-5KJEK1<F+LIA3@,5L,LL4(Z>RIIQ]S+U*X.L;]UP[=58'OH
    1410 MX/3Y^IOV\N<A;MOY(AD.XFH^ZP]1]-*<T7Z$0OIZ&`[^*+-S"#D=CC(;1?WY
    1411 M_B19AQ\/\=1KT)%[3Y+434Z_57"26X80#\=PZJ+^`1.]:73Q$$ZVVQOD)CGR
    1412 MLE`\')?7#/1WET^R5)2)^>!/]A#(N</QI/4.^H5..8J#%)VD`4'_/,,I=J<D
    1413 MJX#H#E$6Q)/7[_OJ2MG:L#??EO8&7:'KS[]+R3#X+(W8=Y*BZUTG+9-8IJW0
    1414 M+2/]YI5>'I.TP>\EPTR3M,&7'19M:KE+6B&RFME)`_<R-45W$GT91.FTO2[4
    1415 M_*SZ>R\!9?0BKX5^UI]KW^MB-7LO->BA5"D=I8>S_K:X%G8Z-QZD+BG3OQRA
    1416 M1Y)0A.%DVLGKA_>Z@3RY\7#4HZA_(43?S$@R_QQ.^V";ZD<[B/,\VUL;FE$?
    1417 M]M)]7M*VHQY(Q\:3'4C(WZ?Z\$MN2;,_Z(:L'\0<=/<SF3F$''7T)--+TVS&
    1418 M(.G&I%^Y%B<08^AF6>*:,43QFL48DLBK,?1QU+\N("7Z*HM9@SJE64/9L#-S
    1419 MD-Q5?\1>[<(^J4,O_934&FR3,9HU.%T`%G/0+P":.6BF)`84=>MF\&J5>S/I
    1420 M6$QBDMS9+$*[;CKJ;1J:U"0DXJ35)+Q\Q$Q"/ZN_Q&^%4XIF%5V,/A:KF.V;
    1421 MPV8I,HN:403]GJM9APR.&(5TC!J^#O40TFA&(:Q)&V(C/.COR$M9".*`-OS2
    1422 MD%1,PMOWL;5,>M,7DQC5Z-0B),L=3R8\R^#H`.OS#K6'?M*?<3$3T=X0*^BD
    1423 MFEC,0;*I:.;@]-&3V8/3+X;:@7CV8@]IW#__RU]+O&E>WG'Z\L[YPSNG[^L\
    1424 M>[_JA6=W3M_A.7]V)ZG(]LCS2H9HF8_TCZKI2U*:R3B=6]WR+&9=>DC?:72T
    1425 M^X=WU_K6B5QW_;[<Z8=./C/U\J_8+;.S_M=ULB!^M]6>&JS\QI#:AQI03W[8
    1426 M.]^=I"$'[WK]:M?1_C#XT??[[:<(CGJ;VJTLB,M7NF1,)8>58;=O1(H;O#(,
    1427 M8]->2<NTTY9WS/J:7O6EV[1KLAS[DKJ4/I+B7OM1IJJE6X)<V"_/7I8<:OE0
    1428 M3>CM"?.I7U8__?YV22>;?MQ><I#Y[:W]V#QG3KT%'/'XXVF+4(=TS'MQ>>TL
    1429 M=7/?6^RH3^U/>5\ZVYQ&[PCZ^P[Z!XA.G<:/YZ^NU#:[IOT7KT!(6-W,VYMI
    1430 MGYEUOGCQ06)3\R3_^NK0:?\?M"L[>ZMD/>Y<6[Z<!3L+V_%Y^;.SYU>+SM:2
    1431 MW*"]^47!;63J:$AMM>,/"TQ]A^H0VH)L=^@XU->FEO/UCLD^(B-^J&](+>?K
    1432 M'?I.U%I4A?5=J%*XB/W=5Y-J-S2)5)Z_^<UC5/MV;*+B^,^_N?9K^[;MRMQV
    1433 MY4O?WER;YYNFAA(Y6DYCE_-HY[%KG'N,S4?35WB'9(53T-B0;E1"J7^H\A*H
    1434 MMJ.Q:GT%Z!)G:WXSVN-;T^97FF\M?C%23XUI3)<3YM0,QQ3:EV$OHLMT&5VF
    1435 M)KK\VE&<FAZ;OD(<^!JC.#5#,RV.>!MV_4[B6&WXW/3D_!6<K#\V#:K[BG,S
    1436 M(//%.XIN;GQ@;MY13"^\V>7FIJOUK8MGHS<WU/I6PS:2,BD?NZ#IC,W/G64V
    1437 M<G`M[C_4H90E>A7PPU?HD6.WS;&'4SN4I\O1JQ7[IA&_*:#X(38?_;\14/R0
    1438 MFS:-BRFZP6PQ;BV?FKO>&DO.\AP)W6U^HZ<OQ1/OFC%W%_%$%B];AB*KV_J*
    1439 MY@]GKVAZ=Y&`>]<FX'?]!QFN.]VJO?YPO?N^CW::^@_=][)2N/[!LH_MLZEI
    1440 MU%O39Q]K=_1WW8>M-_Q\%[L/W\OJKPYH'_-=ZGX(7<P?Y%C:=_&3!;4]8].V
    1441 MZ;+#YN<KEOJZX<V7FU]N[!L);=?YX:+KO&M?U\QU^_(JE+6*?H&C+UNJ^L!4
    1442 MG\59`FVG4TW+]TO6[>QI[+JYV2V/$W4==.C;58OWC>OI4[PW6F&>MHZ?G:Z(
    1443 MCYTM3V5]K-LP7I:S2=_H]/;37_K`9#CM-T\[VD+4YYSM8)SGZ:`_@28%)B)K
    1444 M^\.6FF]^N"4NS\;.WX2;7,&:(*%/]M0\O3U7[%U]D:FO+[/$/JR/M:)U65G<
    1445 M].NS.5TPVMM%TN%A??4H=\Z52\L+9WUYMMAT=1,6_%MGS3[-FXW+>B1)?2E+
    1446 M=^O[=F/2%4H_ZEZ"UU^3D_^SM8^+^M-6NCL78SAL7V3015!GW]$YZ$.<-.K/
    1447 MQUI!?"UX^"9L^3+/GMFHO>)F9FEO&(7-*+MHS_#.[2\TL2B\=?[QF_'IIHY`
    1448 MB*//^B<-]7R.IW(NAM<U1F>[85&_)KM_A34TSA&6>4FGU4,?;#)]?K11-087
    1449 MOL*L)/JG/KR0:_C0&%48_W$3UR/?'&W-;L8V?(7TUIK=_&KB!8;?0)JOV'E]
    1450 M'&(@ME]@+ME]L6S@RO9>WFEHW'4[_4Z&W]ZTZ9R]T"2W?=G>7K&MB5.W?4?(
    1451 M-]_.\_&M(6_;IU'?ZTZ^^]*`2M'IBU\=Z;0<'<J!_L[@EE;$D_^BW[^7)KXV
    1452 M_33?%_0QU:[I#;RS,=TZ2A.^5\D;8WG[%_TV9]-@(4SA#+P[G=/]`[;&Y.(2
    1453 M3LJ<97-75_;:;/]",25*O>M."VMCN<V>HD__?!JK&\6Z[7`\M3F5;6`?3OKK
    1454 M1J>7`T9J3"NMB:RT55U-VBUI3\EHRX@I@;C$W*3CJ1GJ]!4"APS0(9RLY@U#
    1455 M?[=)=Z*M[E=`&DM)KZ:PJ1F\]/\TA6V^Y^?S$BWL69U^E\5>USW8^TU:LN_L
    1456 MH9Z9T`MW;)W??+?,Y[<&AH;FI#^T=I**9)YI5T5ML1S+X?X5RL8:<EK-21Q?
    1457 M'.,DKK^NC_0;9)H,NL;7F[TZ_^:]NKYU=MT:ZL.AYM!F2KTN\D[=:\/4&,BR
    1458 M.W;UFWV[V1GS7V-GK/CU*?PVUVXVO7S=]-)IIBRI%[\^FG65H+SL>Y?D6\*P
    1459 MYO*EQ%Z.ZL8&L1GH-V^+Y685:S\R<.;R]@L`H=D)+'F>_GR&_C<W6X+'DC4=
    1460 MRG\O-KJ;/FEL;-DY*]O]Y9U0>WJ2[,OFY0FVOE@B%[MIM!<DCK;Y/]H-XW*#
    1461 MYM63E.C;-MM'M&2>IN:>L4MQ.=6TW0U=\FLEL13,2R6ESDVLO/D8[)7&TH12
    1462 M4MZ*W$KL:_+3;$_XGY6.X_6Y7JP-3&>:T<66O)3YEN.ZO`';M+7JS<.S4F]U
    1463 MAP9SMM(T-8VTM[W=G-("&&LM>;DK;7?E<8%>[PK=G)=:M5^GM=8IM+VYE$X^
    1464 M-/>.2[OU+<SM7C<4PK5O:JLWXV^"Q)LW5?^O+T&;/5P_K>GMNAMW_>)V7>V@
    1465 M9H/73U]A7I*D36H]VZ:3JL]VZJ3^US*VJ8E54]IRG*-%[E.;Y:Q)J`;Z\SRG
    1466 MV4'V7V,'^:UY3K-K[)==XZM#K[G"T?XM\ZJFU\OQR<J;C*'93_9OWD\^FV2;
    1467 M[<?^L&8-NEM5-U8U1/?[:G7']7@4J^SW+S^UJFUL+&E>)C']HID.73<+W?)J
    1468 MF#TE.MAW#!O89N#G-T]2PP:K(4Z?N'7Z'=V*G=31=([6+]/*H?W[Q:FH-J8Q
    1469 MIGF\W)(H7Z7[=?L1S8:ZG]\:C"[W(]9]B/ZW[D&$9H,^#&[+`?7K9_J%OG6?
    1470 M?'DI8<D(SZ]^6P5\(_85(HD_RZ&6:@_'KEG@'I:FEM*78TIH=O'#D.HJT!)=
    1471 MQ;'=BF5;:4UX&],,S8Y[&+[&`ZF:UFX#):&DMQ^\E9I?&:JI:<5<'V-T)PLA
    1472 M1]VWT"#2;X\O0K,5']Q7R&V[]OE+WYS&<MJ?7AL"UYB&"W4(NA(/YG5B6M_U
    1473 M:!":L7-?8<DJ?2P]/S=F)3VGH_%RI[MFZ%WC_)K/;3YA65@?RB:X9N%-^YM1
    1474 M<V]./_*9R\^IK):*UV]65+9:RR5-OE]Y-R?XQBR\6Y;?<=?IPTSYMV12M?G-
    1475 M!GYX\P;^UOVGU.ECKY=^W",TV^AAV4;OA2]:R.F3U[=8]8<V8EBB4'G7O-=W
    1476 M=<WT)^D8.]#W\AKW;7;&P]MWQK4IFQF5.C8KLLJ;J&2-*VUKECY&L4"\NNX)
    1477 MS1YX\.NSYDD&YK#KW*YB-7O;X<U[VV?1]G"VINMD1CSTV^2I7%&[0>>;.,X:
    1478 MD%/(,H6.;IA><_QFDSLLF]R2M<?>;1S-N'^5W>P&HO,U<8]V&E/8QJ.3#*MY
    1479 M[Z>35>%4LYV#O5.Y!(K)SJ-+R^VSF<!V;J_\],T'['6??A-T9C1;?<Z,9FN.
    1480 M_JB1G-?6.LO#_L%;0L\-I]FM#[I;?_X@,33[[T'WW\M#Q9T^K;JY>W?Q.D?0
    1481 M/?._//QDSPWU1W%T3_Q._MF&+FZ/%:_LRCM=DMGWG2:-)UNA'[30C6K%M_;U
    1482 M?.>\G<RVV-PB3EQ_6>:C5'K0O\$@R9H;NZL[T=&_EU".]"\GVH'^E:2K.]TB
    1483 MT3]H:&5'Y[>BL![ZX[P<FN8LLG&K]>)Q<]!]\?N?/^^N'GYZVCU\)]B[A]T?
    1484 MU>\&_ZT6/'0AO*MWB^7^3SW)W\B8/1X?GW[\R^[J]WW_^>ZG'W[^R^]O=@];
    1485 M6(J3WG1A[>OE-.CEA_O=U:-=^B1F_F[W+]_M4JTS>;VEUJJ_-:?_MR&D7$H^
    1486 M?/[Q[L];J57\M_4T#[^BL=E?-O9C<]FJ?N:G[75IR-_^SH;X5,9M7,=J\^!1
    1487 M7Z.SD=/1++<]_T.3Z**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1488 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1489 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1490 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1491 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1492 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1493 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1494 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1495 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**+
    1496 M+KKHHHLNNNBBBRZZZ**++KKHHHLNNNBBBRZZZ**++KKHOJS[G__U;__^'[N0
    1497 MQ_>[>CQ]L_O\\-/'W>?==SM_<W6X.;Z[^>&OW_[N#W_875_O/O_XPX_W#S^5
    1498 M&ZZOZZ?F][N__OSIN+O_[G";=]WN>)ODWP?[]_$V?KO>.`[+C1_KC;G>>+@-
    1499 M^F_YQVT?<,L'_K1\X'!]7%07[:7,VUDX_[!_O_OT\/BT^^1N=I^\_!.V:^']
    1500 M[O[GS[NKAY^>=@_?R:=V#[L_[D(8!O^M%CQT(;RK=\=O=O]33](WTH6/Q\>G
    1501 M'_^RN_I]WW^^^^F'G__R^YO=P[M-?]2;/KGO=O=WWS_]_/GA]./NZKZY/MMU
    1502 M?W;]XW9]<G8]G%W_4W,]%/VM(!7!K:"T8$.>K,J'^]W5HZE]<F)-[W;_(@-=
    1503 M06>KMJ+.5LM9/7,J11\^_WCWYZW4*OM;/7U>E5^KJGT:A[.JXK!650GB\%)5
    1504 M<3BK*@[/JPJ75;GSJMQ:5>V;Z%ZLRIU7Y:2JOUUZPH-ZPBL>>LC=(75'^?\S
    1505 MYWOU=M\=?7?HW.;(L3MX*3O*?_62W>">.?)K:MVQ54K=(1Z[0S`9"P^BV<@'
    1506 M/>S6)AQ_=2T@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1507 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1508 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1509 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1510 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1511 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1512 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1513 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1514 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1515 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1516 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1517 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1518 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1519 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1520 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1521 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1522 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1523 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1524 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1525 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1526 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1527 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1528 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1529 M""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""""*((((((H@@@@@BB"""
    1530 M""*((((((H@@@@@BB"""""*((((((H@@@@CB__^(__E?__;O_[&+?GB_J\?N
    1531 MF]T?_K![^OS-+L:AEOIO=G]^^/1I]_G;6A3>[SX__/1Q]_F[\>;J<'-\=_/#
    1532 M7[>K\?WNKS]_.N[N=]_MCK?I^G`;=[T<>3D:[2CLNMWA-FP?2>]WGQX>GW:?
    1533 MOKN_^_[IY\\/IQ^O[M]MU_/[W:.4[:X^2:>\V_UQE[_]W=;"\?WNZ<?'I_+1
    1534 M1[GI1C_[:D\&Z8_:D;VO9U'.ZDG2\:L]GNVL?]:)-^==.35=.7^S>WI\^N_'
    1535 6I[NG+X]7[MVW__J[_P6R?Y'ZP,P(````
     1336M_$]_^9=__>-__\<??_BGO_JW/_[RCW_^B_VG/__XPY_^YL?YW_Y_[9U+;]Q(
     1337MEN_W_2DXC;N01='%>$>@VE[-9C:#"\RL9J$+^2&7T"Y7PTI7DCGH[W[/.1&,
     1338M""HE=TEM7,P%_M-3-AED_B-^<1[Q(#-]9A]N2K71T8Q6G_2D9N_-Z3BE^NCL
     1339MI(]F2LKR11U2?/!*RM:,SA[VW!ZNLX?K[7$U7-Q?'7;&<&2,!P9PIONX;0:X
     1340MOZ;)T<7AU24=6#JXUG)HQHM)71ZN5>13'[;3)*=>;ISEV%55,JN4*RG/8J+F
     1341M-S5MY51MITY.9[E3E)VO:CZK&6F`W1I@Y#8:'?*IE3;0L%A.I3J[56>-G.JJ
     1342M&5@S7Y*J:69?3CV?TF*&:K1!CB,?.RG7J=SFI3K=D&,5]$*MA=I+O5K+L2!K
     1343M)<=2J=XJ]2*N4E5+34W:H*0-,:O)(8O)@6MQ[#O'\.JEKES=^-Y.]^8PWNN#
     1344M'@^V^O"]E:+I_F!JL6W%A_;4E@7Z(K_7)(%Z*6R7IK-+D2[Y\=[1)<O5&J[7
     1345MYVN)KTUT;91B^BRUXN#J=37G&^CB='Y1;<HC*X_YKOX&W>1KU2RSOXO[A'JH
     1346M/"!75D[O#U,MX:[@_FHEW!/CX;%-PMW_C/Q/F6K4+K5Z<Y88?)=:O>L2@YYG
     1347M3@ZW5Y^N?K]:K[Y=+:^NABY+>'^6)3P-%I(9?B$GHJSZ[=I,]O+V6E]^NOS]
     1348M<J5S/8S#1;SDB[]3,2VAMLOTYS+2S9>?Z$BN<2[Y5J4I5J;M@^9RF=JM=':Y
     1349MDNZG[=JU;BU*C2[,#[W[ET>\^Y?O>;>]_:1_UZO^-LF169?QD_G=+'J,MX8N
     1350M<+G^]/OZ34]<8);1\[G^MHRWYIMY;(`-JFNA/C-/H,3[T"0W5^^NWE_=[LT1
     1351M[)DY@FOFN*&.>4?_W=+HJ**_O*&N>T?CXWONTE$I9_3E#96XR_=TY99'06OF
     1352M0"6>2NAS3;4;^\+9V/?L+KVM.>)=30M>OWL_WMSN7)V<NM;:#77A?*B+\\,N
     1353MNUC(@4^[,2ZJL^Z*^FT=U\B'W$@>:,83Y]&%>FJ]YF\R7$<Z<",Y*W75>LV7
     1354M^&\GDXN%.FN]]DVQ&S6C_:=SZ\)MXB9QB_A)VKA$>0_&K5%>B3D9?M75/^9F
     1355MT75-\>=]%L[=3#KMP3PMQO-N2[7;MJ)$D3:Y8.:9^XD?D=C9J4#'B4+>T$PJ
     1356MILO<E33MHFEHY/L"G=)D+4:K^2IWI:V*-#*-P9ND4NEY-YK@_66VC)^\371.
     1357MIX9.P^12=(HS`=MH<I;F38G3Q'4:]9Q"$FM6<0J[R7HUTYR1FWB:O)NM*TVD
     1358MTV1M<J$T4=.\4/D05)A+*XV4>*^<+8VC>6<5IY1+\S:C@YI+:\E9QNAU$$QN
     1359MK^<J50Q>ER8'*@BS"SY*HR.=TN79<&W<OF#5;+2TCR:LM2IR,0I;Z[TT)'#;
     1360MKS5UC3%Z:ZN6(N6-\])=+K>?RV*R>FNBE8FPC]K51KI=58Z[S,TZVM)DF5!/
     1361MA)FX7S(#2U"W^HS`\^WH?8S2-IF,IZB]S2WC@BF0TRA3FJ7SY'V>(SE(:9>1
     1362MVWQP+F[MDCG^I(V)V<5T#4>K3**)_U):1_6Y6;E0VE;32>*Y(F5`G;+;G21%
     1363MFC@'EUO")5/4RDJ=MC3-3B%HFS:?RTN09%/<C,@-:P[,DT?G-'FB-"BO4ZC+
     1364MG;&E?792P02;'?QT[29:SNB87*Z32VB)XJ@S2HW<B#J73#R7)#Y/X53J-_(1
     1365MH[Q54J65\^C(SU1I@2/0:,4$?-6/Y!3&NUP!%U3YQ%ZL`@T36UAQ]9Y"PZLL
     1366M;T2`/DU!6FKS$Z6`;!6^&LAO]>;C?%[4U3QS=#MO?0Y2E@YCH'A,J2B'T3M>
     1367M[<F'3Y1WM5?%N'(:9G*T\M$X43)P@:CH)-5*.(4HG4+,O4F9P'-_T:&:)P;C
     1368M?J+P.DXZ.LL?E_`_DAWF69DM1=&"<4QS3,'6\#_6.CB3T$J1O#S45'"499O?
     1369M7)C6DR.M6O5F1D_GEA)*JK%/YR'-;$<)'#HE/:,E]EM51@SNO=S(\44WJJA"
     1370MF-,6_%0UA5N<?0M^*@HVMB`S4J22H6P36O!W]5!2F2C[)3;SE@BHJJB2VCS-
     1371MY\HIS7`OY?CB7HHS17@.?JY$S<&Z$ORZJX%SB3)A#B;67*#E`Q1TR77I@/N>
     1372M#,5YITL(?"^E":_-UJ?V00T<X=I0(,@=6X9@-65=T"5C^5H6R2!QRV%<XBVY
     1373MA"OI@0P^4NQKU?)#[P,YTBW=T&4+_HPG(^L^7W"AH9ARODL94NAGI?Q<,T4O
     1374MSX'NM5-&;7F-\3DX9E-2!_L<#R]YM,SN;AF#=QSLU@*=2ZLPKQ\UB1B[N:+9
     1375M/I?F1$-8S2)67#@:[[=,QM:VDFARFI'*`@T\IN82UZI2'.^*QLMHMN%#YSLH
     1376M5*+G<6[+*%QF$\U%XY;!J"!2365<.DG\)*]CJ'G%=S4I]BVZW25?4XMG39H0
     1377M.+6E+?9G[YQ$A20?,8RO^27P)S1ESK1EIZX*CGEM?909QHD#=J*H,8XRY5K.
     1378M"54'=B;.+L89&EXD9H\\SZ90)\.4F.42FG='&VK,'NNPJU0.>J/K3,/()VA^
     1379M8FOP<D$(CARH!BP7D:0--6!SS32ET*E$;%\-3R2T)=P\=-,E"3"9,4AL\WQ!
     1380M1T-1L$5L;KG2VO@6L%)(_6;<W.)U5Q/O^E#/48^TT,W-S0:JT9KKI!:7B9PO
     1381M]U'.I5'3;$FGD_:<N,C?YUCB5N</:,I^DHW=EFFX.D4YL`_8<K.AN8;I0G9O
     1382MCL#>-9/#*MM%L-PS4:-";(-]+K1$H$++-3P]FVF2%4ODFIT\KWEY0A7;'"#;
     1383M6Q'4;+HX+L7:.N],%[VYG(;H-/L:OOM*\LCNV?U;MJ%VQ1#UO`5T]BJ7:(H:
     1384M:T3;[!B:YLJQ"V/;RVM>"IC91'''EE/X@\2E76HYA?N'"@K8*?OM1!,8/?L:
     1385MW&ZGSN%-@6KE0RV-L+JBA&1\2R,RQ76NS%].)08LST&W,/<[;8YK<C?K6]K@
     1386M/J!Y!^/F)$"BE#5<LEN:8(88>&@XE<!)-(V1I0)?-56=(UF3[4U9Z_!%RE0T
     1387M"_=MQ#O*VISN4;[&C]Q'HXSW;08L93S-=VU\ZROC>.95@?4E=O('/`6P*\%O
     1388M*&?$H'(\G^0&&KZ#W>)$2BB<^E%M5X>3Z95-.LTM7C(!C46\EU`C1$H=QY;9
     1389MXD/D:;[+.68+[J;-H>P-S96W$4YG@D@+AC+HK+54>S+IG+KHR!U)"T05?!<<
     1390M>E<'QS(M/FD\;I&BMYZEM4#H`IG6%C2/GGV)#I/[C].ZJM%A=NH\:I-+>A7Z
     1391M4"G6I`&.1HP:'ENI\SFQU2HH"7.N*>%ARX,)FL&T\,B^H"GG^E`CHA0&6M5Z
     1392MW\4@53*3LY9A(4<)K;A4H&7=7&)B[TB<+!PM/JWK@LW0?(0&("=!X;/):=%&
     1393M<5NCBLQ-D^UD2Y`86CM2=^4)U;&NDFAZ1MUD:!G*U8O?T46:P](*8:YN=Y0'
     1394M/$')LL64F+"T6$W5P_B<UG,RW2S!T.J0*8&AM*W*])N7<K0>3R4)2P$-*\:;
     1395MFG>EC)R*UDZV.9;40XLV6F9VBZY=93K/TE5L^3=_RIB@Y^K[)&XI3VP+L0Q)
     1396MD6]]L-6C]$Y9$HBEM)KFSJ-T[C%:=I6IN*F%%-S!=8Y-%>B8)[&;US5USAB\
     1397M1:";:^5N3L&DLN+;/-A.SE,RGSOWI?5RLL&EXEAVIYTS!0TX41<G*Q8C!S'=
     1398MS)1!`ID^B&.)$<DY'.^;K+6`ENDJ%"]K5>0EO;6A)-,C+W4IFK8-#BDPM(SK
     1399M\@074:HV-8<:*?*4W;>I[[$NN$E,]G4HXI,J+D8K=O*0S8CR89K"!%OGP/D>
     1400MCI_03":%/"W7<3/8KAZ>!%"[>6^@^@\UE%+2MM[)YN3:HS:Q&2R7DF/Y;EVM
     1401M=^(R^--$W=G8^0I)!5IQIBTOF"P4:"VI?3%9[AQ:)B5>-S=GJ-IVELF14[:L
     1402MQ&W^A/8\K=BL[BCT.*J*/1VG8.?RZN[(^WH4Z*H,*%Q0U7DU3Z9IVQU:[E=;
     1403M6;&?IWF\XB%I+8*TK*+%;)[$G.0&"O.4MD[;U<'!2[-+&^K:021"H-F^JJ8B
     1404M3<63E-)9T@Y:3M#$8LNA>J<J<_A(H5UG%KGI%)V:TUSI2,])U,2RBL@E-.EC
     1405MU=QU39&#E19HSN>..EX'GGVF;2;(!4SIW.8&7*`IP]&`7_HIT!*2EBAE`<0%
     1406M55V6YS,AAF+[7`'%O&O3_$`S*5J59$M+!3193YZ3PE;`*QW*A`6FZ7.LTD+1
     1407M9L<]7D=>^-.M8D0^IS1'0_H6I)%GG#))DHKIE'?-MCF*[/W0+*54&FLMO"KG
     1408M;,E;TG0AC=$9.\]20Z)<09T=\[0C332T<T`<K]7\<Q5H#QT4/U]_T5Y^FFW;
     1409MSB=)LU"H:<\_1#%1<X+\"`7U]3PO>J71V1COEI5&(\L_W^]HUJ'#8D\3)QVZ
     1410M]T23NJCX6P4GNF4V=EG-:;3\#YCP34'9Q9QDM]?0372D::&XK.4U`_[=Y1,M
     1411M%6E@7O1)'@(IM:PGKG?F+W32D9VIZ$0-,/S/,YSL>'*T"K!JL;0@CIJ_[\LK
     1412M96G#46*;VFMXA<X__TXE\ZP]->(XTA2=[SIQ&>4R;@5O&?$WK_AR<-0&?:09
     1413MIHO4!IUW6+BI^2YJ!<GRS(X:>*2AR:H3Z9,1J=..O%#3B?6/FA)*T"3/A3KQ
     1414MS[4?>;'JM:8:^)"JI([BP\2_+<Z%(X^-"]5%9?PO1_`132C,?!)MI_G#1]Y`
     1415MCBHL*Q]9_A="^,T,1^//<CH:V51?Y<"FE.2M#9Y1+T?J/DW3MI4/J&/M20XH
     1416MY1]=??A%M[BD%]Z0U3.Y`^]^.G$'XRU;CV9Z+B9Q!IIN1/[*-04!.<.8:(DK
     1417MSF`I:HHS.))G9YALX']=@$KX51;Q!@Y*\8:\82?N0'-7_A%[]@OY))N>^LFQ
     1418M-\@FHQ5O4+P`S.[`7P`4=^"9$CF0Y:V;6;-7'L6E;7:)2'-G\0CNNKCR;9R:
     1419MV"4HX[C-)31]1%R"/\N_Q"^%T5GQBM%:;;-7)/GFL'@*C:+B%(:_YRK>0<8A
     1420MIZ".8<=G4\_&!7$*8G7<$+'PS+\C3V7&4`"*^:DA+KN$EN]C<QGUILXN$=CI
     1421MV"-HEAM.(IS(.&Q@?M[!_C!%_AD7<1'N#?*"D:JQV1UH-F7%'10_>A)_4/S%
     1422M4#F@R"[^X,+QX;_\5?)-]_*.XI=W]@_O%+^O\^#]JD>>W2E^AV?_[(ZF(NV1
     1423MYP69J(Q'_(^J\4M2/)-1/+:J\BQF6WI0WW%VE/OG5Y?\U@E=5],QWZGGD3X3
     1424M)_K#CF5TYK_52`OB5ZUVUV'Y%Z;4R=2$>M+S4>GQ1`U9M)KXJUVK_,/@JYZ.
     1425M[:<(5KZ-_986Q/DK7613FL.2V>4;D10&3Y@A=.VE:1EW6GG';*K3JREW&W>-
     1426MIV.=IRZYCZAXXGZDH:ITBZ$+Q_+LI<RARH?JA%Z>,)^FLOJ9CM=E.MGU8WO)
     1427M@<:WE_9C]YS939)P*.+74\M0BUO]D4*>.XO#7$^2.^I3^Y,_YLZ6H.$[#/^^
     1428M`_\#1*>1\\?#5U=JFU77_K-7("BM-O?6XMH[M_9G+SY0;NJ>Y%]>+"/W_\)=
     1429M.<I;)=OQJ/KR<F;DS+3C??F#LX=7LTYKB>_07ORB8+-,M0;55CM^*3#U':K%
     1430M]`5>[F`[U->FROEV1Y2/D,67^H94.=_NX'>BMJ(JS.]"Y<(B]MU7DVHW=!,I
     1431MGUX_VT:U;T.7%<,__^;:'^W;OBM]WY6/?7MS:Y[NFFIRYN@YA9W.K9S;L0ON
     1432M8+N/NA_P#LD&QZ"V(VU41,G_4.4Y4&U'Y]7\"M`Y3FM^9^WPTFGS$\V7%C^:
     1433MJ6/G&O%\P(R=.:+I7X8]RR[Q/+O$+KO\42O&KL?B#\@#/\**L3--+(%X;89I
     1434MH#Q6&YZZGDP_(,BFM6M0W5=,G4'2V3N**G4QD+IW%-TC;W:IU'4UOW7QP'JI
     1435MH^:W&IHE:5!>1\/3&1F?1YG9T,$EA?]<34E+]"J@YQ_0(^O8QMCEU)OR=&Z]
     1436M6K'N&O&LA*)GVWWT?T9"T;/OVA2**ZI9?-&VEL?NKI?FDMT\AU)W/[_AT\?R
     1437MB5:=S=59/J'%2YNAT.JVOJ+Y8?>*IE9G$W"M^@GXS?2.S'7#6[67[RZ']Y.5
     1438M4S>]&]_32N'R@\P^VF==UZB73I^UK=TQW8SO6F_H=&/'=^]I]5<-.EE_X\8/
     1439M9K3^'1U3^\Y^LJ"V)W1MB^<=EAZN6.KKAE??KGZ_DF\D]%VGY[.NTZI_7=/7
     1440M[<L+D]<J_`6.*6^I\@-3?A8G$V@YC75:?BRS;B5/8[?-S;$\3N1UT#+UJQ:M
     1441MN]#CIW@O]$(?6\<GQ2OB=93E*:V/>1M&TW+6\1N=6G[ZBQ^8S*=CB[15%J+:
     1442M>R\'(:6X\$^@48&(T-I^:5/S%H=MXO+`=OK*7/D*UB4)?K+'[JGEN>*DZHM,
     1443M4WV9Q4YF>ZQEI<ORXF;:GLWQ@E'>+J(.-]NK1WY4*E\J+YQ-^=EBU]5=6M`O
     1444M'34GEYJ/TWK$47W.4W?S^W;!\0IE"KR7H/G7Y.C_9.VC+/^T%>_.66N6]D4&
     1445M7@2-\AV=A1_BN,`_'RL%]JGDH;NTI?,XN_-1><5-W%+>,#+-*4<KS_#V_F>Z
     1446M7&1>.O[HYGR\J4,0%.B)_TE#/D_VE,_)\<;.Z60WS/+79(]/L)HN.$P9EWA8
     1447M728C@^G#HT;5.9SY`:,2Z9\F\\A<0YO.J4SXQTW<CG1WU)K=V=;\@.FM-+O[
     1448MU<0S#-U`NJ_8:7X<(B"R7R`A.7Z3V<"%[+V\XM0XC`-_)T.W-VU&)2\TT6W?
     1449MVMLKLC5Q&MMWA'3W[3QM7YKRVCX-Q]YXTN.W#I2*3M_T%DBG<K3D`_Z=P3:M
     1450ML"?]C;]_3TU\:OCIOB^HK:M=,PGX*#9M'<43OB?).V=Y^1?]6K!QLB`FLP,?
     1451M3WNZ?\#6N9PMZ22/63)VC7FO3?8O&).RU*OQ5%@[S^WV%+7[YZ>QO%',VP[K
     1452MJ9]3R0;V<N)?-SH]GC!<YUINF\A26SG4J-TT[<DSVFPQ)J"02-UTW'6F=C\@
     1453M<9"!%G.2FAL&_VX3[T1+W4^`=)[BGIS"NLYX[O_I%+;[GI_V)5O(LSK^+HN\
     1454MKKO(^TU<<ASEH9ZXT"-WM,[OOENF_4L30T=SXA]:.U%%-,[TJZ*^F([I\/@$
     1455M9><-WFWN1(%/@7&BT-_61_P-,IX,JB[6N[TZ_>*]NJD/=MX:FLQ2Y]#B2A,O
     1456M\D[C4V;J'*3LCET\.[:[G3'](W;&<ER?S/-"N]OTTG73BX>9O*0N<;V*=^6D
     1457M7/:]\^2;TC#/Y7.)O!PUA@ZQ,_2+M\5\MXJ5'QG8A;S\`H#I=@+S/(]_/H/_
     1458M]MV6X)IG34O^^VRCN^N3SL?*SEG>[L_OA,K3$R=?-L]/L/G%$KHXQB`O2*RR
     1459M^1_DAE!NX'EUI!)^VZ9]A$M2C-T]872VG/*T7<VCTULE-A>D4DFNLXGE-Q^-
     1460MO-*8FY!+\EN1K42^)A^3/.%_4!K"Y5[/U@:ZG:95MB?/9;KGN,QOP'9MK7II
     1461M?E"JI6[3828I=;%KI+SMK9)S!=#66GRYR[6[?"C0VUUF3+[4ROT:MUJCZ7NS
     1462ME$9MNGM#:3>_A=GN57,FW/JFMKHY?Y<D7KRI^C]]"=KMX>JX36^WW;C+1[?K
     1463M:@=U&[PZ_H!QB29M5.MNFXZJWNW44?U/S=ABEZNB:W.<53+WJ9_E;)-03O3[
     1464M>4ZW@ZQ_Q`[R2^<YW:ZQ+KO&%\O$<X55_J1QE:?7Y?@DY=V,H=M/UB_>3]X-
     1465MLMWVX[1LLP;>K:H;JYRBIV/UNG4[#N25T_'QIU:UC9TGI3*(\1?-V'1C(KKR
     1466M:I@\)5KD.X8=;&?X].)!:FZPG.+XB=O(W]&MV(X#C<=H_C(M'<J?CPY%M3&=
     1467M,Z5POB61OTKWQ_8CN@UUG5Z:C,[W([9]B.FY>Q"FVZ`WLVIS0/[Z&7^A;]LG
     1468M+R\EE!GA_NK/54!W8C\@D^C='*I4NZQCM\!=2E-SZ>,YQ72[^&9V=14H$UW&
     1469MD=V*LJVT37@[US3=CKN9?\0#J3JM;8:B5#+)#]Y2S4^8*G:M2/4QQGB2%++R
     1470MO@4GD:D]OC#=5KQ1/V!N._;/7Z;NU.;3Z?24"53G&LI4$XPY'Z1M8-K>]>@0
     1471M.MNI'[!DI3ZFGD^=6U'/L34>[W35F5YUP<_SN183,@N;3-X$YUEXU_[.:NK%
     1472MTP^_"_GD\FHI1WWSHKS5FB_QY/N)=W.,[MQ"J[+\ML/(#S/I3YI)U>9W&_CF
     1473MQ1OXK?M/;N3'7H_]N(?IMM%-V4:?B,]*RIF<YK=8^8<VK"E9*+]K/O&[NN+Z
     1474MD3I&#OB]O"Y\NYUQ\_*=<6Y*<Z-<1_,BJ;S+2M*XW+9NZ2,4!>+)=8_I]L"-
     1475MWIXU1S+,,HQJJ%C=WK9Y\=[V+MLNNS7=2"/B,K7!D[DL=P./-S8D3LC.>!I"
     1476M@YKC4X'?;7*;LLE-LW8[J<;1V?V'[&9W$*.N$W<KI]:99H^19EC=>S\CK0IC
     1477MG>TL\DYE2111SJURY?8D+M#.Y96?J?N`O.XS-4$E3M/J4^(TK3G\HT9T7ENK
     1478M9![V#]X2>N@XW6Z]X=WZ_8-$T^V_&]Y_SP\5!WY:=77SZNQU#L-[YK_>?9'G
     1479MAORC.+PG?D/_-=/9]ECQ0JZ\XB69?-\I<CYIA7KF0A78BZ_EZ_E*:3E)LMAL
     1480M&<=NORSSB2I=^-]@H,F:"N/%#>GPOY>0C_A?3I0#_E>2+FYXBX3_04,I6Y5N
     1481M168[U&LJAZ*92-:V6L\>-QO>%[_][>MP<??E,-R](>SA;O@+Q]VL?^:"N]&8
     1482M5_5N\MS_KB?^-=GL?KT_?/QUN/CS-'V]^?+AMU__?#7<M;1D(]]TYNW;93?S
     1483MY;O;X>)>+GTF-W\U_,N;P=4ZG>9;:JW\6W/\?PW!^5SR[NO'F[^V4JGX[]NI
     1484MG_]`8[T^;^RG[K)4_2!.^^O4D+]_9T,\9KN%S58M@@._1B>68VOFVQ[^0Y/0
     1485MA2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%
     1486M+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N
     1487M=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YT
     1488MH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A
     1489M"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+
     1490M7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=
     1491MZ$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH
     1492M0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"
     1493M%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7
     1494MNM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>Z
     1495MT(4N=*$+7>A"%[K0A2YTH0O=QW7_XS__]=_^?3`^O!WJ<7P]?+W[\FGX.KP9
     1496M]-7%<K6^NOKPMY__]--/P^7E\/7CAX^W=U_R#9>7]5/I[?"WWSZOP^V;Y=H/
     1497MX[!>._ISD3_7:_OS=F.8RXV?ZHV^WKA<&_Z3_E/M`ZI\X)?R@>5R+:I%NY1I
     1498M.3/[#^NWP^>[^\/P65T-GS7]9]HU\W:X_>WK<''WY3#<O:%/#7?#7P9CYEG_
     1499MS`5WHS&OZMWV]?#?]<2]IBZ\7^\/'W\=+OX\35]OOGSX[=<_7PUWKYI^X)L^
     1500MJS?#[<W[PV]?[TX?AXO;[GJ2ZWIW_5.['I5<-[OKOW373=9O!2X+MH+<@H8<
     1501MI<J[V^'B7M0^*_*F5\._D*$K:))J*VJ26G;U))>+WGW]>//75BJ5_;V>/JQ*
     1502M;U75/K7SKBH[;U55`CL_5I6==U79^6%5YKPJM:]*;575OK'JT:K4OBI%5?W]
     1503M/!+N.!*>B-#%CXL;5_K_7?`]>;L>5STNHVJ!;,=%4]E*?_,EN4$]".2GU,:U
     1504M5W+C8M=Q,2(CZ8$T.WG#A^/6A/4/UP)$(`(1B$`$(A"!"$0@`A&(0`0B$($(
     1505M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$
     1506M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@
     1507M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"
     1508M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1
     1509MB$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(
     1510M0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`
     1511M!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$
     1512M(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B
     1513M$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0
     1514M@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!
     1515M"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(
     1516M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$
     1517M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@
     1518M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"
     1519M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1
     1520MB$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(
     1521M0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`
     1522M!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$
     1523M(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B
     1524M$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0
     1525M@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!
     1526M"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(
     1527M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$
     1528M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@
     1529M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"
     1530M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1
     1531MB$`$(A"!"$0@`A&(0`0B$/__1_R/__S7?_OWP>KY[5"/U>OAIY^&P]?7@[5S
     1532M+=6OA[_>??X\?/VY%IFWP]>[+Y^&KV_"U<5RM;ZZ^O"W=M6^'?[VV^=UN!W>
     1533M#.NUNURN[3#1D::C($=F&(?EVK2/N+?#Y[O[P_#YS>W-^\-O7^].'R]N7[7K
     1534M_NUP3V7#Q6?JE%?#7P;_\Y]:"\/;X?#Q_I`_>D\W7?%GG^Q)0_U1.W+2]<S2
     1535M63UQ;+_:XU[.I@>=>+7ORMAU97I=C\U\UH%&U0[4YQUH]-:!;X:+Y=I?DAVO
     1536M[25U(/U-=J>.S,?T]RA'KR[S?72\7@>Z8NC8\*?&M?6B,;67A]K-0]_/QI[U
     1537MY/#=KES\RGZH.2[$];C/^*_FJ)X=,K"G&G;0]7$_-*YUGO&O"[HI2(Q"@2*8
     1538M#.]KAZR,R->YD^B.AD).\31G?"XGQQD#Z#X&]>HS/06<A*`$^^-\J?'9N3F'
     1539M53UK8<FDEVS*S+H9/'-V)K7Z.Y36/)\R@_209#O&%.,*XQ,6M+8C=!UAM:8M
     1540M3JF%5%Q9N'9VI3]SN7WHZ!W8]VQKGVO;M4O/8F).GTX2M*J)@4I=SK%KS:QG
     1541MV:`VH3.VZXSMJK$W]%70[<Z\G1.[[YG7/=N\&6K'NQGU";=UG5%=9U17C:K%
     1542MJ%N(YDS$&<A)UFI7>ZKOF<\].S1WSFK$?YO9J"ENS2,D_?^3%G.=Q7QG,=^'
     1543M9[$.$[I\UCFI_-=3^N_9SK\@-+.9V@1@S?XH`[Y^>H3WG0E]9T*_BTL]/D"4
     1544M.%RWX>8\O_KO&='_<T;LX\[4,QJ1)0;/K=C!=G8,G1V#ZHYU!L^IU67?K2G(
     1545MY"&EL03S'=#PW`%S[4</G7UR8UWS])+]]PDW#=TH&7R'%(HM+\M86+-JG0CL
     1546M$TN(WX-*S[6>#'Z[H3&/]D\Z9>RFG;&S3=2/."7_72//LU.VML;O62<^>SJC
     1547MU_WX/NZ=D2IW3]DF=K:)G6UBJ$F_2XG+-A:.?;S1>=?Z[]DH/MM&#:LGRFN(
     1548M-JJM8[?.*!'W=+BESHRI,V/2^^$A>^2R)<_M?.^3Z7NF3,\V91[LE@<&S8[Z
     1549MY#0M=49,G1%3-:+?&E]&[VPV3IU[F.\9+SW;>+ZN%RL,6\:L3^9]-S?;N+G9
     1550MQLU]^BMS3EN&Z,N:%/=SK[VEW/P=2[GYV2G1[U8/.XOQ-9Z3VD=&[UJAZT!]
     1551M!]H"K^7XRV:O;,'6[N]8S,W/MICK)B(RJ&5SB0D?Q5"=O51G+R7VRO9PW4)P
     1552MFT5;0:EI<C<E*9.R/'97&/4]\ZES\_VCE/F8W62I]%28.=693'4F4^'A4MDI
     1553M,LM//PVW7W_[=?C?KX?_NOOUUX]??[WY\F7X_>Z&EK/O[FD=_>WSS=?IP\??
     1554M/WZN'Z,%>%YA#V\&6F.O5X=^C>UXWZ-M4EP>KN,PRF;%X5KS$?WMZ>_#=9!R
     1555MOUV5OS5=M?6([J^J9#<IE(^:?(L<ZU8SS0L_?+SMMSIV!M#/G1H>>`PY])U_
     1556MH'%*'RAF#GFWRO`M=,ZG'$D'OLQ%9CQ(9*T'F4,>]./FXAV=P_WA_]P?;@[?
     15571[B\H$_RO/_U?.CZGWX[="```
    15361558`
    15371559end
  • Tst/Short/factorizep_s.stat

    rb36460 ra07784  
    1 1 >> tst_memory_0 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:174032
    2 1 >> tst_memory_1 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:2240284
    3 1 >> tst_memory_2 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:2273068
    4 1 >> tst_timer :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:342
    5 2 >> tst_memory_0 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:4109776
    6 2 >> tst_memory_1 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:6680576
    7 2 >> tst_memory_2 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:6680576
    8 2 >> tst_timer_1 :: 1343903425:3150:3-1-5:ix86-Linux:mamawutz:5873
     11 >> tst_memory_0 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:173336
     21 >> tst_memory_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:2240284
     31 >> tst_memory_2 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:2273068
     41 >> tst_timer :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:276
     52 >> tst_memory_0 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:4047200
     62 >> tst_memory_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:6025216
     72 >> tst_memory_2 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:6025216
     82 >> tst_timer_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:5530
  • Tst/Short/factorizep_s.tst

    rb36460 ra07784  
    385385testfactors (l,f);
    386386
     387
     388kill r;
     389ring r=2,(x,y),dp;
     390poly f= (x^6*y+x^4*y^2+x^5+x^2*y^2+x^2*y+y^2+x)*(x^6*y^2+y^7+x^3*y^3+x^4+y);
     391list l= factorize (f);
     392testfactors (l, f);
     393
     394f= (x^3*y^2+y^3+x^2+1)*(x^2*y^6+x^4*y^2+y^4+y^3+x*y+x+1);
     395l= factorize (f);
     396testfactors (l, f);
     397
     398
     399f= (x^3*y^4+y^3+x+1)*(x*y^7+y^6+x^2*y^2+x^3+x*y+y);
     400l= factorize (f);
     401testfactors (l, f);
     402
     403
     404f= (x^4*y^3+x^2*y^4+x^5+x*y^2+1)*(x^2*y^6+x*y^5+x*y^4+x^2*y^2+x^2*y+y);
     405l= factorize (f);
     406testfactors (l, f);
     407
     408
     409f= (x^5+x*y^2+y)*(x^4*y^2+x^3+x*y+1);
     410l= factorize (f);
     411testfactors (l, f);
     412
     413
     414f= (x^2*y^3+y^3+x^2+x)*(x^7+x^5*y+x^2*y^3+y^3+1);
     415l= factorize (f);
     416testfactors (l, f);
     417
     418
     419f= (x^3*y+x*y+1)*(x^5*y+x*y^4+x^2*y^2+y^2+y+1);
     420l= factorize (f);
     421testfactors (l, f);
     422
     423
     424f= (x^4*y^2+x^3*y+x*y+1)*(x*y^5+y^5+x^2*y+x*y+x+1);
     425l= factorize (f);
     426testfactors (l, f);
     427
     428
     429
     430f= (y^6+x^5+y^3+x)*(x^2*y^3+y^4+y);
     431l= factorize (f);
     432testfactors (l, f);
     433
     434
     435f= (x*y^3+x*y^2+1)*(x^3*y^3+x^4*y+1);
     436l= factorize (f);
     437testfactors (l, f);
     438
     439
     440f= (x^4*y^2+x^3*y^2+x*y+1)*(x^6+y^5);
     441l= factorize (f);
     442testfactors (l, f);
     443
     444
     445f= (x^5*y+x^2*y^3+x*y^3+x^2+y+1)*(x*y^5+x^2);
     446l= factorize (f);
     447testfactors (l, f);
     448
     449
     450f= (x^2*y^3+x*y^2+x+1)*(x^5+x*y^2+x*y+1);
     451l= factorize (f);
     452testfactors (l, f);
     453
     454
     455f= (x^6+x*y^2+x^2+y)*(y^5+x^3*y+y+1);
     456l= factorize (f);
     457testfactors (l, f);
     458
     459
     460f= (y^6+x*y^4+y^4+y^3+1)*(y^6+x^5+x^2*y^2+x^2*y+x*y+1);
     461l= factorize (f);
     462testfactors (l, f);
     463
     464
     465f= (x^5+y^3+x)*(x*y^5+x^3*y+x^2+y);
     466l= factorize (f);
     467testfactors (l, f);
     468
     469
     470f=x^2*y^5+x^4*y^2+x^2*y^4+x^4*y+x^3*y^2+x*y^4+x^2*y^2+y^3+x^2+x*y+x+1;
     471l= factorize (f);
     472testfactors (l,f);
     473
     474
     475kill r;
     476// from P. Zimmermann via libsingular-devel
     477ring r = 2,(y,t),dp;
     478poly f = y*t^8 + y^5*t^2 + y*t^6 + t^7 + y^6 + y^5*t + y^2*t^4 + y^2*t^2 +
     479y^2*t + t^3 + y^2 + t^2;
     480def l=factorize (f);
     481testfactors (l, f);
    387482tst_status(1);$
  • configure.ac

    rb36460 ra07784  
    1212AM_MAINTAINER_MODE
    1313AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     14m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     15
    1416
    1517dnl Check if build env is sane
  • dyn_modules/bigintm/bigintm.cc

    rb36460 ra07784  
    231231      }
    232232
    233       Werror("bigintm_Op2: Op: '==': Sorry unsupported 2nd argument-type: '%d' in", Tok2Cmdname(a2->Typ()));
     233      Werror("bigintm_Op2: Op: '==': Sorry unsupported 2nd argument-type: '%s' in", Tok2Cmdname(a2->Typ()));
    234234      WrongOp("bigintm_Op2", op, a1);
    235235      return TRUE;
  • factory/cf_gcd_smallp.cc

    rb36460 ra07784  
    20002000  nmod_mat_t FLINTN;
    20012001  convertFacCFMatrix2nmod_mat_t (FLINTN, *N);
    2002   long* dummy= new long [M.rows()];
    2003   for (int i= 0; i < M.rows(); i++)
    2004     dummy[i]= 0;
    2005   long rk= nmod_mat_rref (dummy, FLINTN);
     2002  long rk= nmod_mat_rref (FLINTN);
    20062003
    20072004  N= convertNmod_mat_t2FacCFMatrix (FLINTN);
    20082005  nmod_mat_clear (FLINTN);
    2009   delete dummy;
    20102006#else
    20112007  int p= getCharacteristic ();
     
    20832079  nmod_mat_t FLINTN;
    20842080  convertFacCFMatrix2nmod_mat_t (FLINTN, *N);
    2085   long* dummy= new long [M.rows()];
    2086   for (int i= 0; i < M.rows(); i++)
    2087     dummy[i]= 0;
    2088   long rk= nmod_mat_rref (dummy, FLINTN);
     2081  long rk= nmod_mat_rref (FLINTN);
    20892082#else
    20902083  int p= getCharacteristic ();
     
    21012094#ifdef HAVE_FLINT
    21022095    nmod_mat_clear (FLINTN);
    2103     delete dummy;
    21042096#endif
    21052097    delete N;
     
    21092101  N= convertNmod_mat_t2FacCFMatrix (FLINTN);
    21102102  nmod_mat_clear (FLINTN);
    2111   delete dummy;
    21122103#else
    21132104  N= convertNTLmat_zz_p2FacCFMatrix (*NTLN);
  • factory/configure.ac

    rb36460 ra07784  
    2121AM_MAINTAINER_MODE
    2222AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     23m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     24
    2325
    2426# Add pre'prefixed config
  • factory/facFqBivar.cc

    rb36460 ra07784  
    412412                if (recombination)
    413413                {
    414                   appendTestMapDown (result, buf (y - eval, y), info, source,
     414                  buf= buf (y-eval,y);
     415                  buf /= Lc (buf);
     416                  appendTestMapDown (result, buf, info, source,
    415417                                      dest);
    416418                  F= 1;
     
    439441      if (recombination)
    440442      {
    441         appendTestMapDown (result, buf (y - eval, y), info, source, dest);
     443        buf= buf (y-eval,y);
     444        buf /= Lc (buf);
     445        appendTestMapDown (result, buf, info, source, dest);
    442446        F= 1;
    443447        return result;
     
    591595            On (SW_RATIONAL);
    592596          g /= content (g, x);
     597          if (!isRat)
     598          {
     599            On (SW_RATIONAL);
     600            g *= bCommonDen (g);
     601            Off (SW_RATIONAL);
     602            g /= icontent (g);
     603            On (SW_RATIONAL);
     604          }
    593605          if (fdivides (g, buf, quot))
    594606          {
     
    762774            On (SW_RATIONAL);
    763775          g /= content (g, x);
     776          if (!isRat)
     777          {
     778            On (SW_RATIONAL);
     779            g *= bCommonDen (g);
     780            Off (SW_RATIONAL);
     781            g /= icontent (g);
     782            On (SW_RATIONAL);
     783          }
    764784          if (fdivides (g, buf, quot))
    765785          {
     
    17721792    buf /= content (buf, x);
    17731793    buf2= buf (y-evaluation, y);
     1794    buf2 /= Lc (buf2);
    17741795    if (!k && beta == x)
    17751796    {
     
    18521873    buf /= content (buf, x);
    18531874    buf2= buf (y-evaluation, y);
     1875    buf2 /= Lc (buf2);
    18541876    if (!k && beta == x)
    18551877    {
     
    20272049      tmp1= tmp1 (y - evaluation, y);
    20282050      tmp2= tmp2 (y - evaluation, y);
     2051      tmp1 /= Lc (tmp1);
     2052      tmp2 /= Lc (tmp2);
    20292053      if (!k && beta == x && degree (tmp2, alpha) < 1 &&
    20302054          degree (tmp1, alpha) < 1)
     
    20812105    buf /= content (buf, x);
    20822106    buf2= buf (y - evaluation, y);
     2107    buf2 /= Lc (buf2);
    20832108    if (!k && beta == x)
    20842109    {
     
    21562181      tmp1= tmp1 (y - evaluation, y);
    21572182      tmp2= tmp2 (y - evaluation, y);
     2183      tmp1 /= Lc (tmp1);
     2184      tmp2 /= Lc (tmp2);
    21582185      if (!k && beta == x && degree (tmp2, alpha) < 1 &&
    21592186          degree (tmp1, alpha) < 1)
     
    22102237    buf /= content (buf, x);
    22112238    buf2= buf (y - evaluation, y);
     2239    buf2 /= Lc (buf2);
    22122240    if (!k && beta == x)
    22132241    {
     
    35563584  {
    35573585    delete [] bounds;
    3558     CanonicalForm G= F;
     3586    Variable y= Variable (2);
     3587    CanonicalForm tmp= F (y - evaluation, y);
     3588    CFList source, dest;
     3589    tmp= mapDown (tmp, info, source, dest);
    35593590    F= 1;
    3560     return CFList (G);
     3591    return CFList (tmp);
    35613592  }
    35623593
     
    56635694  {
    56645695    i= 1;
    5665     while ((degree (F,y)/4)*i + 4 <= smallFactorDeg)
     5696    while (((degree (F,y)/4)*i+1) + 4 <= smallFactorDeg)
    56665697      i++;
    56675698    while (i < 5)
    56685699    {
    5669       dummy= tmin (degree (F,y)+1, (degree (F,y)/4)*i+4);
     5700      dummy= tmin (degree (F,y)+1, ((degree (F,y)/4)+1)*i+4);
    56705701      if (l < dummy)
    56715702      {
     
    58225853  {
    58235854    i= 1;
    5824     while ((degree (F,y)/4)*i + 4 <= smallFactorDeg)
     5855    while ((degree (F,y)/4+1)*i + 4 <= smallFactorDeg)
    58255856      i++;
    58265857    while (i < 5)
    58275858    {
    5828       dummy= tmin (degree (F,y)+1, (degree (F,y)/4)*i+4);
     5859      dummy= tmin (degree (F,y)+1, (degree (F,y)/4+1)*i+4);
    58295860      if (l < dummy)
    58305861      {
     
    59706001  {
    59716002    i= 1;
    5972     while ((degree (F,y)/4)*i + 4 <= smallFactorDeg)
     6003    while ((degree (F,y)/4+1)*i + 4 <= smallFactorDeg)
    59736004      i++;
    59746005    while (i < 5)
    59756006    {
    5976       dummy= tmin (degree (F,y)+1, (degree (F,y)/4)*i+4);
     6007      dummy= tmin (degree (F,y)+1, (degree (F,y)/4+1)*i+4);
    59776008      if (l < dummy)
    59786009      {
     
    64436474    int factorsFound= 0;
    64446475    if (alpha.level() == 1 || (alpha.level() != 1 && reduceFq2Fp))
    6445       reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree
    6446 #ifdef HAVE_FLINT
    6447                          (LCF), factorsFound, factorsFoundIndex, FLINTN, false
    6448 #else
    6449                          (LCF), factorsFound, factorsFoundIndex, NTLN, false
     6476      reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1,
     6477#ifdef HAVE_FLINT
     6478                         factorsFound, factorsFoundIndex, FLINTN, false
     6479#else
     6480                         factorsFound, factorsFoundIndex, NTLN, false
    64506481#endif
    64516482                        );
    64526483    else
    6453       reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree
    6454                          (LCF), factorsFound, factorsFoundIndex, NTLNe, false
     6484      reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1,
     6485                         factorsFound, factorsFoundIndex, NTLNe, false
    64556486                        );
    64566487    if (alpha.level() == 1 || (alpha.level() != 1 && reduceFq2Fp))
     
    68796910  {
    68806911    result= Union (result, smallFactors);
    6881     CanonicalForm MODl= power (y, degree (F) + 1 + degree (LC (F, 1)));
     6912    CanonicalForm MODl= power (y, degree (F) + 1);
    68826913    delete [] bounds;
    68836914    return Union (result, factorRecombination (bufUniFactors, F, MODl, degs, 1,
     
    71327163    return Union (smallFactors, extFactorRecombination
    71337164                                (bufUniFactors, F,
    7134                                  power (y, degree (F) + 1 + degree (LCF)),info,
     7165                                 power (y, degree (F) + 1),info,
    71357166                                 degs, evaluation, 1, bufUniFactors.length()/2
    71367167                                )
     
    71857216    int factorsFound= 0;
    71867217
    7187     extReconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree
    7188                           (LCF), factorsFound, factorsFoundIndex, NTLN, false,
     7218    extReconstructionTry (result, bufF, bufUniFactors, degree (F) + 1,
     7219                          factorsFound, factorsFoundIndex, NTLN, false,
    71897220                          info, evaluation
    71907221                         );
     
    73147345    if (degs.getLength() == 1 || bufUniFactors.length() == 1)
    73157346    {
    7316       result.append (bufF);
     7347      CFList source, dest;
     7348      CanonicalForm tmp= bufF (y - evaluation, y);
     7349      tmp= mapDown (tmp, info, source, dest);
     7350      result.append (tmp);
    73177351      return result;
    73187352    }
     
    73817415  {
    73827416    result= Union (result, smallFactors);
    7383     CanonicalForm MODl= power (y, degree (F) + 1 + degree (LC (F, 1)));
     7417    CanonicalForm MODl= power (y, degree (F) + 1);
    73847418    delete [] bounds;
    73857419    return Union (result, extFactorRecombination (bufUniFactors, F, MODl, info,
     
    76717705    }
    76727706
    7673     if (i == 0)
     7707    if (i == 0 && !extension)
    76747708    {
    76757709      if (subCheck1 > 0)
  • factory/facFqBivarUtil.cc

    rb36460 ra07784  
    504504    CanonicalForm G3= div (G, xToOldL);
    505505    CanonicalForm Up= mulMod2 (G3, oldQ, xToLOldL);
    506     CanonicalForm xToOldL2= power (x, oldL/2);
     506    CanonicalForm xToOldL2= power (x, (oldL+1)/2);
    507507    CanonicalForm G2= mod (G, xToOldL);
    508508    CanonicalForm G1= div (G2, xToOldL2);
     
    510510    CanonicalForm oldQ1= div (oldQ, xToOldL2);
    511511    CanonicalForm oldQ0= mod (oldQ, xToOldL2);
    512     CanonicalForm Mid= mulMod2 (G1, oldQ1, xToLOldL);
     512    CanonicalForm Mid;
     513    if (oldL % 2 == 1)
     514      Mid= mulMod2 (G1, oldQ1*x, xToLOldL);
     515    else
     516      Mid= mulMod2 (G1, oldQ1, xToLOldL);
    513517    //computation of Low might be faster using a real middle product?
    514518    CanonicalForm Low= mulMod2 (G0, oldQ1, xToOldL)+mulMod2 (G1, oldQ0, xToOldL);
    515     Low= div (Low, xToOldL2);
     519    Low= div (Low, power (x, oldL/2));
     520    Low= mod (Low, xToLOldL);
    516521    Up += Mid + Low;
    517522    bufF= div (F, xToOldL);
  • factory/facFqFactorize.cc

    rb36460 ra07784  
    15761576          CFList result;
    15771577          result.append (LCF);
    1578           for (int k= 1; k <= factors.length(); k++)
    1579             result.append (LCF);
     1578          for (int j= 1; j <= factors.length(); j++)
     1579            result.append (1);
     1580          result= distributeContent (result, differentSecondVarLCs, lSecondVarLCs);
     1581          if (!result.getFirst().inCoeffDomain())
     1582          {
     1583            CFListIterator iter= result;
     1584            CanonicalForm tmp= iter.getItem();
     1585            iter++;
     1586            for (; iter.hasItem(); iter++)
     1587              iter.getItem() *= tmp;
     1588          }
    15801589          y= Variable (1);
    15811590          delete [] bufSqrfFactors;
     
    15891598    CFList result;
    15901599    result.append (LCF);
    1591     for (int k= 1; k <= factors.length(); k++)
    1592       result.append (LCF);
     1600    for (int j= 1; j <= factors.length(); j++)
     1601      result.append (1);
     1602    result= distributeContent (result, differentSecondVarLCs, lSecondVarLCs);
     1603    if (!result.getFirst().inCoeffDomain())
     1604    {
     1605      CFListIterator iter= result;
     1606      CanonicalForm tmp= iter.getItem();
     1607      iter++;
     1608      for (; iter.hasItem(); iter++)
     1609        iter.getItem() *= tmp;
     1610    }
    15931611    y= Variable (1);
    15941612    delete [] bufSqrfFactors;
  • factory/facHensel.cc

    rb36460 ra07784  
    450450  CanonicalForm modulus= p;
    451451  int d= b.getk();
     452  modpk b2;
    452453  for (int i= 1; i < d; i++)
    453454  {
     
    456457    coeffE= coeffE.mapinto();
    457458    setCharacteristic (0);
     459    b2= modpk (p, d - i);
    458460    if (!coeffE.isZero())
    459461    {
     
    465467      {
    466468        setCharacteristic (p);
    467         g= mulNTL (coeffE, j.getItem());
     469        g= modNTL (coeffE, bufFactors[ii]);
     470        g= mulNTL (g, j.getItem());
    468471        g= modNTL (g, bufFactors[ii]);
    469472        setCharacteristic (0);
    470473        k.getItem() += g.mapinto()*modulus;
    471         e -= mulNTL (g.mapinto()*modulus, l.getItem(), b);
     474        e -= mulNTL (g.mapinto(), b2 (l.getItem()), b2)*modulus;
    472475        e= b(e);
    473476      }
     
    629632  CanonicalForm modulus= p;
    630633  int d= b.getk();
     634  modpk b2;
    631635  for (int i= 1; i < d; i++)
    632636  {
     
    647651      coeffE= replacevar (coeffE, alpha, beta);
    648652    setCharacteristic (0);
     653    b2= modpk (p, d - i);
    649654    if (!coeffE.isZero())
    650655    {
     
    656661      {
    657662        setCharacteristic (p);
    658         g= mulNTL (coeffE, j.getItem());
     663        g= modNTL (coeffE, bufFactors[ii]);
     664        g= mulNTL (g, j.getItem());
    659665        g= modNTL (g, bufFactors[ii]);
    660666        setCharacteristic (0);
     
    663669          setReduce (beta, false);
    664670          k.getItem() += replacevar (g.mapinto()*modulus, beta, gamma);
    665           e -= mulNTL (replacevar (g.mapinto(), beta, gamma)*modulus,
    666                        l.getItem(), b);
     671          e -= mulNTL (replacevar (g.mapinto(), beta, gamma),
     672                       b2 (l.getItem()), b2)*modulus;
    667673          setReduce (beta, true);
    668674        }
    669675        else
    670676        {
     677          setReduce (beta, false);
    671678          k.getItem() += replacevar (g.mapinto()*modulus, beta, alpha);
    672           e -= mulNTL (replacevar (g.mapinto()*modulus, beta, alpha),
    673                        l.getItem(), b);
     679          e -= mulNTL (replacevar (g.mapinto(), beta, alpha),
     680                       b2 (l.getItem()), b2)*modulus;
     681          setReduce (beta, true);
    674682        }
    675683        e= b(e);
     
    681689  }
    682690
     691  return result;
     692}
     693
     694CFList
     695diophantineQa (const CanonicalForm& F, const CanonicalForm& G,
     696               const CFList& factors, modpk& b, const Variable& alpha)
     697{
     698  bool fail= false;
     699  CFList recResult;
     700  CanonicalForm modMipo, mipo;
     701  //here SW_RATIONAL is off
     702  On (SW_RATIONAL);
     703  mipo= getMipo (alpha);
     704  bool mipoHasDen= false;
     705  if (!bCommonDen (mipo).isOne())
     706  {
     707    mipo *= bCommonDen (mipo);
     708    mipoHasDen= true;
     709  }
     710  Off (SW_RATIONAL);
     711  int p= b.getp();
     712  setCharacteristic (p);
     713  setReduce (alpha, false);
     714  while (1)
     715  {
     716    setCharacteristic (p);
     717    modMipo= mapinto (mipo);
     718    modMipo /= lc (modMipo);
     719    tryDiophantine (recResult, mapinto (F), mapinto (factors), modMipo, fail);
     720    if (fail)
     721    {
     722      int i= 0;
     723      while (cf_getBigPrime (i) < p)
     724        i++;
     725      findGoodPrime (F, i);
     726      findGoodPrime (G, i);
     727      p=cf_getBigPrime(i);
     728      b = coeffBound( G, p, mipo );
     729      modpk bb= coeffBound (F, p, mipo );
     730      if (bb.getk() > b.getk() ) b=bb;
     731      fail= false;
     732    }
     733    else
     734      break;
     735  }
     736  setReduce (alpha, true);
     737  setCharacteristic (0);
     738
     739  Variable gamma= alpha;
     740  CanonicalForm den;
     741  if (mipoHasDen)
     742  {
     743    On (SW_RATIONAL);
     744    modMipo= getMipo (alpha);
     745    den= bCommonDen (modMipo);
     746    modMipo *= den;
     747    Off (SW_RATIONAL);
     748    setReduce (alpha, false);
     749    gamma= rootOf (b (modMipo*b.inverse (den)));
     750    setReduce (alpha, true);
     751  }
     752
     753  Variable x= Variable (1);
     754  CanonicalForm buf1, buf2, buf3, S;
     755  CFList bufFactors= factors;
     756  CFListIterator i= bufFactors;
     757  if (mipoHasDen)
     758  {
     759    for (; i.hasItem(); i++)
     760      i.getItem()= replacevar (i.getItem(), alpha, gamma);
     761  }
     762  i= bufFactors;
     763  CFList result;
     764  if (i.hasItem())
     765    i++;
     766  buf1= 0;
     767  CanonicalForm Freplaced;
     768  if (mipoHasDen)
     769  {
     770    Freplaced= replacevar (F, alpha, gamma);
     771    buf2= divNTL (Freplaced, replacevar (i.getItem(), alpha, gamma), b);
     772  }
     773  else
     774    buf2= divNTL (F, i.getItem(), b);
     775  ZZ_p::init (convertFacCF2NTLZZ (b.getpk()));
     776  ZZ_pX NTLmipo= to_ZZ_pX (convertFacCF2NTLZZX (getMipo (gamma)));
     777  ZZ_pE::init (NTLmipo);
     778  ZZ_pEX NTLS, NTLT, NTLbuf3;
     779  ZZ_pEX NTLbuf1= convertFacCF2NTLZZ_pEX (buf1, NTLmipo);
     780  ZZ_pEX NTLbuf2= convertFacCF2NTLZZ_pEX (buf2, NTLmipo);
     781  XGCD (NTLbuf3, NTLS, NTLT, NTLbuf1, NTLbuf2);
     782  result.append (b (convertNTLZZ_pEX2CF (NTLS, x, gamma)));
     783  result.append (b (convertNTLZZ_pEX2CF (NTLT, x, gamma)));
     784  if (i.hasItem())
     785    i++;
     786  for (; i.hasItem(); i++)
     787  {
     788    if (mipoHasDen)
     789      buf1= divNTL (Freplaced, i.getItem(), b);
     790    else
     791      buf1= divNTL (F, i.getItem(), b);
     792    XGCD (NTLbuf3, NTLS, NTLT, NTLbuf3, convertFacCF2NTLZZ_pEX (buf1, NTLmipo));
     793    CFListIterator k= bufFactors;
     794    S= convertNTLZZ_pEX2CF (NTLS, x, gamma);
     795    for (CFListIterator j= result; j.hasItem(); j++, k++)
     796    {
     797      j.getItem()= mulNTL (j.getItem(), S, b);
     798      j.getItem()= modNTL (j.getItem(), k.getItem(), b);
     799    }
     800    result.append (b (convertNTLZZ_pEX2CF (NTLT, x, gamma)));
     801  }
    683802  return result;
    684803}
     
    698817      if (b.getp() != 0)
    699818      {
    700         CFList result= diophantineHenselQa (F, G, factors, b, v);
     819        CFList result= diophantineQa (F, G, factors, b, v);
    701820        return result;
    702821      }
  • factory/facMul.cc

    rb36460 ra07784  
    27492749    return;
    27502750  }
    2751   if (!(B.level() == 1 && B.isUnivariate()) &&
    2752       (A.level() == 1 && A.isUnivariate()))
    2753   {
    2754     Q= 0;
    2755     R= A;
    2756     return;
    2757   }
    27582751
    27592752  Variable x= Variable (1);
  • findexec/configure.ac

    rb36460 ra07784  
    88AM_MAINTAINER_MODE
    99AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     10m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     11
    1012
    1113dnl Check if build env is sane
  • kernel/fglmvec.cc

    rb36460 ra07784  
    133133    return elems[i - 1];
    134134  }
    135   const number getconstelem (int i) const
     135  number getconstelem (int i) const
    136136  {
    137137    fglmASSERT (0 < i && i <= N, "getconstelem: wrong index");
     
    440440}
    441441
    442 const number fglmVector::getconstelem (int i) const
     442number fglmVector::getconstelem (int i) const
    443443{
    444444  return rep->getconstelem (i);
  • kernel/fglmvec.h

    rb36460 ra07784  
    5454    friend fglmVector operator * ( const number n, const fglmVector & v );
    5555
    56     const number getconstelem( int i ) const;
     56    number getconstelem( int i ) const;
    5757    number & getelem( int i );
    5858    void setelem( int i, number & n );
  • kernel/tgbgauss.h

    rb36460 ra07784  
    1212//#include "tgb_internal.h"
    1313
    14 struct slimgb_alg;
     14class slimgb_alg;
    1515
    1616class tgb_matrix{
  • libpolys/configure.ac

    rb36460 ra07784  
    88AM_MAINTAINER_MODE
    99AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     10m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     11
    1012
    1113dnl Check if build env is sane
  • libpolys/misc/intvec.h

    rb36460 ra07784  
    2323
    2424  inline intvec(int l = 1)
    25     {
    26       v = (int *)omAlloc0(sizeof(int)*l);
    27       row = l;
    28       col = 1;
    29     }
     25  {
     26    assume(l > 0);
     27    v = (int *)omAlloc0(sizeof(int)*l);
     28    row = l;
     29    col = 1;
     30  }
    3031  intvec(int s, int e);
    3132  intvec(int r, int c, int init);
     
    3536    row = iv->rows();
    3637    col = iv->cols();
     38    assume(row > 0);
     39    assume(col > 0);
    3740    if (row*col>0)
    3841    {
     
    111114  }
    112115#if 0
     116  // TODO: no omalloc Bin (de-)/allocation?
    113117  void* operator new ( size_t size )
    114118  {
  • libpolys/misc/mylimits.h

    rb36460 ra07784  
    99#define _MYLIMITS_H
    1010
    11 /* Maximum/minimum value an `signed int' can hold. */
    12 // #define MAX_INT_VAL        2147483647
    13 #ifndef MAX_INT_VAL
    14 #define MAX_INT_VAL     (2147483647)
    15 #endif
    16 
    17 #ifndef MIN_INT_VAL
    18 #define MIN_INT_VAL     (-MAX_INT_VAL-1)
    19 #endif
    20 
    21 
    22 // #define ULONG_MAX (~0UL) // ??
    23 #ifndef ULONG_MAX
    24 #define ULONG_MAX (~0L)
    25 #endif
    26 
    27 // TODO: fixing the following BUG (!?) leads to wrong ring::bitmask
    28 // #if ~0UL != 4294967295UL
    29 #ifndef LONG_MAX
    30 #if ~0UL == 4294967295UL
    31 #define LONG_MAX 9223372036854775807L
    32 #else
    33 #define LONG_MAX 2147483647L
    34 #endif
    35 #endif
     11#include <limits.h>
     12#define MAX_INT_VAL 0x7fffffff
    3613
    3714#endif /* _MYLIMITS_H */
  • libpolys/polys/ext_fields/algext.cc

    rb36460 ra07784  
    299299{
    300300  naTest(a); naTest(b);
    301 
    302301  /// simple tests
    303   if (a == b) return TRUE;
    304   if ((a == NULL) && (b != NULL)) return FALSE;
    305   if ((b == NULL) && (a != NULL)) return FALSE;
    306 
    307   /// deg test
    308   int aDeg = 0;
    309   if (a != NULL) aDeg = p_Totaldegree((poly)a, naRing);
    310   int bDeg = 0;
    311   if (b != NULL) bDeg = p_Totaldegree((poly)b, naRing);
    312   if (aDeg != bDeg) return FALSE;
    313 
    314   /// subtraction test
    315   number c = naSub(a, b, cf);
    316   BOOLEAN result = naIsZero(c, cf);
    317   naDelete(&c, cf);
    318   return result;
     302  if (a == NULL) return (b == NULL);
     303  if (b == NULL) return (a == NULL);
     304  return p_EqualPolys((poly)a,(poly)b,naRing);
    319305}
    320306
     
    516502{
    517503  naTest(a); naTest(b);
    518   if (a == NULL) return NULL;
    519   if (b == NULL) return NULL;
     504  if ((a == NULL)||(b == NULL)) return NULL;
    520505  poly aTimesB = p_Mult_q(p_Copy((poly)a, naRing),
    521506                          p_Copy((poly)b, naRing), naRing);
     507  p_Normalize(aTimesB,naRing);
    522508  definiteReduce(aTimesB, naMinpoly, cf);
    523509  return (number)aTimesB;
  • libpolys/polys/monomials/p_polys.cc

    rb36460 ra07784  
    15181518    poly t = p_ISet(1, r);
    15191519    number c = n_Div(p_GetCoeff(p, r), divisorLC, r->cf);
     1520    n_Normalize(c,r->cf);
    15201521    p_SetCoeff(t, c, r);
    15211522    int e = p_GetExp(p, 1, r) - divisorLE;
     
    39173918    if (! p_LmEqual(p1, p2,r))
    39183919      return FALSE;
    3919     if (! n_Equal(p_GetCoeff(p1,r), p_GetCoeff(p2,r),r ))
     3920    if (! n_Equal(p_GetCoeff(p1,r), p_GetCoeff(p2,r),r->cf ))
    39203921      return FALSE;
    39213922    pIter(p1);
     
    40024003        return FALSE;
    40034004    }
    4004     if (!n_Equal(p_GetCoeff(p1, r), nn = n_Mult(p_GetCoeff(p2, r),n, r), r))
     4005    if (!n_Equal(p_GetCoeff(p1, r), nn = n_Mult(p_GetCoeff(p2, r),n, r->cf), r->cf))
    40054006    {
    40064007      n_Delete(&n, r);
  • libpolys/polys/nc/old.gring.cc

    rb36460 ra07784  
    29272927        }
    29282928
    2929         if (!n_Equal(pN, qN, curr)) tmpIsSkewConstant = false;
     2929        if (!n_Equal(pN, qN, curr->cf)) tmpIsSkewConstant = false;
    29302930      }
    29312931
  • libpolys/polys/nc/summator.cc

    rb36460 ra07784  
    3333
    3434CPolynomialSummator::CPolynomialSummator(const ring& rBaseRing, bool bUsePolynomial):
    35     m_bUsePolynomial(bUsePolynomial), m_basering(rBaseRing)
     35    m_basering(rBaseRing), m_bUsePolynomial(bUsePolynomial)
    3636{
    3737#ifdef RDEBUG
     
    183183
    184184
    185 CPolynomialSummator::CPolynomialSummator(const CPolynomialSummator& b): m_bUsePolynomial(b.m_bUsePolynomial), m_basering(b.m_basering)
     185CPolynomialSummator::CPolynomialSummator(const CPolynomialSummator& b):
     186    m_basering(b.m_basering), m_bUsePolynomial(b.m_bUsePolynomial)
    186187{
    187188//  try{
  • libpolys/polys/pDebug.cc

    rb36460 ra07784  
    8686    else
    8787    #endif
     88    #ifndef X_OMALLOC
    8889    {
    8990      _pPolyAssumeReturn(omIsBinPageAddr(p) && omSizeWOfAddr(p)==omSizeWOfBin(r->PolyBin),p,r);
     
    9192    }
    9293    return FALSE;
     94    #endif
    9395  }
    9496  return TRUE;
     
    107109BOOLEAN p_CheckPolyRing(poly p, ring r)
    108110{
     111  #ifndef X_OMALLOC
    109112  pAssumeReturn(r != NULL && r->PolyBin != NULL);
     113  #endif
    110114  return p_CheckIsFromRing(p, r);
    111115}
     
    113117BOOLEAN p_LmCheckPolyRing(poly p, ring r)
    114118{
     119  #ifndef X_OMALLOC
    115120  pAssumeReturn(r != NULL && r->PolyBin != NULL);
     121  #endif
    116122  pAssumeReturn(p != NULL);
    117123  return p_LmCheckIsFromRing(p, r);
     
    119125BOOLEAN p_CheckRing(ring r)
    120126{
     127  #ifndef X_OMALLOC
    121128  pAssumeReturn(r != NULL && r->PolyBin != NULL);
     129  #endif
    122130  return TRUE;
    123131}
     
    209217
    210218  #ifndef OM_NDEBUG
     219  #ifndef X_OMALLOC
    211220  // check addr with level+1 so as to check bin/page of addr
    212221  _pPolyAssumeReturnMsg(omTestBinAddrSize(p, (omSizeWOfBin(r->PolyBin))*SIZEOF_LONG, level+1)
    213222                        == omError_NoError, "memory error",p,r);
     223  #endif
    214224  #endif
    215225
     
    229239    pFalseReturn(p_LmCheckIsFromRing(p, r));
    230240    #ifndef OM_NDEBUG
     241    #ifndef X_OMALLOC
    231242    // omAddr check
    232243    _pPolyAssumeReturnMsg(omTestBinAddrSize(p, (omSizeWOfBin(r->PolyBin))*SIZEOF_LONG, 1)
    233244                     == omError_NoError, "memory error",p,r);
     245    #endif
    234246    #endif
    235247    // number/coef check
  • numeric/mpr_base.cc

    rb36460 ra07784  
    19281928//-> dense resultant matrix
    19291929//
    1930 class resVector;
     1930struct resVector;
    19311931
    19321932/* dense resultant matrix */
  • omalloc/configure.ac

    rb36460 ra07784  
    1515AM_MAINTAINER_MODE
    1616AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     17m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     18
    1719
    1820# Add pre'prefixed config
  • omalloc/omalloc.c

    rb36460 ra07784  
    2121#endif
    2222
     23#if OM_PROVIDE_MALLOC > 0
     24
    2325void* calloc(size_t nmemb, size_t size)
    2426{
     
    2931  size = size*nmemb;
    3032  omTypeAlloc0Aligned(void*, addr, size);
    31   OM_MARK_AS_STATIC(addr);
    32   return addr;
    33 }
    34 
    35 void* malloc(size_t size)
    36 {
    37   void* addr;
    38   if (size == 0) size = 1;
    39 
    40   omTypeAllocAligned(void*, addr, size);
    4133  OM_MARK_AS_STATIC(addr);
    4234  return addr;
     
    10294}
    10395#endif
     96#endif
     97
     98void* malloc(size_t size)
     99{
     100  void* addr;
     101  if (size == 0) size = 1;
     102
     103  omTypeAllocAligned(void*, addr, size);
     104  OM_MARK_AS_STATIC(addr);
     105  return addr;
     106}
     107
    104108void freeSize(void* addr, size_t size)
    105109{
  • xalloc/Makefile.am

    rb36460 ra07784  
    88
    99lib_LTLIBRARIES=libomalloc.la ${LIB_G}
     10lib_LIBRARIES=libomalloc.a
    1011## libomallocdir = $(libdir)/
    1112
  • xalloc/configure.ac

    rb36460 ra07784  
    11AC_INIT([xalloc], [3.1.2.sw])
    22AC_CONFIG_SRCDIR(dummy.c)
     3AC_CONFIG_MACRO_DIR([../m4])
    34
    45AC_CONFIG_AUX_DIR([.])
    56
    67AM_MAINTAINER_MODE
    7 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects silent-rules]) # -Wno-extra-portability -Werror
     8AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules
     9m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
     10
    811
    912AC_PROG_MAKE_SET
Note: See TracChangeset for help on using the changeset viewer.