My Project  UNKNOWN_GIT_VERSION
Macros | Functions
p_Numbers.h File Reference
#include "misc/auxiliary.h"
#include "coeffs/coeffs.h"
#include "coeffs/numbers.h"
#include "polys/monomials/ring.h"
#include "coeffs/modulop.h"
#include "coeffs/longrat.cc"

Go to the source code of this file.

Macros

#define n_Copy_RingGeneral(n, r)   n_Copy_FieldGeneral(n, r)
 
#define n_Delete_RingGeneral(n, r)   n_Delete_FieldGeneral(n, r)
 
#define n_Mult_RingGeneral(n1, n2, r)   n_Mult_FieldGeneral(n1, n2, r)
 
#define n_Add_RingGeneral(n1, n2, r)   n_Add_FieldGeneral(n1, n2, r)
 
#define n_IsZero_RingGeneral(n, r)   n_IsZero_FieldGeneral(n, r)
 
#define n_Equal_RingGeneral(n1, n2, r)   n_Equal_FieldGeneral(n1, n2, r)
 
#define n_Neg_RingGeneral(n, r)   n_Neg_FieldGeneral(n, r)
 
#define n_Sub_RingGeneral(n1, n2, r)   n_Sub_FieldGeneral(n1, n2, r)
 
#define n_InpMult_RingGeneral(n1, n2, r)   n_InpMult_FieldGeneral(n1, n2, r)
 
#define n_Copy_FieldZp(n, r)   n
 
#define n_Delete_FieldZp(n, r)   do {} while (0)
 
#define DO_LFORCE_INLINE
 

Functions

static FORCE_INLINE number n_Copy_FieldGeneral (number n, const coeffs r)
 
static FORCE_INLINE void n_Delete_FieldGeneral (number *p, const coeffs r)
 
static FORCE_INLINE number n_Mult_FieldGeneral (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Add_FieldGeneral (number n1, number n2, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_IsZero_FieldGeneral (number n, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_Equal_FieldGeneral (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Neg_FieldGeneral (number n, const coeffs r)
 
static FORCE_INLINE number n_Sub_FieldGeneral (number n1, number n2, const coeffs r)
 
static FORCE_INLINE void n_InpMult_FieldGeneral (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE void n_InpAdd_FieldGeneral (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE void n_InpAdd_RingGeneral (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Mult_FieldZp (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Add_FieldZp (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Sub_FieldZp (number n1, number n2, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_IsZero_FieldZp (number n, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_Equal_FieldZp (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Neg_FieldZp (number n, const coeffs r)
 
static FORCE_INLINE void n_InpMult_FieldZp (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE void n_InpAdd_FieldZp (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Copy_FieldQ (number n, const coeffs r)
 
static FORCE_INLINE void n_Delete_FieldQ (number *n, const coeffs r)
 
static FORCE_INLINE number n_Mult_FieldQ (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Add_FieldQ (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Sub_FieldQ (number n1, number n2, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_IsZero_FieldQ (number n, const coeffs r)
 
static FORCE_INLINE BOOLEAN n_Equal_FieldQ (number n1, number n2, const coeffs r)
 
static FORCE_INLINE number n_Neg_FieldQ (number n, const coeffs r)
 
static FORCE_INLINE void n_InpMult_FieldQ (number &n1, number n2, const coeffs r)
 
static FORCE_INLINE void n_InpAdd_FieldQ (number &n1, number n2, const coeffs r)
 

Macro Definition Documentation

◆ DO_LFORCE_INLINE

#define DO_LFORCE_INLINE

Definition at line 117 of file p_Numbers.h.

◆ n_Add_RingGeneral

#define n_Add_RingGeneral (   n1,
  n2,
 
)    n_Add_FieldGeneral(n1, n2, r)

Definition at line 50 of file p_Numbers.h.

◆ n_Copy_FieldZp

#define n_Copy_FieldZp (   n,
 
)    n

Definition at line 63 of file p_Numbers.h.

◆ n_Copy_RingGeneral

#define n_Copy_RingGeneral (   n,
 
)    n_Copy_FieldGeneral(n, r)

Definition at line 47 of file p_Numbers.h.

◆ n_Delete_FieldZp

#define n_Delete_FieldZp (   n,
 
)    do {} while (0)

Definition at line 64 of file p_Numbers.h.

◆ n_Delete_RingGeneral

#define n_Delete_RingGeneral (   n,
 
)    n_Delete_FieldGeneral(n, r)

Definition at line 48 of file p_Numbers.h.

◆ n_Equal_RingGeneral

#define n_Equal_RingGeneral (   n1,
  n2,
 
)    n_Equal_FieldGeneral(n1, n2, r)

Definition at line 52 of file p_Numbers.h.

◆ n_InpMult_RingGeneral

#define n_InpMult_RingGeneral (   n1,
  n2,
 
)    n_InpMult_FieldGeneral(n1, n2, r)

Definition at line 55 of file p_Numbers.h.

◆ n_IsZero_RingGeneral

#define n_IsZero_RingGeneral (   n,
 
)    n_IsZero_FieldGeneral(n, r)

Definition at line 51 of file p_Numbers.h.

◆ n_Mult_RingGeneral

#define n_Mult_RingGeneral (   n1,
  n2,
 
)    n_Mult_FieldGeneral(n1, n2, r)

Definition at line 49 of file p_Numbers.h.

◆ n_Neg_RingGeneral

#define n_Neg_RingGeneral (   n,
 
)    n_Neg_FieldGeneral(n, r)

Definition at line 53 of file p_Numbers.h.

◆ n_Sub_RingGeneral

#define n_Sub_RingGeneral (   n1,
  n2,
 
)    n_Sub_FieldGeneral(n1, n2, r)

Definition at line 54 of file p_Numbers.h.

Function Documentation

◆ n_Add_FieldGeneral()

static FORCE_INLINE number n_Add_FieldGeneral ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 25 of file p_Numbers.h.

25 { return n_Mult(n1, n2, r); }
26 

◆ n_Add_FieldQ()

static FORCE_INLINE number n_Add_FieldQ ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 139 of file p_Numbers.h.

140 { return nlAdd(n1, n2, r); }

◆ n_Add_FieldZp()

static FORCE_INLINE number n_Add_FieldZp ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 77 of file p_Numbers.h.

80 { return npAddM(n1, n2, r); }

◆ n_Copy_FieldGeneral()

static FORCE_INLINE number n_Copy_FieldGeneral ( number  n,
const coeffs  r 
)
static

Definition at line 16 of file p_Numbers.h.

19 { return n_Copy(n,r); }

◆ n_Copy_FieldQ()

static FORCE_INLINE number n_Copy_FieldQ ( number  n,
const coeffs  r 
)
static

Definition at line 122 of file p_Numbers.h.

123 { STATISTIC(n_Copy); return nlCopy(n, r); }

◆ n_Delete_FieldGeneral()

static FORCE_INLINE void n_Delete_FieldGeneral ( number *  p,
const coeffs  r 
)
static

Definition at line 19 of file p_Numbers.h.

19 { return n_Copy(n,r); }
20 

◆ n_Delete_FieldQ()

static FORCE_INLINE void n_Delete_FieldQ ( number *  n,
const coeffs  r 
)
static

Definition at line 125 of file p_Numbers.h.

126 { STATISTIC(n_Delete); nlDelete(n,r); }

◆ n_Equal_FieldGeneral()

static FORCE_INLINE BOOLEAN n_Equal_FieldGeneral ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 31 of file p_Numbers.h.

31 { return n_IsZero(n, r); }
32 

◆ n_Equal_FieldQ()

static FORCE_INLINE BOOLEAN n_Equal_FieldQ ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 158 of file p_Numbers.h.

159 { STATISTIC(n_Equal); return nlEqual(n1, n2, r); }

◆ n_Equal_FieldZp()

static FORCE_INLINE BOOLEAN n_Equal_FieldZp ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 96 of file p_Numbers.h.

96 { STATISTIC(n_IsZero); return npIsZeroM(n, r); }
97 

◆ n_InpAdd_FieldGeneral()

static FORCE_INLINE void n_InpAdd_FieldGeneral ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 43 of file p_Numbers.h.

43 { n_InpMult(n1, n2, r); }
44 

◆ n_InpAdd_FieldQ()

static FORCE_INLINE void n_InpAdd_FieldQ ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 174 of file p_Numbers.h.

175 { nlInpAdd(n1, n2, r); }

◆ n_InpAdd_FieldZp()

static FORCE_INLINE void n_InpAdd_FieldZp ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 113 of file p_Numbers.h.

116 { n1=npAddM(n1, n2, r); }

◆ n_InpAdd_RingGeneral()

static FORCE_INLINE void n_InpAdd_RingGeneral ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 57 of file p_Numbers.h.

60 { assume(nCoeff_is_Ring(r)); n_InpAdd(n1, n2, r); }

◆ n_InpMult_FieldGeneral()

static FORCE_INLINE void n_InpMult_FieldGeneral ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 40 of file p_Numbers.h.

40 { return n_Sub(n1, n2, r); }
41 

◆ n_InpMult_FieldQ()

static FORCE_INLINE void n_InpMult_FieldQ ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 164 of file p_Numbers.h.

165 { STATISTIC(n_InpMult); nlInpMult(n1, n2, r); }

◆ n_InpMult_FieldZp()

static FORCE_INLINE void n_InpMult_FieldZp ( number &  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 102 of file p_Numbers.h.

102 { STATISTIC(n_InpNeg); return npNegM(n, r); }
103 

◆ n_IsZero_FieldGeneral()

static FORCE_INLINE BOOLEAN n_IsZero_FieldGeneral ( number  n,
const coeffs  r 
)
static

Definition at line 28 of file p_Numbers.h.

28 { return n_Add(n1, n2, r); }
29 

◆ n_IsZero_FieldQ()

static FORCE_INLINE BOOLEAN n_IsZero_FieldQ ( number  n,
const coeffs  r 
)
static

Definition at line 155 of file p_Numbers.h.

156 { STATISTIC(n_IsZero); return nlIsZero(n, r); }

◆ n_IsZero_FieldZp()

static FORCE_INLINE BOOLEAN n_IsZero_FieldZp ( number  n,
const coeffs  r 
)
static

Definition at line 93 of file p_Numbers.h.

96 { STATISTIC(n_IsZero); return npIsZeroM(n, r); }

◆ n_Mult_FieldGeneral()

static FORCE_INLINE number n_Mult_FieldGeneral ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 22 of file p_Numbers.h.

22 { n_Delete(p,r); }
23 

◆ n_Mult_FieldQ()

static FORCE_INLINE number n_Mult_FieldQ ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 128 of file p_Numbers.h.

129 { STATISTIC(n_Mult); return nlMult(n1,n2, r); }

◆ n_Mult_FieldZp()

static FORCE_INLINE number n_Mult_FieldZp ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 66 of file p_Numbers.h.

66  {} while (0)
67 

◆ n_Neg_FieldGeneral()

static FORCE_INLINE number n_Neg_FieldGeneral ( number  n,
const coeffs  r 
)
static

Definition at line 34 of file p_Numbers.h.

34 { return n_Equal(n1, n2, r); }
35 

◆ n_Neg_FieldQ()

static FORCE_INLINE number n_Neg_FieldQ ( number  n,
const coeffs  r 
)
static

Definition at line 161 of file p_Numbers.h.

162 { STATISTIC(n_InpNeg); return nlNeg(n, r); }

◆ n_Neg_FieldZp()

static FORCE_INLINE number n_Neg_FieldZp ( number  n,
const coeffs  r 
)
static

Definition at line 99 of file p_Numbers.h.

99 { STATISTIC(n_Equal); return npEqualM(n1, n2, r); }
100 

◆ n_Sub_FieldGeneral()

static FORCE_INLINE number n_Sub_FieldGeneral ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 37 of file p_Numbers.h.

37 { return n_InpNeg(n, r); }
38 

◆ n_Sub_FieldQ()

static FORCE_INLINE number n_Sub_FieldQ ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 151 of file p_Numbers.h.

152 { return nlSub(n1, n2, r); }

◆ n_Sub_FieldZp()

static FORCE_INLINE number n_Sub_FieldZp ( number  n1,
number  n2,
const coeffs  r 
)
static

Definition at line 89 of file p_Numbers.h.

92 { return npSubM(n1, n2, r); }
nlIsZero
LINLINE BOOLEAN nlIsZero(number za, const coeffs r)
Definition: longrat.cc:2461
nlInpMult
LINLINE void nlInpMult(number &a, number b, const coeffs r)
Definition: longrat.cc:2613
npEqualM
#define npEqualM(A, B, r)
Definition: modulop.h:274
n_InpMult
static FORCE_INLINE void n_InpMult(number &a, number b, const coeffs r)
multiplication of 'a' and 'b'; replacement of 'a' by the product a*b
Definition: coeffs.h:640
nlCopy
LINLINE number nlCopy(number a, const coeffs r)
Definition: longrat.cc:2481
n_Delete
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
Definition: coeffs.h:454
n_IsZero
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
Definition: coeffs.h:463
nlInpAdd
LINLINE void nlInpAdd(number &a, number b, const coeffs r)
Definition: longrat.cc:2547
nlSub
LINLINE number nlSub(number la, number li, const coeffs r)
Definition: longrat.cc:2595
nlEqual
LINLINE BOOLEAN nlEqual(number a, number b, const coeffs r)
Definition: longrat.cc:2425
n_Add
static FORCE_INLINE number n_Add(number a, number b, const coeffs r)
return the sum of 'a' and 'b', i.e., a+b
Definition: coeffs.h:655
n_InpAdd
static FORCE_INLINE void n_InpAdd(number &a, number b, const coeffs r)
addition of 'a' and 'b'; replacement of 'a' by the sum a+b
Definition: coeffs.h:645
npAddM
static number npAddM(number a, number b, const coeffs r)
Definition: modulop.h:124
npSubM
static number npSubM(number a, number b, const coeffs r)
Definition: modulop.h:134
npNegM
static number npNegM(number a, const coeffs r)
Definition: modulop.h:174
nCoeff_is_Ring
static FORCE_INLINE BOOLEAN nCoeff_is_Ring(const coeffs r)
Definition: coeffs.h:751
n_Mult
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
Definition: coeffs.h:635
n_InpNeg
static FORCE_INLINE number n_InpNeg(number n, const coeffs r)
in-place negation of n MUST BE USED: n = n_InpNeg(n) (no copy is returned)
Definition: coeffs.h:556
n_Sub
static FORCE_INLINE number n_Sub(number a, number b, const coeffs r)
return the difference of 'a' and 'b', i.e., a-b
Definition: coeffs.h:668
STATISTIC
#define STATISTIC(f)
Definition: numstats.h:16
nlAdd
LINLINE number nlAdd(number la, number li, const coeffs r)
Definition: longrat.cc:2529
n_Copy
static FORCE_INLINE number n_Copy(number n, const coeffs r)
return a copy of 'n'
Definition: coeffs.h:450
assume
#define assume(x)
Definition: mod2.h:384
nlMult
LINLINE number nlMult(number a, number b, const coeffs r)
Definition: longrat.cc:2565
n_Equal
static FORCE_INLINE BOOLEAN n_Equal(number a, number b, const coeffs r)
TRUE iff 'a' and 'b' represent the same number; they may have different representations.
Definition: coeffs.h:459
p
int p
Definition: cfModGcd.cc:4019
nlNeg
LINLINE number nlNeg(number za, const coeffs r)
Definition: longrat.cc:2510
npIsZeroM
static BOOLEAN npIsZeroM(number a, const coeffs)
Definition: modulop.h:179
nlDelete
LINLINE void nlDelete(number *a, const coeffs r)
Definition: longrat.cc:2494