Epok Engine

PSYQO SDK

psyqo::GTE::Kernels::cp

Function template · 1 overload

Function template

Cross Product (improperly named Outer Product in Sony's lingo) rt.22 * ir3 - rt.33 * ir2 -> ir1 rt.33 * ir1 - rt.11 * ir3 -> ir2 rt.11 * ir2 - rt.22 * ir1 -> ir3 6 cycles

Belongs to
psyqo::GTE::Kernels
Header
gte-kernels.hh
Overloads
1

Declaration

static · template
Declaration
template <SF sf = Shifted> static inline void cp()

Cross Product (improperly named Outer Product in Sony's lingo) rt.22 * ir3 - rt.33 * ir2 -> ir1 rt.33 * ir1 - rt.11 * ir3 -> ir2 rt.11 * ir2 - rt.22 * ir1 -> ir3 6 cycles

This overload takes no parameters.

Returns: Nothing (void).

Example

C++ example
#include "psyqo/gte-kernels.hh"

// Replace these template arguments with types or values accepted by the declaration:
// sf

psyqo::GTE::Kernels::cp<sf>();

Why use it

Template dispatch is resolved at compile time and normally adds no runtime indirection.

Trade-offs and warnings

Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size.

Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/gte-kernels.hh:269

Related members