Changeset 55b747 in git
- Timestamp:
- Apr 4, 2018, 6:55:03 PM (5 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 15d6bf96cee82d224cc98ac91b2ee533a290e13a
- Parents:
- d795761c5157c077e2f8451be201ede9fd36fb3f
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/ffops.h
rd795761 r55b747 40 40 { 41 41 int n = a % ff_prime; 42 #if defined(i386) || defined( NTL_AVOID_BRANCHING)42 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 43 43 n += (n >> 31) & ff_prime; 44 44 return n; … … 52 52 { 53 53 long n = a % ff_prime; 54 #if defined(i386) || defined( NTL_AVOID_BRANCHING)54 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 55 55 n += (n >> 31) & ff_prime; 56 56 return n; … … 80 80 { 81 81 int n = (int)(a % (long)ff_prime); 82 #if defined(i386) || defined( NTL_AVOID_BRANCHING)82 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 83 83 n += (n >> 31) & ff_prime; 84 84 return n; … … 92 92 { 93 93 int n = (int)(a % (FACTORY_INT64)ff_prime); 94 #if defined(i386) || defined( NTL_AVOID_BRANCHING)94 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 95 95 n += (n >> 31) & ff_prime; 96 96 return n; … … 104 104 { 105 105 //return ff_norm( a + b ); 106 #if defined(i386) || defined( NTL_AVOID_BRANCHING)106 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 107 107 int r=( a + b ); 108 108 r -= ff_prime; … … 119 119 { 120 120 //return ff_norm( a - b ); 121 #if defined(i386) || defined( NTL_AVOID_BRANCHING)121 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 122 122 int r=( a - b ); 123 123 r += (r >> 31) & ff_prime; … … 134 134 //return ff_norm( -a ); 135 135 // EXPERIMENT 136 #if defined(i386) || defined( NTL_AVOID_BRANCHING)136 #if defined(i386) || defined(__x86_64__) || defined(NTL_AVOID_BRANCHING) 137 137 int r= -a; 138 138 r += (r >> 31) & ff_prime; -
libpolys/coeffs/modulop.h
rd795761 r55b747 56 56 { 57 57 long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b]; 58 return (number)(long)r->npExpTable[x<=r->npPminus1M ? x : x- r->npPminus1M]; 58 #ifdef HAVE_GENERIC_ADD 59 if (x>r->npPminus1M) x-=r->npPminus1M; 60 #else 61 x-=r->npPminus1M; 62 #if SIZEOF_LONG == 8 63 x += (x >> 63) & r->npPminus1M; 64 #else 65 x += (x >> 31) & r->npPminus1M; 66 #endif 67 #endif 68 return (number)(long)r->npExpTable[x]; 59 69 } 60 70 static inline void npInpMultM(number &a, number b, const coeffs r) 61 71 { 62 72 long x = (long)r->npLogTable[(long)a]+ r->npLogTable[(long)b]; 63 a=(number)(long)r->npExpTable[x<=r->npPminus1M ? x : x- r->npPminus1M]; 73 #ifdef HAVE_GENERIC_ADD 74 if (x>r->npPminus1M) x-=r->npPminus1M; 75 #else 76 x-=r->npPminus1M; 77 #if SIZEOF_LONG == 8 78 x += (x >> 63) & r->npPminus1M; 79 #else 80 x += (x >> 31) & r->npPminus1M; 81 #endif 82 #endif 83 a=(number)(long)r->npExpTable[x]; 64 84 } 65 85 #endif
Note: See TracChangeset
for help on using the changeset viewer.