Rho Rho language and toolchain

std.math.linear

The module module std.math.linear, read from deploy/std/math/linear.rho. This page is generated from the source, so it describes what the code declares.

Functions

mat2_identity()

fn mat2_identity() Mat2x2

mat2_inverse()

fn mat2_inverse(a: Mat2x2) Mat2x2

mat2_transpose()

fn mat2_transpose(a: Mat2x2) Mat2x2

mat3_identity()

fn mat3_identity() Mat3x3

mat3mulvec()

fn mat3_mul_vec(a: Mat3x3, v: Vec3) Vec3

mat3rotationz()

fn mat3_rotation_z(angle: f64) Mat3x3

mat3_transpose()

fn mat3_transpose(a: Mat3x3) Mat3x3

quaternion_identity()

fn quaternion_identity() Quaternion

quaternion_mul()

fn quaternion_mul(a: Quaternion, b: Quaternion) Quaternion

quaternion_normalize()

fn quaternion_normalize(q: Quaternion) Quaternion

quaternion_slerp()

fn quaternion_slerp(a: Quaternion, b: Quaternion, t: f64) Quaternion

vec2_add()

fn vec2_add(a: Vec2, b: Vec2) Vec2

vec2_dot()

fn vec2_dot(a: Vec2, b: Vec2) f64

vec2_length()

fn vec2_length(a: Vec2) f64

vec2_lerp()

fn vec2_lerp(a: Vec2, b: Vec2, t: f64) Vec2

vec2_normalize()

fn vec2_normalize(a: Vec2) Vec2

vec2_sub()

fn vec2_sub(a: Vec2, b: Vec2) Vec2

vec3_add()

fn vec3_add(a: Vec3, b: Vec3) Vec3

vec3_cross()

fn vec3_cross(a: Vec3, b: Vec3) Vec3

vec3_dot()

fn vec3_dot(a: Vec3, b: Vec3) f64

vec3_length()

fn vec3_length(a: Vec3) f64

vec3_lerp()

fn vec3_lerp(a: Vec3, b: Vec3, t: f64) Vec3

vec3_normalize()

fn vec3_normalize(a: Vec3) Vec3

vec3_sub()

fn vec3_sub(a: Vec3, b: Vec3) Vec3

vec4_add()

fn vec4_add(a: Vec4, b: Vec4) Vec4

vec4_dot()

fn vec4_dot(a: Vec4, b: Vec4) f64

vec4_length()

fn vec4_length(a: Vec4) f64

vec4_normalize()

fn vec4_normalize(a: Vec4) Vec4

vec4_sub()

fn vec4_sub(a: Vec4, b: Vec4) Vec4

Structs

StructFields
Mat2x2m00: f64, m01: f64, m10: f64, m11: f64
Mat3x3m00: f64, m01: f64, m02: f64, m10: f64, m11: f64, m12: f64, m20: f64, m21: f64, m22: f64
Quaternionw: f64, x: f64, y: f64, z: f64
Vec2x: f64, y: f64
Vec3x: f64, y: f64, z: f64
Vec4x: f64, y: f64, z: f64, w: f64