My Project  debian-1:4.1.2-p1+ds-2
Data Structures | Functions
algext.h File Reference
#include "coeffs/coeffs.h"
#include "polys/monomials/ring.h"

Go to the source code of this file.

Data Structures

struct  AlgExtInfo
 struct for passing initialization parameters to naInitChar More...
 

Functions

nMapFunc naSetMap (const coeffs src, const coeffs dst)
 Get a mapping function from src into the domain of this type (n_algExt) More...
 
BOOLEAN naInitChar (coeffs cf, void *infoStruct)
 Initialize the coeffs object. More...
 
BOOLEAN n2pInitChar (coeffs cf, void *infoStruct)
 
int naIsParam (number, const coeffs)
 if m == var(i)/1 => return i, More...
 
poly p_ExtGcd (poly p, poly &pFactor, poly q, poly &qFactor, ring r)
 assumes that p and q are univariate polynomials in r, mentioning the same variable; assumes a global monomial ordering in r; assumes that not both p and q are NULL; returns the gcd of p and q; moreover, afterwards pFactor and qFactor contain appropriate factors such that gcd(p, q) = p * pFactor + q * qFactor; leaves p and q unmodified More...
 
char * naCoeffString (const coeffs r)
 
char * naCoeffName (const coeffs r)
 

Data Structure Documentation

◆ AlgExtInfo

struct AlgExtInfo

struct for passing initialization parameters to naInitChar

Definition at line 36 of file algext.h.

Data Fields
ring r

Function Documentation

◆ n2pInitChar()

BOOLEAN n2pInitChar ( coeffs  cf,
void *  infoStruct 
)

first check whether cf->extRing != NULL and delete old ring???

Definition at line 1680 of file algext.cc.

1682 {
1683  assume( infoStruct != NULL );
1684 
1685  AlgExtInfo *e = (AlgExtInfo *)infoStruct;
1686  /// first check whether cf->extRing != NULL and delete old ring???
1687 
1688  assume(e->r != NULL); // extRing;
1689  assume(e->r->cf != NULL); // extRing->cf;
1690 
1691  assume( cf != NULL );
1692 
1693  e->r->ref ++; // increase the ref.counter for the ground poly. ring!
1694  const ring R = e->r; // no copy!
1695  cf->extRing = R;
1696 
1697  /* propagate characteristic up so that it becomes
1698  directly accessible in cf: */
1699  cf->ch = R->cf->ch;
1700  cf->is_field=FALSE;
1701  cf->is_domain=TRUE;
1702 
1703  cf->cfCoeffString = n2pCoeffString;
1704  cf->cfCoeffName = n2pCoeffName;
1705 
1706  cf->cfGreaterZero = naGreaterZero;
1707  cf->cfGreater = naGreater;
1708  cf->cfEqual = naEqual;
1709  cf->cfIsZero = naIsZero;
1710  cf->cfIsOne = naIsOne;
1711  cf->cfIsMOne = naIsMOne;
1712  cf->cfInit = naInit;
1713  cf->cfFarey = naFarey;
1714  cf->cfChineseRemainder= naChineseRemainder;
1715  cf->cfInt = naInt;
1716  cf->cfInpNeg = naNeg;
1717  cf->cfAdd = naAdd;
1718  cf->cfSub = naSub;
1719  cf->cfMult = n2pMult;
1720  cf->cfDiv = n2pDiv;
1721  cf->cfPower = n2pPower;
1722  cf->cfCopy = naCopy;
1723 
1724  cf->cfWriteLong = naWriteLong;
1725 
1726  if( rCanShortOut(n2pRing) )
1727  cf->cfWriteShort = naWriteShort;
1728  else
1729  cf->cfWriteShort = naWriteLong;
1730 
1731  cf->cfRead = n2pRead;
1732  cf->cfDelete = naDelete;
1733  cf->cfSetMap = naSetMap;
1734  cf->cfGetDenom = naGetDenom;
1735  cf->cfGetNumerator = naGetNumerator;
1736  cf->cfRePart = naCopy;
1737  cf->cfCoeffWrite = n2pCoeffWrite;
1738  cf->cfNormalize = n2pNormalize;
1739  cf->cfKillChar = naKillChar;
1740 #ifdef LDEBUG
1741  cf->cfDBTest = naDBTest;
1742 #endif
1743  cf->cfGcd = naGcd;
1744  cf->cfNormalizeHelper = naLcmContent;
1745  cf->cfSize = naSize;
1746  cf->nCoeffIsEqual = n2pCoeffIsEqual;
1747  cf->cfInvers = n2pInvers;
1748  cf->convFactoryNSingN=naConvFactoryNSingN;
1749  cf->convSingNFactoryN=naConvSingNFactoryN;
1750  cf->cfParDeg = naParDeg;
1751 
1752  cf->iNumberOfParameters = rVar(R);
1753  cf->pParameterNames = (const char**)R->names;
1754  cf->cfParameter = naParameter;
1755  cf->has_simple_Inverse=FALSE;
1756  /* cf->has_simple_Alloc= FALSE; */
1757 
1758  if( nCoeff_is_Q(R->cf) )
1759  {
1760  cf->cfClearContent = naClearContent;
1761  cf->cfClearDenominators = naClearDenominators;
1762  }
1763 
1764  return FALSE;

◆ naCoeffName()

char* naCoeffName ( const coeffs  r)

Definition at line 1354 of file algext.cc.

1355 {
1356  const char* const* p=n_ParameterNames(r);
1357  int l=0;
1358  int i;
1359  for(i=0; i<n_NumberOfParameters(r);i++)
1360  {
1361  l+=(strlen(p[i])+1);
1362  }
1363  STATIC_VAR char s[200];
1364  s[0]='\0';
1365  snprintf(s,10+1,"%d",r->ch); /* Fp(a) or Q(a) */
1366  char tt[2];
1367  tt[0]=',';
1368  tt[1]='\0';
1369  for(i=0; i<n_NumberOfParameters(r);i++)
1370  {
1371  strcat(s,tt);
1372  strcat(s,p[i]);
1373  }
1374  return s;
1375 }

◆ naCoeffString()

char* naCoeffString ( const coeffs  r)

Definition at line 1331 of file algext.cc.

1332 {
1333  const char* const* p=n_ParameterNames(r);
1334  int l=0;
1335  int i;
1336  for(i=0; i<n_NumberOfParameters(r);i++)
1337  {
1338  l+=(strlen(p[i])+1);
1339  }
1340  char *s=(char *)omAlloc(l+10+1);
1341  s[0]='\0';
1342  snprintf(s,10+1,"%d",r->ch); /* Fp(a) or Q(a) */
1343  char tt[2];
1344  tt[0]=',';
1345  tt[1]='\0';
1346  for(i=0; i<n_NumberOfParameters(r);i++)
1347  {
1348  strcat(s,tt);
1349  strcat(s,p[i]);
1350  }
1351  return s;
1352 }

◆ naInitChar()

BOOLEAN naInitChar ( coeffs  cf,
void *  infoStruct 
)

Initialize the coeffs object.

first check whether cf->extRing != NULL and delete old ring???

Definition at line 1397 of file algext.cc.

1398 {
1399  assume( infoStruct != NULL );
1400 
1401  AlgExtInfo *e = (AlgExtInfo *)infoStruct;
1402  /// first check whether cf->extRing != NULL and delete old ring???
1403 
1404  assume(e->r != NULL); // extRing;
1405  assume(e->r->cf != NULL); // extRing->cf;
1406 
1407  assume((e->r->qideal != NULL) && // minideal has one
1408  (IDELEMS(e->r->qideal) == 1) && // non-zero generator
1409  (e->r->qideal->m[0] != NULL) ); // at m[0];
1410 
1411  assume( cf != NULL );
1412  assume(getCoeffType(cf) == n_algExt); // coeff type;
1413 
1414  e->r->ref ++; // increase the ref.counter for the ground poly. ring!
1415  const ring R = e->r; // no copy!
1416  cf->extRing = R;
1417 
1418  /* propagate characteristic up so that it becomes
1419  directly accessible in cf: */
1420  cf->ch = R->cf->ch;
1421 
1422  cf->is_field=TRUE;
1423  cf->is_domain=TRUE;
1424  cf->rep=n_rep_poly;
1425 
1426  #ifdef LDEBUG
1427  p_Test((poly)naMinpoly, naRing);
1428  #endif
1429 
1430  cf->cfCoeffString = naCoeffString;
1431  cf->cfCoeffName = naCoeffName;
1432 
1433  cf->cfGreaterZero = naGreaterZero;
1434  cf->cfGreater = naGreater;
1435  cf->cfEqual = naEqual;
1436  cf->cfIsZero = naIsZero;
1437  cf->cfIsOne = naIsOne;
1438  cf->cfIsMOne = naIsMOne;
1439  cf->cfInit = naInit;
1440  cf->cfFarey = naFarey;
1441  cf->cfChineseRemainder= naChineseRemainder;
1442  cf->cfInt = naInt;
1443  cf->cfInpNeg = naNeg;
1444  cf->cfAdd = naAdd;
1445  cf->cfSub = naSub;
1446  cf->cfMult = naMult;
1447  cf->cfDiv = naDiv;
1448  cf->cfExactDiv = naDiv;
1449  cf->cfPower = naPower;
1450  cf->cfCopy = naCopy;
1451 
1452  cf->cfWriteLong = naWriteLong;
1453 
1454  if( rCanShortOut(naRing) )
1455  cf->cfWriteShort = naWriteShort;
1456  else
1457  cf->cfWriteShort = naWriteLong;
1458 
1459  cf->cfRead = naRead;
1460  cf->cfDelete = naDelete;
1461  cf->cfSetMap = naSetMap;
1462  cf->cfGetDenom = naGetDenom;
1463  cf->cfGetNumerator = naGetNumerator;
1464  cf->cfRePart = naCopy;
1465  cf->cfCoeffWrite = naCoeffWrite;
1466  cf->cfNormalize = naNormalize;
1467  cf->cfKillChar = naKillChar;
1468 #ifdef LDEBUG
1469  cf->cfDBTest = naDBTest;
1470 #endif
1471  cf->cfGcd = naGcd;
1472  cf->cfNormalizeHelper = naLcmContent;
1473  cf->cfSize = naSize;
1474  cf->nCoeffIsEqual = naCoeffIsEqual;
1475  cf->cfInvers = naInvers;
1476  cf->convFactoryNSingN=naConvFactoryNSingN;
1477  cf->convSingNFactoryN=naConvSingNFactoryN;
1478  cf->cfParDeg = naParDeg;
1479 
1480  cf->iNumberOfParameters = rVar(R);
1481  cf->pParameterNames = (const char**)R->names;
1482  cf->cfParameter = naParameter;
1483  cf->has_simple_Inverse= R->cf->has_simple_Inverse;
1484  /* cf->has_simple_Alloc= FALSE; */
1485 
1486  if( nCoeff_is_Q(R->cf) )
1487  {
1488  cf->cfClearContent = naClearContent;
1489  cf->cfClearDenominators = naClearDenominators;
1490  }
1491 
1492  return FALSE;
1493 }

◆ naIsParam()

int naIsParam ( number  ,
const  coeffs 
)

if m == var(i)/1 => return i,

Definition at line 1093 of file algext.cc.

1094 {
1096 
1097  const ring R = cf->extRing;
1098  assume( R != NULL );
1099 
1100  return p_Var( (poly)m, R );
1101 }

◆ naSetMap()

nMapFunc naSetMap ( const coeffs  src,
const coeffs  dst 
)

Get a mapping function from src into the domain of this type (n_algExt)

Q or Z --> Q(a)

Z --> Q(a)

Z/p --> Q(a)

Q --> Z/p(a)

Z --> Z/p(a)

Z/p --> Z/p(a)

Z/u --> Z/p(a)

default

Definition at line 1017 of file algext.cc.

1018 {
1019  /* dst is expected to be an algebraic field extension */
1020  assume(getCoeffType(dst) == n_algExt);
1021 
1022  if( src == dst ) return ndCopyMap;
1023 
1024  int h = 0; /* the height of the extension tower given by dst */
1025  coeffs bDst = nCoeff_bottom(dst, h); /* the bottom field in the tower dst */
1026  coeffs bSrc = nCoeff_bottom(src, h); /* the bottom field in the tower src */
1027 
1028  /* for the time being, we only provide maps if h = 1 or 0 */
1029  if (h==0)
1030  {
1031  if ((src->rep==n_rep_gap_rat) && nCoeff_is_Q(bDst))
1032  return naMap00; /// Q or Z --> Q(a)
1033  if ((src->rep==n_rep_gap_gmp) && nCoeff_is_Q(bDst))
1034  return naMapZ0; /// Z --> Q(a)
1035  if (nCoeff_is_Zp(src) && nCoeff_is_Q(bDst))
1036  return naMapP0; /// Z/p --> Q(a)
1037  if (nCoeff_is_Q_or_BI(src) && nCoeff_is_Zp(bDst))
1038  return naMap0P; /// Q --> Z/p(a)
1039  if ((src->rep==n_rep_gap_gmp) && nCoeff_is_Zp(bDst))
1040  return naMapZ0; /// Z --> Z/p(a)
1041  if (nCoeff_is_Zp(src) && nCoeff_is_Zp(bDst))
1042  {
1043  if (src->ch == dst->ch) return naMapPP; /// Z/p --> Z/p(a)
1044  else return naMapUP; /// Z/u --> Z/p(a)
1045  }
1046  }
1047  if (h != 1) return NULL;
1048  if ((!nCoeff_is_Zp(bDst)) && (!nCoeff_is_Q(bDst))) return NULL;
1049  if ((!nCoeff_is_Zp(bSrc)) && (!nCoeff_is_Q_or_BI(bSrc))) return NULL;
1050 
1051  nMapFunc nMap=n_SetMap(src->extRing->cf,dst->extRing->cf);
1052  if (rSamePolyRep(src->extRing, dst->extRing) && (strcmp(rRingVar(0, src->extRing), rRingVar(0, dst->extRing)) == 0))
1053  {
1054  if (src->type==n_algExt)
1055  return ndCopyMap; // naCopyMap; /// K(a) --> K(a)
1056  else
1057  return naCopyTrans2AlgExt;
1058  }
1059  else if ((nMap!=NULL) && (strcmp(rRingVar(0,src->extRing),rRingVar(0,dst->extRing))==0) && (rVar (src->extRing) == rVar (dst->extRing)))
1060  {
1061  if (src->type==n_algExt)
1062  return naGenMap; // naCopyMap; /// K(a) --> K'(a)
1063  else
1064  return naGenTrans2AlgExt;
1065  }
1066 
1067  return NULL; /// default
1068 }

◆ p_ExtGcd()

poly p_ExtGcd ( poly  p,
poly &  pFactor,
poly  q,
poly &  qFactor,
ring  r 
)

assumes that p and q are univariate polynomials in r, mentioning the same variable; assumes a global monomial ordering in r; assumes that not both p and q are NULL; returns the gcd of p and q; moreover, afterwards pFactor and qFactor contain appropriate factors such that gcd(p, q) = p * pFactor + q * qFactor; leaves p and q unmodified

Definition at line 216 of file algext.cc.

217 {
218  assume((p != NULL) || (q != NULL));
219  poly a = p; poly b = q; BOOLEAN aCorrespondsToP = TRUE;
220  if (p_Deg(a, r) < p_Deg(b, r))
221  { a = q; b = p; aCorrespondsToP = FALSE; }
222  a = p_Copy(a, r); b = p_Copy(b, r);
223  poly aFactor = NULL; poly bFactor = NULL;
224  poly theGcd = p_ExtGcdHelper(a, aFactor, b, bFactor, r);
225  if (aCorrespondsToP) { pFactor = aFactor; qFactor = bFactor; }
226  else { pFactor = bFactor; qFactor = aFactor; }
227  return theGcd;
228 }
getCoeffType
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
Definition: coeffs.h:420
n_rep_gap_rat
(number), see longrat.h
Definition: coeffs.h:110
FALSE
#define FALSE
Definition: auxiliary.h:96
n2pCoeffString
char * n2pCoeffString(const coeffs cf)
Definition: algext.cc:1596
nCoeff_is_Zp
static FORCE_INLINE BOOLEAN nCoeff_is_Zp(const coeffs r)
Definition: coeffs.h:821
naSetMap
nMapFunc naSetMap(const coeffs src, const coeffs dst)
Get a mapping function from src into the domain of this type (n_algExt)
Definition: algext.cc:1017
naCoeffWrite
void naCoeffWrite(const coeffs cf, BOOLEAN details)
Definition: algext.cc:387
rCanShortOut
static BOOLEAN rCanShortOut(const ring r)
Definition: ring.h:580
naIsOne
BOOLEAN naIsOne(number a, const coeffs cf)
Definition: algext.cc:315
naCoeffName
char * naCoeffName(const coeffs r)
Definition: algext.cc:1354
n2pCoeffWrite
void n2pCoeffWrite(const coeffs cf, BOOLEAN details)
Definition: algext.cc:1652
n2pRead
const char * n2pRead(const char *s, number *a, const coeffs cf)
Definition: algext.cc:1567
n2pPower
void n2pPower(number a, int exp, number *b, const coeffs cf)
Definition: algext.cc:1560
naDiv
number naDiv(number a, number b, const coeffs cf)
Definition: algext.cc:469
naGenMap
number naGenMap(number a, const coeffs cf, const coeffs dst)
Definition: algext.cc:972
naGcd
number naGcd(number a, number b, const coeffs cf)
Definition: algext.cc:770
p_Var
int p_Var(poly m, const ring r)
Definition: p_polys.cc:4558
h
STATIC_VAR Poly * h
Definition: janet.cc:971
n2pInvers
number n2pInvers(number a, const coeffs cf)
Definition: algext.cc:1664
naChineseRemainder
number naChineseRemainder(number *x, number *q, int rl, BOOLEAN, CFArray &inv_cache, const coeffs cf)
Definition: algext.cc:1377
cf
CanonicalForm cf
Definition: cfModGcd.cc:4024
naParDeg
int naParDeg(number a, const coeffs cf)
Definition: algext.cc:1070
naInvers
number naInvers(number a, const coeffs cf)
Definition: algext.cc:818
naFarey
number naFarey(number p, number n, const coeffs cf)
Definition: algext.cc:1389
STATIC_VAR
#define STATIC_VAR
Definition: globaldefs.h:7
naMap00
number naMap00(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:848
naWriteLong
void naWriteLong(number a, const coeffs cf)
Definition: algext.cc:570
nCoeff_is_Q_or_BI
static FORCE_INLINE BOOLEAN nCoeff_is_Q_or_BI(const coeffs r)
Definition: coeffs.h:850
nCoeff_bottom
static coeffs nCoeff_bottom(const coeffs r, int &height)
Definition: algext.cc:258
ndCopyMap
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
Definition: numbers.cc:251
naMinpoly
#define naMinpoly
Definition: algext.cc:70
naDBTest
BOOLEAN naDBTest(number a, const char *f, const int l, const coeffs r)
Definition: algext.cc:233
p_Test
#define p_Test(p, r)
Definition: p_polys.h:154
naMapPP
number naMapPP(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:951
naAdd
number naAdd(number a, number b, const coeffs cf)
Definition: algext.cc:437
n_NumberOfParameters
static FORCE_INLINE int n_NumberOfParameters(const coeffs r)
Returns the number of parameters.
Definition: coeffs.h:795
naConvSingNFactoryN
CanonicalForm naConvSingNFactoryN(number n, BOOLEAN, const coeffs cf)
Definition: algext.cc:756
b
CanonicalForm b
Definition: cfModGcd.cc:4044
n2pMult
number n2pMult(number a, number b, const coeffs cf)
Definition: algext.cc:1543
naLcmContent
number naLcmContent(number a, number b, const coeffs cf)
Definition: algext.cc:643
nCoeff_is_Q
static FORCE_INLINE BOOLEAN nCoeff_is_Q(const coeffs r)
Definition: coeffs.h:827
p_Copy
static poly p_Copy(poly p, const ring r)
returns a copy of p
Definition: p_polys.h:796
naCopy
number naCopy(number a, const coeffs cf)
Definition: algext.cc:296
rVar
static short rVar(const ring r)
#define rVar(r) (r->N)
Definition: ring.h:586
n_polyExt
used to represent polys as coeffcients
Definition: coeffs.h:34
TRUE
#define TRUE
Definition: auxiliary.h:100
i
int i
Definition: cfEzgcd.cc:125
AlgExtInfo
struct for passing initialization parameters to naInitChar
Definition: algext.h:36
nMapFunc
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:72
BOOLEAN
int BOOLEAN
Definition: auxiliary.h:87
rRingVar
static char * rRingVar(short i, const ring r)
Definition: ring.h:571
naRing
#define naRing
Definition: algext.cc:61
naClearDenominators
void naClearDenominators(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
Definition: algext.cc:1309
naGreaterZero
BOOLEAN naGreaterZero(number a, const coeffs cf)
forward declarations
Definition: algext.cc:378
naGreater
BOOLEAN naGreater(number a, number b, const coeffs cf)
Definition: algext.cc:358
naSize
int naSize(number a, const coeffs cf)
Definition: algext.cc:712
n2pCoeffName
char * n2pCoeffName(const coeffs cf)
Definition: algext.cc:1624
naClearContent
static void naClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
Definition: algext.cc:1104
naParameter
number naParameter(const int iParameter, const coeffs cf)
return the specified parameter as a number in the given alg. field
Definition: algext.cc:1078
naGetDenom
number naGetDenom(number &a, const coeffs cf)
Definition: algext.cc:309
coeffs
naGetNumerator
number naGetNumerator(number &a, const coeffs cf)
Definition: algext.cc:304
naInt
long naInt(number &a, const coeffs cf)
Definition: algext.cc:345
naMult
number naMult(number a, number b, const coeffs cf)
Definition: algext.cc:459
naMapUP
number naMapUP(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:961
naCoeffString
char * naCoeffString(const coeffs r)
Definition: algext.cc:1331
omAlloc
#define omAlloc(size)
Definition: omAllocDecl.h:208
naConvFactoryNSingN
number naConvFactoryNSingN(const CanonicalForm n, const coeffs cf)
Definition: algext.cc:750
naPower
void naPower(number a, int exp, number *b, const coeffs cf)
Definition: algext.cc:493
naWriteShort
void naWriteShort(number a, const coeffs cf)
Definition: algext.cc:588
n2pDiv
number n2pDiv(number a, number b, const coeffs cf)
Definition: algext.cc:1551
naKillChar
void naKillChar(coeffs cf)
Definition: algext.cc:1325
n_rep_poly
(poly), see algext.h
Definition: coeffs.h:112
p_ExtGcdHelper
static poly p_ExtGcdHelper(poly &p, poly &pFactor, poly &q, poly &qFactor, ring r)
Definition: algext.cc:183
n_ParameterNames
static FORCE_INLINE const char ** n_ParameterNames(const coeffs r)
Returns a (const!) pointer to (const char*) names of parameters.
Definition: coeffs.h:799
naInit
number naInit(long i, const coeffs cf)
Definition: algext.cc:339
naRead
const char * naRead(const char *s, number *a, const coeffs cf)
Definition: algext.cc:606
p_Deg
long p_Deg(poly a, const ring r)
Definition: p_polys.cc:576
naSub
number naSub(number a, number b, const coeffs cf)
Definition: algext.cc:448
naNormalize
void naNormalize(number &a, const coeffs cf)
Definition: algext.cc:742
naGenTrans2AlgExt
number naGenTrans2AlgExt(number a, const coeffs cf, const coeffs dst)
Definition: algext.cc:987
naCoeffIsEqual
static BOOLEAN naCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
Definition: algext.cc:678
n2pCoeffIsEqual
static BOOLEAN n2pCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
Definition: algext.cc:1576
naIsZero
BOOLEAN naIsZero(number a, const coeffs cf)
Definition: algext.cc:272
m
int m
Definition: cfEzgcd.cc:121
naMapP0
number naMapP0(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:870
assume
#define assume(x)
Definition: mod2.h:384
NULL
#define NULL
Definition: omList.c:11
l
int l
Definition: cfEzgcd.cc:93
R
#define R
Definition: sirandom.c:27
naNeg
number naNeg(number a, const coeffs cf)
this is in-place, modifies a
Definition: algext.cc:332
rSamePolyRep
BOOLEAN rSamePolyRep(ring r1, ring r2)
returns TRUE, if r1 and r2 represents the monomials in the same way FALSE, otherwise this is an analo...
Definition: ring.cc:1711
p
int p
Definition: cfModGcd.cc:4019
naDelete
void naDelete(number *a, const coeffs cf)
Definition: algext.cc:278
naCopyTrans2AlgExt
number naCopyTrans2AlgExt(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:890
s
const CanonicalForm int s
Definition: facAbsFact.cc:55
n_SetMap
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:720
IDELEMS
#define IDELEMS(i)
Definition: simpleideals.h:23
naIsMOne
BOOLEAN naIsMOne(number a, const coeffs cf)
Definition: algext.cc:323
naEqual
BOOLEAN naEqual(number a, number b, const coeffs cf)
Definition: algext.cc:287
AlgExtInfo::r
ring r
Definition: algext.h:37
n2pRing
#define n2pRing
Definition: algext.cc:1520
naMapZ0
number naMapZ0(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:858
n2pNormalize
void n2pNormalize(number &a, const coeffs cf)
Definition: algext.cc:1536
n_algExt
used for all algebraic extensions, i.e., the top-most extension in an extension tower is algebraic
Definition: coeffs.h:35
naMap0P
number naMap0P(number a, const coeffs src, const coeffs dst)
Definition: algext.cc:938
n_rep_gap_gmp
(), see rinteger.h, new impl.
Definition: coeffs.h:111