Vecmat 0.2.3
C math and linear algebra library for 2D/3D graphics, physics, and science.
Loading...
Searching...
No Matches
vector4_ptr.c File Reference
#include <arm_sve.h>
#include <math.h>
#include <vecmat.h>

Go to the source code of this file.

Functions

static svbool_t pg4 (void)
static svfloat64_t hadamard_div (svbool_t pg, svfloat64_t a, svfloat64_t b)
static svfloat64_t sign4 (svbool_t pg, svfloat64_t x)
void vec4_add_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_sub_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_mul_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_mul_scalar_ptr_sve2 (vector4 *res, const vector4 *v, vm_float_t s)
void vec4_div_scalar_ptr_sve2 (vector4 *res, const vector4 *v, vm_float_t s)
void vec4_neg_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_abs_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_normalize_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_min_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_max_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_lerp_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b, vm_float_t t)
void vec4_clamp_ptr_sve2 (vector4 *res, const vector4 *v, const vector4 *min, const vector4 *max)
void vec4_div_ptr_sve2 (vector4 *res, const vector4 *a, const vector4 *b)
void vec4_add_scalar_ptr_sve2 (vector4 *res, const vector4 *v, vm_float_t s)
void vec4_sub_scalar_ptr_sve2 (vector4 *res, const vector4 *v, vm_float_t s)
void vec4_clamp_scalar_ptr_sve2 (vector4 *res, const vector4 *v, vm_float_t min, vm_float_t max)
void vec4_saturate_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_sign_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_floor_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_ceil_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_round_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_fract_ptr_sve2 (vector4 *res, const vector4 *v)
void vec4_homogenize_ptr_sve2 (vector4 *res, const vector4 *v)
static svfloat64_t quat_mul4 (svbool_t pg, svfloat64_t a, svfloat64_t b)
void quat_mul_ptr_sve2 (quaternion *res, const quaternion *a, const quaternion *b)
void quat_normalize_ptr_sve2 (quaternion *res, const quaternion *q)

Function Documentation

◆ hadamard_div()

svfloat64_t hadamard_div ( svbool_t pg,
svfloat64_t a,
svfloat64_t b )
static

Definition at line 16 of file vector4_ptr.c.

◆ pg4()

svbool_t pg4 ( void )
static

Definition at line 11 of file vector4_ptr.c.

◆ quat_mul4()

svfloat64_t quat_mul4 ( svbool_t pg,
svfloat64_t a,
svfloat64_t b )
static

Definition at line 198 of file vector4_ptr.c.

◆ quat_mul_ptr_sve2()

void quat_mul_ptr_sve2 ( quaternion * res,
const quaternion * a,
const quaternion * b )

Definition at line 224 of file vector4_ptr.c.

References pg4(), quat_mul4(), and quaternion::v.

◆ quat_normalize_ptr_sve2()

void quat_normalize_ptr_sve2 ( quaternion * res,
const quaternion * q )

Definition at line 230 of file vector4_ptr.c.

References vec4_normalize_ptr_sve2().

◆ sign4()

svfloat64_t sign4 ( svbool_t pg,
svfloat64_t x )
static

Definition at line 24 of file vector4_ptr.c.

◆ vec4_abs_ptr_sve2()

void vec4_abs_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 72 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_add_ptr_sve2()

void vec4_add_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 32 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_add_scalar_ptr_sve2()

void vec4_add_scalar_ptr_sve2 ( vector4 * res,
const vector4 * v,
vm_float_t s )

Definition at line 130 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_ceil_ptr_sve2()

void vec4_ceil_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 168 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_clamp_ptr_sve2()

void vec4_clamp_ptr_sve2 ( vector4 * res,
const vector4 * v,
const vector4 * min,
const vector4 * max )

Definition at line 114 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_clamp_scalar_ptr_sve2()

void vec4_clamp_scalar_ptr_sve2 ( vector4 * res,
const vector4 * v,
vm_float_t min,
vm_float_t max )

Definition at line 142 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_div_ptr_sve2()

void vec4_div_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 124 of file vector4_ptr.c.

References hadamard_div(), pg4(), and vector4::v.

◆ vec4_div_scalar_ptr_sve2()

void vec4_div_scalar_ptr_sve2 ( vector4 * res,
const vector4 * v,
vm_float_t s )

Definition at line 56 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_floor_ptr_sve2()

void vec4_floor_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 162 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_fract_ptr_sve2()

void vec4_fract_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 180 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_homogenize_ptr_sve2()

void vec4_homogenize_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 187 of file vector4_ptr.c.

References pg4(), vector4::v, VECMAT_EPSILON, VECMAT_FABS, and vector4::w.

◆ vec4_lerp_ptr_sve2()

void vec4_lerp_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b,
vm_float_t t )

Definition at line 106 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_max_ptr_sve2()

void vec4_max_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 100 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_min_ptr_sve2()

void vec4_min_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 94 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_mul_ptr_sve2()

void vec4_mul_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 44 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_mul_scalar_ptr_sve2()

void vec4_mul_scalar_ptr_sve2 ( vector4 * res,
const vector4 * v,
vm_float_t s )

Definition at line 50 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_neg_ptr_sve2()

void vec4_neg_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 66 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_normalize_ptr_sve2()

void vec4_normalize_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 78 of file vector4_ptr.c.

References pg4(), and vector4::v.

Referenced by quat_normalize_ptr_sve2().

◆ vec4_round_ptr_sve2()

void vec4_round_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 174 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_saturate_ptr_sve2()

void vec4_saturate_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 149 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_sign_ptr_sve2()

void vec4_sign_ptr_sve2 ( vector4 * res,
const vector4 * v )

Definition at line 156 of file vector4_ptr.c.

References pg4(), sign4(), and vector4::v.

◆ vec4_sub_ptr_sve2()

void vec4_sub_ptr_sve2 ( vector4 * res,
const vector4 * a,
const vector4 * b )

Definition at line 38 of file vector4_ptr.c.

References pg4(), and vector4::v.

◆ vec4_sub_scalar_ptr_sve2()

void vec4_sub_scalar_ptr_sve2 ( vector4 * res,
const vector4 * v,
vm_float_t s )

Definition at line 136 of file vector4_ptr.c.

References pg4(), and vector4::v.