Essentials

core.h

A convenience include for everyday Catalyst programs, with short scalar and vector type names.

C++23 mc/core.h
#include <mc/core.h>

Imports both std and mc into the including translation unit. Include individual headers when that broad namespace import is undesirable.

Names such as i4, u8, and f8 express their size in bytes. Packed-vector aliases add the lane count, as in f4x3.

Jump to a declaration · 79

Free functions & types

Types, constants & data

using Strings = CVector<cstr>;
using StringSet = CHashSet<cstr>;
using i8 = int64_t;
using u8 = uint64_t;
using i4 = int32_t;
using u4 = uint32_t;
using i2 = int16_t;
using u2 = uint16_t;
using i1 = int8_t;
using u1 = uint8_t;
using f8 = double;
using f4 = float;
using f2 = half;
using s8 = size_t;
using l8 = long;
using ul8 = unsigned long;
using c1 = char;
using uc1 = unsigned char;
using b1 = bool;
using b1x2 = CPVector<b1, 2>;
using b1x3 = CPVector<b1, 3>;
using b1x4 = CPVector<b1, 4>;
using b1x8 = CPVector<b1, 8>;
using b1x16 = CPVector<b1, 16>;
using u1x2 = CPVector<u1, 2>;
using u1x3 = CPVector<u1, 3>;
using u1x4 = CPVector<u1, 4>;
using u1x8 = CPVector<u1, 8>;
using u1x16 = CPVector<u1, 16>;
using i1x2 = CPVector<i1, 2>;
using i1x3 = CPVector<i1, 3>;
using i1x4 = CPVector<i1, 4>;
using i1x8 = CPVector<i1, 8>;
using i1x16 = CPVector<i1, 16>;
using u2x2 = CPVector<u2, 2>;
using u2x3 = CPVector<u2, 3>;
using u2x4 = CPVector<u2, 4>;
using u2x8 = CPVector<u2, 8>;
using u2x16 = CPVector<u2, 16>;
using i2x2 = CPVector<i2, 2>;
using i2x3 = CPVector<i2, 3>;
using i2x4 = CPVector<i2, 4>;
using i2x8 = CPVector<i2, 8>;
using i2x16 = CPVector<i2, 16>;
using u4x2 = CPVector<u4, 2>;
using u4x3 = CPVector<u4, 3>;
using u4x4 = CPVector<u4, 4>;
using u4x8 = CPVector<u4, 8>;
using u4x16 = CPVector<u4, 16>;
using i4x2 = CPVector<i4, 2>;
using i4x3 = CPVector<i4, 3>;
using i4x4 = CPVector<i4, 4>;
using i4x8 = CPVector<i4, 8>;
using i4x16 = CPVector<i4, 16>;
using u8x2 = CPVector<u8, 2>;
using u8x3 = CPVector<u8, 3>;
using u8x4 = CPVector<u8, 4>;
using u8x8 = CPVector<u8, 8>;
using u8x16 = CPVector<u8, 16>;
using i8x2 = CPVector<i8, 2>;
using i8x3 = CPVector<i8, 3>;
using i8x4 = CPVector<i8, 4>;
using i8x8 = CPVector<i8, 8>;
using i8x16 = CPVector<i8, 16>;
using f2x2 = CPVector<f2, 2>;
using f2x3 = CPVector<f2, 3>;
using f2x4 = CPVector<f2, 4>;
using f2x8 = CPVector<f2, 8>;
using f2x16 = CPVector<f2, 16>;
using f4x2 = CPVector<f4, 2>;
using f4x3 = CPVector<f4, 3>;
using f4x4 = CPVector<f4, 4>;
using f4x8 = CPVector<f4, 8>;
using f4x16 = CPVector<f4, 16>;
using f8x2 = CPVector<f8, 2>;
using f8x3 = CPVector<f8, 3>;
using f8x4 = CPVector<f8, 4>;
using f8x8 = CPVector<f8, 8>;
using f8x16 = CPVector<f8, 16>;