![]() |
SH4ZAM! 0.1.0
Fast math library for the Sega Dreamcast's SH4 CPU
|
Data Structures | |
| struct | mat4x4 |
| struct | quat |
| struct | sincos |
| struct | vec2 |
| struct | vec3 |
| struct | vec4 |
| struct | vecN |
| struct | xmtrx |
Typedefs | |
| 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 * | memcpy128 (void *dst, const void *src, size_t bytes) 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 |
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_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 |
Transcendental | |
Routines for accelerating transcendental functions. | |
| constexpr auto | pow2f |
| constexpr auto | powf |
| constexpr auto | pow10f |
| constexpr auto | log2f |
| constexpr auto | logf |
| constexpr auto | log10f |
| constexpr auto | expf |
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 |
Namespace enclosing the SH4ZAM C++ API.
| using shz::alias_int16_t |
int16_t type whose value may be aliased as another type.
Definition at line 29 of file shz_cdefs.hpp.
| using shz::alias_uint16_t |
uint16_t type whose value may be aliased as another type.
Definition at line 31 of file shz_cdefs.hpp.
| using shz::alias_int32_t |
int32_t type whose value may be aliased as another type.
Definition at line 33 of file shz_cdefs.hpp.
| using shz::alias_uint32_t |
uint32_t type whose value may be aliased as another type.
Definition at line 35 of file shz_cdefs.hpp.
| using shz::alias_float_t |
float type whose value may be aliased as another type.
Definition at line 37 of file shz_cdefs.hpp.
| using shz::alias_int64_t |
int64_t type whose value may be aliased as another type.
Definition at line 39 of file shz_cdefs.hpp.
| using shz::alias_uint64_t |
uint64_t type whose value may be aliased as another type.
Definition at line 41 of file shz_cdefs.hpp.
| using shz::alias_double_t |
double type whose value may be aliased as another type.
Definition at line 43 of file shz_cdefs.hpp.
| using shz::mat4x4_t |
Alternate mat4x4 C++ alias for those who like POSIX style.
Definition at line 482 of file shz_matrix.hpp.
| using shz::quat_t |
Alternate C++ alias for quat, for those who like POSIX style.
Definition at line 262 of file shz_quat.hpp.
| using shz::sincos_t |
C++ alias for sincos for those who like POSIX-style typenames.
Definition at line 82 of file shz_trig.hpp.
| using shz::vec2_t |
C++ alias for vec2 for those who like POSIX-style.
Definition at line 435 of file shz_vector.hpp.
| using shz::vec3_t |
C++ alias for vec3 for those who like POSIX-style.
Definition at line 536 of file shz_vector.hpp.
| using shz::vec4_t |
C++ alias for vec4 for those who like POSIX-style.s.
Definition at line 607 of file shz_vector.hpp.
|
inlinenoexcept |
C++ wrapper around shz_memcpy128().
Definition at line 29 of file shz_mem.hpp.
|
noexcept |
C++ wrapper for shz_cbrtf().
Definition at line 98 of file shz_scalar.hpp.
|
constexprnoexcept |
Converts degrees to radians.
Definition at line 33 of file shz_trig.hpp.
|
constexprnoexcept |
Converts radians to degrees.
Definition at line 35 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_sinhf().
Definition at line 171 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_coshf().
Definition at line 173 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_tanhf().
Definition at line 175 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_cschf().
Definition at line 177 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_sechf().
Definition at line 179 of file shz_trig.hpp.
|
noexcept |
C++ wrapper around shz_cothf().
Definition at line 181 of file shz_trig.hpp.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Overloaded addition operator, adding two vectors together and returning the result.
Definition at line 339 of file shz_vector.hpp.
|
noexcept |
Overloaded subtraction operator, subtracting one vector from another, returning the result.
Definition at line 345 of file shz_vector.hpp.
|
noexcept |
Overloaded multiplication operator, performing element-wise multiplication between two vectors, returning the resultant vector.
Definition at line 351 of file shz_vector.hpp.
|
noexcept |
Overloaded division operator, returning the resulting vector from component-wise dividing the elements of lhs by rhs.
Definition at line 357 of file shz_vector.hpp.
|
noexcept |
Overloaded multiplication operator for scaling a vector by a scalar and returning the resulting vector.
Definition at line 363 of file shz_vector.hpp.
|
noexcept |
Reverse overloaded multiplication operator for scaling a vector by a scalar and returning the resulting vector.
Definition at line 369 of file shz_vector.hpp.
|
noexcept |
Overloaded division operator for component-wise dividing each element of the given vector by the given scalar.
Definition at line 375 of file shz_vector.hpp.
|
noexcept |
Reverse overloaded division operator for component-wise dividing each element of the given vector by the given scalar.
Definition at line 381 of file shz_vector.hpp.
|
constexpr |
C++ wrapper around shz_circle_matrix.
Definition at line 17 of file shz_circle.hpp.
|
constexpr |
Definition at line 17 of file shz_mem.hpp.
|
constexpr |
Definition at line 19 of file shz_mem.hpp.
|
constexpr |
Definition at line 20 of file shz_mem.hpp.
|
constexpr |
Definition at line 21 of file shz_mem.hpp.
|
constexpr |
Definition at line 22 of file shz_mem.hpp.
|
constexpr |
Definition at line 23 of file shz_mem.hpp.
|
constexpr |
Definition at line 24 of file shz_mem.hpp.
|
constexpr |
Definition at line 25 of file shz_mem.hpp.
|
constexpr |
Definition at line 26 of file shz_mem.hpp.
|
constexpr |
Definition at line 33 of file shz_mem.hpp.
|
constexpr |
Definition at line 34 of file shz_mem.hpp.
|
constexpr |
Definition at line 35 of file shz_mem.hpp.
|
constexpr |
Definition at line 37 of file shz_mem.hpp.
|
constexpr |
Definition at line 38 of file shz_mem.hpp.
|
constexpr |
Definition at line 40 of file shz_mem.hpp.
|
constexpr |
Definition at line 41 of file shz_mem.hpp.
|
constexpr |
Definition at line 42 of file shz_mem.hpp.
|
constexpr |
Definition at line 43 of file shz_mem.hpp.
|
constexpr |
Definition at line 19 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fminf()
Definition at line 26 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fmaxf()
Definition at line 28 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_equalf()
Definition at line 30 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_equalf_abs()
Definition at line 32 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_equalf_rel()
Definition at line 34 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_floorf().
Definition at line 42 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_ceilf().
Definition at line 44 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_roundf().
Definition at line 46 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_truncf().
Definition at line 48 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_remainderf().
Definition at line 50 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fmodf().
Definition at line 52 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_remquof().
Definition at line 54 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_clampf().
Definition at line 62 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_normalizef().
Definition at line 64 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_normalizef_fsrra().
Definition at line 66 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_remapf().
Definition at line 68 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_remapf_fsrra().
Definition at line 70 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_wrapf().
Definition at line 72 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_wrapf_fsrra().
Definition at line 74 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fractf().
Definition at line 76 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_signf().
Definition at line 78 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_saturatef().
Definition at line 80 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fabsf().
Definition at line 88 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_copysignf().
Definition at line 90 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fmacf().
Definition at line 92 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_fdimf().
Definition at line 94 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_hypotf().
Definition at line 96 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_lerpf().
Definition at line 100 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_barycentric_lerpf().
Definition at line 102 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_quadratic_roots().
Definition at line 104 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_randf().
Definition at line 106 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_randf_range()
Definition at line 108 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_stepf()
Definition at line 110 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_smoothstepf()
Definition at line 112 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_smoothstepf_safe()
Definition at line 114 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_inv_sqrtf_fsrra().
Definition at line 123 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_inv_sqrtf().
Definition at line 125 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_sqrtf_fsrra().
Definition at line 127 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_sqrtf().
Definition at line 129 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_invf_fsrra().
Definition at line 131 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_invf().
Definition at line 133 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_divf_fsrra().
Definition at line 135 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_divf().
Definition at line 137 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_dot6f().
Definition at line 145 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_dot8f().
Definition at line 147 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_mag_sqr3f().
Definition at line 149 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_mag_sqr4f().
Definition at line 151 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_pow2f().
Definition at line 159 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_powf().
Definition at line 161 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_pow10f().
Definition at line 163 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_log2f().
Definition at line 165 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_logf().
Definition at line 167 of file shz_scalar.hpp.
|
constexpr |
C++ alias for shz_log10f().
Definition at line 169 of file shz_scalar.hpp.
|
constexpr |
Definition at line 171 of file shz_scalar.hpp.
|
constexpr |
Floating-point constant approximation for Pi.
Definition at line 22 of file shz_trig.hpp.
|
constexpr |
Floating-point constant approximation for Pi/2.
Definition at line 24 of file shz_trig.hpp.
|
constexpr |
Floating-point constant approximation for Pi/4.
Definition at line 26 of file shz_trig.hpp.
|
constexpr |
Scaling factor used to scale the input to FSCA from radians.
Definition at line 28 of file shz_trig.hpp.
|
constexpr |
Scaling factor used to scale the input to FSCA from degrees.
Definition at line 30 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincosu16().
Definition at line 90 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincosf().
Definition at line 92 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincosf_deg().
Definition at line 94 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincos_tanf().
Definition at line 96 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincos_secf().
Definition at line 98 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincos_cscf().
Definition at line 100 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sincos_cotf().
Definition at line 102 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sinf().
Definition at line 112 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_sinf_deg().
Definition at line 114 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cosf().
Definition at line 116 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cosf_deg().
Definition at line 118 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_tanf().
Definition at line 120 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_tanf_deg().
Definition at line 122 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_secf().
Definition at line 124 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_secf_deg().
Definition at line 126 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cscf().
Definition at line 128 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cscf_deg().
Definition at line 130 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cotf().
Definition at line 132 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_cotf_deg().
Definition at line 134 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_atanf_unit().
Definition at line 144 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_atanf_q1().
Definition at line 146 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_atanf().
Definition at line 148 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_atan2f().
Definition at line 150 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_asinf().
Definition at line 152 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_acosf().
Definition at line 154 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_asecf().
Definition at line 156 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_acscf().
Definition at line 158 of file shz_trig.hpp.
|
constexpr |
C++ wrapper around shz_acotf().
Definition at line 160 of file shz_trig.hpp.