Changeset a0707f8 in git
- Timestamp:
- Mar 13, 2017, 2:19:10 PM (7 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 17c3150d26605e770ae78cd36b6201409f4f1ab3
- Parents:
- a5b3bfc89e0d6875d26d979d8393b09e12c97621
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipshell.cc
ra5b3bf ra0707f8 5690 5690 { 5691 5691 // TODO: change to use coeffs_BIGINT!? 5692 m odBase = (mpz_ptr) omAlloc(sizeof(mpz_t));5692 mpz_t modBase; 5693 5693 mpz_init_set_si(modBase, 0); 5694 5694 if (pn->next!=NULL) … … 5713 5713 { 5714 5714 number p=(number)pnn->next->CopyD(); 5715 nlGMP(p, (number)modBase,coeffs_BIGINT); // TODO? // extern void nlGMP(number &i, numbern, const coeffs r); // FIXME: n_MPZ( modBase, p, coeffs_BIGINT); ?5715 nlGMP(p,modBase,coeffs_BIGINT); // TODO? // extern void nlGMP(number &i, mpz_t n, const coeffs r); // FIXME: n_MPZ( modBase, p, coeffs_BIGINT); ? 5716 5716 n_Delete(&p,coeffs_BIGINT); 5717 5717 } … … 5740 5740 //ringtype = 1; // Use Z/2^ch 5741 5741 cf=nInitChar(n_Z2m,(void*)(long)modExponent); 5742 mpz_clear(modBase);5743 omFreeSize (modBase, sizeof (mpz_t));5744 5742 } 5745 5743 else … … 5772 5770 } 5773 5771 assume( cf != NULL ); 5772 mpz_clear(modBase); 5774 5773 } 5775 5774 #endif -
Singular/number2.cc
ra5b3bf ra0707f8 46 46 { 47 47 ZnmInfo info; 48 mpz_ ptr modBase= (mpz_ptr) omAlloc(sizeof(mpz_t));48 mpz_t modBase; 49 49 mpz_init_set_ui(modBase,i2); 50 50 info.base= modBase; 51 51 info.exp= 1; 52 if (mpz_popcount((mpz_ptr)modBase)==1) // is a power of 2 53 { 54 // is exponent <=2^(8*sizeof(unsigned long)) 55 if (i2<(8*sizeof(unsigned long))) 56 { 57 mpz_clear(modBase); 58 res->data=(void *) nInitChar(n_Z2m,(void*)(long)i2); 59 return FALSE; 60 } 61 else 62 { 63 mpz_set_ui(modBase,2); 64 info.exp=i2; 65 res->data=(void *) nInitChar(n_Znm,&info); 66 mpz_clear(modBase); 67 return FALSE; 68 } 69 } 52 70 res->data=(void *)nInitChar(n_Zn,&info); 71 mpz_clear(modBase); 53 72 } 54 73 return FALSE; … … 63 82 { 64 83 ZnmInfo info; 65 number modBase= (number) omAlloc(sizeof(mpz_t)); 66 nlGMP(i2,modBase,coeffs_BIGINT); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(modBase,i2,coeffs_BIGINT); // ? 84 mpz_t modBase; 85 mpz_init(modBase); 86 nlGMP(i2,modBase,coeffs_BIGINT); // FIXME? TODO? // extern void nlGMP(number &i, mpz_t n, const coeffs r); // to be replaced with n_MPZ(modBase,i2,coeffs_BIGINT); // ? 67 87 info.base= (mpz_ptr)modBase; 68 88 info.exp= 1; 89 if (mpz_popcount(modBase)==1) // is a power of 2 90 { 91 // is exponent <=2^(8*sizeof(unsigned long)) 92 mp_bitcnt_t l=mpz_scan1 (modBase,0); 93 if ((l>0) && (l<=8*sizeof(unsigned long))) 94 { 95 res->data=(void *) nInitChar(n_Z2m,(void*)(long)l); 96 } 97 else 98 { 99 mpz_set_ui(modBase,2); 100 info.exp= l; 101 res->data=(void *) nInitChar(n_Znm,&info); 102 } 103 mpz_clear(modBase); 104 return FALSE; 105 } 69 106 res->data=(void *)nInitChar(n_Zn,&info); 107 mpz_clear(modBase); 70 108 return FALSE; 71 109 } -
Tst/Short/bug_tr237.res.gz.uu
ra5b3bf ra0707f8 1 1 begin 640 bug_tr237.res.gz 2 M'XL(" *=C15@``V)U9U]T<C(S-RYR97,`S5?1;ILP%'V/U'^PT!Z@803;F-!43 M Y6'=RZ1I4I<])6HK$IP,C9((W"W=U\].,%P(I%+72N4EY.;>X\/AW&MG^N/S4 M EV\((1RBKU\^(4,4PDF3A7%Y-IB6/Y$0R>A]DB7"M&1<W:`P1(O'];W("1T[5 M &?_C%"(250D-45WO.6@T0LN?45Z('`WYCB\?!9^@/,G6*.?;G!<\BT2RR>H:6 M YB"9K!*F@(D/8<=.B>#&6W2%3-<6EFWN["?+CK>@*`A+*',1%5S=J(>`Z6:\7 M -8EE7UM5S46H^3:*9(U.P6Z(IG)9X\!!*J`X&,.CLJ$A%S"&Z'<KCM0/QM!(8 M MY=`;"S?@WKB!BJ@*K.K5/E>2BW-J04@I/AZ%1E5TF_X:I4L$YZ)8H)N;DQA9 M J7#V^+#@.=JL]MS0!!$5+:]%NEG^4KZ0\4T>[]%0N@49]35!6?3`"W6[0T\=10 M (`2"7%=$/?`Z,=N[Y.,+KAK#=P!@Y8^9U##)!%_SO,,?N,<?LUFO/?`%($Y<11 M I],KLUF5@6$Z<=["-X1V^*9^!&`;XK5L(U4_/Y=]&/.5[&Q=;O8C53H0=MII12 M 4H)W8#,"IP89_[_-2`!L1BXJFP5**6VTH&L64;?/:Z.@UVT4VH>2/K>-@BJ'13 M OLEHHEZGQ6KFP&240<ZR+5_@N`9PK<;X.<^-%LE:O@4S>!=#C@90B=(L:5*(14 M QNN;X]O)0&+H3WF51MI'214%"6IKTU$"HWB@OX/L70OH:3"G1TE-="E$)[R-15 M 3Y*Z[JQR!W/O\/U>IE^Y6A+/!?IX6#>3LD#.H]1F[L$%]M]F*WFDNY7*HD:=16 M :BD*6\J#YQ//.UH4N\?K'IM6._946;TD.\$7/\<7CC!/;VS+[]AEKEI]N7G817 M IGP'<5IJ!:>[9I5N(C%/;C72!+LHEFTD"AM%<9RHPUF4(J:CULA,[L@0O[#%18 M XE=M,0]NQZQG.VY(9"=5.H:S\J#H:PU,1L#`;$"WR'0,4$:[#W<,GID8T\[U19 M Y;2`NX]O2__L&A9@?N_>8Y83T[?NJ*7('"R(H079N/M(W"ZO\N'<8]4FR5I$20 M V3%1OW^3U"NQ$T1]_"Q1!HGZ!!#UJ29*6D1)!U&OGR@Y09#U$R20&&QZ?PS.21 ;'+X\@*A_9.HOUV,AT2\_G`W^`6TF]4;)#0``2 M'XL("/N6QE@``V)U9U]T<C(S-RYR97,`S5=!;YLP%+[S*RRT`S2,8!L3FJ@< 3 MUETJ39.Z[)2HK4AP,C1*(G"V=+]^=H*Q"9!J72O5%^#QWN>/Y^\]F^GWSS=? 4 M`0`P`E]N/@&3E<S-TH4Y,:;5&Q0!;GQ(\Y19]L005Q!%8+%;/[`"X9&;T]]N 5 MR6)61^`(U/>^"X9#L/P1%R4KP(#NZ7+'Z!@4:;X&!=T6M*1YS-)-7H<0%W!? 6 M\7ZJ6`0:YLBMPKUD"ZZ`Y3G,=JR]\V0[R5:%A%&%8RWBDHH;3E]WMI*MA6SG 7 MVJY#+B-)58_A(=(#>A&8\CG-(P'^Z8*`.6A%#4R.;P[`KQ,[$"_,@9EM)RK' 8 MD&>??VL#4^.9J8^"?#6J'%I36YEYRN44$T,D?$-7JW29TIR58W![:S%;F//= 9 MXX(68+,Z\`)C@(2U&HMLL_PII,#MFR(Y@(%LJWFH,09Y_$A+<;L'3QT@2`>Y 10 MKGGZ:ADA.4CCXPM&X"JY6Q8RG+\T97=.BK0K8K8K9K%<4\%)Q1I[;)9#9 11 MK':`FC-RWT`K"+>UHMAK4D%^4RH\UQ<7O.02NN(U+*.M?J`Z`XB<51?_^G<@ 12 M+:1U"#3Z;VFA4$D+7=;2"D66I+C"CJZ#O1Y]#<->A6%--!CU*&P8UB[X+7H0 13 M]KMTI5AKRL)$X\M+\-]5UH!5>1@]H[.AA>[#=]'(<*BEH))'EI9,7[,YO!L; 14 M'$%>^:B4<["BVJHYB`FE%>G6T)#/FO?^!.C)F..64Q.=IZ$+'CKP+*GKSBC/ 15 MF/O'YP?N?N7)C/B>RHX/9?&(I2]HG#G$.ZZ^\Z=1.C[J+)TJI!$E2@CK)>1K 16 M9P[?;\T(O=:D;:%*E9Z)4O.1?J[P.:Y:I_+EKK7\!CWBB:F7F\=M1O<Z3#-- 17 MX=DJ666;F,W3.XDSAAY(TG7*2@?$29**HU:<`2*M]M!*[]$`OK"LDE<M*U_; 18 M:TGW7MM(CY/6WE!OBL=LOE)G)$AUQ@;P"96.3DEPYW&-:,<@0J1:`]X=].TE 19 M<+AL]OK2DZ!O<[$6?#%S9@7V/;8%D:/NH*X[,NH\W9Y&U^Y:BR/U#DA.2)(6 20 MR:!W!Y33D#,D`_@<2:*3#)`B&6!)$IV01&V2?B])=(8<Z26'=%):@0<C=8X( 21 7^)E"_$J)GZ5=R:$G'XR_!H<%.(`-```` 22 22 ` 23 23 end -
Tst/Short/bug_tr237.stat
ra5b3bf ra0707f8 1 1 >> tst_memory_0 :: 148 0942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:1206482 1 >> tst_memory_1 :: 148 0942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:22282243 1 >> tst_memory_2 :: 148 0942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:22282244 1 >> tst_timer_1 :: 148 0942444:4100, 64 bit:4.1.0:x86_64-Linux:nepomuck:11 1 >> tst_memory_0 :: 1489409787:4102, 64 bit:4.1.0:x86_64-Linux:nepomuck:95944 2 1 >> tst_memory_1 :: 1489409787:4102, 64 bit:4.1.0:x86_64-Linux:nepomuck:2211840 3 1 >> tst_memory_2 :: 1489409787:4102, 64 bit:4.1.0:x86_64-Linux:nepomuck:2211840 4 1 >> tst_timer_1 :: 1489409787:4102, 64 bit:4.1.0:x86_64-Linux:nepomuck:1 -
libpolys/coeffs/longrat.cc
ra5b3bf ra0707f8 983 983 else 984 984 { 985 mpz_ptr dummy; 986 dummy = (mpz_ptr) omAlloc(sizeof(mpz_t)); 985 mpz_t dummy; 987 986 mpz_init_set_ui(dummy, ch); 988 987 ZnmInfo info; … … 990 989 info.exp = (unsigned long) 1; 991 990 rr = nInitChar(n_Zn, (void*)&info); 991 mpz_clear(dummy); 992 992 } 993 993 #endif … … 1480 1480 * convert number i (from Q) to GMP and warn if denom != 1 1481 1481 */ 1482 void nlGMP(number &i, numbern, const coeffs r)1482 void nlGMP(number &i, mpz_t n, const coeffs r) 1483 1483 { 1484 1484 // Hier brauche ich einfach die GMP Zahl … … 1487 1487 if (SR_HDL(i) & SR_INT) 1488 1488 { 1489 mpz_set_si( (mpz_ptr)n, SR_TO_INT(i));1489 mpz_set_si(n, SR_TO_INT(i)); 1490 1490 return; 1491 1491 } … … 1494 1494 WarnS("Omitted denominator during coefficient mapping !"); 1495 1495 } 1496 mpz_set( (mpz_ptr)n, i->z);1496 mpz_set(n, i->z); 1497 1497 } 1498 1498 #endif -
libpolys/coeffs/longrat.h
ra5b3bf ra0707f8 128 128 // FIXME: TODO: why only if HAVE_RINGS? bug? 129 129 # ifdef HAVE_RINGS 130 void nlGMP(number &i, numbern, const coeffs r); // to be replaced with n_MPZ(number n, number &i,const coeffs r)???130 void nlGMP(number &i, mpz_t n, const coeffs r); // to be replaced with n_MPZ(number n, number &i,const coeffs r)??? 131 131 number nlMapGMP(number from, const coeffs src, const coeffs dst); 132 132 # endif -
libpolys/coeffs/rintegers.cc
ra5b3bf ra0707f8 333 333 mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin); 334 334 mpz_init(erg); 335 nlGMP(from, (number)erg, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ?335 nlGMP(from, erg, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ? 336 336 return (number) erg; 337 337 } … … 481 481 { 482 482 long ch = r->cfInt(c, r); 483 mpz_ptr dummy; 484 dummy = (mpz_ptr) omAlloc(sizeof(mpz_t)); 483 mpz_t dummy; 485 484 mpz_init_set_ui(dummy, ch); 486 485 ZnmInfo info; … … 488 487 info.exp = (unsigned long) 1; 489 488 coeffs rr = nInitChar(n_Zn, (void*)&info); 489 mpz_clear(dummy); 490 490 return(rr); 491 491 } … … 1785 1785 static coeffs nrzQuot1(number c, const coeffs r) 1786 1786 { 1787 mpz_ptr dummy; 1788 dummy = (mpz_ptr) omAlloc(sizeof(mpz_t)); 1787 mpz_t dummy; 1789 1788 if(n_Z_IS_SMALL(c)) 1790 1789 { … … 1800 1799 info.exp = (unsigned long) 1; 1801 1800 coeffs rr = nInitChar(n_Zn, (void*)&info); 1801 mpz_clear(dummy); 1802 1802 return(rr); 1803 1803 } -
libpolys/coeffs/rmodulo2m.cc
ra5b3bf ra0707f8 624 624 mpz_ptr gmp = (mpz_ptr)omAllocBin(gmp_nrz_bin); 625 625 mpz_init(gmp); 626 nlGMP(from, (number)gmp, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ?626 nlGMP(from, gmp, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ? 627 627 number res=nr2mMapGMP((number)gmp,src,dst); 628 628 mpz_clear(gmp); omFree((ADDRESS)gmp); -
libpolys/coeffs/rmodulon.cc
ra5b3bf ra0707f8 98 98 mpz_init_set(a, r->modNumber); 99 99 mpz_init_set_ui(b, ch); 100 mpz_ptr gcd; 101 gcd = (mpz_ptr) omAlloc(sizeof(mpz_t)); 100 mpz_t gcd; 102 101 mpz_init(gcd); 103 102 mpz_gcd(gcd, a,b); 104 103 if(mpz_cmp_ui(gcd, 1) == 0) 105 106 107 108 109 104 { 105 WerrorS("constant in q-ideal is coprime to modulus in ground ring"); 106 WerrorS("Unable to create qring!"); 107 return NULL; 108 } 110 109 if(r->modExponent == 1) 111 110 { 112 113 114 115 111 ZnmInfo info; 112 info.base = gcd; 113 info.exp = (unsigned long) 1; 114 rr = nInitChar(n_Zn, (void*)&info); 116 115 } 117 116 else 118 117 { 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 118 ZnmInfo info; 119 info.base = r->modBase; 120 int kNew = 1; 121 mpz_t baseTokNew; 122 mpz_init(baseTokNew); 123 mpz_set(baseTokNew, r->modBase); 124 while(mpz_cmp(gcd, baseTokNew) > 0) 125 { 126 kNew++; 127 mpz_mul(baseTokNew, baseTokNew, r->modBase); 128 } 129 //printf("\nkNew = %i\n",kNew); 130 info.exp = kNew; 131 mpz_clear(baseTokNew); 132 rr = nInitChar(n_Znm, (void*)&info); 134 133 } 134 mpz_clear(gcd); 135 135 return(rr); 136 136 } … … 690 690 mpz_ptr erg = (mpz_ptr)omAllocBin(gmp_nrz_bin); 691 691 mpz_init(erg); 692 nlGMP(from, (number)erg, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ?692 nlGMP(from, erg, src); // FIXME? TODO? // extern void nlGMP(number &i, number n, const coeffs r); // to be replaced with n_MPZ(erg, from, src); // ? 693 693 mpz_mod(erg, erg, dst->modNumber); 694 694 return (number)erg; … … 933 933 r->cfIntMod = nrnMod; 934 934 r->cfExactDiv = nrnDiv; 935 r->cfInpNeg 935 r->cfInpNeg = nrnNeg; 936 936 r->cfInvers = nrnInvers; 937 937 r->cfDivBy = nrnDivBy;
Note: See TracChangeset
for help on using the changeset viewer.