Changeset 6b8106 in git for libpolys/coeffs/numbers.cc
- Timestamp:
- Sep 13, 2012, 2:59:47 PM (12 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 1592b986a21bcaba5633414189a7b08c5cce6213
- Parents:
- 2ed48b369bc0d2a3c22dd1fc1ff4b91704e73ec6f768d91b15a3cda106e7c041c7889cda1828dbfe
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/coeffs/numbers.cc
rf768d9 r6b8106 131 131 assume(!( nCoeff_is_Q(r) || nCoeff_is_Q_a(r) )); 132 132 // all coeffs are given by integers!!! 133 assume( nCoeff_is_Ring(r) || nCoeff_is_Zp(r) || nCoeff_is_numeric(r) || nCoeff_is_GF(r) || nCoeff_is_Zp_a(r) );134 133 135 134 numberCollectionEnumerator.Reset(); 135 136 if( !numberCollectionEnumerator.MoveNext() ) // empty zero polynomial? 137 { 138 c = n_Init(1, r); 139 return; 140 } 141 142 number &curr = numberCollectionEnumerator.Current(); 136 143 137 144 #ifdef HAVE_RINGS … … 141 148 if (nCoeff_has_Units(r)) 142 149 { 143 c = n_GetUnit( numberCollectionEnumerator.Current(), r);150 c = n_GetUnit(curr, r); 144 151 145 152 if (!n_IsOne(c, r)) … … 147 154 number inv = n_Invers(c, r); 148 155 149 do 156 n_InpMult(curr, inv, r); 157 158 while( numberCollectionEnumerator.MoveNext() ) 150 159 { 151 n_InpMult(numberCollectionEnumerator.Current(), inv, r); 160 number &n = numberCollectionEnumerator.Current(); 161 n_Normalize(n, r); // ? 162 n_InpMult(n, inv, r); // TODO: either this or directly divide!!!? 152 163 } 153 while( numberCollectionEnumerator.MoveNext() );154 164 155 165 n_Delete(&inv, r); … … 162 172 163 173 assume(!nCoeff_is_Ring(r)); 164 165 c = numberCollectionEnumerator.Current(); 174 assume(nCoeff_is_Zp(r) || nCoeff_is_numeric(r) || nCoeff_is_GF(r) || nCoeff_is_Zp_a(r)); 175 176 c = curr; 166 177 167 178 n_Normalize(c, r); … … 169 180 if (!n_IsOne(c, r)) 170 181 { 171 numberCollectionEnumerator.Current()= n_Init(1, r); // ???182 curr = n_Init(1, r); // ??? 172 183 173 184 number inv = n_Invers(c, r); … … 177 188 number &n = numberCollectionEnumerator.Current(); 178 189 n_Normalize(n, r); // ? 179 n_InpMult(n, inv, r); 190 n_InpMult(n, inv, r); // TODO: either this or directly divide!!!? 180 191 } 181 192
Note: See TracChangeset
for help on using the changeset viewer.