Changeset 994445 in git for kernel/rmodulo2m.h


Ignore:
Timestamp:
May 3, 2007, 3:50:10 PM (17 years ago)
Author:
Oliver Wienand <wienand@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
bf64c41bd9346d70ecaaab3ee59f58f5d9d766e8
Parents:
68f702755adfca2ca864e4c2c157ecd0db64cea8
Message:
Neuer Koeffizientenbereich Z/n
Neuer Makrodatentyp NATNUMBER = unsigned long
Bisschen aufgeraeumt


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

Legend:

Unmodified
Added
Removed
  • kernel/rmodulo2m.h

    r68f7027 r994445  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: rmodulo2m.h,v 1.3 2006-12-06 17:43:32 Singular Exp $ */
     6/* $Id: rmodulo2m.h,v 1.4 2007-05-03 13:50:10 wienand Exp $ */
    77/*
    88* ABSTRACT: numbers modulo 2^m
     
    1212
    1313extern int nr2mExp;
    14 extern long nr2mModul;
     14extern NATNUMBER nr2mModul;
    1515
    1616BOOLEAN nr2mGreaterZero (number k);
     
    4646{
    4747  return (number)
    48     ((((unsigned long) a)*((unsigned long) b)) % ((unsigned long) nr2mModul));
     48    ((((NATNUMBER) a)*((NATNUMBER) b)) % ((NATNUMBER) nr2mModul));
    4949}
    5050
    5151static inline number nr2mAddM(number a, number b)
    5252{
    53   long r = (long)a + (long)b;
     53  NATNUMBER r = (NATNUMBER)a + (NATNUMBER)b;
    5454  return (number) (r >= nr2mModul ? r - nr2mModul : r);
    5555}
     
    5757static inline number nr2mSubM(number a, number b)
    5858{
    59   return (number)((long)a<(long)b ?
    60                        nr2mModul-(long)b+(long)a : (long)a-(long)b);
     59  return (number)((NATNUMBER)a<(NATNUMBER)b ?
     60                       nr2mModul-(NATNUMBER)b+(NATNUMBER)a : (NATNUMBER)a-(NATNUMBER)b);
    6161}
    6262
    63 #define nr2mNegM(A) (number)(nr2mModul-(long)(A))
     63#define nr2mNegM(A) (number)(nr2mModul-(NATNUMBER)(A))
    6464#define nr2mEqualM(A,B)  ((A)==(B))
    6565
Note: See TracChangeset for help on using the changeset viewer.