typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
typedef unsigned long long u64;

typedef signed char i8;
typedef signed short i16;
typedef signed int i32;
typedef signed long long i64;

typedef float f32;
typedef double f64;

typedef double4 f64x4;
#define make_f64x4 make_double4

#define restrict __restrict__
#define entrypoint extern "C" __global__
