Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
int_t.h
Go to the documentation of this file.
1#ifndef __compiler_rt_int_t_h__
2#define __compiler_rt_int_t_h__
3#include <stdint.h>
4#include <limits.h>
5
6typedef union
7{
8 __int128 all;
9 struct
10 {
13 }s;
14} twords;
15
16typedef union
17{
18 unsigned __int128 all;
19 struct
20 {
23 }s;
24} utwords;
25
26typedef union
27{
29 struct
30 {
33 }s;
34} udwords;
35
36typedef union
37{
39 double f;
41
42
43typedef __int128 ti_int;
44typedef unsigned __int128 tu_int;
45inline __int128 __clzti2(__int128 a)
46{
47 twords x;
48 x.all = a;
49 const int64_t f = -(x.s.high == 0);
50 return __builtin_clzll((x.s.high & ~f) | (x.s.low & f)) +
51 ((int32_t)f & ((int32_t)(sizeof(int64_t) * CHAR_BIT)));
52}
53
54#endif// __compiler_rt_int_t_h__
unsigned __int128 tu_int
Definition fixunstfti.c:15
__int128 __clzti2(__int128 a)
Definition int_t.h:45
__int128 ti_int
Definition int_t.h:43
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition pointer.h:1181
signed __int64 int64_t
Definition stdint.h:135
unsigned int uint32_t
Definition stdint.h:126
signed int int32_t
Definition stdint.h:123
unsigned __int64 uint64_t
Definition stdint.h:136
double f
Definition int_t.h:39
udwords u
Definition int_t.h:38
Definition int_t.h:7
struct twords::@0 s
uint64_t low
Definition int_t.h:11
__int128 all
Definition int_t.h:8
int64_t high
Definition int_t.h:12
uint64_t all
Definition int_t.h:28
uint32_t low
Definition int_t.h:31
uint32_t high
Definition int_t.h:32
unsigned __int128 all
Definition int_t.h:18
uint64_t high
Definition int_t.h:22
uint64_t low
Definition int_t.h:21
char * s