#pragma once

typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
typedef unsigned short uint16_t;
typedef signed long int int32_t;
typedef unsigned long int uint32_t;
typedef signed long long int int64_t;
typedef unsigned long long int uint64_t;
typedef uint32_t size_t;  // Adjust size based on your platform; 32-bit or 64-bit


typedef uint8_t bool;

#define false       0
#define true        1

#define NULL        ((void*)0)
#define min(a,b)    ((a) < (b) ? (a) : (b))
#define max(a,b)    ((a) > (b) ? (a) : (b))

// Define size_t as an unsigned integer type for sizes and indices
