Changeset a1e8742 in git for Singular/modulop.h
- Timestamp:
- Mar 2, 2000, 7:44:39 PM (24 years ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
- Children:
- b74df82da5481f8597c226c901371bb6fb30e477
- Parents:
- ff5e0d08ed70bf7df92e057766905c2014edc1bb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/modulop.h
rff5e0d ra1e8742 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: modulop.h,v 1. 9 1999-11-15 17:20:29 obachmanExp $ */6 /* $Id: modulop.h,v 1.10 2000-03-02 18:44:39 Singular Exp $ */ 7 7 /* 8 8 * ABSTRACT: numbers modulo p (<=32003) … … 51 51 } 52 52 53 #if 0 54 inline number npAddAsm(number a, number b, int m) 55 { 56 number r; 57 asm ("addl %2, %1; cmpl %3, %1; jb 0f; subl %3, %1; 0:" 58 : "=&r" (r) 59 : "%0" (a), "g" (b), "g" (m) 60 : "cc"); 61 return r; 62 } 63 inline number npSubAsm(number a, number b, int m) 64 { 65 number r; 66 asm ("subl %2, %1; jnc 0f; addl %3, %1; 0:" 67 : "=&r" (r) 68 : "%0" (a), "g" (b), "g" (m) 69 : "cc"); 70 return r; 71 } 72 #endif 73 53 74 inline number npAddM(number a, number b) 54 75 { 55 int ka = (int)a + (int)b; 56 if (ka >= npPrimeM) ka -= npPrimeM; 57 return (number)ka; 76 int r = (int)a + (int)b; 77 return (number)(r >= npPrimeM ? r - npPrimeM : r); 58 78 } 59 79
Note: See TracChangeset
for help on using the changeset viewer.