#pragma once

#include <glm/glm.hpp>

namespace glm {
    typedef long double lf;
    typedef long long ll;
    typedef int_fast32_t l;
    typedef uint16_t us;
    typedef uint8_t uc;

    typedef vec<3, lf> lfvec3;
    typedef vec<3, ll> llvec3;
    typedef vec<3, l> lvec3;
    typedef vec<3, us> usvec3;
    typedef vec<3, uc> ucvec3;

    const auto IDX_LENGTH = 32;
    const auto IDX_LENGTH2 = IDX_LENGTH * IDX_LENGTH;
    const auto IDX_SIZE = IDX_LENGTH2 * IDX_LENGTH;
    using idx = glm::u16;
}
