source: git/ntl/include/NTL/mach_desc.h @ 92c0ac

spielwiese
Last change on this file since 92c0ac was 92c0ac, checked in by Hans Schönemann <hannes@…>, 21 years ago
NTL-5.2 git-svn-id: file:///usr/local/Singular/svn/trunk@6320 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.7 KB
Line 
1#ifndef NTL_mach_desc__H
2#define NTL_mach_desc__H
3
4
5#define NTL_BITS_PER_LONG (32)
6#define NTL_MAX_LONG (2147483647L)
7#define NTL_MAX_INT (2147483647)
8#define NTL_BITS_PER_INT (32)
9#define NTL_ARITH_RIGHT_SHIFT (1)
10#define NTL_NBITS_MAX (30)
11#define NTL_DOUBLE_PRECISION (53)
12#define NTL_FDOUBLE_PRECISION (((double)(1L<<30))*((double)(1L<<22)))
13#define NTL_QUAD_FLOAT_SPLIT ((((double)(1L<<27)))+1.0)
14#define NTL_EXT_DOUBLE (1)
15#define NTL_SINGLE_MUL_OK (1)
16#define NTL_DOUBLES_LOW_HIGH (1)
17
18
19
20
21#define NTL_BB_MUL_CODE \
22hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>26)&3];\
23hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>24)&3];\
24hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>22)&3];\
25hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>20)&3];\
26hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>18)&3];\
27hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>16)&3];\
28hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>14)&3];\
29hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>12)&3];\
30hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>10)&3];\
31hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>8)&3];\
32hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>6)&3];\
33hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>4)&3];\
34hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>2)&3];\
35
36
37
38
39#define NTL_BB_HALF_MUL_CODE \
40hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>10)&3];\
41hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>8)&3];\
42hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>6)&3];\
43hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>4)&3];\
44hi=(hi<<2)|(lo>>30); lo=(lo<<2)^A[(b>>2)&3];\
45
46
47
48
49#define NTL_BB_SQR_CODE \
50lo=sqrtab[a&255];\
51lo=lo|(sqrtab[(a>>8)&255]<<16);\
52hi=sqrtab[(a>>16)&255];\
53hi=hi|(sqrtab[(a>>24)&255]<<16);\
54
55
56
57
58#define NTL_BB_REV_CODE (revtab[(a>>0)&255]<<24)\
59|(revtab[(a>>8)&255]<<16)\
60|(revtab[(a>>16)&255]<<8)\
61|(revtab[(a>>24)&255]<<0)
62
63#define NTL_MIN_LONG (-NTL_MAX_LONG - 1L)
64#define NTL_MIN_INT  (-NTL_MAX_INT - 1)
65#endif
66
Note: See TracBrowser for help on using the repository browser.