Euphoria
cint.cc
Go to the documentation of this file.
1 #include "base/cint.h"
2 
3 #include <limits>
4 
5 #include "assert/assert.h"
6 
7 
8 namespace eu
9 {
10  int
11  c_sizet_to_int(size_t t)
12  {
13  ASSERTX(t <= static_cast<size_t>(std::numeric_limits<int>::max()), t);
14  return static_cast<int>(t);
15  }
16 
17 
18  int
19  c_unsigned_int_to_int(unsigned int i)
20  {
21  ASSERTX(i <= static_cast<unsigned int>(std::numeric_limits<int>::max()), i);
22  return static_cast<int>(i);
23  }
24 
25 
26  unsigned int
28  {
29  ASSERTX(i >= 0, i);
30  return static_cast<unsigned int>(i);
31  }
32 
33 
34  size_t
36  {
37  ASSERTX(i >= 0, i);
38  return static_cast<size_t>(i);
39  }
40 
41  U8
42  c_int_to_u8(unsigned int i)
43  {
44  ASSERTX(i <255, i);
45  return static_cast<U8>(i);
46  }
47 
48  int
50  {
51  ASSERTX(u < static_cast<U64>(std::numeric_limits<int>::max()), u);
52  return static_cast<int>(u);
53  }
54 }
55 
#define ASSERTX(x,...)
Definition: assert.h:48
Definition: assert.h:90
int c_sizet_to_int(size_t t)
Definition: cint.cc:11
int c_u64_to_int(U64 u)
Definition: cint.cc:49
size_t c_int_to_sizet(int i)
Definition: cint.cc:35
U8 c_int_to_u8(unsigned int i)
Definition: cint.cc:42
std::uint8_t U8
Definition: ints.h:15
int c_unsigned_int_to_int(unsigned int i)
Definition: cint.cc:19
std::uint64_t U64
Definition: ints.h:12
size2f max(const size2f lhs, const size2f rhs)
Definition: size2.cc:149
unsigned int c_int_to_unsigned_int(int i)
Definition: cint.cc:27