luaur_vm/functions/
vector_abs.rs1use crate::functions::lua_l_checkvector::lua_l_checkvector;
2use crate::functions::lua_pushvector_lapi::lua_pushvector_lua_state_f32_f32_f32_f32;
3use crate::functions::lua_pushvector_lapi_alt_b::lua_pushvector_lua_state_f32_f32_f32;
4use crate::macros::lua_vector_size::LUA_VECTOR_SIZE;
5use crate::type_aliases::lua_state::lua_State;
6
7#[allow(non_snake_case)]
8pub unsafe fn vector_abs(L: *mut lua_State) -> core::ffi::c_int {
9 let v = lua_l_checkvector(L, 1);
10
11 if LUA_VECTOR_SIZE == 4 {
12 lua_pushvector_lua_state_f32_f32_f32_f32(
13 L,
14 (*v.offset(0)).abs(),
15 (*v.offset(1)).abs(),
16 (*v.offset(2)).abs(),
17 (*v.offset(3)).abs(),
18 );
19 } else {
20 lua_pushvector_lua_state_f32_f32_f32(
21 L,
22 (*v.offset(0)).abs(),
23 (*v.offset(1)).abs(),
24 (*v.offset(2)).abs(),
25 );
26 }
27
28 1
29}