Why use it
Template dispatch is resolved at compile time and normally adds no runtime indirection. Fixed-point inputs keep console behavior deterministic and avoid software floating-point work.
PSYQO SDK
Function template · 1 overload
Performs `operator +` as part of the fixed point module.
template <unsigned precisionBits = 12, std::integral T = int32_t, unsigned scale = 1 <<precisionBits, std::integral U = int32_t> constexpr FixedPoint<precisionBits, T, scale> operator+(U a, FixedPoint<precisionBits, T, scale> b)Performs `operator +` as part of the fixed point module.
| Parameter | Type | Meaning |
|---|---|---|
a | U | Value supplied for a. Keep referenced or pointed-to data valid for the complete call. |
b | FixedPoint<precisionBits, T, scale> | Value supplied for b. Keep referenced or pointed-to data valid for the complete call. |
Returns: FixedPoint<precisionBits, T, scale>. Check the value before continuing when it represents success, availability or a resource handle.
#include "psyqo/fixed-point.hh"
// Replace these template arguments with types or values accepted by the declaration:
// precisionBits, T, scale, U
// Assume these named values have been initialized with valid data:
// U a
// FixedPoint<precisionBits, T, scale> b
auto result = psyqo::operator+<precisionBits, T, scale, U>(a, b);Template dispatch is resolved at compile time and normally adds no runtime indirection. Fixed-point inputs keep console behavior deterministic and avoid software floating-point work.
Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size. Stay within the documented range and account for quantization before chaining several operations.
Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/fixed-point.hh:475
adler32Computes the adler32 checksum of a buffer.Functionadler32_bytesComputes the adler32 checksum of a buffer, only reading bytes.Functionadler32_wordsComputes the adler32 checksum of a buffer, optimized for words.Functionavsz3AVSZ3 - Average of three Z values (for Triangles) zsf3 * (sz0 + sz1 + sz2) -> otz 5 cyclesFunctionavsz4AVSZ4 - Average of four Z values (for Quads) zsf4 * (sz0 + sz1 + sz2 + sz4) -> otz 6 cyclesFunctionbtoiPerforms `btoi` as part of the msf module.FunctionclearClear a GTE register.Function templatecubicCubic Bezier curve helper function.FunctiondDivPerforms `d div` as part of the fixed point module.FunctioniDivPerforms `i div` as part of the fixed point module.Functionoperator""_fpUser-defined literal for constructing a 20.12 fixed point number.FunctionprintIntPerforms `print int` as part of the fixed point module.Function