Changeset a07784 in git
- Timestamp:
- Dec 5, 2012, 4:03:45 PM (11 years ago)
- Branches:
- (u'spielwiese', '8d54773d6c9e2f1d2593a28bc68b7eeab54ed529')
- Children:
- ae900ff750a6fe0dbab70a5aa87cc48fc3dd280e
- Parents:
- b3646035aca6a8d660df952d443268649a51090907ff965ddd552fe3a981f417b2da928dca53a8f2
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
.gdbinit
rb36460 ra07784 1 1 break dErrorBreak 2 2 break dReportError 3 3 break omReportError 4 4 5 5 -
Makefile.am
r07ff96 ra07784 37 37 38 38 bin_SCRIPTS = libsingular-config 39 -
Singular/Cache.h
rb36460 ra07784 4 4 #include <string> 5 5 #include <list> 6 #include <assert.h> 7 8 using namespace std;6 7 // #include <assert.h> 8 // using namespace std; 9 9 10 10 /*! \class Cache … … 75 75 * as long as the pair <c>key(_rank(i)) --> value(_rank(i))</c>. 76 76 */ 77 77 std::list<int> _rank; 78 78 79 79 /** … … 83 83 * in KeyClass. 84 84 */ 85 list<KeyClass> _key;85 std::list<KeyClass> _key; 86 86 87 87 /** … … 91 91 * argument \c _key[i]). 92 92 */ 93 list<ValueClass> _value;93 std::list<ValueClass> _value; 94 94 95 95 /** 96 96 * container for the weights of all cached values 97 97 */ 98 list<int> _weights;98 std::list<int> _weights; 99 99 100 100 /** … … 104 104 * const, as the user would expect for these methods. 105 105 */ 106 mutable typename list<KeyClass>::const_iterator _itKey;106 mutable typename std::list<KeyClass>::const_iterator _itKey; 107 107 108 108 /** … … 112 112 * const, as the user would expect for these methods. 113 113 */ 114 mutable typename list<ValueClass>::const_iterator _itValue;114 mutable typename std::list<ValueClass>::const_iterator _itValue; 115 115 116 116 /** … … 314 314 * string 315 315 */ 316 316 std::string toString () const; 317 317 318 318 /** … … 324 324 }; 325 325 326 #include <CacheImplementation.h>326 #include "CacheImplementation.h" 327 327 328 328 #endif -
Singular/CacheImplementation.h
rb36460 ra07784 1 1 #ifndef CACHE_IMPLEMENTATION_H 2 2 #define CACHE_IMPLEMENTATION_H 3 4 #include <reporter/reporter.h> 3 5 4 6 #include <cstdio> // for sprintf … … 53 55 { 54 56 _itKey = _key.end(); // referring to past-the-end element in the list 55 typenamelist<KeyClass>::const_iterator itKey;57 typename std::list<KeyClass>::const_iterator itKey; 56 58 _itValue = _value.begin(); 57 59 /* As _key is a sorted list, the following could actually be implemented … … 80 82 thus, getValue has been called although hasKey 81 83 produced no match */ 82 ass ert(false);84 assume(false); 83 85 84 86 return *_itValue; … … 123 125 erasing the last entry which is only implemented for forward 124 126 iterators by std::list. */ 125 list<int>::iterator itRank;127 std::list<int>::iterator itRank; 126 128 for (itRank = _rank.begin(); itRank != _rank.end(); itRank++) { } 127 129 itRank--; /* Now, this forward iterator points to the last list entry. */ … … 132 134 /* now delete entries in _key and _value with index deleteIndex */ 133 135 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(); 137 139 for (itKey = _key.begin(); itKey != _key.end(); itKey++) 138 140 { … … 176 178 keyWasContained == false */ 177 179 int k = 0; 178 typename list<KeyClass>::iterator itKey;180 typename std::list<KeyClass>::iterator itKey; 179 181 // 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(); 181 183 /* itOldWeights will later only be used in the case 182 184 keyWasContained == true */ 183 typename list<int>::iterator itOldWeights = _weights.begin();185 typename std::list<int>::iterator itOldWeights = _weights.begin(); 184 186 for (itKey = _key.begin(); itKey != _key.end(); itKey++) 185 187 { … … 203 205 int newWeight = value.getWeight(); 204 206 k = 0; 205 typename list<ValueClass>::iterator itValue = _value.begin();207 typename std::list<ValueClass>::iterator itValue = _value.begin(); 206 208 for (itValue = _value.begin(); itValue != _value.end(); itValue++) 207 209 { … … 229 231 _rank[oldIndexInRank] == oldIndexInKey, i.e. 230 232 _key[_rank[oldIndexInRank]] == key: */ 231 list<int>::iterator itRank;233 std::list<int>::iterator itRank; 232 234 k = 0; 233 235 for (itRank = _rank.begin(); itRank != _rank.end(); itRank++) … … 306 308 Let's make room for the assignment 307 309 _rank[newIndexInRank] := newIndexInKey: */ 308 list<int>::iterator itRank;310 std::list<int>::iterator itRank; 309 311 for (itRank = _rank.begin(); itRank != _rank.end(); itRank++) 310 312 { … … 323 325 /* let's insert new key and new value at index newIndexInKey: */ 324 326 itValue = _value.begin(); 325 typename list<int>::iterator itWeights = _weights.begin();327 typename std::list<int>::iterator itWeights = _weights.begin(); 326 328 k = 0; 327 329 for (itKey = _key.begin(); itKey != _key.end(); itKey++) … … 344 346 new (key, value)-pair */ 345 347 346 ass ert(_rank.size() == _key.size());347 ass ert(_rank.size() == _value.size());348 assume(_rank.size() == _key.size()); 349 assume(_rank.size() == _value.size()); 348 350 return !result; /* true iff the new (key --> value) pair is 349 351 actually in the cache now */ … … 351 353 352 354 template<class KeyClass, class ValueClass> 353 st ring Cache<KeyClass, ValueClass>::toString() const355 std::string Cache<KeyClass, ValueClass>::toString() const 354 356 { 355 357 char h[10]; 356 st ring s = "Cache:";358 std::string s = "Cache:"; 357 359 s += "\n entries: "; 358 360 sprintf(h, "%d", getNumberOfEntries()); s += h; … … 371 373 int k = 1; 372 374 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(); 375 377 for (itKey = _key.begin(); itKey != _key.end(); itKey++) 376 378 { … … 385 387 } 386 388 s += "\n (key --> value) pairs in descending order of ranks:"; 387 list<int>::const_iterator itRank;389 std::list<int>::const_iterator itRank; 388 390 int r = 1; 389 391 for (itRank = _rank.begin(); itRank != _rank.end(); itRank++) … … 413 415 void Cache<KeyClass, ValueClass>::print() const 414 416 { 415 cout << this->toString();417 PrintS(this->toString().c_str()); 416 418 } 417 419 -
Singular/Makefile.am
r07ff96 ra07784 88 88 links/ssiLink.cc\ 89 89 subexpr.cc\ 90 pyobject_setup.cc\ 90 91 walk.cc\ 91 92 walk_ip.cc\ … … 390 391 MOD: ${abs_top_builddir}/libpolys/polys/.libs 391 392 ln -snf ${abs_top_builddir}/libpolys/polys/.libs/ ${abs_builddir}/MOD 393 394 395 if 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} 408 endif -
Singular/Minor.cc
rb36460 ra07784 1 #include <iostream>2 3 1 #include "config.h" 4 2 #include <kernel/mod2.h> 3 4 #include "Minor.h" 5 5 6 #include <kernel/structs.h> 6 7 #include <kernel/polys.h> 7 #include <Minor.h>8 8 #include <kernel/febase.h> 9 9 10 using namespace std; 10 11 11 12 void MinorKey::reset() … … 114 115 void MinorKey::print() const 115 116 { 116 cout << this->toString();117 PrintS(this->toString().c_str()); 117 118 } 118 119 … … 145 146 } 146 147 /* We should never reach this line of code. */ 147 ass ert(false);148 assume(false); 148 149 } 149 150 … … 176 177 } 177 178 /* We should never reach this line of code. */ 178 ass ert(false);179 assume(false); 179 180 } 180 181 … … 198 199 } 199 200 } 200 return;201 201 } 202 202 … … 220 220 } 221 221 } 222 return;223 222 } 224 223 … … 251 250 } 252 251 /* We should never reach this line of code. */ 253 ass ert(false);252 assume(false); 254 253 } 255 254 … … 282 281 } 283 282 /* We should never reach this line of code. */ 284 ass ert(false);283 assume(false); 285 284 } 286 285 … … 439 438 bool MinorKey::operator==(const MinorKey& mk) const 440 439 { 441 ass ert(false);440 assume(false); 442 441 return this->compare(mk) == 0; 443 442 } … … 447 446 bool MinorKey::operator<(const MinorKey& mk) const 448 447 { 449 ass ert(false);448 assume(false); 450 449 return this->compare(mk) == -1; 451 450 } … … 833 832 int MinorValue::getWeight () const 834 833 { 835 ass ert(false); /* must be overridden in derived classes */834 assume(false); /* must be overridden in derived classes */ 836 835 return 0; 837 836 } … … 841 840 bool MinorValue::operator==(const MinorValue& mv) const 842 841 { 843 ass ert(false);842 assume(false); 844 843 return (this == &mv); /* compare addresses of both objects */ 845 844 } … … 847 846 string MinorValue::toString () const 848 847 { 849 ass ert(false); /* must be overridden in derived classes */848 assume(false); /* must be overridden in derived classes */ 850 849 return ""; 851 850 } … … 855 854 bool MinorValue::operator<(const MinorValue& mv) const 856 855 { 857 ass ert(false);856 assume(false); 858 857 return (this < &mv); /* compare addresses of both objects */ 859 858 } … … 896 895 void MinorValue::print() const 897 896 { 898 cout << this->toString();897 PrintS(this->toString().c_str()); 899 898 } 900 899 -
Singular/Minor.h
rb36460 ra07784 2 2 #define MINOR_H 3 3 4 #include <assert.h>4 // #include <assert.h> 5 5 #include <string> 6 6 7 #include <kernel/polys.h> 8 9 using namespace std; 7 struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly; 8 struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring; 9 10 struct sip_sideal; typedef struct sip_sideal * ideal; 11 12 // using namespace std; 10 13 11 14 /*! \class MinorKey … … 391 394 * string 392 395 */ 393 396 std::string toString () const; 394 397 395 398 /** … … 683 686 * string 684 687 */ 685 virtualstring toString () const;688 virtual std::string toString () const; 686 689 687 690 /** … … 771 774 * string 772 775 */ 773 776 std::string toString () const; 774 777 }; 775 778 … … 858 861 * string 859 862 */ 860 863 std::string toString () const; 861 864 }; 862 865 -
Singular/MinorInterface.cc
rb36460 ra07784 1 #include "config.h" 2 #include <kernel/mod2.h> 3 1 4 // 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> 6 11 7 12 #include <kernel/polys.h> 8 13 #include <kernel/structs.h> 9 10 #include "config.h" 11 #include <kernel/mod2.h> 14 #include <kernel/kstd1.h> 12 15 #include <kernel/ideals.h> 13 #include <kernel/kstd1.h> 16 17 using namespace std; 14 18 15 19 bool currRingIsOverIntegralDomain () … … 172 176 #if (defined COUNT_AND_PRINT_OPERATIONS) && (COUNT_AND_PRINT_OPERATIONS > 1) 173 177 qqq++; 174 printf("after %d", qqq);178 Print("after %d", qqq); 175 179 printCounters ("-th minor", false); 176 180 #endif … … 401 405 #if (defined COUNT_AND_PRINT_OPERATIONS) && (COUNT_AND_PRINT_OPERATIONS > 1) 402 406 qqq++; 403 printf("after %d", qqq);407 Print("after %d", qqq); 404 408 printCounters ("-th minor", false); 405 409 #endif -
Singular/MinorInterface.h
rb36460 ra07784 3 3 4 4 5 #include <polys/simpleideals.h> 6 #include <kernel/polys.h> 5 struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly; 6 struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring; 7 8 struct sip_sideal; typedef struct sip_sideal * ideal; 9 10 class ip_smatrix; typedef ip_smatrix * matrix; 7 11 8 12 /* all computations are module char, if char <> 0; -
Singular/MinorProcessor.cc
rb36460 ra07784 1 #include <MinorProcessor.h>2 3 1 #include "config.h" 4 2 #include <kernel/mod2.h> 3 4 #include "MinorProcessor.h" 5 6 #include <polys/kbuckets.h> 7 5 8 #include <kernel/structs.h> 6 9 #include <kernel/polys.h> 7 10 #include <kernel/febase.h> 8 11 #include <kernel/kstd1.h> 9 #include <polys/kbuckets.h> 12 13 #include <kernel/ideals.h> 14 15 using namespace std; 10 16 11 17 #ifdef COUNT_AND_PRINT_OPERATIONS … … 213 219 { 214 220 /* This is a non-recursive implementation. */ 215 ass ert( (i >= 0) && (j >= 0) && (i >= j));221 assume( (i >= 0) && (j >= 0) && (i >= j)); 216 222 if (j == 0 || i == j) return 1; 217 223 int result = 1; … … 227 233 { 228 234 /* This is a non-recursive implementation. */ 229 ass ert(i >= 0);235 assume(i >= 0); 230 236 int result = 1; 231 237 for (int j = 1; j <= i; j++) result *= j; … … 444 450 const ideal& iSB) 445 451 { 446 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least452 assume(k > 0); /* k is the minor's dimension; the minor must be at least 447 453 1x1 */ 448 454 /* The method works by recursion, and using Lapace's Theorem along the … … 561 567 const ideal& iSB) 562 568 { 563 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least569 assume(k > 0); /* k is the minor's dimension; the minor must be at least 564 570 1x1 */ 565 571 int *theRows=new int[k]; mk.getAbsoluteRowIndices(theRows); … … 652 658 const int characteristic, const ideal& iSB) 653 659 { 654 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least660 assume(k > 0); /* k is the minor's dimension; the minor must be at least 655 661 1x1 */ 656 662 /* The method works by recursion, and using Lapace's Theorem along … … 944 950 const ideal& iSB) 945 951 { 946 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least952 assume(k > 0); /* k is the minor's dimension; the minor must be at least 947 953 1x1 */ 948 954 /* The method works by recursion, and using Lapace's Theorem along the … … 1081 1087 const ideal& iSB) 1082 1088 { 1083 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least1089 assume(k > 0); /* k is the minor's dimension; the minor must be at least 1084 1090 1x1 */ 1085 1091 /* The method works by recursion, and using Lapace's Theorem along … … 1384 1390 const ideal& iSB) 1385 1391 { 1386 ass ert(k > 0); /* k is the minor's dimension; the minor must be at least1392 assume(k > 0); /* k is the minor's dimension; the minor must be at least 1387 1393 1x1 */ 1388 1394 int *theRows=new int[k]; mk.getAbsoluteRowIndices(theRows); -
Singular/MinorProcessor.h
rb36460 ra07784 2 2 #define MINOR_PROCESSOR_H 3 3 4 #include <Cache.h> 5 #include <Minor.h> 6 #include <assert.h> 4 #include "Cache.h" 5 #include "Minor.h" 6 7 struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec* poly; 8 struct ip_sring; typedef struct ip_sring* ring; typedef struct ip_sring const* const_ring; 9 10 struct sip_sideal; typedef struct sip_sideal * ideal; 11 12 // #include <assert.h> 7 13 #include <string> 8 14 … … 279 285 * string 280 286 */ 281 virtualstring toString () const;287 virtual std::string toString () const; 282 288 283 289 /** … … 546 552 * string 547 553 */ 548 554 std::string toString () const; 549 555 }; 550 556 … … 760 766 * string 761 767 */ 762 768 std::string toString () const; 763 769 }; 764 770 -
Singular/blackbox.h
r07ff96 ra07784 58 58 59 59 /// default procedure blackboxDefaultOp3, to be called as "default:" branch 60 BOOLEAN blackbox DefaultOp3(int op,leftv l, leftv r1,leftv r2, leftv r3);60 BOOLEAN blackbox_default_Op3(int op,leftv l, leftv r1,leftv r2, leftv r3); 61 61 62 62 /// default procedure blackboxDefaultOpM, to be called as "default:" branch -
Singular/countedref.cc
rb36460 ra07784 555 555 CountedRefShared ref = CountedRefShared::cast(head); 556 556 557 if ( (op == LINK_CMD))557 if (op == LINK_CMD) 558 558 { 559 559 if (ref.dereference(head)) return TRUE; -
Singular/countedref.h
rb36460 ra07784 312 312 /// @name Pointer-style access 313 313 //@{ 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!!! */ 315 316 leftv operator->() { return m_data; } 316 317 //@] -
Singular/pyobject.cc
r07ff96 ra07784 15 15 #include "config.h" 16 16 #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 17 30 #include <misc/auxiliary.h> 18 #include "newstruct.h"19 31 20 32 #include <omalloc/omalloc.h> 21 33 22 34 #include <kernel/febase.h> 23 #include < kernel/intvec.h>35 #include <misc/intvec.h> 24 36 25 37 #include "subexpr.h" … … 27 39 #include "ipid.h" 28 40 #include "blackbox.h" 29 30 #include <Python.h> 41 #include "ipshell.h" 42 43 44 45 46 //#include <Python.h> 31 47 // #include <iterator> // std::distance 32 48 // #include <stdio.h> … … 587 603 return FALSE; 588 604 589 return blackbox DefaultOp3(op, res, arg1, arg2, arg3);605 return blackbox_default_Op3(op, res, arg1, arg2, arg3); 590 606 } 591 607 … … 687 703 688 704 // 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)); 691 707 692 708 #define ADD_C_PROC(name) iiAddCproc("", (char*)#name, FALSE, name); -
Singular/tesths.cc
r07ff96 ra07784 43 43 #include "fegetopt.h" 44 44 45 //#include "pyobject_setup.h"45 #include "pyobject_setup.h" 46 46 47 47 #include <unistd.h> -
Tst/Short/factorizeQa_s.res.gz.uu
rb36460 ra07784 1 1 begin 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<````` 2 M'XL("!OBM%```V9A8W1O<FEZ95%A7W,N<F5S`)5:2V\DMQ&^[Z]H.#F,IM5J 3 MLOC.8G4(<@D0!`Z<6V`;6GFUD;WV&I(,J?7K\U613;)G>@W'"VNF6<5B/;\J 4 MMO3-O__V]W\.PZ"OAW_\_:_#5T^/3U>?[M]_]?;--X5"UP,6O[__Y?[I</'V 5 M#7\.U]?#W<WMT^>'^]</_[KY_O'JEP_/5X]/-T]UE[D>ZG=[-<SS</?P^>?A 6 MX^>'UP^?*L5=#0_WOWP<OGEW4)<_7EP>?COHJRNZN'PIGZ_Y\^+RAU^;1OYZ 7 M^/G^EU\_?UK>_4BC;H1P/?#J\/4[R+GXSAY?^8,F.LJS.4+L15FLF^+5,&8& 8 M(8.K['KI953VM&7'#P+YA$NKJP&GB@3:LDSR="I6:VRP34W*:N('750>PM&V 9 MTY2^Q&AZ1EI-VO(@*&/U$NLWGGJ)>OV<&+3U$FV\M&'W6_;F@@U7V/42;;S$ 10 M3S7".K:TTHA$3<+#UTC-_^AO__(&(?H>7][I_(V^S;E0%"V"*1--)HIWIIH; 11 MXV'Z\:*Y=CS@Z;?5)?)4'305+OA5!-HO"-S*F[8"IR](A.YBCKZ4?ZO=I)H/ 12 M2$MI/=W?_O3A:?B3,:I2J)36P^W`Q76+XGJY7#:%1*86TO!NN$4IS?9VTK/V 13 MC<66DKI[`<L+05MF@L+RC9R_Q2ZMR%ZT/:Y#A\/=RY<CDX7$V][6FAWDZ]&L 14 MWG\___SY(Z3!AG82"A[4MV]ZQ98SS8Y+$QJWNBU_0+GCLJM>:F$PBL.P1H&, 15 MKP2]1@$6(`HW.U$PU$?AI@<T8U87\/:7Z>;B>%CPLS'8C3F_;\S-1<WZ)3]N 16 M,JS*=)UAOC<LIKH>5KON);ON8=?-Y7O.,EC6ML?>M/N-::DW[69\SPATVY6Z 17 M57_0-.P=#_<7Q]MJG:Q,LK1KH=4B^O'IAW.Y.WO;NBRO0J@8\#$;<,L&O.\- 18 M,+T!'W_/`#GP_=A;<"@K^P;8:L"9W/.MZ_)ZR"JDB[/=Q-EZ&AX^_/KYX>G# 19 M#\/[Y:1IVQK[9^UR6C_OI+7=Q/X9R/L\VD;MJL>A>G(J:'!:KR(%4E8EG[Q2 20 MZOCR78#RY^O/*/;O_'&9$FGOK%51)Y,H;W''!?$X[.PZ9V<Y%OQFEW\\6V-^ 21 M`WX[[IU,H+A]A7=%@=WO,"]LM3&D=/"!C$TF>%'?*&]#B$Z;E"S9K`X.3"'H 22 MX(*+"C22X[12VBNG'2D3R,9J*JMGO4G0WFAR0@(_SDDI6D4NZLINLB<G![G! 23 M.>^4,F(L-D3O-9J.BT:Q]L)/V9/3N3[3KC[B2%CJK4LF*F.5#YF=O$H."];& 24 MZ*UX*[N60K0NADC&84>.JB;R2<&!+)X]F&T=#UI'R+36F:`<%>X0C?9)*V^T 25 MKLR&'6.32RGA5.^<S=RCML8%2L9'[71<V:DXQL>`4ZU.RJ:BS4BD8X0K`[O9 26 MJAII(XGAG$D!<89(M>:D]Y!O@PI.JV*JY0Z$!N84'*-U"AJQ8;^01XE&6)N@ 27 M/?07Y6&IB>Q%2(^6(M;!BT<-MH#`@IWBJOEX@/.49HE:*VP1[JA5L,XF&Y*/ 28 M1668J'%:T`X4DR*"`P,-_`=5`Q(!\<?/BV(='V23MU83C,_>")J2]7"BH59Q 29 M[#H#NQ3BX+&E.'M"1GFEL95,B-5SG"$:5G%.(*U**4?CO.?R,$%S.HD6$&QT 30 M0H(8,,,?0<7$N:K@%U8Y.F@'9?(0@\(S[(&$$$1()HZWYTQE=SI4FE8\0HP' 31 M;Y"%*!J?(M%J&'34!`VT)$OKS$YW`$<KP!$`CN"+!/T"4IHBCA?4B`C(#D$P 32 M+DBX]J@(+[+,Q.006:0HYW)!10#N#K$@HYGVM6`4M%_89];BVU5D9W6M$?^E 33 M3>/^)H&^O0V+>$DAYQP`$:#@+"(DZ:B1=2'@`54-L`B4W<"IBPQ0(7K43R2= 34 MA'U"L6E"U%'F@!%.WXRB@HR<B2CIY#GZ#(?B:,-0!H"&3@`T!N.U;<CL:0C5 35 M":VP(Q%T$TA"(AL/7/#(;J)<)=F17*V<=!$^AJ\I**ELI\$*9%<&.!,H^%JO 36 M`@;D-?`71BHN10L5<T,`QJ(_$!(T6/+.%R]RM'0@9P3YT"\45+12O:@D)]5L 37 M(](\=Y$<*9QM(`4`@))8Z\RA2/&$7$^H8+.6,!]@0H`;$0D^*.E<&'"7@;,] 38 MHL>U9-6F\SC'U87``'<2%8PPCB$'@>*^$36I;?<A0#)2(OJ8^+_23X%W,`6M 39 M$2@$[:+:MJ`8(W`0300A4-(IN&83*MX'9`(`+3JKNBZ$]/&!897$SG(*IYR` 40 ML[9\$+5.9#'K`],L8``M"2W"<RE`,E322#O`&^#'^=**)B`8T`C_B(!F`![C 41 M17X$?T(XD!((HFW=B)$MN(1L3"&"'`2>5&++T*J#0R-`RONN'R7%?<TQJD7T 42 M[%*>0-_`:`V<,L!AK+>&A$SDQ`8^0A^0-8,@:H1P)OH8XLB=UM':DTBT58!R 43 M!GI=<@1@ZPQV<R-#'->82\?CB0)*8TK@]1)Q>,YC:D!PT"2I]05)DO\GWJ5) 44 M<6$P[A-C=-%JY"RG:.!#*Q-*B9V8[5!JV,7-T7&U<R@24@^-$?ZP:*(.O;WT 45 M*O1`U#6640=H.@&U*9V""Q@-&<T*/1]'Q=*NM$=M&YXPN"-BG-(^MVX\(I&@ 46 M*?I81)>^6"$$N8=-2"],#C;E&6@$%TQ`M"W:K55YW-M'1X0>8H$D`"<7N'DF 47 MR2ZDE6.0`Y(C+CPNM"[5O:9SMGN?,ASN]/&.SBXMZ`<.#9H3G#L$&CMK2MQL 48 MH;NXM]TY>6SG!N87?LOC%E@)#V#!+O`_G(>O9K$CB+0PEN2EQ4\+MB*_9ZL= 49 M=@3/7T`!3XRR."9%9=$N.</R.N)1U@V?Q[TL$T(LZ[1D:,C"FYR%IU!E\K(- 50 M<S2(C#0\H[2;`1\Q\@BK`5OYB0\'!F`0<S-/?Q98#$`H#Z("R)C'9N`$P3B# 51 MBI3OHH8,U3Q2%MDC!E5D8I4M>F),Q/[@<0O`X4XDR!.4XUH$>,<T`^717S`/ 52 M83[QY8G/'P_(;JTK'=D!V8V!H&#D6;ARL`<JF55$<H65.J(VT`4J@VB(I1DA 53 MPN6&`G]AL=(1X8<(ER`Y^$M^,X.Y=T:=YJO`G#%E;UZ;SRY$>2H#&'+E:]09 54 MU#J]?N6)+C#6<\4`Z`$):7:\@LK!-43Z"B,N;CT`8Y11X)(\8Y&!S^D9(S\P 55 M)/!G>WOR@C&$\SHL:T+[A7**FPGY:/F[R1D]:7&S;]D=Q@7[34YJ]+TUN3VG 56 MGRXI;TGR#Q(YQA8/?&>)->6E)=J5V=>41T"H)+:Q->$Y46PHJ8U9?\UXZ=^Z 57 M5`Y*.>>\E\N>J2D?K;8M*\N>V%(>,%HS7HH1M\26U$#6+J=S49+B+1A44*]\ 58 M$'^ME<FHOV;\"&!UJF:\U"@0&$6$%60<6I5\S95JN,&U7,<`ZZDE<[Y-!95: 59 M.G._F_E^Z4JQ8OZWMI(%=/MB@>[(R31[(#0.X-E0=]4BN,*C7-4!X.AL*Y<\ 60 MP[D9`P7"9N1++E/N=ZM+K/.=2[[L+E8'8"321HQ469IH@1D".(2J2]KZQ'7& 61 MUQMX3GL>F&7:8BHJ@*`P7,65RR.O8+D.^1[!]N*FQ*,FZ@6`;U`)4(_+$CU> 62 M&BIB!`0DH!3F8P[3.4LI?;@!%V0`)(_1R$%T.L(HR/,.[J9P%O$N&=@P69PQ 63 M9*1`6$.N2K1O*4O4/*,8ABZ5Y(::,*VQ+V+`C(5P1R=J\J2;/`8CC"D!^,*# 64 MO.&.S?/R_GLVU[TB<[Z^]I)7GGOOO%S8O/.RT[,9Z9G&Y^[%IXO=B\\7[:8% 65 M_VMW?-$&)AT7?"1<M[1&:\*31OL#,8W\L20D!XAAXH\E8/B.7)'\@0*`M4BF 66 MB3\`1"Q3)+:CTQ]]6SPM#>QH1/2`;Z;^BJ.\;:=GPS\ENDM;0A,H4.DRJRR/ 67 MIN/,C*8R>C#:*B!S2CEV.ZD[HL@RX])VI<P%U)9->CUO0Z^'CZX>'O+A>5G7 68 MLS<&4MNH^[,SCUN/GESU@!S=D9OV(N'TESO;7_'X[E<\7E\-/]U_^C0\U#AZ 69 MNBZIV/]2X?+U\G&3C;[]>N?D]PJ^_E;GW8`J4;,)QYOR:D#;XRN^/.)ZHP.Z 70 M\$J+3-.5UF_#,J[FE82A74CY=JP-"%8(/--F0F""JH2V0\N+SY7`5T6,`E%. 71 MJ<+X%)M)9(54Q76DLJL*+"0R<RS72DWEG+QLRWN3M%EEYL17X[H***J6A]4I 72 M)"1Y-UB]HHI7Z&R;EG<IE60LVI9-+02NZ&NXP)'(V13?1P=9AK$G.^V$X-&7 73 M5G%QM;,3I[/34A]01@W<<+*\$TJOGH0Z[:JGJ<N"7KTM`4"F_4QFFW`VZY"L 74 M:%Z"70FC0:?:)*EI>P#G;-(I8>2+WWI.3=Z\A\?#?$[8$'!)@.OZA%?;<\+9 75 M^L:<6@BGYM1<.#=']H0=<[8$(+D6<[I",%F8PN`FA%H&YF1'+8)"P)@S(RHU 76 MJ51)18-1(]0L3274U#;Y2@AUB^499#6&2JG0V4%"LKL':7DE64FXJF\1">IE 77 MWVC<^/OPA$+H=XC;;"%XO4&<-=#$ORVP/>3$2FE;:I4*8>2W06L9A+6L2$B8 78 M\N83E,P$@&01=DJ@)DP42)6DDU/S";`6BO6KN%,*%UM!O+BA]%J+07Y':VT[ 79 M/.JU/B'(,05S10.WJX'LJMZ9*/)L:C:`*7MP-YT;MJ>\.O$[QUI0)3:5O>&] 80 M+^R]]#5B)])%BBG+/!PB=%WF([RRZKO47M>$LZ8NK^*^O?HS=;4S1MPK*)X% 81 M%+?6D+I$:\O.U[A0*RB14Q"ZC]=HC(M=7J[+G3I21G9''=_*JU>G7R:YCW8M 82 M2&*$.V&LVJS^PC)&Z=BU'EF<RFEI#>5H@Z.^#\4F,O0X@L7$KRUJ[Y$UY,$& 83 M4DZ47-/O1,DU5!LEV^*JY(HX6,$U*&[:D<*B\<GWO2.<,!:0@4K6]IU$)HJ) 84 MWXJ>C4UV]+YK('D)-R??=0@9/2;<?N+9:&4QT9*?PW:M'5^38GM\+>!V?%N: 85 M^-;>M0[6B9NCBEW;B++8."LJFC9.\A_\O!ONCG=MR5]O7B:>WC6FX$GCSJMF 86 M7,%3NW@LKX\8E(.9D[J9$,$YOPRGY74*4,`ZOO:^HK;CK'$5QM/$KV_EKGA\ 87 M?6RWEL6]VD>^"N/^G<(-7[Y?#2_XF)_Y5<0K]UN%Y_ST"#0Q\N1>'R?OY>OR 88 M6.\]2[O6C$N[N=`DUYIVF^C_7`C_K/RK?Q/D0S?<QROYXTK^T\G?'@_ZXNWP 89 ,YS?_`\@ZJ/F3*0`` 85 90 ` 86 91 end -
Tst/Short/factorizeQa_s.stat
rb36460 ra07784 1 1 >> tst_memory_0 :: 135 3606379:3150:3-1-5:ix86-Linux:mamawutz:9134562 1 >> tst_memory_1 :: 135 3606379:3150:3-1-5:ix86-Linux:mamawutz:22402843 1 >> tst_memory_2 :: 135 3606379:3150:3-1-5:ix86-Linux:mamawutz:22730684 1 >> tst_timer_1 :: 135 3606379:3150:3-1-5:ix86-Linux:mamawutz:5761 1 >> tst_memory_0 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:1127772 2 1 >> tst_memory_1 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:2342912 3 1 >> tst_memory_2 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:2359296 4 1 >> tst_timer_1 :: 1354031643:3150:3-1-5:ix86-Linux:mamawutz:637 -
Tst/Short/factorizeQa_s.tst
rb36460 ra07784 54 54 factorize (f1*f2); 55 55 56 ring rw =(0,w),(x,y),dp; 57 minpoly = w4-w3+2w2+w+1; 58 poly 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; 59 factorize(f); 60 56 61 kill r; 57 62 ring r= (0,a),(x,y,z,s),dp; -
Tst/Short/factorizep_s.res.gz.uu
rb36460 ra07784 1 1 begin 644 factorizep_s.res.gz 2 M'XL(" ,%6&E```V9A8W1O<FEZ97!?<RYR97,`E/U-DRQ/>MV)[?DIKLU�<2 M'XL("*[7N%```V9A8W1O<FEZ97!?<RYR97,`E/U-DRQ/>MV)[?DIKLU�< 3 3 M<\O?2Q2P&)L-S<9F,[,;(V@4"5!M:@$T=$N\1=E\=X6?YSS',SRB;KJ,1E3T 4 4 M_Z:'9U5F^-OS.^?\;__[__SO_M<?/WY\_/V/_^7?_4\__H>__/DO?_NG/_[? … … 1334 1334 M_?CX67K\Z__V#^FO__L_Y"-^I%CLZK/&G^=_S^?_2D=,YS?KK_\;KC]B3I_G 1335 1335 MO]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(```` 1336 M_$]_^9=__>-__\<??_BGO_JW/_[RCW_^B_VG/__XPY_^YL?YW_Y_[9U+;]Q( 1337 MEN_W_2DXC;N01='%>$>@VE[-9C:#"\RL9J$+^2&7T"Y7PTI7DCGH[W[/.1&, 1338 M""HE=TEM7,P%_M-3-AED_B-^<1[Q(#-]9A]N2K71T8Q6G_2D9N_-Z3BE^NCL 1339 MI(]F2LKR11U2?/!*RM:,SA[VW!ZNLX?K[7$U7-Q?'7;&<&2,!P9PIONX;0:X 1340 MOZ;)T<7AU24=6#JXUG)HQHM)71ZN5>13'[;3)*=>;ISEV%55,JN4*RG/8J+F 1341 M-S5MY51MITY.9[E3E)VO:CZK&6F`W1I@Y#8:'?*IE3;0L%A.I3J[56>-G.JJ 1342 M&5@S7Y*J:69?3CV?TF*&:K1!CB,?.RG7J=SFI3K=D&,5]$*MA=I+O5K+L2!K 1343 M)<=2J=XJ]2*N4E5+34W:H*0-,:O)(8O)@6MQ[#O'\.JEKES=^-Y.]^8PWNN# 1344 M'@^V^O"]E:+I_F!JL6W%A_;4E@7Z(K_7)(%Z*6R7IK-+D2[Y\=[1)<O5&J[7 1345 MYVN)KTUT;91B^BRUXN#J=37G&^CB='Y1;<HC*X_YKOX&W>1KU2RSOXO[A'JH 1346 M/"!75D[O#U,MX:[@_FHEW!/CX;%-PMW_C/Q/F6K4+K5Z<Y88?)=:O>L2@YYG 1347 M3@ZW5Y^N?K]:K[Y=+:^NABY+>'^6)3P-%I(9?B$GHJSZ[=I,]O+V6E]^NOS] 1348 M<J5S/8S#1;SDB[]3,2VAMLOTYS+2S9>?Z$BN<2[Y5J4I5J;M@^9RF=JM=':Y 1349 MDNZG[=JU;BU*C2[,#[W[ET>\^Y?O>;>]_:1_UZO^-LF169?QD_G=+'J,MX8N 1350 M<+G^]/OZ34]<8);1\[G^MHRWYIMY;(`-JFNA/C-/H,3[T"0W5^^NWE_=[LT1 1351 M[)DY@FOFN*&.>4?_W=+HJ**_O*&N>T?CXWONTE$I9_3E#96XR_=TY99'06OF 1352 M0"6>2NAS3;4;^\+9V/?L+KVM.>)=30M>OWL_WMSN7)V<NM;:#77A?*B+\\,N 1353 MNUC(@4^[,2ZJL^Z*^FT=U\B'W$@>:,83Y]&%>FJ]YF\R7$<Z<",Y*W75>LV7 1354 M^&\GDXN%.FN]]DVQ&S6C_:=SZ\)MXB9QB_A)VKA$>0_&K5%>B3D9?M75/^9F 1355 MT75-\>=]%L[=3#KMP3PMQO-N2[7;MJ)$D3:Y8.:9^XD?D=C9J4#'B4+>T$PJ 1356 MILO<E33MHFEHY/L"G=)D+4:K^2IWI:V*-#*-P9ND4NEY-YK@_66VC)^\371. 1357 MIX9.P^12=(HS`=MH<I;F38G3Q'4:]9Q"$FM6<0J[R7HUTYR1FWB:O)NM*TVD 1358 MTV1M<J$T4=.\4/D05)A+*XV4>*^<+8VC>6<5IY1+\S:C@YI+:\E9QNAU$$QN 1359 MK^<J50Q>ER8'*@BS"SY*HR.=TN79<&W<OF#5;+2TCR:LM2IR,0I;Z[TT)'#; 1360 MKS5UC3%Z:ZN6(N6-\])=+K>?RV*R>FNBE8FPC]K51KI=58Z[S,TZVM)DF5!/ 1361 MA)FX7S(#2U"W^HS`\^WH?8S2-IF,IZB]S2WC@BF0TRA3FJ7SY'V>(SE(:9>1 1362 MVWQP+F[MDCG^I(V)V<5T#4>K3**)_U):1_6Y6;E0VE;32>*Y(F5`G;+;G21% 1363 MFC@'EUO")5/4RDJ=MC3-3B%HFS:?RTN09%/<C,@-:P[,DT?G-'FB-"BO4ZC+ 1364 MG;&E?792P02;'?QT[29:SNB87*Z32VB)XJ@S2HW<B#J73#R7)#Y/X53J-_(1 1365 MH[Q54J65\^C(SU1I@2/0:,4$?-6/Y!3&NUP!%U3YQ%ZL`@T36UAQ]9Y"PZLL 1366 M;T2`/DU!6FKS$Z6`;!6^&LAO]>;C?%[4U3QS=#MO?0Y2E@YCH'A,J2B'T3M> 1367 M[<F'3Y1WM5?%N'(:9G*T\M$X43)P@:CH)-5*.(4HG4+,O4F9P'-_T:&:)P;C 1368 M?J+P.DXZ.LL?E_`_DAWF69DM1=&"<4QS3,'6\#_6.CB3T$J1O#S45'"499O? 1369 M7)C6DR.M6O5F1D_GEA)*JK%/YR'-;$<)'#HE/:,E]EM51@SNO=S(\44WJJA" 1370 MF-,6_%0UA5N<?0M^*@HVMB`S4J22H6P36O!W]5!2F2C[)3;SE@BHJJB2VCS- 1371 MY\HIS7`OY?CB7HHS17@.?JY$S<&Z$ORZJX%SB3)A#B;67*#E`Q1TR77I@/N> 1372 M#,5YITL(?"^E":_-UJ?V00T<X=I0(,@=6X9@-65=T"5C^5H6R2!QRV%<XBVY 1373 MA"OI@0P^4NQKU?)#[P,YTBW=T&4+_HPG(^L^7W"AH9ARODL94NAGI?Q<,T4O 1374 MSX'NM5-&;7F-\3DX9E-2!_L<#R]YM,SN;AF#=QSLU@*=2ZLPKQ\UB1B[N:+9 1375 M/I?F1$-8S2)67#@:[[=,QM:VDFARFI'*`@T\IN82UZI2'.^*QLMHMN%#YSLH 1376 M5*+G<6[+*%QF$\U%XY;!J"!2365<.DG\)*]CJ'G%=S4I]BVZW25?4XMG39H0 1377 M.+6E+?9G[YQ$A20?,8RO^27P)S1ESK1EIZX*CGEM?909QHD#=J*H,8XRY5K. 1378 M"54'=B;.+L89&EXD9H\\SZ90)\.4F.42FG='&VK,'NNPJU0.>J/K3,/()VA^ 1379 M8FOP<D$(CARH!BP7D:0--6!SS32ET*E$;%\-3R2T)=P\=-,E"3"9,4AL\WQ! 1380 M1T-1L$5L;KG2VO@6L%)(_6;<W.)U5Q/O^E#/48^TT,W-S0:JT9KKI!:7B9PO 1381 M]U'.I5'3;$FGD_:<N,C?YUCB5N</:,I^DHW=EFFX.D4YL`_8<K.AN8;I0G9O 1382 MCL#>-9/#*MM%L-PS4:-";(-]+K1$H$++-3P]FVF2%4ODFIT\KWEY0A7;'"#; 1383 M6Q'4;+HX+L7:.N],%[VYG(;H-/L:OOM*\LCNV?U;MJ%VQ1#UO`5T]BJ7:(H: 1384 M:T3;[!B:YLJQ"V/;RVM>"IC91'''EE/X@\2E76HYA?N'"@K8*?OM1!,8/?L: 1385 MW&ZGSN%-@6KE0RV-L+JBA&1\2R,RQ76NS%].)08LST&W,/<[;8YK<C?K6]K@ 1386 M/J!Y!^/F)$"BE#5<LEN:8(88>&@XE<!)-(V1I0)?-56=(UF3[4U9Z_!%RE0T 1387 M"_=MQ#O*VISN4;[&C]Q'HXSW;08L93S-=VU\ZROC>.95@?4E=O('/`6P*\%O 1388 M*&?$H'(\G^0&&KZ#W>)$2BB<^E%M5X>3Z95-.LTM7C(!C46\EU`C1$H=QY;9 1389 MXD/D:;[+.68+[J;-H>P-S96W$4YG@D@+AC+HK+54>S+IG+KHR!U)"T05?!<< 1390 M>E<'QS(M/FD\;I&BMYZEM4#H`IG6%C2/GGV)#I/[C].ZJM%A=NH\:I-+>A7Z 1391 M4"G6I`&.1HP:'ENI\SFQU2HH"7.N*>%ARX,)FL&T\,B^H"GG^E`CHA0&6M5Z 1392 MW\4@53*3LY9A(4<)K;A4H&7=7&)B[TB<+!PM/JWK@LW0?(0&("=!X;/):=%& 1393 M<5NCBLQ-D^UD2Y`86CM2=^4)U;&NDFAZ1MUD:!G*U8O?T46:P](*8:YN=Y0' 1394 M/$')LL64F+"T6$W5P_B<UG,RW2S!T.J0*8&AM*W*])N7<K0>3R4)2P$-*\:; 1395 MFG>EC)R*UDZV.9;40XLV6F9VBZY=93K/TE5L^3=_RIB@Y^K[)&XI3VP+L0Q) 1396 MD6]]L-6C]$Y9$HBEM)KFSJ-T[C%:=I6IN*F%%-S!=8Y-%>B8)[&;US5USAB\ 1397 M1:";:^5N3L&DLN+;/-A.SE,RGSOWI?5RLL&EXEAVIYTS!0TX41<G*Q8C!S'= 1398 MS)1!`ID^B&.)$<DY'.^;K+6`ENDJ%"]K5>0EO;6A)-,C+W4IFK8-#BDPM(SK 1399 M\@074:HV-8<:*?*4W;>I[[$NN$E,]G4HXI,J+D8K=O*0S8CR89K"!%OGP/D> 1400 MCI_03":%/"W7<3/8KAZ>!%"[>6^@^@\UE%+2MM[)YN3:HS:Q&2R7DF/Y;EVM 1401 M=^(R^--$W=G8^0I)!5IQIBTOF"P4:"VI?3%9[AQ:)B5>-S=GJ-IVELF14[:L 1402 MQ&W^A/8\K=BL[BCT.*J*/1VG8.?RZN[(^WH4Z*H,*%Q0U7DU3Z9IVQU:[E=; 1403 M6;&?IWF\XB%I+8*TK*+%;)[$G.0&"O.4MD[;U<'!2[-+&^K:021"H-F^JJ8B 1404 M3<63E-)9T@Y:3M#$8LNA>J<J<_A(H5UG%KGI%)V:TUSI2,])U,2RBL@E-.EC 1405 MU=QU39&#E19HSN>..EX'GGVF;2;(!4SIW.8&7*`IP]&`7_HIT!*2EBAE`<0% 1406 M55V6YS,AAF+[7`'%O&O3_$`S*5J59$M+!3193YZ3PE;`*QW*A`6FZ7.LTD+1 1407 M9L<]7D=>^-.M8D0^IS1'0_H6I)%GG#))DHKIE'?-MCF*[/W0+*54&FLMO"KG 1408 M;,E;TG0AC=$9.\]20Z)<09T=\[0C332T<T`<K]7\<Q5H#QT4/U]_T5Y^FFW; 1409 MSB=)LU"H:<\_1#%1<X+\"`7U]3PO>J71V1COEI5&(\L_W^]HUJ'#8D\3)QVZ 1410 M]T23NJCX6P4GNF4V=EG-:;3\#YCP34'9Q9QDM]?0372D::&XK.4U`_[=Y1,M 1411 M%6E@7O1)'@(IM:PGKG?F+W32D9VIZ$0-,/S/,YSL>'*T"K!JL;0@CIJ_[\LK 1412 M96G#46*;VFMXA<X__TXE\ZP]->(XTA2=[SIQ&>4R;@5O&?$WK_AR<-0&?:09 1413 MIHO4!IUW6+BI^2YJ!<GRS(X:>*2AR:H3Z9,1J=..O%#3B?6/FA)*T"3/A3KQ 1414 MS[4?>;'JM:8:^)"JI([BP\2_+<Z%(X^-"]5%9?PO1_`132C,?!)MI_G#1]Y` 1415 MCBHL*Q]9_A="^,T,1^//<CH:V51?Y<"FE.2M#9Y1+T?J/DW3MI4/J&/M20XH 1416 MY1]=??A%M[BD%]Z0U3.Y`^]^.G$'XRU;CV9Z+B9Q!IIN1/[*-04!.<.8:(DK 1417 MSF`I:HHS.))G9YALX']=@$KX51;Q!@Y*\8:\82?N0'-7_A%[]@OY))N>^LFQ 1418 M-\@FHQ5O4+P`S.[`7P`4=^"9$CF0Y:V;6;-7'L6E;7:)2'-G\0CNNKCR;9R: 1419 MV"4HX[C-)31]1%R"/\N_Q"^%T5GQBM%:;;-7)/GFL'@*C:+B%(:_YRK>0<8A 1420 MIZ".8<=G4\_&!7$*8G7<$+'PS+\C3V7&4`"*^:DA+KN$EN]C<QGUILXN$=CI 1421 MV"-HEAM.(IS(.&Q@?M[!_C!%_AD7<1'N#?*"D:JQV1UH-F7%'10_>A)_4/S% 1422 M4#F@R"[^X,+QX;_\5?)-]_*.XI=W]@_O%+^O\^#]JD>>W2E^AV?_[(ZF(NV1 1423 MYP69J(Q'_(^J\4M2/)-1/+:J\BQF6WI0WW%VE/OG5Y?\U@E=5],QWZGGD3X3 1424 M)_K#CF5TYK_52`OB5ZUVUV'Y%Z;4R=2$>M+S4>GQ1`U9M)KXJUVK_,/@JYZ. 1425 M[:<(5KZ-_986Q/DK7613FL.2V>4;D10&3Y@A=.VE:1EW6GG';*K3JREW&W>- 1426 MIV.=IRZYCZAXXGZDH:ITBZ$+Q_+LI<RARH?JA%Z>,)^FLOJ9CM=E.MGU8WO) 1427 M@<:WE_9C]YS939)P*.+74\M0BUO]D4*>.XO#7$^2.^I3^Y,_YLZ6H.$[#/^^ 1428 M`_\#1*>1\\?#5U=JFU77_K-7("BM-O?6XMH[M_9G+SY0;NJ>Y%]>+"/W_\)= 1429 M.<I;)=OQJ/KR<F;DS+3C??F#LX=7LTYKB>_07ORB8+-,M0;55CM^*3#U':K% 1430 M]`5>[F`[U->FROEV1Y2/D,67^H94.=_NX'>BMJ(JS.]"Y<(B]MU7DVHW=!,I 1431 MGUX_VT:U;T.7%<,__^;:'^W;OBM]WY6/?7MS:Y[NFFIRYN@YA9W.K9S;L0ON 1432 M8+N/NA_P#LD&QZ"V(VU41,G_4.4Y4&U'Y]7\"M`Y3FM^9^WPTFGS$\V7%C^: 1433 MJ6/G&O%\P(R=.:+I7X8]RR[Q/+O$+KO\42O&KL?B#\@#/\**L3--+(%X;89I 1434 MH#Q6&YZZGDP_(,BFM6M0W5=,G4'2V3N**G4QD+IW%-TC;W:IU'4UOW7QP'JI 1435 MH^:W&IHE:5!>1\/3&1F?1YG9T,$EA?]<34E+]"J@YQ_0(^O8QMCEU)OR=&Z] 1436 M6K'N&O&LA*)GVWWT?T9"T;/OVA2**ZI9?-&VEL?NKI?FDMT\AU)W/[_AT\?R 1437 MB5:=S=59/J'%2YNAT.JVOJ+Y8?>*IE9G$W"M^@GXS?2.S'7#6[67[RZ']Y.5 1438 M4S>]&]_32N'R@\P^VF==UZB73I^UK=TQW8SO6F_H=&/'=^]I]5<-.EE_X\8/ 1439 M9K3^'1U3^\Y^LJ"V)W1MB^<=EAZN6.KKAE??KGZ_DF\D]%VGY[.NTZI_7=/7 1440 M[<L+D]<J_`6.*6^I\@-3?A8G$V@YC75:?BRS;B5/8[?-S;$\3N1UT#+UJQ:M 1441 MN]#CIW@O]$(?6\<GQ2OB=93E*:V/>1M&TW+6\1N=6G[ZBQ^8S*=CB[15%J+: 1442 M>R\'(:6X\$^@48&(T-I^:5/S%H=MXO+`=OK*7/D*UB4)?K+'[JGEN>*DZHM, 1443 M4WV9Q4YF>ZQEI<ORXF;:GLWQ@E'>+J(.-]NK1WY4*E\J+YQ-^=EBU]5=6M`O 1444 M'34GEYJ/TWK$47W.4W?S^W;!\0IE"KR7H/G7Y.C_9.VC+/^T%>_.66N6]D4& 1445 M7@2-\AV=A1_BN,`_'RL%]JGDH;NTI?,XN_-1><5-W%+>,#+-*4<KS_#V_F>Z 1446 M7&1>.O[HYGR\J4,0%.B)_TE#/D_VE,_)\<;.Z60WS/+79(]/L)HN.$P9EWA8 1447 M728C@^G#HT;5.9SY`:,2Z9\F\\A<0YO.J4SXQTW<CG1WU)K=V=;\@.FM-+O[ 1448 MU<0S#-U`NJ_8:7X<(B"R7R`A.7Z3V<"%[+V\XM0XC`-_)T.W-VU&)2\TT6W? 1449 MVMLKLC5Q&MMWA'3W[3QM7YKRVCX-Q]YXTN.W#I2*3M_T%DBG<K3D`_Z=P3:M 1450 ML"?]C;]_3TU\:OCIOB^HK:M=,PGX*#9M'<43OB?).V=Y^1?]6K!QLB`FLP,? 1451 M3WNZ?\#6N9PMZ22/63)VC7FO3?8O&).RU*OQ5%@[S^WV%+7[YZ>QO%',VP[K 1452 MJ9]3R0;V<N)?-SH]GC!<YUINF\A26SG4J-TT[<DSVFPQ)J"02-UTW'6F=C\@ 1453 M<9"!%G.2FAL&_VX3[T1+W4^`=)[BGIS"NLYX[O_I%+;[GI_V)5O(LSK^+HN\ 1454 MKKO(^TU<<ASEH9ZXT"-WM,[OOENF_4L30T=SXA]:.U%%-,[TJZ*^F([I\/@$ 1455 M9><-WFWN1(%/@7&BT-_61_P-,IX,JB[6N[TZ_>*]NJD/=MX:FLQ2Y]#B2A,O 1456 M\D[C4V;J'*3LCET\.[:[G3'](W;&<ER?S/-"N]OTTG73BX>9O*0N<;V*=^6D 1457 M7/:]\^2;TC#/Y7.)O!PUA@ZQ,_2+M\5\MXJ5'QG8A;S\`H#I=@+S/(]_/H/_ 1458 M]MV6X)IG34O^^VRCN^N3SL?*SEG>[L_OA,K3$R=?-L]/L/G%$KHXQB`O2*RR 1459 M^1_DAE!NX'EUI!)^VZ9]A$M2C-T]872VG/*T7<VCTULE-A>D4DFNLXGE-Q^- 1460 MO-*8FY!+\EN1K42^)A^3/.%_4!K"Y5[/U@:ZG:95MB?/9;KGN,QOP'9MK7II 1461 M?E"JI6[3828I=;%KI+SMK9)S!=#66GRYR[6[?"C0VUUF3+[4ROT:MUJCZ7NS 1462 ME$9MNGM#:3>_A=GN57,FW/JFMKHY?Y<D7KRI^C]]"=KMX>JX36^WW;C+1[?K 1463 M:@=U&[PZ_H!QB29M5.MNFXZJWNW44?U/S=ABEZNB:W.<53+WJ9_E;)-03O3[ 1464 M>4ZW@ZQ_Q`[R2^<YW:ZQ+KO&%\O$<X55_J1QE:?7Y?@DY=V,H=M/UB_>3]X- 1465 MLMWVX[1LLP;>K:H;JYRBIV/UNG4[#N25T_'QIU:UC9TGI3*(\1?-V'1C(KKR 1466 M:I@\)5KD.X8=;&?X].)!:FZPG.+XB=O(W]&MV(X#C<=H_C(M'<J?CPY%M3&= 1467 M,Z5POB61OTKWQ_8CN@UUG5Z:C,[W([9]B.FY>Q"FVZ`WLVIS0/[Z&7^A;]LG 1468 M+R\EE!GA_NK/54!W8C\@D^C='*I4NZQCM\!=2E-SZ>,YQ72[^&9V=14H$UW& 1469 MD=V*LJVT37@[US3=CKN9?\0#J3JM;8:B5#+)#]Y2S4^8*G:M2/4QQGB2%++R 1470 MO@4GD:D]OC#=5KQ1/V!N._;/7Z;NU.;3Z?24"53G&LI4$XPY'Z1M8-K>]>@0 1471 M.MNI'[!DI3ZFGD^=6U'/L34>[W35F5YUP<_SN183,@N;3-X$YUEXU_[.:NK% 1472 MTP^_"_GD\FHI1WWSHKS5FB_QY/N)=W.,[MQ"J[+\ML/(#S/I3YI)U>9W&_CF 1473 MQ1OXK?M/;N3'7H_]N(?IMM%-V4:?B,]*RIF<YK=8^8<VK"E9*+]K/O&[NN+Z 1474 MD3I&#OB]O"Y\NYUQ\_*=<6Y*<Z-<1_,BJ;S+2M*XW+9NZ2,4!>+)=8_I]L"- 1475 MWIXU1S+,,HQJJ%C=WK9Y\=[V+MLNNS7=2"/B,K7!D[DL=P./-S8D3LC.>!I" 1476 M@YKC4X'?;7*;LLE-LW8[J<;1V?V'[&9W$*.N$W<KI]:99H^19EC=>S\CK0IC 1477 MG>TL\DYE2111SJURY?8D+M#.Y96?J?N`O.XS-4$E3M/J4^(TK3G\HT9T7ENK 1478 M9![V#]X2>N@XW6Z]X=WZ_8-$T^V_&]Y_SP\5!WY:=77SZNQU#L-[YK_>?9'G 1479 MAORC.+PG?D/_-=/9]ECQ0JZ\XB69?-\I<CYIA7KF0A78BZ_EZ_E*:3E)LMAL 1480 M&<=NORSSB2I=^-]@H,F:"N/%#>GPOY>0C_A?3I0#_E>2+FYXBX3_04,I6Y5N 1481 M168[U&LJAZ*92-:V6L\>-QO>%[_][>MP<??E,-R](>SA;O@+Q]VL?^:"N]&8 1482 M5_5N\MS_KB?^-=GL?KT_?/QUN/CS-'V]^?+AMU__?#7<M;1D(]]TYNW;93?S 1483 MY;O;X>)>+GTF-W\U_,N;P=4ZG>9;:JW\6W/\?PW!^5SR[NO'F[^V4JGX[]NI 1484 MG_]`8[T^;^RG[K)4_2!.^^O4D+]_9T,\9KN%S58M@@._1B>68VOFVQ[^0Y/0 1485 MA2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"% 1486 M+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N 1487 M=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YT 1488 MH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A 1489 M"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+ 1490 M7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M= 1491 MZ$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH 1492 M0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A" 1493 M%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7 1494 MNM"%+G2A"UWH0A>ZT(4N=*$+7>A"%[K0A2YTH0M=Z$(7NM"%+G2A"UWH0A>Z 1495 MT(4N=*$+7>A"%[K0A2YTH0O=QW7_XS__]=_^?3`^O!WJ<7P]?+W[\FGX.KP9 1496 M]-7%<K6^NOKPMY__]--/P^7E\/7CAX^W=U_R#9>7]5/I[?"WWSZOP^V;Y=H/ 1497 MX[!>._ISD3_7:_OS=F.8RXV?ZHV^WKA<&_Z3_E/M`ZI\X)?R@>5R+:I%NY1I 1498 M.3/[#^NWP^>[^\/P65T-GS7]9]HU\W:X_>WK<''WY3#<O:%/#7?#7P9CYEG_ 1499 MS`5WHS&OZMWV]?#?]<2]IBZ\7^\/'W\=+OX\35]OOGSX[=<_7PUWKYI^X)L^ 1500 MJS?#[<W[PV]?[TX?AXO;[GJ2ZWIW_5.['I5<-[OKOW373=9O!2X+MH+<@H8< 1501 MI<J[V^'B7M0^*_*F5\._D*$K:))J*VJ26G;U))>+WGW]>//75BJ5_;V>/JQ* 1502 M;U75/K7SKBH[;U55`CL_5I6==U79^6%5YKPJM:]*;575OK'JT:K4OBI%5?W] 1503 M/!+N.!*>B-#%CXL;5_K_7?`]>;L>5STNHVJ!;,=%4]E*?_,EN4$]".2GU,:U 1504 M5W+C8M=Q,2(CZ8$T.WG#A^/6A/4/UP)$(`(1B$`$(A"!"$0@`A&(0`0B$($( 1505 M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$ 1506 M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@ 1507 M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`" 1508 M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1 1509 MB$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&( 1510 M0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A` 1511 M!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$ 1512 M(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B 1513 M$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0 1514 M@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"! 1515 M"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($( 1516 M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$ 1517 M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@ 1518 M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`" 1519 M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1 1520 MB$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&( 1521 M0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A` 1522 M!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$ 1523 M(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B 1524 M$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0 1525 M@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"! 1526 M"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($( 1527 M1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$ 1528 M(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@ 1529 M`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`" 1530 M$8A`!"(0@0A$(`(1B$`$(A"!"$0@`A&(0`0B$($(1"`"$8A`!"(0@0A$(`(1 1531 MB$`$(A"!"$0@`A&(0`0B$/__1_R/__S7?_OWP>KY[5"/U>OAIY^&P]?7@[5S 1532 M+=6OA[_>??X\?/VY%IFWP]>[+Y^&KV_"U<5RM;ZZ^O"W=M6^'?[VV^=UN!W> 1533 M#.NUNURN[3#1D::C($=F&(?EVK2/N+?#Y[O[P_#YS>W-^\-O7^].'R]N7[7K 1534 M_NUP3V7#Q6?JE%?#7P;_\Y]:"\/;X?#Q_I`_>D\W7?%GG^Q)0_U1.W+2]<S2 1535 M63UQ;+_:XU[.I@>=>+7ORMAU97I=C\U\UH%&U0[4YQUH]-:!;X:+Y=I?DAVO 1536 M[25U(/U-=J>.S,?T]RA'KR[S?72\7@>Z8NC8\*?&M?6B,;67A]K-0]_/QI[U 1537 MY/#=KES\RGZH.2[$];C/^*_FJ)X=,K"G&G;0]7$_-*YUGO&O"[HI2(Q"@2*8 1538 M#.]KAZR,R->YD^B.AD).\31G?"XGQQD#Z#X&]>HS/06<A*`$^^-\J?'9N3F' 1539 M53UK8<FDEVS*S+H9/'-V)K7Z.Y36/)\R@_209#O&%.,*XQ,6M+8C=!UAM:8M 1540 M3JF%5%Q9N'9VI3]SN7WHZ!W8]VQKGVO;M4O/8F).GTX2M*J)@4I=SK%KS:QG 1541 MV:`VH3.VZXSMJK$W]%70[<Z\G1.[[YG7/=N\&6K'NQGU";=UG5%=9U17C:K% 1542 MJ%N(YDS$&<A)UFI7>ZKOF<\].S1WSFK$?YO9J"ENS2,D_?^3%G.=Q7QG,=^' 1543 M9[$.$[I\UCFI_-=3^N_9SK\@-+.9V@1@S?XH`[Y^>H3WG0E]9T*_BTL]/D"4 1544 M.%RWX>8\O_KO&='_<T;LX\[4,QJ1)0;/K=C!=G8,G1V#ZHYU!L^IU67?K2G( 1545 MY"&EL03S'=#PW`%S[4</G7UR8UWS])+]]PDW#=TH&7R'%(HM+\M86+-JG0CL 1546 M$TN(WX-*S[6>#'Z[H3&/]D\Z9>RFG;&S3=2/."7_72//LU.VML;O62<^>SJC 1547 MU_WX/NZ=D2IW3]DF=K:)G6UBJ$F_2XG+-A:.?;S1>=?Z[]DH/MM&#:LGRFN( 1548 M-JJM8[?.*!'W=+BESHRI,V/2^^$A>^2R)<_M?.^3Z7NF3,\V91[LE@<&S8[Z 1549 MY#0M=49,G1%3-:+?&E]&[VPV3IU[F.\9+SW;>+ZN%RL,6\:L3^9]-S?;N+G9 1550 MQLU]^BMS3EN&Z,N:%/=SK[VEW/P=2[GYV2G1[U8/.XOQ-9Z3VD=&[UJAZT!] 1551 M!]H"K^7XRV:O;,'6[N]8S,W/MICK)B(RJ&5SB0D?Q5"=O51G+R7VRO9PW4)P 1552 MFT5;0:EI<C<E*9.R/'97&/4]\ZES\_VCE/F8W62I]%28.=693'4F4^'A4MDI 1553 M,LM//PVW7W_[=?C?KX?_NOOUUX]??[WY\F7X_>Z&EK/O[FD=_>WSS=?IP\?? 1554 M/WZN'Z,%>%YA#V\&6F.O5X=^C>UXWZ-M4EP>KN,PRF;%X5KS$?WMZ>_#=9!R 1555 MOUV5OS5=M?6([J^J9#<IE(^:?(L<ZU8SS0L_?+SMMSIV!M#/G1H>>`PY])U_ 1556 MH'%*'RAF#GFWRO`M=,ZG'$D'OLQ%9CQ(9*T'F4,>]./FXAV=P_WA_]P?;@[? 1557 1[B\H$_RO/_U?.CZGWX[="``` 1536 1558 ` 1537 1559 end -
Tst/Short/factorizep_s.stat
rb36460 ra07784 1 1 >> tst_memory_0 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:1740322 1 >> tst_memory_1 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:22402843 1 >> tst_memory_2 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:22730684 1 >> tst_timer :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:3425 2 >> tst_memory_0 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:41097766 2 >> tst_memory_1 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:66805767 2 >> tst_memory_2 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:66805768 2 >> tst_timer_1 :: 13 43903425:3150:3-1-5:ix86-Linux:mamawutz:58731 1 >> tst_memory_0 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:173336 2 1 >> tst_memory_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:2240284 3 1 >> tst_memory_2 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:2273068 4 1 >> tst_timer :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:276 5 2 >> tst_memory_0 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:4047200 6 2 >> tst_memory_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:6025216 7 2 >> tst_memory_2 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:6025216 8 2 >> tst_timer_1 :: 1354291118:3150:3-1-5:ix86-Linux:mamawutz:5530 -
Tst/Short/factorizep_s.tst
rb36460 ra07784 385 385 testfactors (l,f); 386 386 387 388 kill r; 389 ring r=2,(x,y),dp; 390 poly 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); 391 list l= factorize (f); 392 testfactors (l, f); 393 394 f= (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); 395 l= factorize (f); 396 testfactors (l, f); 397 398 399 f= (x^3*y^4+y^3+x+1)*(x*y^7+y^6+x^2*y^2+x^3+x*y+y); 400 l= factorize (f); 401 testfactors (l, f); 402 403 404 f= (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); 405 l= factorize (f); 406 testfactors (l, f); 407 408 409 f= (x^5+x*y^2+y)*(x^4*y^2+x^3+x*y+1); 410 l= factorize (f); 411 testfactors (l, f); 412 413 414 f= (x^2*y^3+y^3+x^2+x)*(x^7+x^5*y+x^2*y^3+y^3+1); 415 l= factorize (f); 416 testfactors (l, f); 417 418 419 f= (x^3*y+x*y+1)*(x^5*y+x*y^4+x^2*y^2+y^2+y+1); 420 l= factorize (f); 421 testfactors (l, f); 422 423 424 f= (x^4*y^2+x^3*y+x*y+1)*(x*y^5+y^5+x^2*y+x*y+x+1); 425 l= factorize (f); 426 testfactors (l, f); 427 428 429 430 f= (y^6+x^5+y^3+x)*(x^2*y^3+y^4+y); 431 l= factorize (f); 432 testfactors (l, f); 433 434 435 f= (x*y^3+x*y^2+1)*(x^3*y^3+x^4*y+1); 436 l= factorize (f); 437 testfactors (l, f); 438 439 440 f= (x^4*y^2+x^3*y^2+x*y+1)*(x^6+y^5); 441 l= factorize (f); 442 testfactors (l, f); 443 444 445 f= (x^5*y+x^2*y^3+x*y^3+x^2+y+1)*(x*y^5+x^2); 446 l= factorize (f); 447 testfactors (l, f); 448 449 450 f= (x^2*y^3+x*y^2+x+1)*(x^5+x*y^2+x*y+1); 451 l= factorize (f); 452 testfactors (l, f); 453 454 455 f= (x^6+x*y^2+x^2+y)*(y^5+x^3*y+y+1); 456 l= factorize (f); 457 testfactors (l, f); 458 459 460 f= (y^6+x*y^4+y^4+y^3+1)*(y^6+x^5+x^2*y^2+x^2*y+x*y+1); 461 l= factorize (f); 462 testfactors (l, f); 463 464 465 f= (x^5+y^3+x)*(x*y^5+x^3*y+x^2+y); 466 l= factorize (f); 467 testfactors (l, f); 468 469 470 f=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; 471 l= factorize (f); 472 testfactors (l,f); 473 474 475 kill r; 476 // from P. Zimmermann via libsingular-devel 477 ring r = 2,(y,t),dp; 478 poly 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 + 479 y^2*t + t^3 + y^2 + t^2; 480 def l=factorize (f); 481 testfactors (l, f); 387 482 tst_status(1);$ -
configure.ac
rb36460 ra07784 12 12 AM_MAINTAINER_MODE 13 13 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 14 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 15 14 16 15 17 dnl Check if build env is sane -
dyn_modules/bigintm/bigintm.cc
rb36460 ra07784 231 231 } 232 232 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())); 234 234 WrongOp("bigintm_Op2", op, a1); 235 235 return TRUE; -
factory/cf_gcd_smallp.cc
rb36460 ra07784 2000 2000 nmod_mat_t FLINTN; 2001 2001 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); 2006 2003 2007 2004 N= convertNmod_mat_t2FacCFMatrix (FLINTN); 2008 2005 nmod_mat_clear (FLINTN); 2009 delete dummy;2010 2006 #else 2011 2007 int p= getCharacteristic (); … … 2083 2079 nmod_mat_t FLINTN; 2084 2080 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); 2089 2082 #else 2090 2083 int p= getCharacteristic (); … … 2101 2094 #ifdef HAVE_FLINT 2102 2095 nmod_mat_clear (FLINTN); 2103 delete dummy;2104 2096 #endif 2105 2097 delete N; … … 2109 2101 N= convertNmod_mat_t2FacCFMatrix (FLINTN); 2110 2102 nmod_mat_clear (FLINTN); 2111 delete dummy;2112 2103 #else 2113 2104 N= convertNTLmat_zz_p2FacCFMatrix (*NTLN); -
factory/configure.ac
rb36460 ra07784 21 21 AM_MAINTAINER_MODE 22 22 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 23 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 24 23 25 24 26 # Add pre'prefixed config -
factory/facFqBivar.cc
rb36460 ra07784 412 412 if (recombination) 413 413 { 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, 415 417 dest); 416 418 F= 1; … … 439 441 if (recombination) 440 442 { 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); 442 446 F= 1; 443 447 return result; … … 591 595 On (SW_RATIONAL); 592 596 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 } 593 605 if (fdivides (g, buf, quot)) 594 606 { … … 762 774 On (SW_RATIONAL); 763 775 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 } 764 784 if (fdivides (g, buf, quot)) 765 785 { … … 1772 1792 buf /= content (buf, x); 1773 1793 buf2= buf (y-evaluation, y); 1794 buf2 /= Lc (buf2); 1774 1795 if (!k && beta == x) 1775 1796 { … … 1852 1873 buf /= content (buf, x); 1853 1874 buf2= buf (y-evaluation, y); 1875 buf2 /= Lc (buf2); 1854 1876 if (!k && beta == x) 1855 1877 { … … 2027 2049 tmp1= tmp1 (y - evaluation, y); 2028 2050 tmp2= tmp2 (y - evaluation, y); 2051 tmp1 /= Lc (tmp1); 2052 tmp2 /= Lc (tmp2); 2029 2053 if (!k && beta == x && degree (tmp2, alpha) < 1 && 2030 2054 degree (tmp1, alpha) < 1) … … 2081 2105 buf /= content (buf, x); 2082 2106 buf2= buf (y - evaluation, y); 2107 buf2 /= Lc (buf2); 2083 2108 if (!k && beta == x) 2084 2109 { … … 2156 2181 tmp1= tmp1 (y - evaluation, y); 2157 2182 tmp2= tmp2 (y - evaluation, y); 2183 tmp1 /= Lc (tmp1); 2184 tmp2 /= Lc (tmp2); 2158 2185 if (!k && beta == x && degree (tmp2, alpha) < 1 && 2159 2186 degree (tmp1, alpha) < 1) … … 2210 2237 buf /= content (buf, x); 2211 2238 buf2= buf (y - evaluation, y); 2239 buf2 /= Lc (buf2); 2212 2240 if (!k && beta == x) 2213 2241 { … … 3556 3584 { 3557 3585 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); 3559 3590 F= 1; 3560 return CFList ( G);3591 return CFList (tmp); 3561 3592 } 3562 3593 … … 5663 5694 { 5664 5695 i= 1; 5665 while (( degree (F,y)/4)*i+ 4 <= smallFactorDeg)5696 while (((degree (F,y)/4)*i+1) + 4 <= smallFactorDeg) 5666 5697 i++; 5667 5698 while (i < 5) 5668 5699 { 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); 5670 5701 if (l < dummy) 5671 5702 { … … 5822 5853 { 5823 5854 i= 1; 5824 while ((degree (F,y)/4 )*i + 4 <= smallFactorDeg)5855 while ((degree (F,y)/4+1)*i + 4 <= smallFactorDeg) 5825 5856 i++; 5826 5857 while (i < 5) 5827 5858 { 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); 5829 5860 if (l < dummy) 5830 5861 { … … 5970 6001 { 5971 6002 i= 1; 5972 while ((degree (F,y)/4 )*i + 4 <= smallFactorDeg)6003 while ((degree (F,y)/4+1)*i + 4 <= smallFactorDeg) 5973 6004 i++; 5974 6005 while (i < 5) 5975 6006 { 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); 5977 6008 if (l < dummy) 5978 6009 { … … 6443 6474 int factorsFound= 0; 6444 6475 if (alpha.level() == 1 || (alpha.level() != 1 && reduceFq2Fp)) 6445 reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree6446 #ifdef HAVE_FLINT 6447 (LCF),factorsFound, factorsFoundIndex, FLINTN, false6448 #else 6449 (LCF),factorsFound, factorsFoundIndex, NTLN, false6476 reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1, 6477 #ifdef HAVE_FLINT 6478 factorsFound, factorsFoundIndex, FLINTN, false 6479 #else 6480 factorsFound, factorsFoundIndex, NTLN, false 6450 6481 #endif 6451 6482 ); 6452 6483 else 6453 reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree6454 (LCF),factorsFound, factorsFoundIndex, NTLNe, false6484 reconstructionTry (result, bufF, bufUniFactors, degree (F) + 1, 6485 factorsFound, factorsFoundIndex, NTLNe, false 6455 6486 ); 6456 6487 if (alpha.level() == 1 || (alpha.level() != 1 && reduceFq2Fp)) … … 6879 6910 { 6880 6911 result= Union (result, smallFactors); 6881 CanonicalForm MODl= power (y, degree (F) + 1 + degree (LC (F, 1)));6912 CanonicalForm MODl= power (y, degree (F) + 1); 6882 6913 delete [] bounds; 6883 6914 return Union (result, factorRecombination (bufUniFactors, F, MODl, degs, 1, … … 7132 7163 return Union (smallFactors, extFactorRecombination 7133 7164 (bufUniFactors, F, 7134 power (y, degree (F) + 1 + degree (LCF)),info,7165 power (y, degree (F) + 1),info, 7135 7166 degs, evaluation, 1, bufUniFactors.length()/2 7136 7167 ) … … 7185 7216 int factorsFound= 0; 7186 7217 7187 extReconstructionTry (result, bufF, bufUniFactors, degree (F) + 1 + degree7188 (LCF),factorsFound, factorsFoundIndex, NTLN, false,7218 extReconstructionTry (result, bufF, bufUniFactors, degree (F) + 1, 7219 factorsFound, factorsFoundIndex, NTLN, false, 7189 7220 info, evaluation 7190 7221 ); … … 7314 7345 if (degs.getLength() == 1 || bufUniFactors.length() == 1) 7315 7346 { 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); 7317 7351 return result; 7318 7352 } … … 7381 7415 { 7382 7416 result= Union (result, smallFactors); 7383 CanonicalForm MODl= power (y, degree (F) + 1 + degree (LC (F, 1)));7417 CanonicalForm MODl= power (y, degree (F) + 1); 7384 7418 delete [] bounds; 7385 7419 return Union (result, extFactorRecombination (bufUniFactors, F, MODl, info, … … 7671 7705 } 7672 7706 7673 if (i == 0 )7707 if (i == 0 && !extension) 7674 7708 { 7675 7709 if (subCheck1 > 0) -
factory/facFqBivarUtil.cc
rb36460 ra07784 504 504 CanonicalForm G3= div (G, xToOldL); 505 505 CanonicalForm Up= mulMod2 (G3, oldQ, xToLOldL); 506 CanonicalForm xToOldL2= power (x, oldL/2);506 CanonicalForm xToOldL2= power (x, (oldL+1)/2); 507 507 CanonicalForm G2= mod (G, xToOldL); 508 508 CanonicalForm G1= div (G2, xToOldL2); … … 510 510 CanonicalForm oldQ1= div (oldQ, xToOldL2); 511 511 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); 513 517 //computation of Low might be faster using a real middle product? 514 518 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); 516 521 Up += Mid + Low; 517 522 bufF= div (F, xToOldL); -
factory/facFqFactorize.cc
rb36460 ra07784 1576 1576 CFList result; 1577 1577 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 } 1580 1589 y= Variable (1); 1581 1590 delete [] bufSqrfFactors; … … 1589 1598 CFList result; 1590 1599 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 } 1593 1611 y= Variable (1); 1594 1612 delete [] bufSqrfFactors; -
factory/facHensel.cc
rb36460 ra07784 450 450 CanonicalForm modulus= p; 451 451 int d= b.getk(); 452 modpk b2; 452 453 for (int i= 1; i < d; i++) 453 454 { … … 456 457 coeffE= coeffE.mapinto(); 457 458 setCharacteristic (0); 459 b2= modpk (p, d - i); 458 460 if (!coeffE.isZero()) 459 461 { … … 465 467 { 466 468 setCharacteristic (p); 467 g= mulNTL (coeffE, j.getItem()); 469 g= modNTL (coeffE, bufFactors[ii]); 470 g= mulNTL (g, j.getItem()); 468 471 g= modNTL (g, bufFactors[ii]); 469 472 setCharacteristic (0); 470 473 k.getItem() += g.mapinto()*modulus; 471 e -= mulNTL (g.mapinto() *modulus, l.getItem(), b);474 e -= mulNTL (g.mapinto(), b2 (l.getItem()), b2)*modulus; 472 475 e= b(e); 473 476 } … … 629 632 CanonicalForm modulus= p; 630 633 int d= b.getk(); 634 modpk b2; 631 635 for (int i= 1; i < d; i++) 632 636 { … … 647 651 coeffE= replacevar (coeffE, alpha, beta); 648 652 setCharacteristic (0); 653 b2= modpk (p, d - i); 649 654 if (!coeffE.isZero()) 650 655 { … … 656 661 { 657 662 setCharacteristic (p); 658 g= mulNTL (coeffE, j.getItem()); 663 g= modNTL (coeffE, bufFactors[ii]); 664 g= mulNTL (g, j.getItem()); 659 665 g= modNTL (g, bufFactors[ii]); 660 666 setCharacteristic (0); … … 663 669 setReduce (beta, false); 664 670 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; 667 673 setReduce (beta, true); 668 674 } 669 675 else 670 676 { 677 setReduce (beta, false); 671 678 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); 674 682 } 675 683 e= b(e); … … 681 689 } 682 690 691 return result; 692 } 693 694 CFList 695 diophantineQa (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 } 683 802 return result; 684 803 } … … 698 817 if (b.getp() != 0) 699 818 { 700 CFList result= diophantine HenselQa (F, G, factors, b, v);819 CFList result= diophantineQa (F, G, factors, b, v); 701 820 return result; 702 821 } -
factory/facMul.cc
rb36460 ra07784 2749 2749 return; 2750 2750 } 2751 if (!(B.level() == 1 && B.isUnivariate()) &&2752 (A.level() == 1 && A.isUnivariate()))2753 {2754 Q= 0;2755 R= A;2756 return;2757 }2758 2751 2759 2752 Variable x= Variable (1); -
findexec/configure.ac
rb36460 ra07784 8 8 AM_MAINTAINER_MODE 9 9 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 10 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 11 10 12 11 13 dnl Check if build env is sane -
kernel/fglmvec.cc
rb36460 ra07784 133 133 return elems[i - 1]; 134 134 } 135 constnumber getconstelem (int i) const135 number getconstelem (int i) const 136 136 { 137 137 fglmASSERT (0 < i && i <= N, "getconstelem: wrong index"); … … 440 440 } 441 441 442 constnumber fglmVector::getconstelem (int i) const442 number fglmVector::getconstelem (int i) const 443 443 { 444 444 return rep->getconstelem (i); -
kernel/fglmvec.h
rb36460 ra07784 54 54 friend fglmVector operator * ( const number n, const fglmVector & v ); 55 55 56 constnumber getconstelem( int i ) const;56 number getconstelem( int i ) const; 57 57 number & getelem( int i ); 58 58 void setelem( int i, number & n ); -
kernel/tgbgauss.h
rb36460 ra07784 12 12 //#include "tgb_internal.h" 13 13 14 structslimgb_alg;14 class slimgb_alg; 15 15 16 16 class tgb_matrix{ -
libpolys/configure.ac
rb36460 ra07784 8 8 AM_MAINTAINER_MODE 9 9 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 10 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 11 10 12 11 13 dnl Check if build env is sane -
libpolys/misc/intvec.h
rb36460 ra07784 23 23 24 24 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 } 30 31 intvec(int s, int e); 31 32 intvec(int r, int c, int init); … … 35 36 row = iv->rows(); 36 37 col = iv->cols(); 38 assume(row > 0); 39 assume(col > 0); 37 40 if (row*col>0) 38 41 { … … 111 114 } 112 115 #if 0 116 // TODO: no omalloc Bin (de-)/allocation? 113 117 void* operator new ( size_t size ) 114 118 { -
libpolys/misc/mylimits.h
rb36460 ra07784 9 9 #define _MYLIMITS_H 10 10 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 36 13 37 14 #endif /* _MYLIMITS_H */ -
libpolys/polys/ext_fields/algext.cc
rb36460 ra07784 299 299 { 300 300 naTest(a); naTest(b); 301 302 301 /// 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); 319 305 } 320 306 … … 516 502 { 517 503 naTest(a); naTest(b); 518 if (a == NULL) return NULL; 519 if (b == NULL) return NULL; 504 if ((a == NULL)||(b == NULL)) return NULL; 520 505 poly aTimesB = p_Mult_q(p_Copy((poly)a, naRing), 521 506 p_Copy((poly)b, naRing), naRing); 507 p_Normalize(aTimesB,naRing); 522 508 definiteReduce(aTimesB, naMinpoly, cf); 523 509 return (number)aTimesB; -
libpolys/polys/monomials/p_polys.cc
rb36460 ra07784 1518 1518 poly t = p_ISet(1, r); 1519 1519 number c = n_Div(p_GetCoeff(p, r), divisorLC, r->cf); 1520 n_Normalize(c,r->cf); 1520 1521 p_SetCoeff(t, c, r); 1521 1522 int e = p_GetExp(p, 1, r) - divisorLE; … … 3917 3918 if (! p_LmEqual(p1, p2,r)) 3918 3919 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 )) 3920 3921 return FALSE; 3921 3922 pIter(p1); … … 4002 4003 return FALSE; 4003 4004 } 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)) 4005 4006 { 4006 4007 n_Delete(&n, r); -
libpolys/polys/nc/old.gring.cc
rb36460 ra07784 2927 2927 } 2928 2928 2929 if (!n_Equal(pN, qN, curr )) tmpIsSkewConstant = false;2929 if (!n_Equal(pN, qN, curr->cf)) tmpIsSkewConstant = false; 2930 2930 } 2931 2931 -
libpolys/polys/nc/summator.cc
rb36460 ra07784 33 33 34 34 CPolynomialSummator::CPolynomialSummator(const ring& rBaseRing, bool bUsePolynomial): 35 m_b UsePolynomial(bUsePolynomial), m_basering(rBaseRing)35 m_basering(rBaseRing), m_bUsePolynomial(bUsePolynomial) 36 36 { 37 37 #ifdef RDEBUG … … 183 183 184 184 185 CPolynomialSummator::CPolynomialSummator(const CPolynomialSummator& b): m_bUsePolynomial(b.m_bUsePolynomial), m_basering(b.m_basering) 185 CPolynomialSummator::CPolynomialSummator(const CPolynomialSummator& b): 186 m_basering(b.m_basering), m_bUsePolynomial(b.m_bUsePolynomial) 186 187 { 187 188 // try{ -
libpolys/polys/pDebug.cc
rb36460 ra07784 86 86 else 87 87 #endif 88 #ifndef X_OMALLOC 88 89 { 89 90 _pPolyAssumeReturn(omIsBinPageAddr(p) && omSizeWOfAddr(p)==omSizeWOfBin(r->PolyBin),p,r); … … 91 92 } 92 93 return FALSE; 94 #endif 93 95 } 94 96 return TRUE; … … 107 109 BOOLEAN p_CheckPolyRing(poly p, ring r) 108 110 { 111 #ifndef X_OMALLOC 109 112 pAssumeReturn(r != NULL && r->PolyBin != NULL); 113 #endif 110 114 return p_CheckIsFromRing(p, r); 111 115 } … … 113 117 BOOLEAN p_LmCheckPolyRing(poly p, ring r) 114 118 { 119 #ifndef X_OMALLOC 115 120 pAssumeReturn(r != NULL && r->PolyBin != NULL); 121 #endif 116 122 pAssumeReturn(p != NULL); 117 123 return p_LmCheckIsFromRing(p, r); … … 119 125 BOOLEAN p_CheckRing(ring r) 120 126 { 127 #ifndef X_OMALLOC 121 128 pAssumeReturn(r != NULL && r->PolyBin != NULL); 129 #endif 122 130 return TRUE; 123 131 } … … 209 217 210 218 #ifndef OM_NDEBUG 219 #ifndef X_OMALLOC 211 220 // check addr with level+1 so as to check bin/page of addr 212 221 _pPolyAssumeReturnMsg(omTestBinAddrSize(p, (omSizeWOfBin(r->PolyBin))*SIZEOF_LONG, level+1) 213 222 == omError_NoError, "memory error",p,r); 223 #endif 214 224 #endif 215 225 … … 229 239 pFalseReturn(p_LmCheckIsFromRing(p, r)); 230 240 #ifndef OM_NDEBUG 241 #ifndef X_OMALLOC 231 242 // omAddr check 232 243 _pPolyAssumeReturnMsg(omTestBinAddrSize(p, (omSizeWOfBin(r->PolyBin))*SIZEOF_LONG, 1) 233 244 == omError_NoError, "memory error",p,r); 245 #endif 234 246 #endif 235 247 // number/coef check -
numeric/mpr_base.cc
rb36460 ra07784 1928 1928 //-> dense resultant matrix 1929 1929 // 1930 classresVector;1930 struct resVector; 1931 1931 1932 1932 /* dense resultant matrix */ -
omalloc/configure.ac
rb36460 ra07784 15 15 AM_MAINTAINER_MODE 16 16 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 17 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 18 17 19 18 20 # Add pre'prefixed config -
omalloc/omalloc.c
rb36460 ra07784 21 21 #endif 22 22 23 #if OM_PROVIDE_MALLOC > 0 24 23 25 void* calloc(size_t nmemb, size_t size) 24 26 { … … 29 31 size = size*nmemb; 30 32 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);41 33 OM_MARK_AS_STATIC(addr); 42 34 return addr; … … 102 94 } 103 95 #endif 96 #endif 97 98 void* 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 104 108 void freeSize(void* addr, size_t size) 105 109 { -
xalloc/Makefile.am
rb36460 ra07784 8 8 9 9 lib_LTLIBRARIES=libomalloc.la ${LIB_G} 10 lib_LIBRARIES=libomalloc.a 10 11 ## libomallocdir = $(libdir)/ 11 12 -
xalloc/configure.ac
rb36460 ra07784 1 1 AC_INIT([xalloc], [3.1.2.sw]) 2 2 AC_CONFIG_SRCDIR(dummy.c) 3 AC_CONFIG_MACRO_DIR([../m4]) 3 4 4 5 AC_CONFIG_AUX_DIR([.]) 5 6 6 7 AM_MAINTAINER_MODE 7 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects silent-rules]) # -Wno-extra-portability -Werror 8 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules 9 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 10 8 11 9 12 AC_PROG_MAKE_SET
Note: See TracChangeset
for help on using the changeset viewer.