#pragma once

#include "stdio.h"
#include "stdint.h"

#define SHARK_BOOL(value)	((shark_bool) (value))
#define SHARK_U64(value)	((shark_u64) (value))
#define SHARK_U32(value)	((shark_u32) (value))
#define SHARK_U24(value)	((shark_u24) (value))
#define SHARK_U16(value)	((shark_u16) (value))
#define SHARK_U8(value)		((shark_u8) (value))

#define NELEM(array)		(sizeof(array) / sizeof((array)[0]))

#define shark_false			0
#define shark_true			1

typedef uint64_t shark_u64, u64;
typedef uint32_t shark_u32, u32;
typedef uint32_t shark_u24, u24;
typedef uint16_t shark_u16, u16;
typedef uint8_t shark_u8, u8;
typedef uint8_t shark_bool;

typedef int64_t shark_s64, s64;
typedef int32_t shark_s32, s32;
typedef int32_t shark_s24, s24;
typedef int16_t shark_s16, s16;
typedef int8_t shark_s8, s8;

