mirror of
https://github.com/recp/cglm.git
synced 2025-12-25 12:55:04 +00:00
@@ -34,17 +34,19 @@ glmm_hadd(float32x4_t v) {
|
||||
static inline
|
||||
float
|
||||
glmm_hmin(float32x4_t v) {
|
||||
v = vpmin_f32(vget_low_f32(v), vget_high_f32(v));
|
||||
v = vpmin_f32(v, v);
|
||||
return vget_lane_f32(v, 0);
|
||||
float32x2_t t;
|
||||
t = vpmin_f32(vget_low_f32(v), vget_high_f32(v));
|
||||
t = vpmin_f32(t, t);
|
||||
return vget_lane_f32(t, 0);
|
||||
}
|
||||
|
||||
static inline
|
||||
float
|
||||
glmm_hmax(float32x4_t v) {
|
||||
v = vpmax_f32(vget_low_f32(v), vget_high_f32(v));
|
||||
v = vpmax_f32(v, v);
|
||||
return vget_lane_f32(v, 0);
|
||||
float32x2_t t;
|
||||
t = vpmax_f32(vget_low_f32(v), vget_high_f32(v));
|
||||
t = vpmax_f32(t, t);
|
||||
return vget_lane_f32(t, 0);
|
||||
}
|
||||
|
||||
static inline
|
||||
|
||||
@@ -252,7 +252,7 @@ glm_vec4_abs(vec4 v, vec4 dest) {
|
||||
#if defined( __SSE__ ) || defined( __SSE2__ )
|
||||
glmm_store(dest, glmm_abs(glmm_load(v)));
|
||||
#elif defined(CGLM_NEON_FP)
|
||||
vst1q_f32(dest, vabsq_f32(vld1q_f32(a)));
|
||||
vst1q_f32(dest, vabsq_f32(vld1q_f32(v)));
|
||||
#else
|
||||
dest[0] = fabsf(v[0]);
|
||||
dest[1] = fabsf(v[1]);
|
||||
|
||||
Reference in New Issue
Block a user