[35aab3] | 1 | /**************************************** |
---|
| 2 | * Computer Algebra System SINGULAR * |
---|
| 3 | ****************************************/ |
---|
| 4 | /*************************************************************** |
---|
| 5 | * File: p_Numbers.h |
---|
[d772c3] | 6 | * Purpose: macros/inline functions for number operations |
---|
[35aab3] | 7 | * Author: obachman (Olaf Bachmann) |
---|
| 8 | * Created: 8/00 |
---|
[d772c3] | 9 | * Version: $Id: p_Numbers.h,v 1.3 2008-01-30 09:01:37 wienand Exp $ |
---|
[35aab3] | 10 | *******************************************************************/ |
---|
| 11 | #ifndef P_NUMBERS_H |
---|
| 12 | #define P_NUMBERS_H |
---|
| 13 | |
---|
| 14 | #include "numbers.h" |
---|
| 15 | #define n_Copy_FieldGeneral(n, r) (r)->cf->cfCopy(n,r) |
---|
| 16 | #define n_Delete_FieldGeneral(n, r) (r)->cf->cfDelete(n,r) |
---|
| 17 | #define n_Mult_FieldGeneral(n1, n2, r) (r)->cf->nMult(n1, n2) |
---|
| 18 | #define n_Add_FieldGeneral(n1, n2, r) (r)->cf->nAdd(n1, n2) |
---|
| 19 | #define n_IsZero_FieldGeneral(n, r) (r)->cf->nIsZero(n) |
---|
| 20 | #define n_Equal_FieldGeneral(n1, n2, r) (r)->cf->nEqual(n1, n2) |
---|
| 21 | #define n_Neg_FieldGeneral(n, r) (r)->cf->nNeg(n) |
---|
| 22 | #define n_Sub_FieldGeneral(n1, n2, r) (r)->cf->nSub(n1, n2) |
---|
| 23 | //#define n_InpMult_FieldGeneral(n1, n2, r) (r)->cf->nInpMult(n1, n2, r) |
---|
| 24 | #define n_InpMult_FieldGeneral(n1, n2, r) ndInpMult(n1, n2, r) |
---|
| 25 | |
---|
[009d80] | 26 | #ifdef HAVE_RINGS |
---|
| 27 | #define n_Copy_RingGeneral(n, r) (r)->cf->cfCopy(n,r) |
---|
| 28 | #define n_Delete_RingGeneral(n, r) (r)->cf->cfDelete(n,r) |
---|
| 29 | #define n_Mult_RingGeneral(n1, n2, r) (r)->cf->nMult(n1, n2) |
---|
| 30 | #define n_Add_RingGeneral(n1, n2, r) (r)->cf->nAdd(n1, n2) |
---|
| 31 | #define n_IsZero_RingGeneral(n, r) (r)->cf->nIsZero(n) |
---|
| 32 | #define n_Equal_RingGeneral(n1, n2, r) (r)->cf->nEqual(n1, n2) |
---|
| 33 | #define n_Neg_RingGeneral(n, r) (r)->cf->nNeg(n) |
---|
| 34 | #define n_Sub_RingGeneral(n1, n2, r) (r)->cf->nSub(n1, n2) |
---|
| 35 | //#define n_InpMult_RingGeneral(n1, n2, r) (r)->cf->nInpMult(n1, n2, r) |
---|
| 36 | #define n_InpMult_RingGeneral(n1, n2, r) ndInpMult(n1, n2, r) |
---|
| 37 | #endif |
---|
| 38 | |
---|
[35aab3] | 39 | #include "modulop.h" |
---|
| 40 | #define n_Copy_FieldZp(n, r) n |
---|
| 41 | #define n_Delete_FieldZp(n, r) ((void)0) |
---|
| 42 | #define n_Mult_FieldZp(n1, n2, r) npMultM(n1,n2) |
---|
| 43 | #define n_Add_FieldZp(n1, n2, r) npAddM(n1, n2) |
---|
| 44 | #define n_IsZero_FieldZp(n, r) npIsZeroM(n) |
---|
| 45 | #define n_Equal_FieldZp(n1, n2, r) npEqualM(n1, n2) |
---|
| 46 | #define n_Neg_FieldZp(n, r) npNegM(n) |
---|
| 47 | #define n_Sub_FieldZp(n1, n2, r) npSubM(n1, n2) |
---|
| 48 | #define n_InpMult_FieldZp(n1, n2, r) n1=npMultM(n1, n2) |
---|
| 49 | |
---|
| 50 | #define DO_LINLINE |
---|
| 51 | #include "longrat.cc" |
---|
| 52 | #define n_Copy_FieldQ(n, r) nlCopy(n) |
---|
| 53 | #define n_Delete_FieldQ(n, r) nlDelete(n,r) |
---|
| 54 | #define n_Mult_FieldQ(n1, n2, r) nlMult(n1,n2) |
---|
| 55 | #define n_Add_FieldQ(n1, n2, r) nlAdd(n1, n2) |
---|
| 56 | #define n_IsZero_FieldQ(n, r) nlIsZero(n) |
---|
| 57 | #define n_Equal_FieldQ(n1, n2, r) nlEqual(n1, n2) |
---|
| 58 | #define n_Neg_FieldQ(n, r) nlNeg(n) |
---|
| 59 | #define n_Sub_FieldQ(n1, n2, r) nlSub(n1, n2) |
---|
| 60 | #define n_InpMult_FieldQ(n1, n2, r) nlInpMult(n1, n2, r) |
---|
| 61 | #endif |
---|