Changeset 4508ce5 in git for Singular/longalg.cc
- Timestamp:
- Dec 15, 2000, 7:49:36 PM (23 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- a5f564c88c2600acb20b8afdd6dd84d9d3f715df
- Parents:
- d3bf0986c4b1a7bac5ffc43b873646317a0d91de
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/longalg.cc
rd3bf098 r4508ce5 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: longalg.cc,v 1.5 1 2000-12-08 16:20:33Singular Exp $ */4 /* $Id: longalg.cc,v 1.52 2000-12-15 18:49:31 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: algebraic numbers … … 2412 2412 } 2413 2413 2414 BOOLEAN naSetMap(ring r) 2415 { 2416 if (rField_is_Q_a()) /* -> Q(a) */ 2417 { 2418 if (rField_is_Q(r)) 2419 { 2420 nMap = naMap00; /*Q -> Q(a)*/ 2421 return TRUE; 2422 } 2423 if (rField_is_Zp(r)) 2424 { 2425 naPrimeM = rChar(r); 2426 nMap = naMapP0; /* Z/p -> Q(a)*/ 2427 return TRUE; 2428 } 2429 if (rField_is_Q_a(r)) 2414 nMapFunc naSetMap(ring src, ring dst) 2415 { 2416 if (rField_is_Q_a(dst)) /* -> Q(a) */ 2417 { 2418 if (rField_is_Q(src)) 2419 { 2420 return naMap00; /*Q -> Q(a)*/ 2421 } 2422 if (rField_is_Zp(src)) 2423 { 2424 naPrimeM = rChar(src); 2425 return naMapP0; /* Z/p -> Q(a)*/ 2426 } 2427 if (rField_is_Q_a(src)) 2430 2428 { 2431 2429 int i; 2432 2430 naParsToCopy=0; 2433 for(i=0;i<rPar( r);i++)2434 { 2435 if ((i>=rPar( currRing))2436 ||(strcmp( r->parameter[i],currRing->parameter[i])!=0))2437 return FALSE;2431 for(i=0;i<rPar(src);i++) 2432 { 2433 if ((i>=rPar(dst)) 2434 ||(strcmp(src->parameter[i],dst->parameter[i])!=0)) 2435 return NULL; 2438 2436 naParsToCopy++; 2439 2437 } 2440 2438 nacMap=nacCopy; 2441 nMap=naMapQaQb; 2442 return TRUE; /* Q(a) -> Q(a) */ 2439 return naMapQaQb; /* Q(a) -> Q(a) */ 2443 2440 } 2444 2441 } 2445 2442 /*-----------------------------------------------------*/ 2446 if (rField_is_Zp_a()) /* -> Z/p(a) */ 2447 { 2448 if (rField_is_Q(r)) 2449 { 2450 nMap = naMap0P; /*Q -> Z/p(a)*/ 2451 return TRUE; 2452 } 2453 if (rField_is_Zp(r)) 2454 { 2455 int c=rChar(r); 2443 if (rField_is_Zp_a(dst)) /* -> Z/p(a) */ 2444 { 2445 if (rField_is_Q(src)) 2446 { 2447 return naMap0P; /*Q -> Z/p(a)*/ 2448 } 2449 if (rField_is_Zp(src)) 2450 { 2451 int c=rChar(src); 2456 2452 if (c==npPrimeM) 2457 2453 { 2458 nMap =naMapPP; /* Z/p -> Z/p(a)*/2454 return naMapPP; /* Z/p -> Z/p(a)*/ 2459 2455 } 2460 2456 else 2461 2457 { 2462 2458 naPrimeM = c; 2463 nMap = naMapPP1; /* Z/p' -> Z/p(a)*/ 2464 } 2465 return TRUE; 2466 } 2467 if (rField_is_Zp_a(r)) 2468 { 2469 if (rChar(r)==rChar()) 2459 return naMapPP1; /* Z/p' -> Z/p(a)*/ 2460 } 2461 } 2462 if (rField_is_Zp_a(src)) 2463 { 2464 if (rChar(src)==rChar(dst)) 2470 2465 { 2471 2466 nacMap=nacCopy; … … 2473 2468 else 2474 2469 { 2475 npMapPrime=rChar( r);2470 npMapPrime=rChar(src); 2476 2471 nacMap = npMapP; 2477 2472 } 2478 2473 int i; 2479 2474 naParsToCopy=0; 2480 for(i=0;i<rPar( r);i++)2481 { 2482 if ((i>=rPar( currRing))2483 ||(strcmp( r->parameter[i],currRing->parameter[i])!=0))2484 return FALSE;2475 for(i=0;i<rPar(src);i++) 2476 { 2477 if ((i>=rPar(dst)) 2478 ||(strcmp(src->parameter[i],dst->parameter[i])!=0)) 2479 return NULL; 2485 2480 naParsToCopy++; 2486 2481 } 2487 nMap=naMapQaQb; 2488 return TRUE; /* Z/p(a),Z/p'(a) -> Z/p(b)*/ 2489 } 2490 } 2491 return FALSE; /* default */ 2482 return naMapQaQb; /* Z/p(a),Z/p'(a) -> Z/p(b)*/ 2483 } 2484 } 2485 return NULL; /* default */ 2492 2486 } 2493 2487
Note: See TracChangeset
for help on using the changeset viewer.