PolyBoRi
Long64From32BitsPair.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 //*****************************************************************************
14 //*****************************************************************************
15 
16 #ifndef polybori_groebner_Long64From32BitsPair_h_
17 #define polybori_groebner_Long64From32BitsPair_h_
18 
19 // include basic definitions
20 #include "groebner_defs.h"
21 #include "PseudoLongLong.h"
22 
24 
30 template <unsigned long High, unsigned long Low, unsigned SizeOfLong>
32 
33 
34 template <unsigned long High, unsigned long Low>
35 class Long64From32BitsPairBase<High, Low, 4> {
36 public:
37  static PseudoLongLong<High, Low> get() {
39  }
40 };
41 
42 
43 template <unsigned long High,
44  unsigned long Low>
45 class Long64From32BitsPairBase<High, Low, 8> {
46 public:
47  typedef unsigned long long_type;
48  static long_type get() { return (High << sizeof(long_type)*4) + Low; }
49 };
50 
55 template <unsigned long High, unsigned long Low>
57  public Long64From32BitsPairBase<High, Low,
58  sizeof(unsigned long)> {
59 public:
60  typedef unsigned long long_type;
61 
62 };
63 
64 
66 
67 #endif /* polybori_groebner_Long64From32BitsPair_h_ */