Skip to main content

luaur_code_gen/functions/
writef_64.rs

1#[inline]
2pub unsafe fn writef_64(target: *mut u8, value: f64) -> *mut u8 {
3    if luaur_common::macros::luau_big_endian::LUAU_BIG_ENDIAN {
4        let mut data: u64 = 0;
5        core::ptr::copy_nonoverlapping(
6            &value as *const f64 as *const u8,
7            &mut data as *mut u64 as *mut u8,
8            core::mem::size_of::<f64>(),
9        );
10        crate::functions::writeu_64::writeu_64(target, data)
11    } else {
12        core::ptr::copy_nonoverlapping(
13            &value as *const f64 as *const u8,
14            target,
15            core::mem::size_of::<f64>(),
16        );
17        target.add(core::mem::size_of::<f64>())
18    }
19}