mirror of
https://github.com/Ed94/VEFontCache-Odin.git
synced 2025-08-04 22:22:43 -07:00
150 lines
2.6 KiB
Odin
150 lines
2.6 KiB
Odin
package vefontcache
|
|
|
|
import "base:builtin"
|
|
resize_soa_non_zero :: non_zero_resize_soa
|
|
import "base:runtime"
|
|
Raw_Dynamic_Array :: runtime.Raw_Dynamic_Array
|
|
Raw_Map :: runtime.Raw_Map
|
|
Raw_Slice :: runtime.Raw_Slice
|
|
raw_soa_footer :: runtime.raw_soa_footer
|
|
nil_allocator :: runtime.nil_allocator
|
|
import "core:hash"
|
|
ginger16 :: hash.ginger16
|
|
import "core:math"
|
|
ceil_f16 :: math.ceil_f16
|
|
ceil_f16le :: math.ceil_f16le
|
|
ceil_f16be :: math.ceil_f16be
|
|
ceil_f32 :: math.ceil_f32
|
|
ceil_f32le :: math.ceil_f32le
|
|
ceil_f32be :: math.ceil_f32be
|
|
ceil_f64 :: math.ceil_f64
|
|
ceil_f64le :: math.ceil_f64le
|
|
ceil_f64be :: math.ceil_f64be
|
|
|
|
floor_f16 :: math.floor_f16
|
|
floor_f16le :: math.floor_f16le
|
|
floor_f16be :: math.floor_f16be
|
|
floor_f32 :: math.floor_f32
|
|
floor_f32le :: math.floor_f32le
|
|
floor_f32be :: math.floor_f32be
|
|
floor_f64 :: math.floor_f64
|
|
floor_f64le :: math.floor_f64le
|
|
floor_f64be :: math.floor_f64be
|
|
import "core:math/linalg"
|
|
import "core:mem"
|
|
Kilobyte :: mem.Kilobyte
|
|
slice_ptr :: mem.slice_ptr
|
|
|
|
Allocator :: mem.Allocator
|
|
Allocator_Error :: mem.Allocator_Error
|
|
Allocator_Mode :: mem.Allocator_Mode
|
|
|
|
Arena :: mem.Arena
|
|
arena_allocator :: mem.arena_allocator
|
|
arena_init :: mem.arena_init
|
|
import "core:slice"
|
|
import "core:unicode"
|
|
|
|
//region Proc overload mappings
|
|
|
|
append :: proc {
|
|
append_elem,
|
|
append_elems,
|
|
append_elem_string,
|
|
}
|
|
|
|
append_soa :: proc {
|
|
append_soa_elem,
|
|
}
|
|
|
|
ceil :: proc {
|
|
math.ceil_f16,
|
|
math.ceil_f16le,
|
|
math.ceil_f16be,
|
|
math.ceil_f32,
|
|
math.ceil_f32le,
|
|
math.ceil_f32be,
|
|
math.ceil_f64,
|
|
math.ceil_f64le,
|
|
math.ceil_f64be,
|
|
|
|
ceil_vec2,
|
|
}
|
|
|
|
clear :: proc {
|
|
builtin.clear_dynamic_array,
|
|
builtin.clear_map,
|
|
}
|
|
|
|
floor :: proc {
|
|
math.floor_f16,
|
|
math.floor_f16le,
|
|
math.floor_f16be,
|
|
math.floor_f32,
|
|
math.floor_f32le,
|
|
math.floor_f32be,
|
|
math.floor_f64,
|
|
math.floor_f64le,
|
|
math.floor_f64be,
|
|
|
|
floor_vec2,
|
|
}
|
|
|
|
fill :: proc {
|
|
slice.fill,
|
|
}
|
|
|
|
max :: proc {
|
|
linalg.max_single,
|
|
linalg.max_double,
|
|
}
|
|
|
|
make :: proc {
|
|
builtin.make_dynamic_array,
|
|
builtin.make_dynamic_array_len,
|
|
builtin.make_dynamic_array_len_cap,
|
|
builtin.make_slice,
|
|
builtin.make_map,
|
|
builtin.make_map_cap,
|
|
}
|
|
|
|
make_soa :: proc {
|
|
builtin.make_soa_dynamic_array_len_cap,
|
|
builtin.make_soa_slice,
|
|
}
|
|
|
|
mul :: proc {
|
|
mul_range2_vec2,
|
|
}
|
|
|
|
peek :: proc {
|
|
peek_array,
|
|
}
|
|
|
|
resize :: proc {
|
|
builtin.resize_dynamic_array,
|
|
}
|
|
|
|
round :: proc {
|
|
math.round_f32,
|
|
}
|
|
|
|
size :: proc {
|
|
size_range2,
|
|
}
|
|
|
|
vec2 :: proc {
|
|
vec2_from_scalar,
|
|
vec2_from_vec2i,
|
|
}
|
|
|
|
vec2i :: proc {
|
|
vec2i_from_vec2,
|
|
}
|
|
|
|
vec2_64 :: proc {
|
|
vec2_64_from_vec2,
|
|
}
|
|
|
|
//endregion Proc overload mappings
|