29#ifndef JUNO_VEC_TYPES_H
30#define JUNO_VEC_TYPES_H
46#define JUNO_INT_TYPE int64_t
55#ifndef JUNO_FLOAT_TYPE
56#define JUNO_FLOAT_TYPE double
#define JUNO_MODULE_RESULT(NAME_T, OK_T)
Define a result type combining a status and a success payload.
Definition module.h:193
struct JUNO_VEC4_I32_CART_TAG JUNO_VEC4_I32_CART_T
struct JUNO_VEC2_F64_CART_TAG JUNO_VEC2_F64_CART_T
struct JUNO_VEC2_F32_CART_TAG JUNO_VEC2_F32_CART_T
struct JUNO_VEC2_F32_SPH_TAG JUNO_VEC2_F32_SPH_T
union JUNO_VEC4_I32_TAG JUNO_VEC4_I32_T
union JUNO_RQUAT_F32_TAG JUNO_RQUAT_F32_T
struct JUNO_M4X4_I32_TAG JUNO_M4X4_I32_T
struct JUNO_M3X3_I32_TAG JUNO_M3X3_I32_T
struct JUNO_M3X3_F32_TAG JUNO_M3X3_F32_T
struct JUNO_VEC2_I32_SPH_TAG JUNO_VEC2_I32_SPH_T
struct JUNO_VEC4_F32_CART_TAG JUNO_VEC4_F32_CART_T
struct JUNO_VEC4_F64_CART_TAG JUNO_VEC4_F64_CART_T
struct JUNO_VEC3_I32_SPH_TAG JUNO_VEC3_I32_SPH_T
struct JUNO_VEC4_F64_SPH_TAG JUNO_VEC4_F64_SPH_T
struct JUNO_M4X4_F32_TAG JUNO_M4X4_F32_T
struct JUNO_VEC4_I32_SPH_TAG JUNO_VEC4_I32_SPH_T
struct JUNO_M3X3_F64_TAG JUNO_M3X3_F64_T
union JUNO_VEC3_F64_TAG JUNO_VEC3_F64_T
union JUNO_VEC3_I32_TAG JUNO_VEC3_I32_T
struct JUNO_VEC2_I32_CART_TAG JUNO_VEC2_I32_CART_T
struct JUNO_VEC3_F32_CART_TAG JUNO_VEC3_F32_CART_T
union JUNO_VEC4_F32_TAG JUNO_VEC4_F32_T
union JUNO_VEC3_F32_TAG JUNO_VEC3_F32_T
union JUNO_RQUAT_I32_TAG JUNO_RQUAT_I32_T
struct JUNO_VEC4_F32_SPH_TAG JUNO_VEC4_F32_SPH_T
union JUNO_VEC2_I32_TAG JUNO_VEC2_I32_T
struct JUNO_VEC3_F64_SPH_TAG JUNO_VEC3_F64_SPH_T
struct JUNO_VEC2_F64_SPH_TAG JUNO_VEC2_F64_SPH_T
struct JUNO_M4X4_F64_TAG JUNO_M4X4_F64_T
struct JUNO_VEC3_F64_CART_TAG JUNO_VEC3_F64_CART_T
struct JUNO_VEC3_I32_CART_TAG JUNO_VEC3_I32_CART_T
union JUNO_VEC4_F64_TAG JUNO_VEC4_F64_T
union JUNO_VEC2_F64_TAG JUNO_VEC2_F64_T
struct JUNO_VEC3_F32_SPH_TAG JUNO_VEC3_F32_SPH_T
union JUNO_VEC2_F32_TAG JUNO_VEC2_F32_T
union JUNO_RQUAT_F64_TAG JUNO_RQUAT_F64_T
Module system and dependency injection primitives for LibJuno.
3×3 matrix of float32-precision values.
Definition juno_vec_types.h:597
float mat[3][3]
Definition juno_vec_types.h:598
3×3 matrix of double-precision values.
Definition juno_vec_types.h:582
double mat[3][3]
Definition juno_vec_types.h:583
3×3 matrix of 32-bit integers.
Definition juno_vec_types.h:642
int32_t mat[3][3]
Definition juno_vec_types.h:643
4×4 matrix of float32-precision values.
Definition juno_vec_types.h:627
float mat[4][4]
Definition juno_vec_types.h:628
4×4 matrix of double-precision values.
Definition juno_vec_types.h:612
double mat[4][4]
Definition juno_vec_types.h:613
4×4 matrix of 32-bit integers.
Definition juno_vec_types.h:657
int32_t mat[4][4]
Definition juno_vec_types.h:658
2D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:134
float y
Definition juno_vec_types.h:136
float x
Definition juno_vec_types.h:135
2D vector in polar coordinates (float precision).
Definition juno_vec_types.h:122
float phi
Definition juno_vec_types.h:124
float r
Definition juno_vec_types.h:123
2D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:77
double y
Definition juno_vec_types.h:79
double x
Definition juno_vec_types.h:78
2D vector in polar coordinates (double precision).
Definition juno_vec_types.h:65
double phi
Definition juno_vec_types.h:67
double r
Definition juno_vec_types.h:66
2D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:191
int32_t x
Definition juno_vec_types.h:192
int32_t y
Definition juno_vec_types.h:193
2D vector in polar coordinates (32-bit integer).
Definition juno_vec_types.h:179
int32_t phi
Definition juno_vec_types.h:181
int32_t r
Definition juno_vec_types.h:180
4D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:308
float z
Definition juno_vec_types.h:311
float x
Definition juno_vec_types.h:309
float y
Definition juno_vec_types.h:310
4D vector in hyperspherical coordinates (float precision).
Definition juno_vec_types.h:295
float r
Definition juno_vec_types.h:296
float theta
Definition juno_vec_types.h:298
float phi
Definition juno_vec_types.h:297
3D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:249
double x
Definition juno_vec_types.h:250
double z
Definition juno_vec_types.h:252
double y
Definition juno_vec_types.h:251
3D vector in spherical coordinates (float precision).
Definition juno_vec_types.h:236
double phi
Definition juno_vec_types.h:238
double r
Definition juno_vec_types.h:237
double theta
Definition juno_vec_types.h:239
3D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:367
int32_t z
Definition juno_vec_types.h:370
int32_t y
Definition juno_vec_types.h:369
int32_t x
Definition juno_vec_types.h:368
3D vector in spherical coordinates (32-bit integer).
Definition juno_vec_types.h:354
int32_t theta
Definition juno_vec_types.h:357
int32_t phi
Definition juno_vec_types.h:356
int32_t r
Definition juno_vec_types.h:355
3D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:476
float x
Definition juno_vec_types.h:477
float w
Definition juno_vec_types.h:480
float z
Definition juno_vec_types.h:479
float y
Definition juno_vec_types.h:478
3D vector in spherical coordinates (double precision).
Definition juno_vec_types.h:462
float theta
Definition juno_vec_types.h:465
float phi
Definition juno_vec_types.h:464
float rho
Definition juno_vec_types.h:466
float r
Definition juno_vec_types.h:463
4D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:427
double x
Definition juno_vec_types.h:428
double w
Definition juno_vec_types.h:431
double y
Definition juno_vec_types.h:429
double z
Definition juno_vec_types.h:430
4D vector in hyperspherical coordinates (double precision).
Definition juno_vec_types.h:413
double r
Definition juno_vec_types.h:414
double rho
Definition juno_vec_types.h:417
double theta
Definition juno_vec_types.h:416
double phi
Definition juno_vec_types.h:415
4D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:537
int32_t w
Definition juno_vec_types.h:541
int32_t y
Definition juno_vec_types.h:539
int32_t x
Definition juno_vec_types.h:538
int32_t z
Definition juno_vec_types.h:540
4D vector in hyperspherical coordinates (32-bit integer).
Definition juno_vec_types.h:523
int32_t rho
Definition juno_vec_types.h:527
int32_t theta
Definition juno_vec_types.h:526
int32_t r
Definition juno_vec_types.h:524
int32_t phi
Definition juno_vec_types.h:525
Right-handed quaternion (float precision).
Definition juno_vec_types.h:691
float k
Definition juno_vec_types.h:696
float s
Definition juno_vec_types.h:693
float i
Definition juno_vec_types.h:694
float j
Definition juno_vec_types.h:695
float arr[4]
Definition juno_vec_types.h:698
struct JUNO_RQUAT_F32_TAG::@1 tQuat
Right-handed quaternion (double precision).
Definition juno_vec_types.h:674
double arr[4]
Definition juno_vec_types.h:681
double k
Definition juno_vec_types.h:679
struct JUNO_RQUAT_F64_TAG::@0 tQuat
double j
Definition juno_vec_types.h:678
double s
Definition juno_vec_types.h:676
double i
Definition juno_vec_types.h:677
Right-handed quaternion (32-bit integer).
Definition juno_vec_types.h:714
int32_t arr[4]
Definition juno_vec_types.h:721
int32_t j
Definition juno_vec_types.h:718
int32_t i
Definition juno_vec_types.h:717
int32_t k
Definition juno_vec_types.h:719
struct JUNO_RQUAT_I32_TAG::@2 tQuat
int32_t s
Definition juno_vec_types.h:716
2D vector union supporting Cartesian, polar, and array access (float32 precision).
Definition juno_vec_types.h:148
JUNO_VEC2_F32_CART_T tCart
Definition juno_vec_types.h:149
JUNO_VEC2_F32_SPH_T tSph
Definition juno_vec_types.h:150
float arr[2]
Definition juno_vec_types.h:151
2D vector union supporting Cartesian, polar, and array access (double precision).
Definition juno_vec_types.h:91
JUNO_VEC2_F64_CART_T tCart
Definition juno_vec_types.h:92
JUNO_VEC2_F64_SPH_T tSph
Definition juno_vec_types.h:93
double arr[2]
Definition juno_vec_types.h:94
2D vector union supporting Cartesian, polar, and array access (32-bit integer).
Definition juno_vec_types.h:205
JUNO_VEC2_I32_CART_T tCart
Definition juno_vec_types.h:206
int32_t arr[2]
Definition juno_vec_types.h:208
JUNO_VEC2_I32_SPH_T tSph
Definition juno_vec_types.h:207
3D vector union supporting Cartesian, spherical, and array access (float32 precision).
Definition juno_vec_types.h:323
float arr[3]
Definition juno_vec_types.h:326
JUNO_VEC3_F32_SPH_T tSph
Definition juno_vec_types.h:325
JUNO_VEC3_F32_CART_T tCart
Definition juno_vec_types.h:324
3D vector union supporting Cartesian, spherical, and array access (double precision).
Definition juno_vec_types.h:264
double arr[3]
Definition juno_vec_types.h:267
JUNO_VEC3_F64_SPH_T tSph
Definition juno_vec_types.h:266
JUNO_VEC3_F64_CART_T tCart
Definition juno_vec_types.h:265
3D vector union supporting Cartesian, spherical, and array access (32-bit integer).
Definition juno_vec_types.h:382
int32_t arr[3]
Definition juno_vec_types.h:385
JUNO_VEC3_I32_CART_T tCart
Definition juno_vec_types.h:383
JUNO_VEC3_I32_SPH_T tSph
Definition juno_vec_types.h:384
4D vector union supporting Cartesian, hyperspherical, and array access (float32 precision).
Definition juno_vec_types.h:492
float arr[4]
Definition juno_vec_types.h:495
JUNO_VEC4_F32_CART_T tCart
Definition juno_vec_types.h:493
JUNO_VEC4_F32_SPH_T tSph
Definition juno_vec_types.h:494
4D vector union supporting Cartesian, hyperspherical, and array access (double precision).
Definition juno_vec_types.h:443
JUNO_VEC4_F64_SPH_T tSph
Definition juno_vec_types.h:445
double arr[4]
Definition juno_vec_types.h:446
JUNO_VEC4_F64_CART_T tCart
Definition juno_vec_types.h:444
4D vector union supporting Cartesian, hyperspherical, and array access (32-bit integer).
Definition juno_vec_types.h:553
JUNO_VEC4_I32_CART_T tCart
Definition juno_vec_types.h:554
JUNO_VEC4_I32_SPH_T tSph
Definition juno_vec_types.h:555
int32_t arr[4]
Definition juno_vec_types.h:556