vector3i.c file
Functions
- auto vec3i_zero(void) -> vector3i
- Returns a zero-initialized
vector3i. - auto vec3i_one(void) -> vector3i
- Returns a
vector3iwith all components set to 1. -
auto vec3i_x_axis(const vm_
int_ t x) -> vector3i - Returns a
vector3ialong the x-axis. -
auto vec3i_y_axis(const vm_
int_ t y) -> vector3i - Returns a
vector3ialong the y-axis. -
auto vec3i_z_axis(const vm_
int_ t z) -> vector3i - Returns a
vector3ialong the z-axis. -
auto vec3i_x_scale(const vm_
int_ t x) -> vector3i - Returns a
vector3ifor scaling along the x-axis. -
auto vec3i_y_scale(const vm_
int_ t y) -> vector3i - Returns a
vector3ifor scaling along the y-axis. -
auto vec3i_z_scale(const vm_
int_ t z) -> vector3i - Returns a
vector3ifor scaling along the z-axis. - auto vec3i_add(const vector3i a, const vector3i b) -> vector3i
- Component-wise addition of two vectors.
- auto vec3i_sub(const vector3i a, const vector3i b) -> vector3i
- Component-wise subtraction of two vectors.
-
auto vec3i_mul_scalar(const vector3i v,
const vm_
int_ t s) -> vector3i - Component-wise multiplication of vector by scalar.
-
auto vec3i_div_scalar(const vector3i v,
const vm_
int_ t s) -> vector3i - Component-wise division of vector by scalar.
- auto vec3i_mul(const vector3i a, const vector3i b) -> vector3i
- Component-wise multiplication of two vectors.
- auto vec3i_neg(const vector3i v) -> vector3i
- Negation of a vector.
- auto vec3i_abs(const vector3i v) -> vector3i
- Computes the absolute value per component of a
vector3i. - auto vec3i_cross(const vector3i a, const vector3i b) -> vector3i
- Computes the cross-product of two
vector3i. - auto vec3i_normalize(const vector3i v) -> vector3i
- Normalizes a
vector3ito unit length. - auto vec3i_min(const vector3i a, const vector3i b) -> vector3i
- Computes the component-wise minimum of two
vector3i. - auto vec3i_max(const vector3i a, const vector3i b) -> vector3i
- Computes the component-wise maximum of two
vector3i. - auto vec3i_sign(const vector3i v) -> vector3i
- Computes the sign per component of a
vector3i(-1, 0, or 1). -
auto vec3i_lerp(const vector3i a,
const vector3i b,
const vm_
float_ t t) -> vector3i - Linearly interpolates between two
vector3i. - auto vec3i_clamp(const vector3i v, const vector3i min, const vector3i max) -> vector3i
- Clamps a
vector3ibetween min and max per component. -
auto vec3i_dot(const vector3i a,
const vector3i b) -> vm_
int_ t - Computes the dot product of two
vector3i. -
auto vec3i_length(const vector3i v) -> vm_
float_ t - Computes the length (magnitude) of a
vector3i. -
auto vec3i_distance(const vector3i a,
const vector3i b) -> vm_
float_ t - Computes the Euclidean distance between two
vector3i. -
auto vec3i_angle(const vector3i a,
const vector3i b) -> vm_
float_ t - Computes the angle between two non-zero
vector3iin radians. - auto vec3i_div(const vector3i a, const vector3i b) -> vector3i
- Divides two vectors component-wise.
-
auto vec3i_add_scalar(const vector3i v,
const vm_
int_ t s) -> vector3i - Adds a scalar to each component.
-
auto vec3i_sub_scalar(const vector3i v,
const vm_
int_ t s) -> vector3i - Subtracts a scalar from each component.
- auto vec3i_mod(const vector3i a, const vector3i b) -> vector3i
- Component-wise floor modulo of a by b.
- auto vec3i_div_floor(const vector3i a, const vector3i b) -> vector3i
- Component-wise floored division of a by b.
- auto vec3i_wrap(const vector3i v, const vector3i period) -> vector3i
- Wraps each component of v into [0, period).
-
auto vec3i_splat(const vm_
int_ t s) -> vector3i - Returns a vector with every component set to s.
-
auto vec3i_from_vec2i(const vector2i v,
const vm_
int_ t z) -> vector3i - Builds a vector3i from a vector2i and z.
- auto vec3i_xy(const vector3i v) -> vector2i
- Returns the x and y components as a 2D vector.
- auto vec3i_normalize_to_vec3(const vector3i v) -> vector3
- Converts to a unit-length vector3.
-
auto vec3i_length_squared(const vector3i v) -> vm_
int_ t - Returns the squared Euclidean length.
-
auto vec3i_distance_squared(const vector3i a,
const vector3i b) -> vm_
int_ t - Returns the squared Euclidean distance between a and b.
-
auto vec3i_length_manhattan(const vector3i v) -> vm_
int_ t - Returns the Manhattan (L1) length.
-
auto vec3i_length_chebyshev(const vector3i v) -> vm_
int_ t - Returns the Chebyshev (L-inf) length.
-
auto vec3i_min_component(const vector3i v) -> vm_
int_ t - Returns the smallest component.
-
auto vec3i_max_component(const vector3i v) -> vm_
int_ t - Returns the largest component.
-
auto vec3i_sum(const vector3i v) -> vm_
int_ t - Returns the sum of all components.
- auto vec3i_is_zero(const vector3i v) -> bool
- Returns true if every component is zero.
Function documentation
vector3i vec3i_zero(void)
Returns a zero-initialized vector3i.
| Returns | A vector3i with all components set to 0. |
|---|
vector3i vec3i_x_axis(const vm_ int_ t x)
Returns a vector3i along the x-axis.
| Parameters | |
|---|---|
| x | The x component value. |
| Returns | A vector3i with (x, 0, 0). |
vector3i vec3i_y_axis(const vm_ int_ t y)
Returns a vector3i along the y-axis.
| Parameters | |
|---|---|
| y | The y component value. |
| Returns | A vector3i with (0, y, 0). |
vector3i vec3i_z_axis(const vm_ int_ t z)
Returns a vector3i along the z-axis.
| Parameters | |
|---|---|
| z | The z component value. |
| Returns | A vector3i with (0, 0, z). |
vector3i vec3i_x_scale(const vm_ int_ t x)
Returns a vector3i for scaling along the x-axis.
| Parameters | |
|---|---|
| x | The x scale factor. |
| Returns | A vector3i with (x, 1, 1). |
vector3i vec3i_y_scale(const vm_ int_ t y)
Returns a vector3i for scaling along the y-axis.
| Parameters | |
|---|---|
| y | The y scale factor. |
| Returns | A vector3i with (1, y, 1). |
vector3i vec3i_z_scale(const vm_ int_ t z)
Returns a vector3i for scaling along the z-axis.
| Parameters | |
|---|---|
| z | The z scale factor. |
| Returns | A vector3i with (1, 1, z). |
vector3i vec3i_mul_scalar(const vector3i v,
const vm_ int_ t s)
Component-wise multiplication of vector by scalar.
| Parameters | |
|---|---|
| v | The vector. |
| s | The scalar. |
| Returns | Result vector. |
vector3i vec3i_div_scalar(const vector3i v,
const vm_ int_ t s)
Component-wise division of vector by scalar.
| Parameters | |
|---|---|
| v | The vector. |
| s | The scalar (non-zero). |
| Returns | Result vector. |
vector3i vec3i_cross(const vector3i a, const vector3i b)
Computes the cross-product of two vector3i.
| Parameters | |
|---|---|
| a | First vector. |
| b | Second vector. |
| Returns | The cross-product (a × b). |
vector3i vec3i_normalize(const vector3i v)
Normalizes a vector3i to unit length.
| Parameters | |
|---|---|
| v | The vector (non-zero). |
| Returns | The normalized vector. |
vector3i vec3i_sign(const vector3i v)
Computes the sign per component of a vector3i (-1, 0, or 1).
| Parameters | |
|---|---|
| v | The vector. |
| Returns | The sign vector. |
vector3i vec3i_lerp(const vector3i a,
const vector3i b,
const vm_ float_ t t)
Linearly interpolates between two vector3i.
| Parameters | |
|---|---|
| a | Start vector. |
| b | End vector. |
| t | Interpolation factor [0, 1]. |
| Returns | The interpolated vector (a * (1 - t) + b * t). |
vm_ float_ t vec3i_length(const vector3i v)
Computes the length (magnitude) of a vector3i.
| Parameters | |
|---|---|
| v | The vector. |
| Returns | The Euclidean length of v. |
vm_ float_ t vec3i_distance(const vector3i a,
const vector3i b)
Computes the Euclidean distance between two vector3i.
| Parameters | |
|---|---|
| a | First vector. |
| b | Second vector. |
| Returns | The distance between a and b. |
vm_ float_ t vec3i_angle(const vector3i a,
const vector3i b)
Computes the angle between two non-zero vector3i in radians.
| Parameters | |
|---|---|
| a | First vector. |
| b | Second vector. |
| Returns | The angle between the directions of a and b. |
vector3i vec3i_add_scalar(const vector3i v,
const vm_ int_ t s)
Adds a scalar to each component.
| Parameters | |
|---|---|
| v | Input vector. |
| s | Scalar value. |
| Returns | The resulting vector3i. |
vector3i vec3i_sub_scalar(const vector3i v,
const vm_ int_ t s)
Subtracts a scalar from each component.
| Parameters | |
|---|---|
| v | Input vector. |
| s | Scalar value. |
| Returns | The resulting vector3i. |
vector3i vec3i_div_floor(const vector3i a, const vector3i b)
Component-wise floored division of a by b.
| Parameters | |
|---|---|
| a | First input vector. |
| b | Second input vector. |
| Returns | The resulting vector3i. |
vector3i vec3i_wrap(const vector3i v, const vector3i period)
Wraps each component of v into [0, period).
| Parameters | |
|---|---|
| v | Input vector. |
| period | Wrap period per component. |
| Returns | The resulting vector3i. |
vector3i vec3i_splat(const vm_ int_ t s)
Returns a vector with every component set to s.
| Parameters | |
|---|---|
| s | Scalar value. |
| Returns | The resulting vector3i. |
vector3 vec3i_normalize_to_vec3(const vector3i v)
Converts to a unit-length vector3.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting vector3. |
vm_ int_ t vec3i_length_squared(const vector3i v)
Returns the squared Euclidean length.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting scalar. |
vm_ int_ t vec3i_distance_squared(const vector3i a,
const vector3i b)
Returns the squared Euclidean distance between a and b.
| Parameters | |
|---|---|
| a | First input vector. |
| b | Second input vector. |
| Returns | The resulting scalar. |
vm_ int_ t vec3i_length_manhattan(const vector3i v)
Returns the Manhattan (L1) length.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting scalar. |
vm_ int_ t vec3i_length_chebyshev(const vector3i v)
Returns the Chebyshev (L-inf) length.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting scalar. |
vm_ int_ t vec3i_min_component(const vector3i v)
Returns the smallest component.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting scalar. |
vm_ int_ t vec3i_max_component(const vector3i v)
Returns the largest component.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | The resulting scalar. |
bool vec3i_is_zero(const vector3i v)
Returns true if every component is zero.
| Parameters | |
|---|---|
| v | Input vector. |
| Returns | True if every component is zero. |