SH4ZAM! 0.1.0
Fast math library for the Sega Dreamcast's SH4 CPU
Loading...
Searching...
No Matches
shz Namespace Reference

Data Structures

struct  complex
 
struct  mat4x4
 
struct  quat
 
struct  sincos
 
struct  vec2
 
struct  vec3
 
struct  vec4
 
struct  vecN
 
struct  xmtrx
 

Typedefs

using complex_t
 
using mat4x4_t
 
using quat_t
 
using sincos_t
 
using vec2_t
 
using vec3_t
 
using vec4_t
 
Aliasing Types

Types which may break C/C++'s strict aliasing rules

using alias_int16_t
 
using alias_uint16_t
 
using alias_int32_t
 
using alias_uint32_t
 
using alias_float_t
 
using alias_int64_t
 
using alias_uint64_t
 
using alias_double_t
 

Functions

void * memmove (void *dst, const void *src, size_t bytes) noexcept
 
void * memcpy128 (void *dst, const void *src, size_t bytes) noexcept
 
quat operator+ (quat lhs, quat rhs) noexcept
 
quat operator- (quat lhs, quat rhs) noexcept
 
quat operator* (quat lhs, quat rhs) noexcept
 
quat operator/ (quat lhs, quat rhs) noexcept
 
quat operator* (quat lhs, float rhs) noexcept
 
quat operator* (float lhs, quat rhs) noexcept
 
quat operator/ (quat lhs, float rhs) noexcept
 
quat operator/ (float lhs, quat rhs) noexcept
 
vec3 operator* (quat lhs, vec3 rhs) noexcept
 
constexpr float deg_to_rad (float deg) noexcept
 
constexpr float rad_to_deg (float rad) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator+ (vecN< CRTP, C, R > lhs, vecN< CRTP, C, R > rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator- (vecN< CRTP, C, R > lhs, vecN< CRTP, C, R > rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator* (vecN< CRTP, C, R > lhs, vecN< CRTP, C, R > rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator/ (vecN< CRTP, C, R > lhs, vecN< CRTP, C, R > rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator* (vecN< CRTP, C, R > lhs, float rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator* (float lhs, vecN< CRTP, C, R > rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator/ (vecN< CRTP, C, R > lhs, float rhs) noexcept
 
template<typename CRTP, typename C, size_t R>
CRTP operator/ (float lhs, vecN< CRTP, C, R > rhs) noexcept
 
Global Operators

Globally-defined overloaded operators.

complex operator+ (complex lhs, complex rhs) noexcept
 
complex operator- (complex lhs, complex rhs) noexcept
 
complex operator* (complex lhs, complex rhs) noexcept
 
complex operator* (complex lhs, float rhs) noexcept
 
complex operator/ (complex lhs, complex rhs) noexcept
 
complex operator/ (complex lhs, float rhs) noexcept
 
bool operator== (complex lhs, complex rhs) noexcept
 
bool operator!= (complex lhs, complex rhs) noexcept
 
Basic

Basic operations on complex numbers.

complex cinitf (float real, float imag) noexcept
 
complex cpolarf (float r, float theta) noexcept
 
bool cequalf (complex lhs, complex rhs) noexcept
 
float crealf (complex c) noexcept
 
float cimagf (complex c) noexcept
 
Arithmetic

Arithmetic operations on complex numbers.

complex caddf (complex lhs, complex rhs) noexcept
 
complex csubf (complex lhs, complex rhs) noexcept
 
complex cmulf (complex lhs, complex rhs) noexcept
 
complex cdivf (complex lhs, complex rhs) noexcept
 
complex cscalef (complex lhs, float v) noexcept
 
complex crecipf (complex c) noexcept
 
Manipulation

Extract or modify complex components.

float cabsf (complex c) noexcept
 
float inv_cabsf (complex c) noexcept
 
float cnormf (complex c) noexcept
 
float cargf (complex c) noexcept
 
complex conjf (complex c) noexcept
 
complex cprojf (complex c) noexcept
 
Spherical Trigonometry

Complex spherical trigonometric functions.

complex csinf (complex c) noexcept
 
complex ccosf (complex c) noexcept
 
complex ctanf (complex c) noexcept
 
complex ccscf (complex c) noexcept
 
complex csecf (complex c) noexcept
 
complex ccotf (complex c) noexcept
 
complex casinf (complex c) noexcept
 
complex cacosf (complex c) noexcept
 
complex catanf (complex c) noexcept
 
complex cacscf (complex c) noexcept
 
complex casecf (complex c) noexcept
 
complex cacotf (complex c) noexcept
 
Hyperbolic Trigonometry

Complex hyperbolic trigonometric functions.

complex csinhf (complex c) noexcept
 
complex ccoshf (complex c) noexcept
 
complex ctanhf (complex c) noexcept
 
complex ccschf (complex c) noexcept
 
complex csechf (complex c) noexcept
 
complex ccothf (complex c) noexcept
 
complex casinhf (complex c) noexcept
 
complex cacoshf (complex c) noexcept
 
complex catanhf (complex c) noexcept
 
complex cacschf (complex c) noexcept
 
complex casechf (complex c) noexcept
 
complex cacothf (complex c) noexcept
 
Signal Processing

Functions for processing complex signals.

void fft (shz_complex_t *s, size_t size) noexcept
 
Hyperbolic Functions

Trigonometric functions for hyperbolas

float sinhf (float x) noexcept
 
float coshf (float x) noexcept
 
float tanhf (float x) noexcept
 
float cschf (float x) noexcept
 
float sechf (float x) noexcept
 
float cothf (float x) noexcept
 
Inverse Hyperbolic Functions

Inverse trigonometric functions for hyperbolas

float asinhf (float x) noexcept
 
float acoshf (float x) noexcept
 
float atanhf (float x) noexcept
 
float acschf (float x) noexcept
 
float asechf (float x) noexcept
 
float acothf (float x) noexcept
 

Variables

constexpr auto circle_matrix
 
constexpr auto dcache_alloc_line
 
constexpr auto memcpy
 
constexpr auto memcpy1
 
constexpr auto memcpy2
 
constexpr auto memcpy4
 
constexpr auto memcpy8
 
constexpr auto memset8
 
constexpr auto memcpy32
 
constexpr auto memcpy64
 
constexpr auto memcpy2_8
 
constexpr auto memcpy2_16
 
constexpr auto memset2_16
 
constexpr auto memcpy4_16
 
constexpr auto memswap32_1
 
constexpr auto memswap32_1_xmtrx
 
constexpr auto sq_memcpy32
 
constexpr auto sq_memcpy32_xmtrx
 
constexpr auto sq_memcpy32_1
 
constexpr auto sq_memcpy32_1_xmtrx
 
constexpr float fipr_max_error
 
constexpr float pi_f
 
constexpr float pi_f_2
 
constexpr float pi_f_4
 
constexpr float fsca_rad_factor
 
constexpr float fsca_deg_factor
 
Comparisons

Routines for comparing and classifying floating-point values.

constexpr auto fminf
 
constexpr auto fmaxf
 
constexpr auto equalf
 
constexpr auto equalf_abs
 
constexpr auto equalf_rel
 
Rounding

Routines for rounding floats.

constexpr auto floorf
 
constexpr auto ceilf
 
constexpr auto roundf
 
constexpr auto truncf
 
constexpr auto remainderf
 
constexpr auto fmodf
 
constexpr auto remquof
 
Mapping

Routines for mapping a number to another range.

constexpr auto clampf
 
constexpr auto normalizef
 
constexpr auto normalizef_fsrra
 
constexpr auto remapf
 
constexpr auto remapf_fsrra
 
constexpr auto wrapf
 
constexpr auto wrapf_fsrra
 
constexpr auto fractf
 
constexpr auto signf
 
constexpr auto saturatef
 
FSRRA

Routines built around fast reciprocal square root.

constexpr auto inv_sqrtf_fsrra
 
constexpr auto inv_sqrtf
 
constexpr auto sqrtf_fsrra
 
constexpr auto sqrtf
 
constexpr auto invf_fsrra
 
constexpr auto invf
 
constexpr auto divf_fsrra
 
constexpr auto divf
 
FIPR

Routines built around fast 4D dot product.

constexpr auto dot6f
 
constexpr auto dot8f
 
constexpr auto mag_sqr3f
 
constexpr auto mag_sqr4f
 
Sine/Cosine pairs

Routines operating on pairs of sine and cosine values.

constexpr auto sincosu16
 
constexpr auto sincosf
 
constexpr auto sincosf_deg
 
constexpr auto sincos_tanf
 
constexpr auto sincos_secf
 
constexpr auto sincos_cscf
 
constexpr auto sincos_cotf
 
One-off Trig Functions

Routines for calculating results of single trig functions.

constexpr auto sinf
 
constexpr auto sinf_deg
 
constexpr auto cosf
 
constexpr auto cosf_deg
 
constexpr auto tanf
 
constexpr auto tanf_deg
 
constexpr auto secf
 
constexpr auto secf_deg
 
constexpr auto cscf
 
constexpr auto cscf_deg
 
constexpr auto cotf
 
constexpr auto cotf_deg
 
Inverse Trig Functions

Routines for calculating results of inverse trig functions.

constexpr auto atanf_unit
 
constexpr auto atanf_q1
 
constexpr auto atanf
 
constexpr auto atan2f
 
constexpr auto asinf
 
constexpr auto acosf
 
constexpr auto asecf
 
constexpr auto acscf
 
constexpr auto acotf
 

Miscellaneous

Fast versions of miscellaneous FP routines.

constexpr auto fabsf
 
constexpr auto copysignf
 
constexpr auto fmaf
 
constexpr auto fdimf
 
constexpr auto hypotf
 
constexpr auto lerpf
 
constexpr auto barycentric_lerpf
 
constexpr auto quadratic_roots
 
constexpr auto randf
 
constexpr auto randf_range
 
constexpr auto stepf
 
constexpr auto smoothstepf
 
constexpr auto smoothstepf_safe
 
float cbrtf (float x) noexcept
 

Transcendental

Complex transcendental functions.

constexpr auto pow2f
 
constexpr auto powf
 
constexpr auto pow10f
 
constexpr auto log2f
 
constexpr auto logf
 
constexpr auto log10f
 
constexpr auto expf
 
complex csqrtf (complex c) noexcept
 
complex cpowf (complex base, complex exp) noexcept
 
complex cexpf (complex c) noexcept
 
complex clogf (complex c) noexcept
 
complex clog10f (complex c) noexcept
 

Detailed Description

Namespace enclosing the SH4ZAM C++ API.

Typedef Documentation

◆ alias_int16_t

int16_t type whose value may be aliased as another type.

Definition at line 29 of file shz_cdefs.hpp.

◆ alias_uint16_t

uint16_t type whose value may be aliased as another type.

Definition at line 31 of file shz_cdefs.hpp.

◆ alias_int32_t

int32_t type whose value may be aliased as another type.

Definition at line 33 of file shz_cdefs.hpp.

◆ alias_uint32_t

uint32_t type whose value may be aliased as another type.

Definition at line 35 of file shz_cdefs.hpp.

◆ alias_float_t

float type whose value may be aliased as another type.

Definition at line 37 of file shz_cdefs.hpp.

◆ alias_int64_t

int64_t type whose value may be aliased as another type.

Definition at line 39 of file shz_cdefs.hpp.

◆ alias_uint64_t

uint64_t type whose value may be aliased as another type.

Definition at line 41 of file shz_cdefs.hpp.

◆ alias_double_t

double type whose value may be aliased as another type.

Definition at line 43 of file shz_cdefs.hpp.

◆ complex_t

POSIX-style C++ alias, for those who dig that kind of type name.

Definition at line 108 of file shz_complex.hpp.

◆ mat4x4_t

Alternate mat4x4 C++ alias for those who like POSIX style.

Definition at line 529 of file shz_matrix.hpp.

◆ quat_t

using shz::quat_t

Alternate C++ alias for quat, for those who like POSIX style.

Definition at line 400 of file shz_quat.hpp.

◆ sincos_t

C++ alias for sincos for those who like POSIX-style typenames.

Definition at line 82 of file shz_trig.hpp.

◆ vec2_t

using shz::vec2_t

C++ alias for vec2 for those who like POSIX-style.

Definition at line 448 of file shz_vector.hpp.

◆ vec3_t

using shz::vec3_t

C++ alias for vec3 for those who like POSIX-style.

Definition at line 552 of file shz_vector.hpp.

◆ vec4_t

using shz::vec4_t

C++ alias for vec4 for those who like POSIX-style.s.

Definition at line 623 of file shz_vector.hpp.

Function Documentation

◆ operator+() [1/3]

complex shz::operator+ ( complex lhs,
complex rhs )
noexcept

Adds the two complex numbers, lhs and rhs, returning the result.

Definition at line 116 of file shz_complex.hpp.

116 {
117 return shz_caddf(lhs, rhs);
118 }
shz_complex_t shz_caddf(shz_complex_t lhs, shz_complex_t rhs) SHZ_NOEXCEPT
Adds two complex numbers together and returns the result.

◆ operator-() [1/3]

complex shz::operator- ( complex lhs,
complex rhs )
noexcept

Subtracts rhs from lhs, returning the complex result.

Definition at line 121 of file shz_complex.hpp.

121 {
122 return shz_csubf(lhs, rhs);
123 }
shz_complex_t shz_csubf(shz_complex_t lhs, shz_complex_t rhs) SHZ_NOEXCEPT
Subtracts rhs from lhs and returns the complex result.

◆ operator*() [1/9]

complex shz::operator* ( complex lhs,
complex rhs )
noexcept

Multiplies lhs by rhs, returning the complex result.

Definition at line 126 of file shz_complex.hpp.

126 {
127 return shz_cmulf(lhs, rhs);
128 }
shz_complex_t shz_cmulf(shz_complex_t lhs, shz_complex_t rhs) SHZ_NOEXCEPT
Multiplies two complex numbers together, returning the complex result.

◆ operator*() [2/9]

complex shz::operator* ( complex lhs,
float rhs )
noexcept

Multiplies lhs by a complex number with the real component given as rhs and no imaginary component.

Definition at line 131 of file shz_complex.hpp.

131 {
132 return shz_cscalef(lhs, rhs);
133 }
shz_complex_t shz_cscalef(shz_complex_t c, float v) SHZ_NOEXCEPT
Scales both componets of the complex number, c, by the value, v, returning the result.

◆ operator/() [1/8]

complex shz::operator/ ( complex lhs,
complex rhs )
noexcept

Divides lhs by rhs, returning the complex result.

Definition at line 136 of file shz_complex.hpp.

136 {
137 return shz_cdivf(lhs, rhs);
138 }
shz_complex_t shz_cdivf(shz_complex_t lhs, shz_complex_t rhs) SHZ_NOEXCEPT
Divides lhs by rhs, returning the complex result.

◆ operator/() [2/8]

complex shz::operator/ ( complex lhs,
float rhs )
noexcept

Divides lhs by a complex number with the real compoonent given as rhs and no imaginary component.

Definition at line 141 of file shz_complex.hpp.

141 {
142 return shz_cscalef(lhs, shz_invf(rhs));
143 }
float shz_invf(float x) SHZ_NOEXCEPT
Takes the inverse of x using a slighty faster approximation than doing a full division,...

◆ operator==()

bool shz::operator== ( complex lhs,
complex rhs )
noexcept

Returns true if the two complex numbers are approximately equal.

Definition at line 146 of file shz_complex.hpp.

146 {
147 return shz_cequalf(lhs, rhs);
148 }
bool shz_cequalf(shz_complex_t lhs, shz_complex_t rhs) SHZ_NOEXCEPT
Checks for equality between two complex numbers with either an absolute or relative tolerance.

◆ operator!=()

bool shz::operator!= ( complex lhs,
complex rhs )
noexcept

Returns true if the two complex numbers are approximately inequal.

Definition at line 151 of file shz_complex.hpp.

151 {
152 return !(lhs == rhs);
153 }

◆ cinitf()

complex shz::cinitf ( float real,
float imag )
noexcept

Returns a new complex number with the given components.

Definition at line 163 of file shz_complex.hpp.

163 {
164 return shz_cinitf(real, imag);
165 }
shz_complex_t shz_cinitf(float real, float imag) SHZ_NOEXCEPT
Returns a complex number which has been initialized to contain the given component values.

◆ cpolarf()

complex shz::cpolarf ( float r,
float theta )
noexcept

Converts the given polar coordinates into a complex number.

Definition at line 168 of file shz_complex.hpp.

168 {
169 return shz_cpolarf(r, theta);
170 }
shz_complex_t shz_cpolarf(float r, float theta) SHZ_NOEXCEPT
Returns a complex number with a magnitude of r, and a phase angle of theta (in radians).

◆ cequalf()

bool shz::cequalf ( complex lhs,
complex rhs )
noexcept

Checks for relative equality between lhs and rhs.

Definition at line 173 of file shz_complex.hpp.

173 {
174 return shz_cequalf(lhs, rhs);
175 }

◆ crealf()

float shz::crealf ( complex c)
noexcept

Returns the real component of the given complex number.

Definition at line 178 of file shz_complex.hpp.

178 {
179 return shz_crealf(c);
180 }
float shz_crealf(shz_complex_t c) SHZ_NOEXCEPT
Returns the real component of a complex number.

◆ cimagf()

float shz::cimagf ( complex c)
noexcept

Returns the imaginary component of the given complex number.

Definition at line 183 of file shz_complex.hpp.

183 {
184 return shz_cimagf(c);
185 }
float shz_cimagf(shz_complex_t c) SHZ_NOEXCEPT
Returns the imaginary component of a complex number.

◆ caddf()

complex shz::caddf ( complex lhs,
complex rhs )
noexcept

Adds the two complex numbers together, returning the complex result.

Definition at line 195 of file shz_complex.hpp.

195 {
196 return shz_caddf(lhs, rhs);
197 }

◆ csubf()

complex shz::csubf ( complex lhs,
complex rhs )
noexcept

Subtracts rhs from lhs, returning the complex result.

Definition at line 200 of file shz_complex.hpp.

200 {
201 return shz_csubf(lhs, rhs);
202 }

◆ cmulf()

complex shz::cmulf ( complex lhs,
complex rhs )
noexcept

Multiplies the two complex numbers together, returning the complex result.

Definition at line 205 of file shz_complex.hpp.

205 {
206 return shz_cmulf(lhs, rhs);
207 }

◆ cdivf()

complex shz::cdivf ( complex lhs,
complex rhs )
noexcept

Divides lhs by rhs, returning the complex result.

Definition at line 210 of file shz_complex.hpp.

210 {
211 return shz_cdivf(lhs, rhs);
212 }

◆ cscalef()

complex shz::cscalef ( complex lhs,
float v )
noexcept

Multiplies lhs by the complex number created with v as its real component's value and no imaginary component value.

Definition at line 215 of file shz_complex.hpp.

215 {
216 return shz_cscalef(lhs, v);
217 }

◆ crecipf()

complex shz::crecipf ( complex c)
noexcept

Returns the multiplicative reciprocal of the given complex number.

Definition at line 220 of file shz_complex.hpp.

220 {
221 return shz_crecipf(c);
222 }
shz_complex_t shz_crecipf(shz_complex_t c) SHZ_NOEXCEPT
Returns the multiplicative inverse or reciprocal of the complex number, c.

◆ cabsf()

float shz::cabsf ( complex c)
noexcept

Returns the absolute value or magnitude of the given complex number.

Definition at line 232 of file shz_complex.hpp.

232 {
233 return shz_cabsf(c);
234 }
float shz_cabsf(shz_complex_t c) SHZ_NOEXCEPT
Returns the absolute value (or magnitude) of the complex number, c.

◆ inv_cabsf()

float shz::inv_cabsf ( complex c)
noexcept

Returns the inverse absolute value or magnitude of the given complex number.

Definition at line 237 of file shz_complex.hpp.

237 {
238 return shz_inv_cabsf(c);
239 }
float shz_inv_cabsf(shz_complex_t c) SHZ_NOEXCEPT
Returns the inverse of the absolute value (or inverse of the magnitude) of the complex number,...

◆ cnormf()

float shz::cnormf ( complex c)
noexcept

Returns the squared magnitude of the given complex number.

Definition at line 242 of file shz_complex.hpp.

242 {
243 return shz_cnormf(c);
244 }
float shz_cnormf(shz_complex_t c) SHZ_NOEXCEPT
Returns the squared magnitude of the complex number, c.

◆ cargf()

float shz::cargf ( complex c)
noexcept

Returns the phase angle of the given complex number.

Definition at line 247 of file shz_complex.hpp.

247 {
248 return shz_cargf(c);
249 }
float shz_cargf(shz_complex_t c) SHZ_NOEXCEPT
Returns the phase angle of the complex number, c.

◆ conjf()

complex shz::conjf ( complex c)
noexcept

Returns the complex conjugate of the given complex number.

Definition at line 252 of file shz_complex.hpp.

252 {
253 return shz_conjf(c);
254 }
shz_complex_t shz_conjf(shz_complex_t c) SHZ_NOEXCEPT
Returns the complex conjugate of c.

◆ cprojf()

complex shz::cprojf ( complex c)
noexcept

Returns the projection of the complex number onto the Riemann sphere.

Definition at line 257 of file shz_complex.hpp.

257 {
258 return shz_cprojf(c);
259 }
shz_complex_t shz_cprojf(shz_complex_t c) SHZ_NOEXCEPT
Calculates the projection of the complex number, c, onto the Riemann sphere.

◆ csqrtf()

complex shz::csqrtf ( complex c)
noexcept

Returns the complex square root of the given complex number.

Definition at line 269 of file shz_complex.hpp.

269 {
270 return shz_csqrtf(c);
271 }
shz_complex_t shz_csqrtf(shz_complex_t c) SHZ_NOEXCEPT
Computes and returns the complex square root of c.

◆ cpowf()

complex shz::cpowf ( complex base,
complex exp )
noexcept

Raises a complex base to a complex power given by exp, returning a complex result.

Definition at line 274 of file shz_complex.hpp.

274 {
275 return shz_cpowf(base, exp);
276 }
shz_complex_t shz_cpowf(shz_complex_t base, shz_complex_t exp) SHZ_NOEXCEPT
Raises the complex base to the complex exp power, returning a complex result.

◆ cexpf()

complex shz::cexpf ( complex c)
noexcept

Returns the complex base e exponential of the given complex number.

Definition at line 279 of file shz_complex.hpp.

279 {
280 return shz_cexpf(c);
281 }
shz_complex_t shz_cexpf(shz_complex_t c) SHZ_NOEXCEPT
Returns the complex base e exponential of c.

◆ clogf()

complex shz::clogf ( complex c)
noexcept

returns the complex natural logarithm of the given complex number.

Definition at line 284 of file shz_complex.hpp.

284 {
285 return shz_clogf(c);
286 }
shz_complex_t shz_clogf(shz_complex_t c) SHZ_NOEXCEPT
Computes and returns the complex natural logarithm of c.

◆ clog10f()

complex shz::clog10f ( complex c)
noexcept

Returns the complex base 10 logarithm of the given complex number.

Definition at line 289 of file shz_complex.hpp.

289 {
290 return shz_clog10f(c);
291 }
shz_complex_t shz_clog10f(shz_complex_t c) SHZ_NOEXCEPT
Computes and returns the complex base 10 logarithm of c.

◆ csinf()

complex shz::csinf ( complex c)
noexcept

Returns the sine of the given complex number.

Definition at line 301 of file shz_complex.hpp.

301 {
302 return shz_csinf(c);
303 }
shz_complex_t shz_csinf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex sine of c.

◆ ccosf()

complex shz::ccosf ( complex c)
noexcept

Returns the cosine of the given complex number.

Definition at line 306 of file shz_complex.hpp.

306 {
307 return shz_ccosf(c);
308 }
shz_complex_t shz_ccosf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex cosine of c.

◆ ctanf()

complex shz::ctanf ( complex c)
noexcept

Returns the tangent of the given complex number.

Definition at line 311 of file shz_complex.hpp.

311 {
312 return shz_ctanf(c);
313 }
shz_complex_t shz_ctanf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex tangent of c.

◆ ccscf()

complex shz::ccscf ( complex c)
noexcept

Returns the cosecant of the given complex number.

Definition at line 316 of file shz_complex.hpp.

316 {
317 return shz_ccscf(c);
318 }
shz_complex_t shz_ccscf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex cosecant of c.

◆ csecf()

complex shz::csecf ( complex c)
noexcept

Returns the secant of the given complex number.

Definition at line 321 of file shz_complex.hpp.

321 {
322 return shz_csecf(c);
323 }
shz_complex_t shz_csecf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex secant of c.

◆ ccotf()

complex shz::ccotf ( complex c)
noexcept

Returns the cotangent of the given complex number.

Definition at line 326 of file shz_complex.hpp.

326 {
327 return shz_ccotf(c);
328 }
shz_complex_t shz_ccotf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex cotangent of c.

◆ casinf()

complex shz::casinf ( complex c)
noexcept

Returns the arcsine of the given complex number.

Definition at line 331 of file shz_complex.hpp.

331 {
332 return shz_casinf(c);
333 }
shz_complex_t shz_casinf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arcsine of c.

◆ cacosf()

complex shz::cacosf ( complex c)
noexcept

Returns the arccosine of the given complex number.

Definition at line 336 of file shz_complex.hpp.

336 {
337 return shz_cacosf(c);
338 }
shz_complex_t shz_cacosf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arccosine of c.

◆ catanf()

complex shz::catanf ( complex c)
noexcept

Returns the arctangent of the given complex number.

Definition at line 341 of file shz_complex.hpp.

341 {
342 return shz_catanf(c);
343 }
shz_complex_t shz_catanf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arctangent of c.

◆ cacscf()

complex shz::cacscf ( complex c)
noexcept

Returns the arccosecant of the given complex number.

Definition at line 346 of file shz_complex.hpp.

346 {
347 return shz_cacscf(c);
348 }
shz_complex_t shz_cacscf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arccosecant of c.

◆ casecf()

complex shz::casecf ( complex c)
noexcept

Returns the arcsecant of the given complex number.

Definition at line 351 of file shz_complex.hpp.

351 {
352 return shz_casecf(c);
353 }
shz_complex_t shz_casecf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arcsecant of c.

◆ cacotf()

complex shz::cacotf ( complex c)
noexcept

Returns the arccotangent of the given complex number.

Definition at line 356 of file shz_complex.hpp.

356 {
357 return shz_cacotf(c);
358 }
shz_complex_t shz_cacotf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex arccotangent of c.

◆ csinhf()

complex shz::csinhf ( complex c)
noexcept

Returns the hyperbolic sine of the given complex number.

Definition at line 368 of file shz_complex.hpp.

368 {
369 return shz_csinhf(c);
370 }
shz_complex_t shz_csinhf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic sine of c.

◆ ccoshf()

complex shz::ccoshf ( complex c)
noexcept

Returns the hyperbolic cosine of the given complex number.

Definition at line 373 of file shz_complex.hpp.

373 {
374 return shz_ccoshf(c);
375 }
shz_complex_t shz_ccoshf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic cosine of c.

◆ ctanhf()

complex shz::ctanhf ( complex c)
noexcept

Returns the hyperbolic tangent of the given complex number.

Definition at line 378 of file shz_complex.hpp.

378 {
379 return shz_ctanhf(c);
380 }
shz_complex_t shz_ctanhf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic tangent of c.

◆ ccschf()

complex shz::ccschf ( complex c)
noexcept

Returns the hyperbolic cosecant of the given complex number.

Definition at line 383 of file shz_complex.hpp.

383 {
384 return shz_ccschf(c);
385 }
shz_complex_t shz_ccschf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic cosecant of c.

◆ csechf()

complex shz::csechf ( complex c)
noexcept

Returns the hyperbolic secant of the given complex number.

Definition at line 388 of file shz_complex.hpp.

388 {
389 return shz_csechf(c);
390 }
shz_complex_t shz_csechf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic secant of c.

◆ ccothf()

complex shz::ccothf ( complex c)
noexcept

Returns the hyperbolic cotangent of the given complex number.

Definition at line 393 of file shz_complex.hpp.

393 {
394 return shz_ccothf(c);
395 }
shz_complex_t shz_ccothf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic cotangent of c.

◆ casinhf()

complex shz::casinhf ( complex c)
noexcept

Returns the hyperbolic arcsine of the given complex number.

Definition at line 398 of file shz_complex.hpp.

398 {
399 return shz_casinhf(c);
400 }
shz_complex_t shz_casinhf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arcsine of c.

◆ cacoshf()

complex shz::cacoshf ( complex c)
noexcept

Returns the hyperbolic arccosine of the given complex number.

Definition at line 403 of file shz_complex.hpp.

403 {
404 return shz_cacoshf(c);
405 }
shz_complex_t shz_cacoshf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arccosine of c.

◆ catanhf()

complex shz::catanhf ( complex c)
noexcept

Returns the hyperbolic arctangent of the given complex number.

Definition at line 408 of file shz_complex.hpp.

408 {
409 return shz_catanhf(c);
410 }
shz_complex_t shz_catanhf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arctangent of c.

◆ cacschf()

complex shz::cacschf ( complex c)
noexcept

Returns the hyperbolic arccosecant of the given complex number.

Definition at line 413 of file shz_complex.hpp.

413 {
414 return shz_cacschf(c);
415 }
shz_complex_t shz_cacschf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arccosecant of c.

◆ casechf()

complex shz::casechf ( complex c)
noexcept

Returns the hyperbolic arcsecant of the given complex number.

Definition at line 418 of file shz_complex.hpp.

418 {
419 return shz_casechf(c);
420 }
shz_complex_t shz_casechf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arcsecant of c.

◆ cacothf()

complex shz::cacothf ( complex c)
noexcept

Returns the hyperbolic arccotangent of the given complex number.

Definition at line 423 of file shz_complex.hpp.

423 {
424 return shz_cacothf(c);
425 }
shz_complex_t shz_cacothf(shz_complex_t c) SHZ_NOEXCEPT
Calculates and returns the complex hyperbolic arccotangent of c.

◆ fft()

void shz::fft ( shz_complex_t * s,
size_t size )
noexcept

C++ wrapper around shz_fft(), which computes the FFT of the given buffer.

See also
shz_fft()

Definition at line 435 of file shz_complex.hpp.

435 {
436 return shz_fft(s, size);
437 }
void shz_fft(shz_complex_t *s, size_t size) SHZ_NOEXCEPT
Fast Fourier Transform.

◆ memmove()

void * shz::memmove ( void * dst,
const void * src,
size_t bytes )
noexcept

C++ wrapper around shz_memmove().

Definition at line 20 of file shz_mem.hpp.

20 {
21 return shz_memmove(dst, src, bytes);
22 }
void * shz_memmove(void *dst, const void *src, size_t bytes) SHZ_NOEXCEPT
Generic drop-in fast memmove() replacement.

◆ memcpy128()

void * shz::memcpy128 ( void * dst,
const void * src,
size_t bytes )
noexcept

C++ wrapper around shz_memcpy128().

Definition at line 34 of file shz_mem.hpp.

34 {
35 return shz_memcpy128(dst, src, bytes);
36 }
void * shz_memcpy128(void *SHZ_RESTRICT dst, const void *SHZ_RESTRICT src, size_t bytes) SHZ_NOEXCEPT
Specialized memcpy() variant for copying multiples of 128 bytes.

◆ operator+() [2/3]

quat shz::operator+ ( quat lhs,
quat rhs )
noexcept

Overloaded operator for adding two quaternions and returning the result.

Definition at line 403 of file shz_quat.hpp.

403 {
404 return lhs.add(rhs);
405 }
quat add(quat rhs) const noexcept
Returns a new quaternion from adding the given quaterion to rhs.
Definition shz_quat.hpp:286

◆ operator-() [2/3]

quat shz::operator- ( quat lhs,
quat rhs )
noexcept

Overloaded operator for subtracting two quaternions and returning the result.

Definition at line 408 of file shz_quat.hpp.

408 {
409 return lhs.sub(rhs);
410 }
quat sub(quat rhs) const noexcept
Returns a new quaternion from adding rhs from the given quaternion.
Definition shz_quat.hpp:291

◆ operator*() [3/9]

quat shz::operator* ( quat lhs,
quat rhs )
noexcept

Overloaded operator for multiplying two quaternions and returning the result.

Definition at line 413 of file shz_quat.hpp.

413 {
414 return lhs.mult(rhs);
415 }
quat mult(quat rhs) const noexcept
Returns a new quaterion from multiplying the given quaternion by another.
Definition shz_quat.hpp:321

◆ operator/() [3/8]

quat shz::operator/ ( quat lhs,
quat rhs )
noexcept

Overloaded operator for dividing lhs by rhs (or multiplying by the reciprocal of rhs) and returning the result.

Definition at line 418 of file shz_quat.hpp.

418 {
419 return lhs.div(rhs);
420 }
quat div(quat rhs) const noexcept
Returns a new quaterion from dividing the given quaternion by another (or multiplying the given quate...
Definition shz_quat.hpp:326

◆ operator*() [4/9]

quat shz::operator* ( quat lhs,
float rhs )
noexcept

Overloaded operator for scaling each component of lhs by rhs and returning the result.

Definition at line 423 of file shz_quat.hpp.

423 {
424 return lhs.scaled(rhs);
425 }
quat scaled(float s) const noexcept
Returns a new quaternion from scaling the given quaterion by s.
Definition shz_quat.hpp:296

◆ operator*() [5/9]

quat shz::operator* ( float lhs,
quat rhs )
noexcept

Overloaded operator for scaling each component of rhs by lhs and returning the result.

Definition at line 428 of file shz_quat.hpp.

428 {
429 return rhs.scaled(lhs);
430 }

◆ operator/() [4/8]

quat shz::operator/ ( quat lhs,
float rhs )
noexcept

Overloaded operator for dividing each element of lhs by rhs and returning the result.

Definition at line 433 of file shz_quat.hpp.

433 {
434 return lhs.scaled(shz_invf(rhs));
435 }

◆ operator/() [5/8]

quat shz::operator/ ( float lhs,
quat rhs )
noexcept

Overloaded operator for dividing each component of rhs by lhs.

Definition at line 438 of file shz_quat.hpp.

438 {
439 return rhs.scaled(shz_invf(lhs));
440 }

◆ operator*() [6/9]

vec3 shz::operator* ( quat lhs,
vec3 rhs )
noexcept

Overloaded operator for transforming/rotating a vec3, rhs, by a quaternion, lhs.

Definition at line 443 of file shz_quat.hpp.

443 {
444 return lhs.transform(rhs);
445 }
vec3 transform(vec3 in) const noexcept
Returns a new shz::vec3 from transforming in by the given quaternion.
Definition shz_quat.hpp:355

◆ cbrtf()

float shz::cbrtf ( float x)
noexcept

C++ wrapper for shz_cbrtf().

Definition at line 99 of file shz_scalar.hpp.

99{ return shz_cbrtf(x); }
float shz_cbrtf(float x) SHZ_NOEXCEPT
Replacement for the <math.h> routine, cbrtf().

◆ deg_to_rad()

float shz::deg_to_rad ( float deg)
constexprnoexcept

Converts degrees to radians.

Definition at line 33 of file shz_trig.hpp.

33{ return SHZ_DEG_TO_RAD(deg); }
#define SHZ_DEG_TO_RAD(deg)
Converts the given angle in degrees to radians.
Definition shz_trig.h:40

◆ rad_to_deg()

float shz::rad_to_deg ( float rad)
constexprnoexcept

Converts radians to degrees.

Definition at line 35 of file shz_trig.hpp.

35{ return SHZ_RAD_TO_DEG(rad); }
#define SHZ_RAD_TO_DEG(rad)
Converts the given angle in radians to degrees.
Definition shz_trig.h:42

◆ sinhf()

float shz::sinhf ( float x)
noexcept

C++ wrapper around shz_sinhf().

Definition at line 171 of file shz_trig.hpp.

171{ return shz_sinhf(x); }
float shz_sinhf(float x) SHZ_NOEXCEPT
Fast hyperbolic sine function.

◆ coshf()

float shz::coshf ( float x)
noexcept

C++ wrapper around shz_coshf().

Definition at line 173 of file shz_trig.hpp.

173{ return shz_coshf(x); }
float shz_coshf(float x) SHZ_NOEXCEPT
Fast hyperbolic cosine function.

◆ tanhf()

float shz::tanhf ( float x)
noexcept

C++ wrapper around shz_tanhf().

Definition at line 175 of file shz_trig.hpp.

175{ return shz_tanhf(x); }
float shz_tanhf(float x) SHZ_NOEXCEPT
Fast hyperbolic tangent function.

◆ cschf()

float shz::cschf ( float x)
noexcept

C++ wrapper around shz_cschf().

Definition at line 177 of file shz_trig.hpp.

177{ return shz_cschf(x); }
float shz_cschf(float x) SHZ_NOEXCEPT
Fast hyperbolic cosecant function.

◆ sechf()

float shz::sechf ( float x)
noexcept

C++ wrapper around shz_sechf().

Definition at line 179 of file shz_trig.hpp.

179{ return shz_sechf(x); }
float shz_sechf(float x) SHZ_NOEXCEPT
Fast hyperbolic secant function.

◆ cothf()

float shz::cothf ( float x)
noexcept

C++ wrapper around shz_cothf().

Definition at line 181 of file shz_trig.hpp.

181{ return shz_cothf(x); }
float shz_cothf(float x) SHZ_NOEXCEPT
Fast hyperbolic cotangent function.

◆ asinhf()

float shz::asinhf ( float x)
noexcept

C++ wrapper around shz_asinhf().

Definition at line 191 of file shz_trig.hpp.

191{ return shz_asinhf(x); }
float shz_asinhf(float x) SHZ_NOEXCEPT
Fast hyperbolic arcsine function.

◆ acoshf()

float shz::acoshf ( float x)
noexcept

C++ wrapper around shz_acoshf().

Definition at line 193 of file shz_trig.hpp.

193{ return shz_acoshf(x); }
float shz_acoshf(float x) SHZ_NOEXCEPT
Fast hyperbolic arccosine function.

◆ atanhf()

float shz::atanhf ( float x)
noexcept

C++ wrapper around shz_atanhf().

Definition at line 195 of file shz_trig.hpp.

195{ return shz_atanhf(x); }
float shz_atanhf(float x) SHZ_NOEXCEPT
Fast hyperbolic arctangent function.

◆ acschf()

float shz::acschf ( float x)
noexcept

C++ wrapper around shz_acscf().

Definition at line 197 of file shz_trig.hpp.

197{ return shz_acschf(x); }
float shz_acschf(float x) SHZ_NOEXCEPT
Fast hyperbolic arccosecant function.

◆ asechf()

float shz::asechf ( float x)
noexcept

C++ wrapper around shz_asechf().

Definition at line 199 of file shz_trig.hpp.

199{ return shz_asechf(x); }
float shz_asechf(float x) SHZ_NOEXCEPT
Fast hyperbolic arcsecant function.

◆ acothf()

float shz::acothf ( float x)
noexcept

C++ wrapper around shz_acothf().

Definition at line 201 of file shz_trig.hpp.

201{ return shz_acothf(x); }
float shz_acothf(float x) SHZ_NOEXCEPT
Fast hyperbolic arccotangent function.

◆ operator+() [3/3]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator+ ( vecN< CRTP, C, R > lhs,
vecN< CRTP, C, R > rhs )
noexcept

Overloaded addition operator, adding two vectors together and returning the result.

Definition at line 352 of file shz_vector.hpp.

352 {
353 return shz_vec_add(lhs, rhs);
354}
#define shz_vec_add(vec1, vec2)
C type-generic vector addition.
Definition shz_vector.h:762

◆ operator-() [3/3]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator- ( vecN< CRTP, C, R > lhs,
vecN< CRTP, C, R > rhs )
noexcept

Overloaded subtraction operator, subtracting one vector from another, returning the result.

Definition at line 358 of file shz_vector.hpp.

358 {
359 return shz_vec_sub(lhs, rhs);
360}
#define shz_vec_sub(vec1, vec2)
C type-generic vector subtraction.
Definition shz_vector.h:769

◆ operator*() [7/9]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator* ( vecN< CRTP, C, R > lhs,
vecN< CRTP, C, R > rhs )
noexcept

Overloaded multiplication operator, performing element-wise multiplication between two vectors, returning the resultant vector.

Definition at line 364 of file shz_vector.hpp.

364 {
365 return shz_vec_mul(lhs, rhs);
366}
#define shz_vec_mul(vec1, vec2)
C type-generic vector multiplication.
Definition shz_vector.h:776

◆ operator/() [6/8]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator/ ( vecN< CRTP, C, R > lhs,
vecN< CRTP, C, R > rhs )
noexcept

Overloaded division operator, returning the resulting vector from component-wise dividing the elements of lhs by rhs.

Definition at line 370 of file shz_vector.hpp.

370 {
371 return shz_vec_div(lhs, rhs);
372}
#define shz_vec_div(vec1, vec2)
C type-generic vector division.
Definition shz_vector.h:783

◆ operator*() [8/9]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator* ( vecN< CRTP, C, R > lhs,
float rhs )
noexcept

Overloaded multiplication operator for scaling a vector by a scalar and returning the resulting vector.

Definition at line 376 of file shz_vector.hpp.

376 {
377 return shz_vec_scale(lhs, rhs);
378}
#define shz_vec_scale(vec, factor)
C type-generic vector scaling.
Definition shz_vector.h:790

◆ operator*() [9/9]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator* ( float lhs,
vecN< CRTP, C, R > rhs )
noexcept

Reverse overloaded multiplication operator for scaling a vector by a scalar and returning the resulting vector.

Definition at line 382 of file shz_vector.hpp.

382 {
383 return shz_vec_scale(rhs, lhs);
384}

◆ operator/() [7/8]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator/ ( vecN< CRTP, C, R > lhs,
float rhs )
noexcept

Overloaded division operator for component-wise dividing each element of the given vector by the given scalar.

Definition at line 388 of file shz_vector.hpp.

388 {
389 return shz_vec_scale(lhs, shz::invf(rhs));
390}
constexpr auto invf
C++ alias for shz_invf().

◆ operator/() [8/8]

template<typename CRTP, typename C, size_t R>
CRTP shz::operator/ ( float lhs,
vecN< CRTP, C, R > rhs )
noexcept

Reverse overloaded division operator for component-wise dividing a vector whose elements have all been initialized to the scalar by the given vector.

Definition at line 394 of file shz_vector.hpp.

394 {
395 return shz_vec_div(CRTP(lhs), rhs);
396}

Variable Documentation

◆ circle_matrix

auto shz::circle_matrix
constexpr

C++ wrapper around shz_circle_matrix.

Definition at line 17 of file shz_circle.hpp.

◆ dcache_alloc_line

auto shz::dcache_alloc_line
constexpr

Definition at line 17 of file shz_mem.hpp.

◆ memcpy

auto shz::memcpy
constexpr

Definition at line 24 of file shz_mem.hpp.

◆ memcpy1

auto shz::memcpy1
constexpr

Definition at line 25 of file shz_mem.hpp.

◆ memcpy2

auto shz::memcpy2
constexpr

Definition at line 26 of file shz_mem.hpp.

◆ memcpy4

auto shz::memcpy4
constexpr

Definition at line 27 of file shz_mem.hpp.

◆ memcpy8

auto shz::memcpy8
constexpr

Definition at line 28 of file shz_mem.hpp.

◆ memset8

auto shz::memset8
constexpr

Definition at line 29 of file shz_mem.hpp.

◆ memcpy32

auto shz::memcpy32
constexpr

Definition at line 30 of file shz_mem.hpp.

◆ memcpy64

auto shz::memcpy64
constexpr

Definition at line 31 of file shz_mem.hpp.

◆ memcpy2_8

auto shz::memcpy2_8
constexpr

Definition at line 38 of file shz_mem.hpp.

◆ memcpy2_16

auto shz::memcpy2_16
constexpr

Definition at line 39 of file shz_mem.hpp.

◆ memset2_16

auto shz::memset2_16
constexpr

Definition at line 40 of file shz_mem.hpp.

◆ memcpy4_16

auto shz::memcpy4_16
constexpr

Definition at line 41 of file shz_mem.hpp.

◆ memswap32_1

auto shz::memswap32_1
constexpr

Definition at line 43 of file shz_mem.hpp.

◆ memswap32_1_xmtrx

auto shz::memswap32_1_xmtrx
constexpr

Definition at line 44 of file shz_mem.hpp.

◆ sq_memcpy32

auto shz::sq_memcpy32
constexpr

Definition at line 46 of file shz_mem.hpp.

◆ sq_memcpy32_xmtrx

auto shz::sq_memcpy32_xmtrx
constexpr

Definition at line 47 of file shz_mem.hpp.

◆ sq_memcpy32_1

auto shz::sq_memcpy32_1
constexpr

Definition at line 48 of file shz_mem.hpp.

◆ sq_memcpy32_1_xmtrx

auto shz::sq_memcpy32_1_xmtrx
constexpr

Definition at line 49 of file shz_mem.hpp.

◆ fipr_max_error

float shz::fipr_max_error
constexpr

Definition at line 20 of file shz_scalar.hpp.

◆ fminf

auto shz::fminf
constexpr

C++ alias for shz_fminf()

Definition at line 27 of file shz_scalar.hpp.

◆ fmaxf

auto shz::fmaxf
constexpr

C++ alias for shz_fmaxf()

Definition at line 29 of file shz_scalar.hpp.

◆ equalf

auto shz::equalf
constexpr

C++ alias for shz_equalf()

Definition at line 31 of file shz_scalar.hpp.

◆ equalf_abs

auto shz::equalf_abs
constexpr

C++ alias for shz_equalf_abs()

Definition at line 33 of file shz_scalar.hpp.

◆ equalf_rel

auto shz::equalf_rel
constexpr

C++ alias for shz_equalf_rel()

Definition at line 35 of file shz_scalar.hpp.

◆ floorf

auto shz::floorf
constexpr

C++ alias for shz_floorf().

Definition at line 43 of file shz_scalar.hpp.

◆ ceilf

auto shz::ceilf
constexpr

C++ alias for shz_ceilf().

Definition at line 45 of file shz_scalar.hpp.

◆ roundf

auto shz::roundf
constexpr

C++ alias for shz_roundf().

Definition at line 47 of file shz_scalar.hpp.

◆ truncf

auto shz::truncf
constexpr

C++ alias for shz_truncf().

Definition at line 49 of file shz_scalar.hpp.

◆ remainderf

auto shz::remainderf
constexpr

C++ alias for shz_remainderf().

Definition at line 51 of file shz_scalar.hpp.

◆ fmodf

auto shz::fmodf
constexpr

C++ alias for shz_fmodf().

Definition at line 53 of file shz_scalar.hpp.

◆ remquof

auto shz::remquof
constexpr

C++ alias for shz_remquof().

Definition at line 55 of file shz_scalar.hpp.

◆ clampf

auto shz::clampf
constexpr

C++ alias for shz_clampf().

Definition at line 63 of file shz_scalar.hpp.

◆ normalizef

auto shz::normalizef
constexpr

C++ alias for shz_normalizef().

Definition at line 65 of file shz_scalar.hpp.

◆ normalizef_fsrra

auto shz::normalizef_fsrra
constexpr

C++ alias for shz_normalizef_fsrra().

Definition at line 67 of file shz_scalar.hpp.

◆ remapf

auto shz::remapf
constexpr

C++ alias for shz_remapf().

Definition at line 69 of file shz_scalar.hpp.

◆ remapf_fsrra

auto shz::remapf_fsrra
constexpr

C++ alias for shz_remapf_fsrra().

Definition at line 71 of file shz_scalar.hpp.

◆ wrapf

auto shz::wrapf
constexpr

C++ alias for shz_wrapf().

Definition at line 73 of file shz_scalar.hpp.

◆ wrapf_fsrra

auto shz::wrapf_fsrra
constexpr

C++ alias for shz_wrapf_fsrra().

Definition at line 75 of file shz_scalar.hpp.

◆ fractf

auto shz::fractf
constexpr

C++ alias for shz_fractf().

Definition at line 77 of file shz_scalar.hpp.

◆ signf

auto shz::signf
constexpr

C++ alias for shz_signf().

Definition at line 79 of file shz_scalar.hpp.

◆ saturatef

auto shz::saturatef
constexpr

C++ alias for shz_saturatef().

Definition at line 81 of file shz_scalar.hpp.

◆ fabsf

auto shz::fabsf
constexpr

C++ alias for shz_fabsf().

Definition at line 89 of file shz_scalar.hpp.

◆ copysignf

auto shz::copysignf
constexpr

C++ alias for shz_copysignf().

Definition at line 91 of file shz_scalar.hpp.

◆ fmaf

auto shz::fmaf
constexpr

C++ alias for shz_fmacf().

Definition at line 93 of file shz_scalar.hpp.

◆ fdimf

auto shz::fdimf
constexpr

C++ alias for shz_fdimf().

Definition at line 95 of file shz_scalar.hpp.

◆ hypotf

auto shz::hypotf
constexpr

C++ alias for shz_hypotf().

Definition at line 97 of file shz_scalar.hpp.

◆ lerpf

auto shz::lerpf
constexpr

C++ alias for shz_lerpf().

Definition at line 101 of file shz_scalar.hpp.

◆ barycentric_lerpf

auto shz::barycentric_lerpf
constexpr

C++ alias for shz_barycentric_lerpf().

Definition at line 103 of file shz_scalar.hpp.

◆ quadratic_roots

auto shz::quadratic_roots
constexpr

C++ alias for shz_quadratic_roots().

Definition at line 105 of file shz_scalar.hpp.

◆ randf

auto shz::randf
constexpr

C++ alias for shz_randf().

Definition at line 107 of file shz_scalar.hpp.

◆ randf_range

auto shz::randf_range
constexpr

C++ alias for shz_randf_range()

Definition at line 109 of file shz_scalar.hpp.

◆ stepf

auto shz::stepf
constexpr

C++ alias for shz_stepf()

Definition at line 111 of file shz_scalar.hpp.

◆ smoothstepf

auto shz::smoothstepf
constexpr

C++ alias for shz_smoothstepf()

Definition at line 113 of file shz_scalar.hpp.

◆ smoothstepf_safe

auto shz::smoothstepf_safe
constexpr

C++ alias for shz_smoothstepf_safe()

Definition at line 115 of file shz_scalar.hpp.

◆ inv_sqrtf_fsrra

auto shz::inv_sqrtf_fsrra
constexpr

C++ alias for shz_inv_sqrtf_fsrra().

Definition at line 124 of file shz_scalar.hpp.

◆ inv_sqrtf

auto shz::inv_sqrtf
constexpr

C++ alias for shz_inv_sqrtf().

Definition at line 126 of file shz_scalar.hpp.

◆ sqrtf_fsrra

auto shz::sqrtf_fsrra
constexpr

C++ alias for shz_sqrtf_fsrra().

Definition at line 128 of file shz_scalar.hpp.

◆ sqrtf

auto shz::sqrtf
constexpr

C++ alias for shz_sqrtf().

Definition at line 130 of file shz_scalar.hpp.

◆ invf_fsrra

auto shz::invf_fsrra
constexpr

C++ alias for shz_invf_fsrra().

Definition at line 132 of file shz_scalar.hpp.

◆ invf

auto shz::invf
constexpr

C++ alias for shz_invf().

Definition at line 134 of file shz_scalar.hpp.

◆ divf_fsrra

auto shz::divf_fsrra
constexpr

C++ alias for shz_divf_fsrra().

Definition at line 136 of file shz_scalar.hpp.

◆ divf

auto shz::divf
constexpr

C++ alias for shz_divf().

Definition at line 138 of file shz_scalar.hpp.

◆ dot6f

auto shz::dot6f
constexpr

C++ alias for shz_dot6f().

Definition at line 146 of file shz_scalar.hpp.

◆ dot8f

auto shz::dot8f
constexpr

C++ alias for shz_dot8f().

Definition at line 148 of file shz_scalar.hpp.

◆ mag_sqr3f

auto shz::mag_sqr3f
constexpr

C++ alias for shz_mag_sqr3f().

Definition at line 150 of file shz_scalar.hpp.

◆ mag_sqr4f

auto shz::mag_sqr4f
constexpr

C++ alias for shz_mag_sqr4f().

Definition at line 152 of file shz_scalar.hpp.

◆ pow2f

auto shz::pow2f
constexpr

C++ alias for shz_pow2f().

Definition at line 160 of file shz_scalar.hpp.

◆ powf

auto shz::powf
constexpr

C++ alias for shz_powf().

Definition at line 162 of file shz_scalar.hpp.

◆ pow10f

auto shz::pow10f
constexpr

C++ alias for shz_pow10f().

Definition at line 164 of file shz_scalar.hpp.

◆ log2f

auto shz::log2f
constexpr

C++ alias for shz_log2f().

Definition at line 166 of file shz_scalar.hpp.

◆ logf

auto shz::logf
constexpr

C++ alias for shz_logf().

Definition at line 168 of file shz_scalar.hpp.

◆ log10f

auto shz::log10f
constexpr

C++ alias for shz_log10f().

Definition at line 170 of file shz_scalar.hpp.

◆ expf

auto shz::expf
constexpr

Definition at line 172 of file shz_scalar.hpp.

◆ pi_f

float shz::pi_f
constexpr

Floating-point constant approximation for Pi.

Definition at line 22 of file shz_trig.hpp.

◆ pi_f_2

float shz::pi_f_2
constexpr

Floating-point constant approximation for Pi/2.

Definition at line 24 of file shz_trig.hpp.

◆ pi_f_4

float shz::pi_f_4
constexpr

Floating-point constant approximation for Pi/4.

Definition at line 26 of file shz_trig.hpp.

◆ fsca_rad_factor

float shz::fsca_rad_factor
constexpr

Scaling factor used to scale the input to FSCA from radians.

Definition at line 28 of file shz_trig.hpp.

◆ fsca_deg_factor

float shz::fsca_deg_factor
constexpr

Scaling factor used to scale the input to FSCA from degrees.

Definition at line 30 of file shz_trig.hpp.

◆ sincosu16

auto shz::sincosu16
constexpr

C++ wrapper around shz_sincosu16().

Definition at line 90 of file shz_trig.hpp.

◆ sincosf

auto shz::sincosf
constexpr

C++ wrapper around shz_sincosf().

Definition at line 92 of file shz_trig.hpp.

◆ sincosf_deg

auto shz::sincosf_deg
constexpr

C++ wrapper around shz_sincosf_deg().

Definition at line 94 of file shz_trig.hpp.

◆ sincos_tanf

auto shz::sincos_tanf
constexpr

C++ wrapper around shz_sincos_tanf().

Definition at line 96 of file shz_trig.hpp.

◆ sincos_secf

auto shz::sincos_secf
constexpr

C++ wrapper around shz_sincos_secf().

Definition at line 98 of file shz_trig.hpp.

◆ sincos_cscf

auto shz::sincos_cscf
constexpr

C++ wrapper around shz_sincos_cscf().

Definition at line 100 of file shz_trig.hpp.

◆ sincos_cotf

auto shz::sincos_cotf
constexpr

C++ wrapper around shz_sincos_cotf().

Definition at line 102 of file shz_trig.hpp.

◆ sinf

auto shz::sinf
constexpr

C++ wrapper around shz_sinf().

Definition at line 112 of file shz_trig.hpp.

◆ sinf_deg

auto shz::sinf_deg
constexpr

C++ wrapper around shz_sinf_deg().

Definition at line 114 of file shz_trig.hpp.

◆ cosf

auto shz::cosf
constexpr

C++ wrapper around shz_cosf().

Definition at line 116 of file shz_trig.hpp.

◆ cosf_deg

auto shz::cosf_deg
constexpr

C++ wrapper around shz_cosf_deg().

Definition at line 118 of file shz_trig.hpp.

◆ tanf

auto shz::tanf
constexpr

C++ wrapper around shz_tanf().

Definition at line 120 of file shz_trig.hpp.

◆ tanf_deg

auto shz::tanf_deg
constexpr

C++ wrapper around shz_tanf_deg().

Definition at line 122 of file shz_trig.hpp.

◆ secf

auto shz::secf
constexpr

C++ wrapper around shz_secf().

Definition at line 124 of file shz_trig.hpp.

◆ secf_deg

auto shz::secf_deg
constexpr

C++ wrapper around shz_secf_deg().

Definition at line 126 of file shz_trig.hpp.

◆ cscf

auto shz::cscf
constexpr

C++ wrapper around shz_cscf().

Definition at line 128 of file shz_trig.hpp.

◆ cscf_deg

auto shz::cscf_deg
constexpr

C++ wrapper around shz_cscf_deg().

Definition at line 130 of file shz_trig.hpp.

◆ cotf

auto shz::cotf
constexpr

C++ wrapper around shz_cotf().

Definition at line 132 of file shz_trig.hpp.

◆ cotf_deg

auto shz::cotf_deg
constexpr

C++ wrapper around shz_cotf_deg().

Definition at line 134 of file shz_trig.hpp.

◆ atanf_unit

auto shz::atanf_unit
constexpr

C++ wrapper around shz_atanf_unit().

Definition at line 144 of file shz_trig.hpp.

◆ atanf_q1

auto shz::atanf_q1
constexpr

C++ wrapper around shz_atanf_q1().

Definition at line 146 of file shz_trig.hpp.

◆ atanf

auto shz::atanf
constexpr

C++ wrapper around shz_atanf().

Definition at line 148 of file shz_trig.hpp.

◆ atan2f

auto shz::atan2f
constexpr

C++ wrapper around shz_atan2f().

Definition at line 150 of file shz_trig.hpp.

◆ asinf

auto shz::asinf
constexpr

C++ wrapper around shz_asinf().

Definition at line 152 of file shz_trig.hpp.

◆ acosf

auto shz::acosf
constexpr

C++ wrapper around shz_acosf().

Definition at line 154 of file shz_trig.hpp.

◆ asecf

auto shz::asecf
constexpr

C++ wrapper around shz_asecf().

Definition at line 156 of file shz_trig.hpp.

◆ acscf

auto shz::acscf
constexpr

C++ wrapper around shz_acscf().

Definition at line 158 of file shz_trig.hpp.

◆ acotf

auto shz::acotf
constexpr

C++ wrapper around shz_acotf().

Definition at line 160 of file shz_trig.hpp.