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:198
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:598
float mat[3][3]
Definition juno_vec_types.h:599
3×3 matrix of double-precision values.
Definition juno_vec_types.h:583
double mat[3][3]
Definition juno_vec_types.h:584
3×3 matrix of 32-bit integers.
Definition juno_vec_types.h:643
int32_t mat[3][3]
Definition juno_vec_types.h:644
4×4 matrix of float32-precision values.
Definition juno_vec_types.h:628
float mat[4][4]
Definition juno_vec_types.h:629
4×4 matrix of double-precision values.
Definition juno_vec_types.h:613
double mat[4][4]
Definition juno_vec_types.h:614
4×4 matrix of 32-bit integers.
Definition juno_vec_types.h:658
int32_t mat[4][4]
Definition juno_vec_types.h:659
2D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:135
float y
Definition juno_vec_types.h:137
float x
Definition juno_vec_types.h:136
2D vector in polar coordinates (float precision).
Definition juno_vec_types.h:123
float phi
Definition juno_vec_types.h:125
float r
Definition juno_vec_types.h:124
2D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:78
double y
Definition juno_vec_types.h:80
double x
Definition juno_vec_types.h:79
2D vector in polar coordinates (double precision).
Definition juno_vec_types.h:66
double phi
Definition juno_vec_types.h:68
double r
Definition juno_vec_types.h:67
2D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:192
int32_t x
Definition juno_vec_types.h:193
int32_t y
Definition juno_vec_types.h:194
2D vector in polar coordinates (32-bit integer).
Definition juno_vec_types.h:180
int32_t phi
Definition juno_vec_types.h:182
int32_t r
Definition juno_vec_types.h:181
4D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:309
float z
Definition juno_vec_types.h:312
float x
Definition juno_vec_types.h:310
float y
Definition juno_vec_types.h:311
4D vector in hyperspherical coordinates (float precision).
Definition juno_vec_types.h:296
float r
Definition juno_vec_types.h:297
float theta
Definition juno_vec_types.h:299
float phi
Definition juno_vec_types.h:298
3D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:250
double x
Definition juno_vec_types.h:251
double z
Definition juno_vec_types.h:253
double y
Definition juno_vec_types.h:252
3D vector in spherical coordinates (float precision).
Definition juno_vec_types.h:237
double phi
Definition juno_vec_types.h:239
double r
Definition juno_vec_types.h:238
double theta
Definition juno_vec_types.h:240
3D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:368
int32_t z
Definition juno_vec_types.h:371
int32_t y
Definition juno_vec_types.h:370
int32_t x
Definition juno_vec_types.h:369
3D vector in spherical coordinates (32-bit integer).
Definition juno_vec_types.h:355
int32_t theta
Definition juno_vec_types.h:358
int32_t phi
Definition juno_vec_types.h:357
int32_t r
Definition juno_vec_types.h:356
3D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:477
float x
Definition juno_vec_types.h:478
float w
Definition juno_vec_types.h:481
float z
Definition juno_vec_types.h:480
float y
Definition juno_vec_types.h:479
3D vector in spherical coordinates (double precision).
Definition juno_vec_types.h:463
float theta
Definition juno_vec_types.h:466
float phi
Definition juno_vec_types.h:465
float rho
Definition juno_vec_types.h:467
float r
Definition juno_vec_types.h:464
4D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:428
double x
Definition juno_vec_types.h:429
double w
Definition juno_vec_types.h:432
double y
Definition juno_vec_types.h:430
double z
Definition juno_vec_types.h:431
4D vector in hyperspherical coordinates (double precision).
Definition juno_vec_types.h:414
double r
Definition juno_vec_types.h:415
double rho
Definition juno_vec_types.h:418
double theta
Definition juno_vec_types.h:417
double phi
Definition juno_vec_types.h:416
4D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:538
int32_t w
Definition juno_vec_types.h:542
int32_t y
Definition juno_vec_types.h:540
int32_t x
Definition juno_vec_types.h:539
int32_t z
Definition juno_vec_types.h:541
4D vector in hyperspherical coordinates (32-bit integer).
Definition juno_vec_types.h:524
int32_t rho
Definition juno_vec_types.h:528
int32_t theta
Definition juno_vec_types.h:527
int32_t r
Definition juno_vec_types.h:525
int32_t phi
Definition juno_vec_types.h:526
Right-handed quaternion (float precision).
Definition juno_vec_types.h:693
float k
Definition juno_vec_types.h:698
float s
Definition juno_vec_types.h:695
float i
Definition juno_vec_types.h:696
float j
Definition juno_vec_types.h:697
float arr[4]
Definition juno_vec_types.h:700
struct JUNO_RQUAT_F32_TAG::@1 tQuat
Right-handed quaternion (double precision).
Definition juno_vec_types.h:676
double arr[4]
Definition juno_vec_types.h:683
double k
Definition juno_vec_types.h:681
struct JUNO_RQUAT_F64_TAG::@0 tQuat
double j
Definition juno_vec_types.h:680
double s
Definition juno_vec_types.h:678
double i
Definition juno_vec_types.h:679
Right-handed quaternion (32-bit integer).
Definition juno_vec_types.h:716
int32_t arr[4]
Definition juno_vec_types.h:723
int32_t j
Definition juno_vec_types.h:720
int32_t i
Definition juno_vec_types.h:719
int32_t k
Definition juno_vec_types.h:721
struct JUNO_RQUAT_I32_TAG::@2 tQuat
int32_t s
Definition juno_vec_types.h:718
2D vector union supporting Cartesian, polar, and array access (float32 precision).
Definition juno_vec_types.h:149
JUNO_VEC2_F32_CART_T tCart
Definition juno_vec_types.h:150
JUNO_VEC2_F32_SPH_T tSph
Definition juno_vec_types.h:151
float arr[2]
Definition juno_vec_types.h:152
2D vector union supporting Cartesian, polar, and array access (double precision).
Definition juno_vec_types.h:92
JUNO_VEC2_F64_CART_T tCart
Definition juno_vec_types.h:93
JUNO_VEC2_F64_SPH_T tSph
Definition juno_vec_types.h:94
double arr[2]
Definition juno_vec_types.h:95
2D vector union supporting Cartesian, polar, and array access (32-bit integer).
Definition juno_vec_types.h:206
JUNO_VEC2_I32_CART_T tCart
Definition juno_vec_types.h:207
int32_t arr[2]
Definition juno_vec_types.h:209
JUNO_VEC2_I32_SPH_T tSph
Definition juno_vec_types.h:208
3D vector union supporting Cartesian, spherical, and array access (float32 precision).
Definition juno_vec_types.h:324
float arr[3]
Definition juno_vec_types.h:327
JUNO_VEC3_F32_SPH_T tSph
Definition juno_vec_types.h:326
JUNO_VEC3_F32_CART_T tCart
Definition juno_vec_types.h:325
3D vector union supporting Cartesian, spherical, and array access (double precision).
Definition juno_vec_types.h:265
double arr[3]
Definition juno_vec_types.h:268
JUNO_VEC3_F64_SPH_T tSph
Definition juno_vec_types.h:267
JUNO_VEC3_F64_CART_T tCart
Definition juno_vec_types.h:266
3D vector union supporting Cartesian, spherical, and array access (32-bit integer).
Definition juno_vec_types.h:383
int32_t arr[3]
Definition juno_vec_types.h:386
JUNO_VEC3_I32_CART_T tCart
Definition juno_vec_types.h:384
JUNO_VEC3_I32_SPH_T tSph
Definition juno_vec_types.h:385
4D vector union supporting Cartesian, hyperspherical, and array access (float32 precision).
Definition juno_vec_types.h:493
float arr[4]
Definition juno_vec_types.h:496
JUNO_VEC4_F32_CART_T tCart
Definition juno_vec_types.h:494
JUNO_VEC4_F32_SPH_T tSph
Definition juno_vec_types.h:495
4D vector union supporting Cartesian, hyperspherical, and array access (double precision).
Definition juno_vec_types.h:444
JUNO_VEC4_F64_SPH_T tSph
Definition juno_vec_types.h:446
double arr[4]
Definition juno_vec_types.h:447
JUNO_VEC4_F64_CART_T tCart
Definition juno_vec_types.h:445
4D vector union supporting Cartesian, hyperspherical, and array access (32-bit integer).
Definition juno_vec_types.h:554
JUNO_VEC4_I32_CART_T tCart
Definition juno_vec_types.h:555
JUNO_VEC4_I32_SPH_T tSph
Definition juno_vec_types.h:556
int32_t arr[4]
Definition juno_vec_types.h:557