source: to-imperative/trunk/runtime/rf_integer.hh @ 1010

Last change on this file since 1010 was 1010, checked in by pooh, 18 years ago
  • More work on long arithmetic.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
Line 
1#ifndef __rf_integer_hh__
2#define __rf_integer_hh__
3
4#include "rf_types.hh"
5#include "rf_expr.hh"
6#include "rf_term.hh"
7#include "pxx_string.hh"
8#include <gmp.h>
9
10namespace rftype
11{
12
13using namespace rfrt;
14
15class Integer :
16  public Term
17{
18
19public:
20
21  inline Integer (intptr_t _n) ;
22  inline Integer (Integer const& _n) ;
23  inline Integer (pxx::WString& _str) ;
24  inline ~Integer () ;
25  inline Integer& operator = (Integer const& _n) ;
26
27  inline bool operator == (Integer const& _n) const ;
28  inline int cmp (Integer const& _n) const ;
29
30  inline operator pxx::WString () const ;
31
32  static inline Expr create_expr (intptr_t _n) ;
33  static inline Expr create_expr (pxx::WString& _str) ;
34  inline mpz_t* get_mpz_ptr () ;
35
36  inline size_t get_char_len () const ;
37
38  static void ctor (Integer* _to, Integer const* _from) ;
39  static void dtor (Integer* _n) ;
40  static bool eq (Integer const* _n1, Integer const* _n2) ;
41  static int compare (Integer const* _n1, Integer const* _n2) ;
42  static uint32_t hash (Integer const* _shint) ;
43  static pxx::WString to_string (Integer const* _shint) ;
44  static short_type_funcs_t funcs ;
45  static TypeRegister reg ;
46
47};
48
49}
50
51#endif // __rf_integer_hh__
Note: See TracBrowser for help on using the repository browser.