Mercurial > vec
diff src/impl/generic.c @ 34:8b5e0974fd41
Backed out changeset 92156fe32755
author | Paper <paper@tflc.us> |
---|---|
date | Fri, 25 Apr 2025 17:40:46 -0400 |
parents | bf6ad516f1e6 |
children |
line wrap: on
line diff
--- a/src/impl/generic.c Fri Apr 25 17:40:42 2025 -0400 +++ b/src/impl/generic.c Fri Apr 25 17:40:46 2025 -0400 @@ -68,13 +68,7 @@ \ v##sign##int##bits##x##size v##sign##int##bits##x##size##_generic_avg(v##sign##int##bits##x##size vec1, v##sign##int##bits##x##size vec2) \ { \ - union v##sign##int##bits##x##size##_impl_data *vec1d = (union v##sign##int##bits##x##size##_impl_data *)&vec1; \ - union v##sign##int##bits##x##size##_impl_data *vec2d = (union v##sign##int##bits##x##size##_impl_data *)&vec2; \ - \ - for (int i = 0; i < size; i++) \ - vec1d->impl[i] = vec_##sign##avg(vec1d->impl[i], vec2d->impl[i]); \ - \ - return vec1d->vec; \ + VEC_GENERIC_OPERATION((((union v##sign##int##bits##x##size##_impl_data *)&vec1)->impl[i] + ((union v##sign##int##bits##x##size##_impl_data *)&vec2)->impl[i] + 1) / 2, sign, csign, bits, size); \ } \ \ v##sign##int##bits##x##size v##sign##int##bits##x##size##_generic_and(v##sign##int##bits##x##size vec1, v##sign##int##bits##x##size vec2) \