Changeset afbc156 in git for Singular/ipconv.cc
- Timestamp:
- Dec 1, 2015, 3:40:16 PM (8 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- dda8658f52c301a7a85c69e9d7c88b16ba19c66b
- Parents:
- 1550e4d76ad2eeab9a8ff28e8424eb11e3fcf688
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/ipconv.cc
r1550e4d rafbc156 28 28 #include <polys/monomials/ring.h> 29 29 #include <Singular/ipshell.h> 30 #include <Singular/number2.h> 30 31 #include <Singular/ipconv.h> 31 32 … … 175 176 } 176 177 178 #ifdef SINGULAR_4_1 179 static void * iiI2NN(void *data) 180 { 181 if (currRing==NULL) 182 { 183 WerrorS("missing basering while converting int to Number"); 184 return NULL; 185 } 186 number n=nInit((int)(long)data); 187 number2 nn=(number2)omAlloc(sizeof*nn); 188 nn->cf=currRing->cf; nn->cf->ref++; 189 nn->n=n; 190 return (void *)nn; 191 } 192 #endif 193 177 194 static void * iiBI2N(void *data) 178 195 { … … 188 205 return (void*)n; 189 206 } 207 208 #ifdef SINGULAR_4_1 209 static void * iiBI2NN(void *data) 210 { 211 if (currRing==NULL) 212 { 213 WerrorS("missing basering while converting bigint to Number"); 214 return NULL; 215 } 216 nMapFunc nMap=n_SetMap(coeffs_BIGINT,currRing->cf); 217 if (nMap==NULL) 218 { 219 Werror("no conversion from bigint to %s",currRing->cf->cfCoeffString(currRing->cf)); 220 return NULL; 221 } 222 number n=nMap((number)data,coeffs_BIGINT,currRing->cf); 223 n_Delete((number *)&data, coeffs_BIGINT); 224 number2 nn=(number2)omAlloc(sizeof*nn); 225 nn->cf=currRing->cf; nn->cf->ref++; 226 return (void*)nn; 227 } 228 #endif 229 230 #ifdef SINGULAR_4_1 231 static void * iiNN2N(void *data) 232 { 233 number2 d=(number2)data; 234 if ((currRing==NULL) 235 || (currRing->cf!=d->cf)) 236 { 237 WerrorS("cannot convert: incompatible"); 238 return NULL; 239 } 240 number n = n_Copy(d->n, d->cf); 241 n2Delete(d); 242 return (void*)n; 243 } 244 #endif 245 246 #ifdef SINGULAR_4_1 247 static void * iiNN2P(void *data) 248 { 249 number2 d=(number2)data; 250 if ((currRing==NULL) 251 || (currRing->cf!=d->cf)) 252 { 253 WerrorS("cannot convert: incompatible"); 254 return NULL; 255 } 256 number n = n_Copy(d->n, d->cf); 257 n2Delete(d); 258 return (void*)p_NSet(n,currRing); 259 } 260 #endif 190 261 191 262 static void * iiIm2Ma(void *data) … … 362 433 output->next=input->next; 363 434 input->next=NULL; 364 return FALSE;435 return errorreported; 365 436 } 366 437 if (index!=0) /* iiTestConvert does not returned 'failure' */ … … 395 466 return TRUE; 396 467 } 468 if (errorreported) return TRUE; 397 469 output->next=input->next; 398 470 input->next=NULL; … … 420 492 if ((currRing==NULL) && (outputType>BEGIN_RING) && (outputType<END_RING)) 421 493 return 0; 494 //if ((currRing==NULL) && (outputType==CNUMBER_CMD)) 495 // return 0; 422 496 423 497 // search the list … … 434 508 i++; 435 509 } 436 //Print("test convert %d to %d (%s -> %s):0 \n",inputType,outputType,437 // Tok2Cmdname(inputType), Tok2Cmdname(outputType) );510 //Print("test convert %d to %d (%s -> %s):0, tested:%d\n",inputType,outputType, 511 // Tok2Cmdname(inputType), Tok2Cmdname(outputType),i); 438 512 return 0; 439 513 }
Note: See TracChangeset
for help on using the changeset viewer.