slang_core_gc.h

来自「一个类似windows」· C头文件 代码 · 共 1,566 行 · 第 1/3 页

H
1,566
字号
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"int __constructor (const float _f) {\n"
"    int _i;\n"
"    __asm float_to_int _i, _f;\n"
"    return _i;\n"
"}\n"
"\n"
"bool __constructor (const int _i) {\n"
"    return _i != 0;\n"
"}\n"
"\n"
"bool __constructor (const float _f) {\n"
"    return _f != 0.0;\n"
"}\n"
"\n"
"int __constructor (const bool _b) {\n"
"    return _b ? 1 : 0;\n"
"}\n"
"\n"
"float __constructor (const bool _b) {\n"
"    return _b ? 1.0 : 0.0;\n"
"}\n"
"\n"
"float __constructor (const int _i) {\n"
"    float _f;\n"
"    __asm int_to_float _f, _i;\n"
"    return _f;\n"
"}\n"
"\n"
"bool __constructor (const bool _b) {\n"
"    return _b;\n"
"}\n"
"\n"
"int __constructor (const int _i) {\n"
"    return _i;\n"
"}\n"
"\n"
"float __constructor (const float _f) {\n"
"    return _f;\n"
"}\n"
"\n"
"vec2 __constructor (const float _f) {\n"
"    return vec2 (_f, _f);\n"
"}\n"
"\n"
"vec2 __constructor (const int _i) {\n"
"    return vec2 (_i, _i);\n"
"}\n"
"\n"
"vec2 __constructor (const bool _b) {\n"
"    return vec2 (_b, _b);\n"
"}\n"
"\n"
"vec3 __constructor (const float _f) {\n"
"    return vec3 (_f, _f, _f);\n"
"}\n"
"\n"
"vec3 __constructor (const int _i) {\n"
"    return vec3 (_i, _i, _i);\n"
"}\n"
"\n"
"vec3 __constructor (const bool _b) {\n"
"    return vec3 (_b, _b, _b);\n"
"}\n"
"\n"
"vec4 __constructor (const float _f) {\n"
"    return vec4 (_f, _f, _f, _f);\n"
"}\n"
"\n"
"vec4 __constructor (const int _i) {\n"
"    return vec4 (_i, _i, _i, _i);\n"
"}\n"
"\n"
"vec4 __constructor (const bool _b) {\n"
"    return vec4 (_b, _b, _b, _b);\n"
"}\n"
"\n"
"ivec2 __constructor (const int _i) {\n"
"    return ivec2 (_i, _i);\n"
"}\n"
"\n"
"ivec2 __constructor (const float _f) {\n"
"    return ivec2 (_f, _f);\n"
"}\n"
"\n"
"ivec2 __constructor (const bool _b) {\n"
"    return ivec2 (_b, _b);\n"
"}\n"
"\n"
"ivec3 __constructor (const int _i) {\n"
"    return ivec3 (_i, _i, _i);\n"
"}\n"
"\n"
"ivec3 __constructor (const float _f) {\n"
"    return ivec3 (_f, _f, _f);\n"
"}\n"
"\n"
"ivec3 __constructor (const bool _b) {\n"
"    return ivec3 (_b, _b, _b);\n"
"}\n"
"\n"
"ivec4 __constructor (const int _i) {\n"
"    return ivec4 (_i, _i, _i, _i);\n"
"}\n"
"\n"
"ivec4 __constructor (const float _f) {\n"
"    return ivec4 (_f, _f, _f, _f);\n"
"}\n"
"\n"
"ivec4 __constructor (const bool _b) {\n"
"    return ivec4 (_b, _b, _b, _b);\n"
"}\n"
"\n"
"bvec2 __constructor (const bool _b) {\n"
"    return bvec2 (_b, _b);\n"
"}\n"
"\n"
"bvec2 __constructor (const float _f) {\n"
"    return bvec2 (_f, _f);\n"
"}\n"
"\n"
"bvec2 __constructor (const int _i) {\n"
"    return bvec2 (_i, _i);\n"
"}\n"
"\n"
"bvec3 __constructor (const bool _b) {\n"
"    return bvec3 (_b, _b, _b);\n"
"}\n"
"\n"
"bvec3 __constructor (const float _f) {\n"
"    return bvec3 (_f, _f, _f);\n"
"}\n"
"\n"
"bvec3 __constructor (const int _i) {\n"
"    return bvec3 (_i, _i, _i);\n"
"}\n"
"\n"
"bvec4 __constructor (const bool _b) {\n"
"    return bvec4 (_b, _b, _b, _b);\n"
"}\n"
"\n"
"bvec4 __constructor (const float _f) {\n"
"    return bvec4 (_f, _f, _f, _f);\n"
"}\n"
"\n"
"bvec4 __constructor (const int _i) {\n"
"    return bvec4 (_i, _i, _i, _i);\n"
"}\n"
"\n"
"mat2 __constructor (const float _f) {\n"
"    return mat2 (\n"
"        _f, .0,\n"
"        .0, _f\n"
"    );\n"
"}\n"
"\n"
"mat2 __constructor (const int _i) {\n"
"    return mat2 (\n"
"        _i, .0,\n"
"        .0, _i\n"
"    );\n"
"}\n"
"\n"
"mat2 __constructor (const bool _b) {\n"
"    return mat2 (\n"
"        _b, .0,\n"
"        .0, _b\n"
"    );\n"
"}\n"
"\n"
"mat3 __constructor (const float _f) {\n"
"    return mat3 (\n"
"        _f, .0, .0,\n"
"        .0, _f, .0,\n"
"        .0, .0, _f\n"
"    );\n"
"}\n"
"\n"
"mat3 __constructor (const int _i) {\n"
"    return mat3 (\n"
"        _i, .0, .0,\n"
"        .0, _i, .0,\n"
"        .0, .0, _i\n"
"    );\n"
"}\n"
"\n"
"mat3 __constructor (const bool _b) {\n"
"    return mat3 (\n"
"        _b, .0, .0,\n"
"        .0, _b, .0,\n"
"        .0, .0, _b\n"
"    );\n"
"}\n"
"\n"
"mat4 __constructor (const float _f) {\n"
"    return mat4 (\n"
"        _f, .0, .0, .0,\n"
"        .0, _f, .0, .0,\n"
"        .0, .0, _f, .0,\n"
"        .0, .0, .0, _f\n"
"    );\n"
"}\n"
"\n"
"mat4 __constructor (const int _i) {\n"
"    return mat4 (\n"
"        _i, .0, .0, .0,\n"
"        .0, _i, .0, .0,\n"
"        .0, .0, _i, .0,\n"
"        .0, .0, .0, _i\n"
"    );\n"
"}\n"
"\n"
"mat4 __constructor (const bool _b) {\n"
"    return mat4 (\n"
"        _b, .0, .0, .0,\n"
"        .0, _b, .0, .0,\n"
"        .0, .0, _b, .0,\n"
"        .0, .0, .0, _b\n"
"    );\n"
"}\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"\n"
"void __operator += (inout float a, const float b) {\n"
"    __asm float_add a, a, b;\n"
"}\n"
"\n"
"float __operator - (const float a) {\n"
"    float c;\n"
"    __asm float_negate c, a;\n"
"    return c;\n"
"}\n"
"\n"
"void __operator -= (inout float a, const float b) {\n"
"    a += -b;\n"
"}\n"
"\n"
"void __operator *= (inout float a, const float b) {\n"
"    __asm float_multiply a, a, b;\n"
"}\n"
"\n"
"void __operator /= (inout float a, const float b) {\n"
"    __asm float_divide a, a, b;\n"
"}\n"
"\n"
"float __operator + (const float a, const float b) {\n"
"    float c;\n"
"    c = a;\n"
"    return c += b;\n"
"}\n"
"\n"
"void __operator += (inout int a, const int b) {\n"
"    a = int (float (a) + float (b));\n"
"}\n"
"\n"
"int __operator - (const int a) {\n"
"	return int (-float (a));\n"
"}\n"
"\n"
"void __operator -= (inout int a, const int b) {\n"
"    a += -b;\n"
"}\n"
"\n"
"float __operator * (const float a, const float b) {\n"
"    float c;\n"
"    c = a;\n"
"    return c *= b;\n"
"}\n"
"\n"
"void __operator *= (inout int a, const int b) {\n"
"    a = int (float (a) * float (b));\n"
"}\n"
"\n"
"float __operator / (const float a, const float b) {\n"
"    float c;\n"
"    c = a;\n"
"    return c /= b;\n"
"}\n"
"\n"
"void __operator /= (inout int a, const int b) {\n"
"    a = int (float (a) / float (b));\n"
"}\n"
"\n"
"void __operator += (inout vec2 v, const vec2 u) {\n"
"    v.x += u.x, v.y += u.y;\n"
"}\n"
"\n"
"void __operator -= (inout vec2 v, const vec2 u) {\n"
"    v.x -= u.x, v.y -= u.y;\n"
"}\n"
"\n"
"void __operator *= (inout vec2 v, const vec2 u) {\n"
"    v.x *= u.x, v.y *= u.y;\n"
"}\n"
"\n"
"void __operator /= (inout vec2 v, const vec2 u) {\n"
"    v.x /= u.x, v.y /= u.y;\n"
"}\n"
"\n"
"void __operator += (inout vec3 v, const vec3 u) {\n"
"    v.x += u.x, v.y += u.y, v.z += u.z;\n"
"}\n"
"\n"
"void __operator -= (inout vec3 v, const vec3 u) {\n"
"    v.x -= u.x, v.y -= u.y, v.z -= u.z;\n"
"}\n"
"\n"
"void __operator *= (inout vec3 v, const vec3 u) {\n"
"    v.x *= u.x, v.y *= u.y, v.z *= u.z;\n"
"}\n"
"\n"
"void __operator /= (inout vec3 v, const vec3 u) {\n"
"    v.x /= u.x, v.y /= u.y, v.z /= u.z;\n"
"}\n"
"\n"
"void __operator += (inout vec4 v, const vec4 u) {\n"
"    v.x += u.x, v.y += u.y, v.z += u.z, v.w += u.w;\n"
"}\n"
"\n"
"void __operator -= (inout vec4 v, const vec4 u) {\n"
"    v.x -= u.x, v.y -= u.y, v.z -= u.z, v.w -= u.w;\n"
"}\n"
"\n"
"void __operator *= (inout vec4 v, const vec4 u) {\n"
"    v.x *= u.x, v.y *= u.y, v.z *= u.z, v.w *= u.w;\n"
"}\n"
"\n"
"void __operator /= (inout vec4 v, const vec4 u) {\n"
"    v.x /= u.x, v.y /= u.y, v.z /= u.z, v.w /= u.w;\n"
"}\n"
"\n"
"void __operator += (inout ivec2 v, const ivec2 u) {\n"
"    v.x += u.x, v.y += u.y;\n"
"}\n"
"\n"
"void __operator -= (inout ivec2 v, const ivec2 u) {\n"
"    v.x -= u.x, v.y -= u.y;\n"
"}\n"
"\n"
"void __operator *= (inout ivec2 v, const ivec2 u) {\n"
"    v.x *= u.x, v.y *= u.y;\n"
"}\n"
"\n"
"void __operator /= (inout ivec2 v, const ivec2 u) {\n"
"    v.x /= u.x, v.y /= u.y;\n"
"}\n"
"\n"
"void __operator += (inout ivec3 v, const ivec3 u) {\n"
"    v.x += u.x, v.y += u.y, v.z += u.z;\n"
"}\n"
"\n"
"void __operator -= (inout ivec3 v, const ivec3 u) {\n"
"    v.x -= u.x, v.y -= u.y, v.z -= u.z;\n"
"}\n"
"\n"
"void __operator *= (inout ivec3 v, const ivec3 u) {\n"
"    v.x *= u.x, v.y *= u.y, v.z *= u.z;\n"
"}\n"
"\n"
"void __operator /= (inout ivec3 v, const ivec3 u) {\n"
"    v.x /= u.x, v.y /= u.y, v.z /= u.z;\n"
"}\n"
"\n"
"void __operator += (inout ivec4 v, const ivec4 u) {\n"
"    v.x += u.x, v.y += u.y, v.z += u.z, v.w += u.w;\n"
"}\n"
"\n"
"void __operator -= (inout ivec4 v, const ivec4 u) {\n"
"    v.x -= u.x, v.y -= u.y, v.z -= u.z, v.w -= u.w;\n"
"}\n"
"\n"
"void __operator *= (inout ivec4 v, const ivec4 u) {\n"
"    v.x *= u.x, v.y *= u.y, v.z *= u.z, v.w *= u.w;\n"
"}\n"
"\n"
"void __operator /= (inout ivec4 v, const ivec4 u) {\n"
"    v.x /= u.x, v.y /= u.y, v.z /= u.z, v.w /= u.w;\n"
"}\n"
"\n"
"void __operator += (inout mat2 m, const mat2 n) {\n"
"    m[0] += n[0], m[1] += n[1];\n"
"}\n"
"\n"
"void __operator -= (inout mat2 m, const mat2 n) {\n"
"    m[0] -= n[0], m[1] -= n[1];\n"
"}\n"
"\n"
"vec2 __operator * (const mat2 m, const vec2 v) {\n"
"    return vec2 (\n"
"        v.x * m[0].x + v.y * m[1].x,\n"
"        v.x * m[0].y + v.y * m[1].y\n"
"    );\n"
"}\n"
"\n"
"mat2 __operator * (const mat2 m, const mat2 n) {\n"
"    return mat2 (m * n[0], m * n[1]);\n"
"}\n"
"\n"
"void __operator *= (inout mat2 m, const mat2 n) {\n"
"    m = m * n;\n"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?