mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-03 11:42:28 +00:00
121 lines
2.8 KiB
Odin
121 lines
2.8 KiB
Odin
// This is purely for documentation
|
|
package builtin
|
|
|
|
nil :: nil;
|
|
false :: 0!==0;
|
|
true :: 0==0;
|
|
|
|
ODIN_OS :: ODIN_OS;
|
|
ODIN_ARCH :: ODIN_ARCH;
|
|
ODIN_ENDIAN :: ODIN_ENDIAN;
|
|
ODIN_VENDOR :: ODIN_VENDOR;
|
|
ODIN_VERSION :: ODIN_VERSION;
|
|
ODIN_ROOT :: ODIN_ROOT;
|
|
ODIN_DEBUG :: ODIN_DEBUG;
|
|
|
|
byte :: u8; // alias
|
|
|
|
bool :: bool;
|
|
b8 :: b8;
|
|
b16 :: b16;
|
|
b32 :: b32;
|
|
b64 :: b64;
|
|
|
|
i8 :: i8;
|
|
u8 :: u8;
|
|
i16 :: i16;
|
|
u16 :: u16;
|
|
i32 :: i32;
|
|
u32 :: u32;
|
|
i64 :: i64;
|
|
u64 :: u64;
|
|
|
|
i128 :: i128;
|
|
u128 :: u128;
|
|
|
|
rune :: rune;
|
|
|
|
f16 :: f16;
|
|
f32 :: f32;
|
|
f64 :: f64;
|
|
|
|
complex32 :: complex32;
|
|
complex64 :: complex64;
|
|
complex128 :: complex128;
|
|
|
|
quaternion64 :: quaternion64;
|
|
quaternion128 :: quaternion128;
|
|
quaternion256 :: quaternion256;
|
|
|
|
int :: int;
|
|
uint :: uint;
|
|
uintptr :: uintptr;
|
|
|
|
rawptr :: rawptr;
|
|
string :: string;
|
|
cstring :: cstring;
|
|
any :: any;
|
|
|
|
typeid :: typeid;
|
|
|
|
// Endian Specific Types
|
|
i16le :: i16le;
|
|
u16le :: u16le;
|
|
i32le :: i32le;
|
|
u32le :: u32le;
|
|
i64le :: i64le;
|
|
u64le :: u64le;
|
|
i128le :: i128le;
|
|
u128le :: u128le;
|
|
|
|
i16be :: i16be;
|
|
u16be :: u16be;
|
|
i32be :: i32be;
|
|
u32be :: u32be;
|
|
i64be :: i64be;
|
|
u64be :: u64be;
|
|
i128be :: i128be;
|
|
u128be :: u128be;
|
|
|
|
|
|
f16le :: f16le;
|
|
f32le :: f32le;
|
|
f64le :: f64le;
|
|
|
|
f16be :: f16be;
|
|
f32be :: f32be;
|
|
f64be :: f64be;
|
|
|
|
|
|
|
|
// Procedures
|
|
len :: proc(array: Array_Type) -> int ---
|
|
cap :: proc(array: Array_Type) -> int ---
|
|
|
|
size_of :: proc($T: typeid) -> int ---
|
|
align_of :: proc($T: typeid) -> int ---
|
|
offset_of :: proc($T: typeid) -> uintptr ---
|
|
type_of :: proc(x: expr) -> type ---
|
|
type_info_of :: proc($T: typeid) -> ^runtime.Type_Info ---
|
|
typeid_of :: proc($T: typeid) -> typeid ---
|
|
|
|
swizzle :: proc(x: [N]T, indices: ..int) -> [len(indices)]T ---
|
|
|
|
complex :: proc(real, imag: Float) -> Complex_Type ---
|
|
quaternion :: proc(real, imag, jmag, kmag: Float) -> Quaternion_Type ---
|
|
real :: proc(value: Complex_Or_Quaternion) -> Float ---
|
|
imag :: proc(value: Complex_Or_Quaternion) -> Float ---
|
|
jmag :: proc(value: Quaternion) -> Float ---
|
|
kmag :: proc(value: Quaternion) -> Float ---
|
|
conj :: proc(value: Complex_Or_Quaternion) -> Complex_Or_Quaternion ---
|
|
|
|
expand_to_tuple :: proc(value: Struct_Or_Array) -> (A, B, C, ...) ---
|
|
|
|
min :: proc(values: ..T) -> T ---
|
|
max :: proc(values: ..T) -> T ---
|
|
abs :: proc(value: T) -> T ---
|
|
clamp :: proc(value, minimum, maximum: T) -> T ---
|
|
|
|
soa_zip :: proc(slices: ...) -> #soa[]Struct ---
|
|
soa_unzip :: proc(value: $S/#soa[]$E) -> (slices: ...) ---
|