in process of updating c11.refactor (last at toolchain.h)

This commit is contained in:
2025-02-08 02:17:19 -05:00
parent e8809a243f
commit 9afebbea54
6 changed files with 683 additions and 60 deletions
+6 -1
View File
@@ -65,7 +65,12 @@
"profiling.h": "c",
"ring.h": "c",
"debug.h": "c",
"arena.h": "c"
"arena.h": "c",
"tmmintrin.h": "c",
"math.h": "c",
"command_line.h": "c",
"sort.h": "c",
"chrono": "c"
},
"workbench.colorCustomizations": {
"activityBar.activeBackground": "#713fb8",
+2 -2
View File
@@ -74,8 +74,8 @@ AllocatorInfo arena_allocator(Arena* arena) {
//- rjf: arena creation/destruction
MD_API Arena* arena_alloc_(ArenaParams* params);
#define arena_alloc(...) arena_alloc_( &(ArenaParams){ __VA_ARGS__ } )
MD_API Arena* arena__alloc(ArenaParams* params);
#define arena_alloc(...) arena__alloc( &(ArenaParams){ __VA_ARGS__ } )
void arena_release(Arena *arena);
+5
View File
@@ -0,0 +1,5 @@
#ifdef INTELLISENSE_DIRECTIVES
# include "base.h"
#endif
+4 -4
View File
@@ -132,13 +132,13 @@ typedef void VoidProc(void);
#if ARCH_32BIT
# define MIN_USIZE U32_MIN
# define MAX_USIZE U32_MAX
# define MIN_ISIZE S32_MIN
# define MAX_ISIZE S32_MAX
# define MIN_SSIZE S32_MIN
# define MAX_SSIZE S32_MAX
#elif ARCH_64BIT
# define MIN_USIZE U64_MIN
# define MAX_USIZE U64_MAX
# define MIN_ISIZE S64_MIN
# define MAX_ISIZE S64_MAX
# define MIN_SSIZE S64_MIN
# define MAX_SSIZE S64_MAX
#else
# error Unknown architecture size. This library only supports 32 bit and 64 bit architectures.
#endif
+22 -22
View File
@@ -362,11 +362,11 @@ struct Rng1S64Array
////////////////////////////////
//~ rjf: Clamps, Mins, Maxes
#ifndef min
#define min(A, B) (((A) < (B)) ? (A) : (B))
#ifndef md_min
#define md_min(A, B) (((A) < (B)) ? (A) : (B))
#endif
#ifndef max
#define max(A, B) (((A) > (B)) ? (A) : (B))
#ifndef md_max
#define md_max(A, B) (((A) > (B)) ? (A) : (B))
#endif
#ifndef clamp_top
@@ -780,8 +780,8 @@ inline Rng1U32 pad_1u32 (Rng1U32 r, U32 x) { r.min -= x; r.max
inline U32 center_1u32 (Rng1U32 r) { U32 c = (r.min + r.max) / 2; return c; }
inline B32 contains_1u32 (Rng1U32 r, U32 x) { B32 c = (r.min <= x && x < r.max); return c; }
inline U32 dim_1u32 (Rng1U32 r) { U32 c = r.max - r.min; return c; }
inline Rng1U32 union_1u32 (Rng1U32 a, Rng1U32 b) { Rng1U32 c = {min(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1U32 intersect_1u32(Rng1U32 a, Rng1U32 b) { Rng1U32 c = {max(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1U32 union_1u32 (Rng1U32 a, Rng1U32 b) { Rng1U32 c = {md_min(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline Rng1U32 intersect_1u32(Rng1U32 a, Rng1U32 b) { Rng1U32 c = {md_max(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline U32 clamp_1u32 (Rng1U32 r, U32 v) { v = clamp(r.min, v, r.max); return v; }
#define r1s32(min, max) rng_1s32((min), (max))
@@ -791,8 +791,8 @@ inline Rng1S32 pad_1s32 (Rng1S32 r, S32 x) { r.min -= x; r.max
inline S32 center_1s32 (Rng1S32 r) { S32 c = (r.min+r.max) / 2; return c; }
inline B32 contains_1s32 (Rng1S32 r, S32 x) { B32 c = (r.min <= x && x < r.max); return c; }
inline S32 dim_1s32 (Rng1S32 r) { S32 c = r.max-r.min; return c; }
inline Rng1S32 union_1s32 (Rng1S32 a, Rng1S32 b) { Rng1S32 c = {min(a.min, b.min), max(a.max, b.max)}; return c; }
inline Rng1S32 intersect_1s32(Rng1S32 a, Rng1S32 b) { Rng1S32 c = {max(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1S32 union_1s32 (Rng1S32 a, Rng1S32 b) { Rng1S32 c = {md_min(a.min, b.min), md_max(a.max, b.max)}; return c; }
inline Rng1S32 intersect_1s32(Rng1S32 a, Rng1S32 b) { Rng1S32 c = {md_max(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline S32 clamp_1s32 (Rng1S32 r, S32 v) { v = clamp(r.min, v, r.max); return v; }
#define r1u64(min, max) rng_1u64((min), (max))
@@ -802,8 +802,8 @@ inline Rng1U64 pad_1u64 (Rng1U64 r, U64 x) { r.min -= x; r.max
inline U64 center_1u64 (Rng1U64 r) { U64 c = (r.min + r.max)/2; return c; }
inline B32 contains_1u64 (Rng1U64 r, U64 x) { B32 c = (r.min <= x && x < r.max); return c; }
inline U64 dim_1u64 (Rng1U64 r) { U64 c = r.max-r.min; return c; }
inline Rng1U64 union_1u64 (Rng1U64 a, Rng1U64 b) { Rng1U64 c = {min(a.min, b.min), max(a.max, b.max)}; return c; }
inline Rng1U64 intersect_1u64(Rng1U64 a, Rng1U64 b) { Rng1U64 c = {max(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1U64 union_1u64 (Rng1U64 a, Rng1U64 b) { Rng1U64 c = {md_min(a.min, b.min), md_max(a.max, b.max)}; return c; }
inline Rng1U64 intersect_1u64(Rng1U64 a, Rng1U64 b) { Rng1U64 c = {md_max(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline U64 clamp_1u64 (Rng1U64 r, U64 v) { v = clamp(r.min, v, r.max); return v; }
#define r1s64(min, max) rng_1s64((min), (max))
@@ -813,8 +813,8 @@ inline Rng1S64 pad_1s64 (Rng1S64 r, S64 x) { r.min -= x; r.max
inline S64 center_1s64 (Rng1S64 r) { S64 c = (r.min + r.max) / 2; return c; }
inline B32 contains_1s64 (Rng1S64 r, S64 x) { B32 c = (r.min <= x && x < r.max); return c; }
inline S64 dim_1s64 (Rng1S64 r) { S64 c = r.max - r.min; return c; }
inline Rng1S64 union_1s64 (Rng1S64 a, Rng1S64 b) { Rng1S64 c = {min(a.min, b.min), max(a.max, b.max)}; return c; }
inline Rng1S64 intersect_1s64(Rng1S64 a, Rng1S64 b) { Rng1S64 c = {max(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1S64 union_1s64 (Rng1S64 a, Rng1S64 b) { Rng1S64 c = {md_min(a.min, b.min), md_max(a.max, b.max)}; return c; }
inline Rng1S64 intersect_1s64(Rng1S64 a, Rng1S64 b) { Rng1S64 c = {md_max(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline S64 clamp_1s64 (Rng1S64 r, S64 v) { v = clamp(r.min, v, r.max); return v;}
#define r1f32(min, max) rng_1f32((min), (max))
@@ -824,8 +824,8 @@ inline Rng1F32 pad_1f32 (Rng1F32 r, F32 x) { r.min -= x; r.max
inline F32 center_1f32 (Rng1F32 r) { F32 c = (r.min + r.max) / 2; return c; }
inline B32 contains_1f32 (Rng1F32 r, F32 x) { B32 c = (r.min <= x && x < r.max); return c; }
inline F32 dim_1f32 (Rng1F32 r) { F32 c = r.max - r.min; return c; }
inline Rng1F32 union_1f32 (Rng1F32 a, Rng1F32 b) { Rng1F32 c = {min(a.min, b.min), max(a.max, b.max)}; return c; }
inline Rng1F32 intersect_1f32(Rng1F32 a, Rng1F32 b) { Rng1F32 c = {max(a.min, b.min), min(a.max, b.max)}; return c; }
inline Rng1F32 union_1f32 (Rng1F32 a, Rng1F32 b) { Rng1F32 c = {md_min(a.min, b.min), md_max(a.max, b.max)}; return c; }
inline Rng1F32 intersect_1f32(Rng1F32 a, Rng1F32 b) { Rng1F32 c = {md_max(a.min, b.min), md_min(a.max, b.max)}; return c; }
inline F32 clamp_1f32 (Rng1F32 r, F32 v) { v = clamp(r.min, v, r.max); return v; }
// ==================== 2D Ranges ====================
@@ -838,8 +838,8 @@ inline Rng2S16 pad_2s16 (Rng2S16 r, S16 x) { Vec2S16 xv = {x, x}; r
inline Vec2S16 center_2s16 (Rng2S16 r) { Vec2S16 c = {(S16)((r.min.x + r.max.x) / 2), (S16)((r.min.y + r.max.y) / 2)}; return c; }
inline B32 contains_2s16 (Rng2S16 r, Vec2S16 x) { B32 c = (r.min.x <= x.x && x.x < r.max.x && r.min.y <= x.y && x.y < r.max.y); return c; }
inline Vec2S16 dim_2s16 (Rng2S16 r) { Vec2S16 dim = {(S16)(r.max.x - r.min.x), (S16)(r.max.y - r.min.y)}; return dim; }
inline Rng2S16 union_2s16 (Rng2S16 a, Rng2S16 b) { Rng2S16 c; c.p0.x = min(a.min.x, b.min.x); c.p0.y = min(a.min.y, b.min.y); c.p1.x = max(a.max.x, b.max.x); c.p1.y = max(a.max.y, b.max.y); return c; }
inline Rng2S16 intersect_2s16(Rng2S16 a, Rng2S16 b) { Rng2S16 c; c.p0.x = max(a.min.x, b.min.x); c.p0.y = max(a.min.y, b.min.y); c.p1.x = min(a.max.x, b.max.x); c.p1.y = min(a.max.y, b.max.y); return c; }
inline Rng2S16 union_2s16 (Rng2S16 a, Rng2S16 b) { Rng2S16 c; c.p0.x = md_min(a.min.x, b.min.x); c.p0.y = md_min(a.min.y, b.min.y); c.p1.x = md_max(a.max.x, b.max.x); c.p1.y = md_max(a.max.y, b.max.y); return c; }
inline Rng2S16 intersect_2s16(Rng2S16 a, Rng2S16 b) { Rng2S16 c; c.p0.x = md_max(a.min.x, b.min.x); c.p0.y = md_max(a.min.y, b.min.y); c.p1.x = md_min(a.max.x, b.max.x); c.p1.y = md_min(a.max.y, b.max.y); return c; }
inline Vec2S16 clamp_2s16 (Rng2S16 r, Vec2S16 v) { v.x = clamp(r.min.x, v.x, r.max.x); v.y = clamp(r.min.y, v.y, r.max.y); return v; }
#define r2s32(min, max) rng_2s32((min), (max))
@@ -850,8 +850,8 @@ inline Rng2S32 pad_2s32 (Rng2S32 r, S32 x) { Vec2S32 xv = {x, x}; r
inline Vec2S32 center_2s32 (Rng2S32 r) { Vec2S32 c = {(r.min.x + r.max.x) / 2, (r.min.y + r.max.y) / 2}; return c; }
inline B32 contains_2s32 (Rng2S32 r, Vec2S32 x) { B32 c = (r.min.x <= x.x && x.x < r.max.x && r.min.y <= x.y && x.y < r.max.y); return c; }
inline Vec2S32 dim_2s32 (Rng2S32 r) { Vec2S32 dim = {r.max.x - r.min.x, r.max.y - r.min.y}; return dim; }
inline Rng2S32 union_2s32 (Rng2S32 a, Rng2S32 b) { Rng2S32 c; c.p0.x = min(a.min.x, b.min.x); c.p0.y = min(a.min.y, b.min.y); c.p1.x = max(a.max.x, b.max.x); c.p1.y = max(a.max.y, b.max.y); return c; }
inline Rng2S32 intersect_2s32(Rng2S32 a, Rng2S32 b) { Rng2S32 c; c.p0.x = max(a.min.x, b.min.x); c.p0.y = max(a.min.y, b.min.y); c.p1.x = min(a.max.x, b.max.x); c.p1.y = min(a.max.y, b.max.y); return c; }
inline Rng2S32 union_2s32 (Rng2S32 a, Rng2S32 b) { Rng2S32 c; c.p0.x = md_min(a.min.x, b.min.x); c.p0.y = md_min(a.min.y, b.min.y); c.p1.x = md_max(a.max.x, b.max.x); c.p1.y = md_max(a.max.y, b.max.y); return c; }
inline Rng2S32 intersect_2s32(Rng2S32 a, Rng2S32 b) { Rng2S32 c; c.p0.x = md_max(a.min.x, b.min.x); c.p0.y = md_max(a.min.y, b.min.y); c.p1.x = md_min(a.max.x, b.max.x); c.p1.y = md_min(a.max.y, b.max.y); return c; }
inline Vec2S32 clamp_2s32 (Rng2S32 r, Vec2S32 v) { v.x = clamp(r.min.x, v.x, r.max.x); v.y = clamp(r.min.y, v.y, r.max.y); return v; }
#define r2s64(min, max) rng_2s64((min), (max))
@@ -862,8 +862,8 @@ inline Rng2S64 pad_2s64 (Rng2S64 r, S64 x) { Vec2S64 xv = {x, x}; r
inline Vec2S64 center_2s64 (Rng2S64 r) { Vec2S64 c = {(r.min.x + r.max.x) / 2, (r.min.y + r.max.y) / 2}; return c; }
inline B32 contains_2s64 (Rng2S64 r, Vec2S64 x) { B32 c = (r.min.x <= x.x && x.x < r.max.x && r.min.y <= x.y && x.y < r.max.y); return c; }
inline Vec2S64 dim_2s64 (Rng2S64 r) { Vec2S64 dim = {r.max.x - r.min.x, r.max.y - r.min.y}; return dim; }
inline Rng2S64 union_2s64 (Rng2S64 a, Rng2S64 b) { Rng2S64 c; c.p0.x = min(a.min.x, b.min.x); c.p0.y = min(a.min.y, b.min.y); c.p1.x = max(a.max.x, b.max.x); c.p1.y = max(a.max.y, b.max.y); return c; }
inline Rng2S64 intersect_2s64(Rng2S64 a, Rng2S64 b) { Rng2S64 c; c.p0.x = max(a.min.x, b.min.x); c.p0.y = max(a.min.y, b.min.y); c.p1.x = min(a.max.x, b.max.x); c.p1.y = min(a.max.y, b.max.y); return c; }
inline Rng2S64 union_2s64 (Rng2S64 a, Rng2S64 b) { Rng2S64 c; c.p0.x = md_min(a.min.x, b.min.x); c.p0.y = md_min(a.min.y, b.min.y); c.p1.x = md_max(a.max.x, b.max.x); c.p1.y = md_max(a.max.y, b.max.y); return c; }
inline Rng2S64 intersect_2s64(Rng2S64 a, Rng2S64 b) { Rng2S64 c; c.p0.x = md_max(a.min.x, b.min.x); c.p0.y = md_max(a.min.y, b.min.y); c.p1.x = md_min(a.max.x, b.max.x); c.p1.y = md_min(a.max.y, b.max.y); return c; }
inline Vec2S64 clamp_2s32 (Rng2S64 r, Vec2S64 v) { v.x = clamp(r.min.x, v.x, r.max.x); v.y = clamp(r.min.y, v.y, r.max.y); return v; }
////////////////////////////////
@@ -879,8 +879,8 @@ U32 u32_from_rgba (Vec4F32 rgba);
inline Vec3F32
hsv_from_rgb(Vec3F32 rgb)
{
F32 c_max = Max(rgb.x, Max(rgb.y, rgb.z));
F32 c_min = Min(rgb.x, Min(rgb.y, rgb.z));
F32 c_max = md_max(rgb.x, md_max(rgb.y, rgb.z));
F32 c_min = md_min(rgb.x, md_min(rgb.y, rgb.z));
F32 delta = c_max - c_min;
F32 q_delta = 1.0f / delta;
F32 h = (
+644 -31
View File
@@ -17,13 +17,15 @@
// base/context_cracking.h
word HAS_ATTRIBUTE, MD_HAS_ATTRIBUTE
namespace BUILD_, MD_BUILD_
namespace ARCH_, MD_ARCH_
namespace COMPILER_, MD_COMPILER_
namespace GCC_, MD_GCC_
namespace LANG_, MD_LANG_
namespace OS_, MD_OS_
namespace ARCH_, MD_ARCH_
namespace COMPILER_, MD_COMPILER_
namespace GCC_, MD_GCC_
namespace LANG_, MD_LANG_
namespace OS_, MD_OS_
word HAS_ATTRIBUTE, MD_HAS_ATTRIBUTE
// base/linkage.h
@@ -32,23 +34,35 @@ word internal, md_internal
// base/macros.h
word local_persist, md_local_persist
word thread_static, md_thread_static
word expect, md_expect
word likely, md_likely
word unlikely, md_unlikely
word expect, md_expect
word likely, md_likely
word unlikely, md_unlikely
word ccast, word md_ccast
word pcast, word md_pcast
word rcast, word md_rcast
word scast, word md_scast
word typeof, word md_typeof
// word typeof, word md_typeof
word enum_underlying, md_enum_underlying
word nullptr, md_nullptr
word force_inline, md_force_inline
word never_inline, md_never_inline
word defer_loop, md_defer_loop
word defer_loop_checked, md_defer_loop_checked
word each_enum_val, md_each_enum_val
word each_non_zero_enum_val, md_each_non_zero_enum_val
// base/profiling.h
word MARKUP_LAYER_COLOR, MD_MARKUP_LAYER_COLOR
namespace prof_, md_prof_
// base/base_types.h
word U8, MD_U8
@@ -74,6 +88,192 @@ word B8, MD_B8
word B16, MD_B16
word B32, MD_B32
word VoidProc, MD_VoidProc
word SIGN32, MD_SIGN32
word EXPONENT32, MD_EXPONENT32
word MANTISSA32, MD_MANTISSA32
word BIG_GOLDEN32, MD_BIG_GOLDEN32
word SMALL_GOLDEN32, MD_SMALL_GOLDEN32
word PI32, MD_PI32
word MACHINE_EPSILON64, MD_MACHINE_EPSILON64
word MIN_U8, MD_MIN_U8
word MAX_U8, MD_MAX_U8
word MIN_S8, MD_MIN_S8
word MAX_S8, MD_MAX_S8
word MIN_U16, MD_MIN_U16
word MAX_U16, MD_MAX_U16
word MIN_S16, MD_MIN_S16
word MAX_S16, MD_MAX_S16
word MIN_U32, MD_MIN_U32
word MAX_U32, MD_MAX_U32
word MIN_S32, MD_MIN_S32
word MAX_S32, MD_MAX_S32
word MIN_U64, MD_MIN_U64
word MAX_U64, MD_MAX_U64
word MIN_S64, MD_MIN_S64
word MAX_S64, MD_MAX_S64
word MIN_USIZE, MD_MIN_USIZE
word MAX_USIZE, MD_MAX_USIZE
word MIN_ISIZE, MD_MIN_SSIZE
word MAX_ISIZE, MD_MAX_SSIZE
word MIN_F32, MD_MIN_F32
word MAX_F32, MD_MAX_F32
word MIN_F64, MD_MIN_F64
word MAX_F64, MD_MAX_F64
word BITMASK1, MD_BITMASK1
word BITMASK2, MD_BITMASK2
word BITMASK3, MD_BITMASK3
word BITMASK4, MD_BITMASK4
word BITMASK5, MD_BITMASK5
word BITMASK6, MD_BITMASK6
word BITMASK7, MD_BITMASK7
word BITMASK8, MD_BITMASK8
word BITMASK9, MD_BITMASK9
word BITMASK10, MD_BITMASK10
word BITMASK11, MD_BITMASK11
word BITMASK12, MD_BITMASK12
word BITMASK13, MD_BITMASK13
word BITMASK14, MD_BITMASK14
word BITMASK15, MD_BITMASK15
word BITMASK16, MD_BITMASK16
word BITMASK17, MD_BITMASK17
word BITMASK18, MD_BITMASK18
word BITMASK19, MD_BITMASK19
word BITMASK20, MD_BITMASK20
word BITMASK21, MD_BITMASK21
word BITMASK22, MD_BITMASK22
word BITMASK23, MD_BITMASK23
word BITMASK24, MD_BITMASK24
word BITMASK25, MD_BITMASK25
word BITMASK26, MD_BITMASK26
word BITMASK27, MD_BITMASK27
word BITMASK28, MD_BITMASK28
word BITMASK29, MD_BITMASK29
word BITMASK30, MD_BITMASK30
word BITMASK31, MD_BITMASK31
word BITMASK32, MD_BITMASK32
word BITMASK33, MD_BITMASK33
word BITMASK34, MD_BITMASK34
word BITMASK35, MD_BITMASK35
word BITMASK36, MD_BITMASK36
word BITMASK37, MD_BITMASK37
word BITMASK38, MD_BITMASK38
word BITMASK39, MD_BITMASK39
word BITMASK40, MD_BITMASK40
word BITMASK41, MD_BITMASK41
word BITMASK42, MD_BITMASK42
word BITMASK43, MD_BITMASK43
word BITMASK44, MD_BITMASK44
word BITMASK45, MD_BITMASK45
word BITMASK46, MD_BITMASK46
word BITMASK47, MD_BITMASK47
word BITMASK48, MD_BITMASK48
word BITMASK49, MD_BITMASK49
word BITMASK50, MD_BITMASK50
word BITMASK51, MD_BITMASK51
word BITMASK52, MD_BITMASK52
word BITMASK53, MD_BITMASK53
word BITMASK54, MD_BITMASK54
word BITMASK55, MD_BITMASK55
word BITMASK56, MD_BITMASK56
word BITMASK57, MD_BITMASK57
word BITMASK58, MD_BITMASK58
word BITMASK59, MD_BITMASK59
word BITMASK60, MD_BITMASK60
word BITMASK61, MD_BITMASK61
word BITMASK62, MD_BITMASK62
word BITMASK63, MD_BITMASK63
word BITMASK64, MD_BITMASK64
word BIT1, MD_BIT1
word BIT2, MD_BIT2
word BIT3, MD_BIT3
word BIT4, MD_BIT4
word BIT5, MD_BIT5
word BIT6, MD_BIT6
word BIT7, MD_BIT7
word BIT8, MD_BIT8
word BIT9, MD_BIT9
word BIT10, MD_BIT10
word BIT11, MD_BIT11
word BIT12, MD_BIT12
word BIT13, MD_BIT13
word BIT14, MD_BIT14
word BIT15, MD_BIT15
word BIT16, MD_BIT16
word BIT17, MD_BIT17
word BIT18, MD_BIT18
word BIT19, MD_BIT19
word BIT20, MD_BIT20
word BIT21, MD_BIT21
word BIT22, MD_BIT22
word BIT23, MD_BIT23
word BIT24, MD_BIT24
word BIT25, MD_BIT25
word BIT26, MD_BIT26
word BIT27, MD_BIT27
word BIT28, MD_BIT28
word BIT29, MD_BIT29
word BIT30, MD_BIT30
word BIT31, MD_BIT31
word BIT32, MD_BIT32
word BIT33, MD_BIT33
word BIT34, MD_BIT34
word BIT35, MD_BIT35
word BIT36, MD_BIT36
word BIT37, MD_BIT37
word BIT38, MD_BIT38
word BIT39, MD_BIT39
word BIT40, MD_BIT40
word BIT41, MD_BIT41
word BIT42, MD_BIT42
word BIT43, MD_BIT43
word BIT44, MD_BIT44
word BIT45, MD_BIT45
word BIT46, MD_BIT46
word BIT47, MD_BIT47
word BIT48, MD_BIT48
word BIT49, MD_BIT49
word BIT50, MD_BIT50
word BIT51, MD_BIT51
word BIT52, MD_BIT52
word BIT53, MD_BIT53
word BIT54, MD_BIT54
word BIT55, MD_BIT55
word BIT56, MD_BIT56
word BIT57, MD_BIT57
word BIT58, MD_BIT58
word BIT59, MD_BIT59
word BIT60, MD_BIT60
word BIT61, MD_BIT61
word BIT62, MD_BIT62
word BIT63, MD_BIT63
word BIT64, MD_BIT64
word Guid, MD_Guid
word U16Array, MD_U16Array
word U32Array, MD_U32Array
word U64Array, MD_U64Array
word U128Array, MD_U128Array
// base/ring.h
namespace ring_, md_ring_
// base/debug.h
word trap, md_trap
@@ -84,6 +284,8 @@ word invalid_path, md_invalid_path
word not_implemented, md_not_implemented
word no_op, md_no_op
word assert_handler, md_assert_handler
// base/memory.h
word KILOBYTES, MD_KILOBYTES
@@ -112,12 +314,6 @@ word offset_of, md_offset_of
word member_from_offset, md_member_from_offset
word cast_from_member, md_cast_from_member
word defer_loop, md_defer_loop
word defer_loop_checked, md_defer_loop_checked
word each_enum_val, md_each_enum_val
word each_non_zero_enum_val, md_each_non_zero_enum_val
word memory_copy, md_memory_copy
word memory_set, md_memory_set
word memory_compare, md_memory_compare
@@ -140,8 +336,9 @@ word memory_match_type, md_memory_match_type
word memory_read, md_memory_read
word memory_consume, md_memory_consume
word mem_move, md_mem_move
word mem_set, md_mem_set
word memory_is_zero, md_memory_is_zero
word mem_move, md_mem_move
word mem_set, md_mem_set
namespace ins_atomic_, md_ins_atomic_
@@ -196,12 +393,57 @@ word this_function_name, md_this_function_name
word read_only, md_read_only
word local_persist, md_local_persist
word thread_static, md_thread_static
word thread_local, md_thread_local
namespace safe_cast_, md_safe_cast_
word u128_zero, md_u128_zero
word u128_make, md_u128_make
word u128_match, md_u128_match
word u32_from_u64_saturate, md_u32_from_u64_saturate
word u64_up_to_pow2, md_u64_up_to_pow2
word extend_sign32, md_extend_sign32
word extend_sign64, md_extend_sign64
word inf32, md_inf32
word neg_inf32, md_neg_inf32
word bswap_u16, md_bswap_u16
word bswap_u32, md_bswap_u32
word bswap_u64, md_bswap_u64
word from_be_u16, md_from_be_u16
word from_be_u32, md_from_be_u32
word from_be_u64, md_from_be_u64
word count_bits_set16, md_count_bits_set16
word count_bits_set32, md_count_bits_set32
word count_bits_set64, md_count_bits_set64
word ctz32, md_ctz32
word ctz64, md_ctz64
word clz32, md_clz32
word clz64, md_clz64
// base/memory_substrate.h
word AllocType, MD_AllocType
word AllocatorProc, MD_AllocatorProc
word AllocatorInfo, MD_AllocatorInfo
word AllocFlag, MD_AllocFlag
word AllocatorType, MD_AllocatorType
word AllocatorMode, MD_AllocatorMode
word AllocatorQueryFlags, MD_AllocatorQueryFlags
word AllocatorProc, MD_AllocatorProc
word AllocatorInfo, MD_AllocatorInfo
word default_allocator, md_default_allocator
word ALLOCATOR_FLAG_CLEAR_TO_ZERO, MD_ALLOCATOR_FLAG_CLEAR_TO_ZERO
word allocator_type, md_allocator_type
word allocator_query_support, md_allocator_query_support
word alloc, md_alloc
word alloc_align, md_alloc_align
@@ -210,10 +452,11 @@ word free_all, md_free_all
word resize, md_resize
word resize_align, md_resize_align
word default_resize_align, md_default_resize_align
word alloc_item, md_alloc_item
word alloc_array, md_alloc_array
word alloc_array_no_zero, md_alloc_array_no_zero
word alloc_item, md_alloc_item
word alloc_array, md_alloc_array
word default_resize_align, md_default_resize_align
word heap_stats_init, md_heap_stats_init
word heap_stats_used_mem, md_heap_stats_used_mem
@@ -225,20 +468,390 @@ word heap, md_heap
word malloc, md_malloc
word mfree, md_mfree
word VMem, MD_VMem
namespace vm_, md_vm_
namespace VARENA_, MD_VARENA_
word VArenaFlags, MD_VArenaFlags
word VArena, MD_VArena
word varena__alloc, md_varena__alloc
word varena_commit, md_varena_commit
word varena_release, md_varena_release
word varena_allocator_proc, md_varena_allocator_proc
word varena_allocator, md_varena_allocator
word ByteSlice, MD_ByteSlice
word mem_to_byteslice, md_mem_to_byteslice
word FArena, MD_FArena
word farena_from_byteslice, md_farena_from_byteslice
word farena_from_memory, md_farena_from_memory
// base/arena.h
word ArenaFlags, MD_ArenaFlags
word ArenaParams, MD_ArenaParams
word Arena, MD_Arena
word TempArena, MD_TempArena
namespace arena_, md_arena_
namespace push_array, md_push_array_
word temp_begin, md_temp_begin
word temp_end, md_temp_end
word default_allocator, md_default_allocator
// base/space.h
word Dimension, MD_Dimension
word Side, MD_Side
word Axis2, MD_Axis2
word Corner, MD_corner
word Dir2, MD_Dir2
word axis_from_dir2, md_axis_from_dir2
word side_from_dir2, md_side_from_dir2
word sign_from_side_f32, md_side_from_side_f32
wrod sign_from_side_f64, md_side_from_side_f64
// base/math.h
word Vec2F32, MD_Vec2F32
word Vec2S64, MD_Vec2S64
word Vec2S32, MD_Vec2S32
word Vec2S16, MD_Vec2S16
word Vec3F32, MD_Vec3F32
word Vec3S64, MD_Vec3S64
word Vec3S32, MD_Vec3S32
word Vec4F32, MD_Vec4F32
word Vec4S32, MD_Vec4S32
word Mat3x3F32, MD_Mat3x3F32
word Mat4x4F32, MD_Mat4x4F32
word Rng1U32, MD_Rng1U32
word Rng1S32, MD_Rng1S32
word Rng1U64, MD_Rng1U64
word Rng1F64, MD_Rng1F64
word Rng2S16, MD_Rng2S16
word Rng2S32, MD_Rng2S32
word Rng2F32, MD_Rng2F32
word Rng2S64, MD_Rng2S64
word Rng1S64Node, MD_Rng1S64Node
word Rng1S64List, MD_Rng1S64List
word Rng1S64Array, MD_Rng1S64Array
// word md_min, md_min
// word md_max, md_max
word clamp_top, md_clamp_top
word clamp_bot, md_clamp_bot
word clamp, md_clamp
word abs_s64, md_abs_s64
word sqrt_f32, md_sqrt_f32
word mod_f32, md_mod_f32
word pow_f32, md_pow_f32
word ceil_f32, md_ceil_f32
word floor_f32, md_floor_f32
word round_f32, md_round_f32
word abs_f32, md_abs_f32
word radians_from_turns_f32, md_radians_from_turns_f32
word turns_from_radians_f64, md_turns_from_radians_f64
word degrees_from_turns_f64, md_degrees_from_turns_f64
word turns_from_degrees_f64, md_turns_from_degrees_f64
word degrees_from_radians_f64, md_degrees_from_radians_f64
word radians_from_degrees_f64, md_radians_from_degrees_f64
word sin_f64, md_sin_f64
word cos_f64, md_cos_f64
word tan_f64, md_tan_f64
word mix_1f32, md_mix_1f32
word mix_1f64, md_mix_1f64
word v2f32, md_v2f32
word vec_2f32, md_vec_2f32
word add_2f32, md_add_2f32
word sub_2f32, md_sub_2f32
word mul_2f32, md_mul_2f32
word div_2f32, md_div_2f32
word scale_2f32, md_scale_2f32
word dot_2f32, md_dot_2f32
word length_squared_2f32, md_length_squared_2f32
word length_2f32, md_length_2f32
word normalize_2f32, md_normalize_2f32
word mix_2f32, md_mix_2f32
word v2s64, md_v2s64
word vec_2s64, md_vec_2s64
word add_2s64, md_add_2s64
word sub_2s64, md_sub_2s64
word mul_2s64, md_mul_2s64
word div_2s64, md_div_2s64
word scale_2s64, md_scale_2s64
word dot_2s64, md_dot_2s64
word length_squared_2s64, md_length_squared_2s64
word length_2s64, md_length_2s64
word normalize_2s64, md_normalize_2s64
word mix_2s64, md_mix_2s64
word v2s32, md_v2s32
word vec_2s32, md_vec_2s32
word add_2s32, md_add_2s32
word sub_2s32, md_sub_2s32
word mul_2s32, md_mul_2s32
word div_2s32, md_div_2s32
word scale_2s32, md_scale_2s32
word dot_2s32, md_dot_2s32
word length_squared_2s32, md_length_squared_2s32
word length_2s32, md_length_2s32
word normalize_2s32, md_normalize_2s32
word mix_2s32, md_mix_2s32
word v2s16, md_v2s16
word vec_2s16, md_vec_2s16
word add_2s16, md_add_2s16
word sub_2s16, md_sub_2s16
word mul_2s16, md_mul_2s16
word div_2s16, md_div_2s16
word scale_2s16, md_scale_2s16
word dot_2s16, md_dot_2s16
word length_squared_2s16, md_length_squared_2s16
word length_2s16, md_length_2s16
word normalize_2s16, md_normalize_2s16
word mix_2s16, md_mix_2s16
word vec2, md_vec2
word add_vec2, md_add_vec2
word sub_vec2, md_sub_vec2
word mul_vec2, md_mul_vec2
word div_vec2, md_div_vec2
word scale_vec2, md_scale_vec2
word dot_vec2, md_dot_vec2
word length_squared_vec2, md_length_squared_vec2
word length_vec2, md_length_vec2
word normalize_vec2, md_normalize_vec2
word mix_vec2, md_mix_vec2
word v3f32, md_v3f32
word vec_3f32, md_vec_3f32
word add_3f32, md_add_3f32
word sub_3f32, md_sub_3f32
word mul_3f32, md_mul_3f32
word div_3f32, md_div_3f32
word scale_3f32, md_scale_3f32
word dot_3f32, md_dot_3f32
word length_squared_3f32, md_length_squared_3f32
word length_3f32, md_length_3f32
word normalize_3f32, md_normalize_3f32
word mix_3f32, md_mix_3f32
word cross_3f32, md_cross_3f32
word v3s32, md_v3s32
word vec_3s32, md_vec_3s32
word add_3s32, md_add_3s32
word sub_3s32, md_sub_3s32
word mul_3s32, md_mul_3s32
word div_3s32, md_div_3s32
word scale_3s32, md_scale_3s32
word dot_3s32, md_dot_3s32
word length_squared_3s32, md_length_squared_3s32
word length_3s32, md_length_3s32
word normalize_3s32, md_normalize_3s32
word mix_3s32, md_mix_3s32
word cross_3s32, md_cross_3s32
word vec3, md_vec3
word add_vec3, md_add_vec3
word sub_vec3, md_sub_vec3
word mul_vec3, md_mul_vec3
word div_vec3, md_div_vec3
word scale_vec3, md_scale_vec3
word dot_vec3, md_dot_vec3
word length_squared_vec3, md_length_squared_vec3
word length_vec3, md_length_vec3
word normalize_vec3, md_normalize_vec3
word mix_vec3, md_mix_vec3
word cross_vec3, md_cross_vec3
word v4f32, md_v4f32
word vec_4f32, md_vec_4f32
word add_4f32, md_add_4f32
word sub_4f32, md_sub_4f32
word mul_4f32, md_mul_4f32
word div_4f32, md_div_4f32
word scale_4f32, md_scale_4f32
word dot_4f32, md_dot_4f32
word length_squared_4f32, md_length_squared_4f32
word length_4f32, md_length_4f32
word normalize_4f32, md_normalize_4f32
word mix_4f32, md_mix_4f32
word v4s32, v4s32
word vec_4s32, md_vec_4s32
word add_4s32, md_add_4s32
word sub_4s32, md_sub_4s32
word mul_4s32, md_mul_4s32
word div_4s32, md_div_4s32
word scale_4s32, md_scale_4s32
word dot_4s32, md_dot_4s32
word length_squared_4s32, md_length_squared_4s32
word length_4s32, md_length_4s32
word normalize_4s32, md_normalize_4s32
word mix_4s32, md_mix_4s32
word vec4, md_vec4
word add_vec4, md_add_vec4
word sub_vec4, md_sub_vec4
word mul_vec4, md_mul_vec4
word div_vec4, md_div_vec4
word scale_vec4, md_scale_vec4
word dot_vec4, md_dot_vec4
word length_squared_vec4, md_length_squared_vec4
word length_vec4, md_length_vec4
word normalize_vec4, md_normalize_vec4
word mix_vec4, md_mix_vec4
word mat_3x3f32, md_mat_3x3f32
word make_translate_3x3f32, md_make_translate_3x3f32
word make_scale_3x3f32, md_make_scale_3x3f32
word mul_3x3f32, md_mul_3x3f32
word mat_4x4f32, md_mat_4x4f32
word make_translate_4x4f32, md_make_translate_4x4f32
word make_scale_4x4f32, md_make_scale_4x4f32
word make_perspective_4x4f32, md_make_perspective_4x4f32
word make_orthographic_4x4f32, md_make_orthographic_4x4f32
word make_look_at_4x4f32, md_make_look_at_4x4f32
word make_rotate_4x4f32, md_make_rotate_4x4f32
word mul_4x4f32, md_mul_4x4f32
word scale_4x4f32, md_scale_4x4f32
word inverse_4x4f32, md_inverse_4x4f32
word derotate_4x4f32, md_derotate_4x4f32
word r1u32, md_r1u32
word rng_1u32, md_rng_1u32
word shift_1u32, md_shift_1u32
word pad_1u32, md_pad_1u32
word center_1u32, md_center_1u32
word contains_1u32, md_contains_1u32
word dim_1u32, md_dim_1u32
word union_1u32, md_union_1u32
word intersect_1u32, md_intersect_1u32
word clamp_1u32, md_clamp_1u32
word r1s32, md_r1s32
word rng_1s32, md_rng_1s32
word shift_1s32, md_shift_1s32
word pad_1s32, md_pad_1s32
word center_1s32, md_center_1s32
word contains_1s32, md_contains_1s32
word dim_1s32, md_dim_1s32
word union_1s32, md_union_1s32
word intersect_1s32, md_intersect_1s32
word clamp_1s32, md_clamp_1s32
word r1u64, md_r1u64
word rng_1u64, md_rng_1u64
word shift_1u64, md_shift_1u64
word pad_1u64, md_pad_1u64
word center_1u64, md_center_1u64
word contains_1u64, md_contains_1u64
word dim_1u64, md_dim_1u64
word union_1u64, md_union_1u64
word intersect_1u64, md_intersect_1u64
word clamp_1u64, md_clamp_1u64
word r1s64, md_r1s64
word rng_1s64, md_rng_1s64
word shift_1s64, md_shift_1s64
word pad_1s64, md_pad_1s64
word center_1s64, md_center_1s64
word contains_1s64, md_contains_1s64
word dim_1s64, md_dim_1s64
word union_1s64, md_union_1s64
word intersect_1s64, md_intersect_1s64
word clamp_1s64, md_clamp_1s64
word r1f32, md_r1f32
word rng_1f32, md_rng_1f32
word shift_1f32, md_shift_1f32
word pad_1f32, md_pad_1f32
word center_1f32, md_center_1f32
word contains_1f32, md_contains_1f32
word dim_1f32, md_dim_1f32
word union_1f32, md_union_1f32
word intersect_1f32, md_intersect_1f32
word clamp_1f32, md_clamp_1f32
word r2s16, md_r2s16
word r2s16p, md_r2s16p
word rng_2s16, md_rng_2s16
word shift_2s16, md_shift_2s16
word pad_2s16, md_pad_2s16
word center_2s16, md_center_2s16
word contains_2s16, md_contains_2s16
word dim_2s16, md_dim_2s16
word union_2s16, md_union_2s16
word intersect_2s16, md_intersect_2s16
word clamp_2s16, md_clamp_2s16
word r2s32, md_r2s32
word r2s32p, md_r2s32p
word rng_2s32, md_rng_2s32
word shift_2s32, md_shift_2s32
word pad_2s32, md_pad_2s32
word center_2s32, md_center_2s32
word contains_2s32, md_contains_2s32
word dim_2s32, md_dim_2s32
word union_2s32, md_union_2s32
word intersect_2s32, md_intersect_2s32
word clamp_2s32, md_clamp_2s32
word r2s64, md_r2s64
word r2s64p, md_r2s64p
word rng_2s64, md_rng_2s64
word shift_2s64, md_shift_2s64
word pad_2s64, md_pad_2s64
word center_2s64, md_center_2s64
word contains_2s64, md_contains_2s64
word dim_2s64, md_dim_2s64
word union_2s64, md_union_2s64
word intersect_2s64, md_intersect_2s64
word clamp_2s32, md_clamp_2s32
word hsv_from_rgb, md_hsv_from_rgb
word rgb_from_hsv, md_rgb_from_hsv
word hsva_from_rgba, md_hsva_from_rgba
word rgba_from_hsva, md_rgba_from_hsva
word rgba_from_u32, md_rgba_from_u32
word u32_from_rgba, md_u32_from_rgba
word rgba_from_u32_lit_comp, md_rgba_from_u32_lit_comp
word rng1s64_list_push, md_rng1s64_list_push
word rng1s64_array_from_list, md_rng1s64_array_from_list
word rng1s64_list_alloc, md_rng1s64_list_alloc
word rng1s64_array_from_list_alloc, md_rng1s64_array_from_list_alloc
// base/toolchain.h
// base/strings.h
word String8, MD_String8
// metadesk module
// word MsgKind, MD_MsgKind