48 for (
size_t i = 0; i < count; i += 8)
60 float delta_inv,
ui32 count,
64 ui32 shift = 31 - K_max;
68 for (
ui32 i = count; i > 0; --i)
71 ui32 sign = v >= 0 ? 0U : 0x80000000U;
82 float delta_inv,
ui32 count,
86 ui32 shift = 63 - K_max;
90 for (
ui32 i = count; i > 0; --i)
93 ui64 sign = v >= 0 ? 0ULL : 0x8000000000000000ULL;
104 float delta_inv,
ui32 count,
109 ui32 tmax = *max_val;
110 float *p = (
float*)sp;
111 for (
ui32 i = count; i > 0; --i)
115 ui32 sign = t >= 0 ? 0U : 0x80000000U;
125 float delta,
ui32 count)
128 ui32 shift = 31 - K_max;
131 for (
ui32 i = count; i > 0; --i)
134 si32 val = (v & 0x7FFFFFFFU) >> shift;
135 *p++ = (v & 0x80000000U) ? -val : val;
141 float delta,
ui32 count)
144 ui32 shift = 63 - K_max;
147 for (
ui32 i = count; i > 0; --i)
150 si64 val = (v & 0x7FFFFFFFFFFFFFFFULL) >> shift;
151 *p++ = (v & 0x8000000000000000ULL) ? -val : val;
157 float delta,
ui32 count)
161 float *p = (
float*)dp;
162 for (
ui32 i = count; i > 0; --i)
165 float val = (float)(v & 0x7FFFFFFFU) * delta;
166 *p++ = (v & 0x80000000U) ? -val : val;
void gen_rev_tx_to_cb64(const void *sp, ui64 *dp, ui32 K_max, float delta_inv, ui32 count, ui64 *max_val)
void gen_irv_tx_from_cb32(const ui32 *sp, void *dp, ui32 K_max, float delta, ui32 count)
void gen_irv_tx_to_cb32(const void *sp, ui32 *dp, ui32 K_max, float delta_inv, ui32 count, ui32 *max_val)
void gen_mem_clear(void *addr, size_t count)
void gen_rev_tx_from_cb64(const ui64 *sp, void *dp, ui32 K_max, float delta, ui32 count)
ui64 gen_find_max_val64(ui64 *address)
void gen_rev_tx_from_cb32(const ui32 *sp, void *dp, ui32 K_max, float delta, ui32 count)
void gen_rev_tx_to_cb32(const void *sp, ui32 *dp, ui32 K_max, float delta_inv, ui32 count, ui32 *max_val)
ui32 gen_find_max_val32(ui32 *address)
static si32 ojph_trunc(float val)