Changeset 8e56ad in git for kernel/rmodulon.h


Ignore:
Timestamp:
Jan 30, 2008, 2:03:41 PM (16 years ago)
Author:
Oliver Wienand <wienand@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
faa7df853a3237b63560a72ed208619df8d26215
Parents:
b18621d3f9473a4a76cf41af06dfefe3b7a400f5
Message:
rintegers.cc:
Bereinigung

rmodulon:
Umstellung auf gmp


git-svn-id: file:///usr/local/Singular/svn/trunk@10534 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/rmodulon.h

    rb18621 r8e56ad  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: rmodulon.h,v 1.4 2007-06-20 09:39:25 wienand Exp $ */
     6/* $Id: rmodulon.h,v 1.5 2008-01-30 13:03:41 wienand Exp $ */
    77/*
    88* ABSTRACT: numbers modulo n
     
    1414#define NATNUMBER unsigned long
    1515#endif
    16 
    17 extern int nrnExp;
    18 extern NATNUMBER nrnModul;
    1916
    2017BOOLEAN nrnGreaterZero (number k);
     
    5148void    nrnInitExp(int c, ring r);
    5249
    53 
    54 static inline number nrnMultM(number a, number b)
    55 {
    56   return (number)
    57     ((((NATNUMBER) a)*((NATNUMBER) b)) % ((NATNUMBER) nrnModul));
    58 }
    59 
    60 static inline number nrnAddM(number a, number b)
    61 {
    62   NATNUMBER r = (NATNUMBER)a + (NATNUMBER)b;
    63   return (number) (r >= nrnModul ? r - nrnModul : r);
    64 }
    65 
    66 static inline number nrnSubM(number a, number b)
    67 {
    68   return (number)((NATNUMBER)a<(NATNUMBER)b ?
    69                        nrnModul-(NATNUMBER)b+(NATNUMBER)a : (NATNUMBER)a-(NATNUMBER)b);
    70 }
    71 
    72 #define nrnNegM(A) (number)(nrnModul-(NATNUMBER)(A))
    73 #define nrnEqualM(A,B)  ((A)==(B))
    74 
    7550#endif
    7651#endif
Note: See TracChangeset for help on using the changeset viewer.