18#ifndef JUNO_VEC_TYPES_H
19#define JUNO_VEC_TYPES_H
29#define JUNO_INT_TYPE int64_t
32#ifndef JUNO_FLOAT_TYPE
33#define JUNO_FLOAT_TYPE double
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
#define JUNO_MODULE_RESULT(NAME_T, OK_T)
Defines a result type combining a status and a success payload.
Definition module.h:223
Definition juno_vec_types.h:574
float mat[3][3]
Definition juno_vec_types.h:575
3×3 matrix of double-precision values.
Definition juno_vec_types.h:559
double mat[3][3]
Definition juno_vec_types.h:560
3×3 matrix of 32-bit integers.
Definition juno_vec_types.h:619
int32_t mat[3][3]
Definition juno_vec_types.h:620
Definition juno_vec_types.h:604
float mat[4][4]
Definition juno_vec_types.h:605
4×4 matrix of double-precision values.
Definition juno_vec_types.h:589
double mat[4][4]
Definition juno_vec_types.h:590
4×4 matrix of 32-bit integers.
Definition juno_vec_types.h:634
int32_t mat[4][4]
Definition juno_vec_types.h:635
Definition juno_vec_types.h:111
float y
Definition juno_vec_types.h:113
float x
Definition juno_vec_types.h:112
Definition juno_vec_types.h:99
float phi
Definition juno_vec_types.h:101
float r
Definition juno_vec_types.h:100
2D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:54
double y
Definition juno_vec_types.h:56
double x
Definition juno_vec_types.h:55
2D vector in polar coordinates (double precision).
Definition juno_vec_types.h:42
double phi
Definition juno_vec_types.h:44
double r
Definition juno_vec_types.h:43
2D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:168
int32_t x
Definition juno_vec_types.h:169
int32_t y
Definition juno_vec_types.h:170
2D vector in polar coordinates (32-bit integer).
Definition juno_vec_types.h:156
int32_t phi
Definition juno_vec_types.h:158
int32_t r
Definition juno_vec_types.h:157
3D vector in Cartesian coordinates (float precision).
Definition juno_vec_types.h:285
float z
Definition juno_vec_types.h:288
float x
Definition juno_vec_types.h:286
float y
Definition juno_vec_types.h:287
3D vector in spherical coordinates (double precision).
Definition juno_vec_types.h:272
float r
Definition juno_vec_types.h:273
float theta
Definition juno_vec_types.h:275
float phi
Definition juno_vec_types.h:274
3D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:226
double x
Definition juno_vec_types.h:227
double z
Definition juno_vec_types.h:229
double y
Definition juno_vec_types.h:228
3D vector in spherical coordinates (double precision).
Definition juno_vec_types.h:213
double phi
Definition juno_vec_types.h:215
double r
Definition juno_vec_types.h:214
double theta
Definition juno_vec_types.h:216
3D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:344
int32_t z
Definition juno_vec_types.h:347
int32_t y
Definition juno_vec_types.h:346
int32_t x
Definition juno_vec_types.h:345
3D vector in spherical coordinates (32-bit integer).
Definition juno_vec_types.h:331
int32_t theta
Definition juno_vec_types.h:334
int32_t phi
Definition juno_vec_types.h:333
int32_t r
Definition juno_vec_types.h:332
Definition juno_vec_types.h:453
float x
Definition juno_vec_types.h:454
float w
Definition juno_vec_types.h:457
float z
Definition juno_vec_types.h:456
float y
Definition juno_vec_types.h:455
Definition juno_vec_types.h:439
float theta
Definition juno_vec_types.h:442
float phi
Definition juno_vec_types.h:441
float rho
Definition juno_vec_types.h:443
float r
Definition juno_vec_types.h:440
4D vector in Cartesian coordinates (double precision).
Definition juno_vec_types.h:404
double x
Definition juno_vec_types.h:405
double w
Definition juno_vec_types.h:408
double y
Definition juno_vec_types.h:406
double z
Definition juno_vec_types.h:407
4D vector in hyperspherical coordinates (double precision).
Definition juno_vec_types.h:390
double r
Definition juno_vec_types.h:391
double rho
Definition juno_vec_types.h:394
double theta
Definition juno_vec_types.h:393
double phi
Definition juno_vec_types.h:392
4D vector in Cartesian coordinates (32-bit integer).
Definition juno_vec_types.h:514
int32_t w
Definition juno_vec_types.h:518
int32_t y
Definition juno_vec_types.h:516
int32_t x
Definition juno_vec_types.h:515
int32_t z
Definition juno_vec_types.h:517
4D vector in hyperspherical coordinates (32-bit integer).
Definition juno_vec_types.h:500
int32_t rho
Definition juno_vec_types.h:504
int32_t theta
Definition juno_vec_types.h:503
int32_t r
Definition juno_vec_types.h:501
int32_t phi
Definition juno_vec_types.h:502
Definition juno_vec_types.h:668
float k
Definition juno_vec_types.h:673
float s
Definition juno_vec_types.h:670
float i
Definition juno_vec_types.h:671
float j
Definition juno_vec_types.h:672
float arr[4]
Definition juno_vec_types.h:675
struct JUNO_RQUAT_F32_TAG::@1 tQuat
Right-handed quaternion (double precision).
Definition juno_vec_types.h:651
double arr[4]
Definition juno_vec_types.h:658
double k
Definition juno_vec_types.h:656
struct JUNO_RQUAT_F64_TAG::@0 tQuat
double j
Definition juno_vec_types.h:655
double s
Definition juno_vec_types.h:653
double i
Definition juno_vec_types.h:654
Right-handed quaternion (32-bit integer).
Definition juno_vec_types.h:691
int32_t arr[4]
Definition juno_vec_types.h:698
int32_t j
Definition juno_vec_types.h:695
int32_t i
Definition juno_vec_types.h:694
int32_t k
Definition juno_vec_types.h:696
struct JUNO_RQUAT_I32_TAG::@2 tQuat
int32_t s
Definition juno_vec_types.h:693
Definition juno_vec_types.h:125
JUNO_VEC2_F32_CART_T tCart
Definition juno_vec_types.h:126
JUNO_VEC2_F32_SPH_T tSph
Definition juno_vec_types.h:127
float arr[2]
Definition juno_vec_types.h:128
2D vector union supporting Cartesian, polar, and array access (double precision).
Definition juno_vec_types.h:68
JUNO_VEC2_F64_CART_T tCart
Definition juno_vec_types.h:69
JUNO_VEC2_F64_SPH_T tSph
Definition juno_vec_types.h:70
double arr[2]
Definition juno_vec_types.h:71
2D vector union supporting Cartesian, polar, and array access (32-bit integer).
Definition juno_vec_types.h:182
JUNO_VEC2_I32_CART_T tCart
Definition juno_vec_types.h:183
int32_t arr[2]
Definition juno_vec_types.h:185
JUNO_VEC2_I32_SPH_T tSph
Definition juno_vec_types.h:184
3D vector union supporting Cartesian, spherical, and array access (float32 precision).
Definition juno_vec_types.h:300
float arr[3]
Definition juno_vec_types.h:303
JUNO_VEC3_F32_SPH_T tSph
Definition juno_vec_types.h:302
JUNO_VEC3_F32_CART_T tCart
Definition juno_vec_types.h:301
3D vector union supporting Cartesian, spherical, and array access (double precision).
Definition juno_vec_types.h:241
double arr[3]
Definition juno_vec_types.h:244
JUNO_VEC3_F64_SPH_T tSph
Definition juno_vec_types.h:243
JUNO_VEC3_F64_CART_T tCart
Definition juno_vec_types.h:242
3D vector union supporting Cartesian, spherical, and array access (32-bit integer).
Definition juno_vec_types.h:359
int32_t arr[3]
Definition juno_vec_types.h:362
JUNO_VEC3_I32_CART_T tCart
Definition juno_vec_types.h:360
JUNO_VEC3_I32_SPH_T tSph
Definition juno_vec_types.h:361
Definition juno_vec_types.h:469
float arr[4]
Definition juno_vec_types.h:472
JUNO_VEC4_F32_CART_T tCart
Definition juno_vec_types.h:470
JUNO_VEC4_F32_SPH_T tSph
Definition juno_vec_types.h:471
4D vector union supporting Cartesian, hyperspherical, and array access (double precision).
Definition juno_vec_types.h:420
JUNO_VEC4_F64_SPH_T tSph
Definition juno_vec_types.h:422
double arr[4]
Definition juno_vec_types.h:423
JUNO_VEC4_F64_CART_T tCart
Definition juno_vec_types.h:421
4D vector union supporting Cartesian, hyperspherical, and array access (32-bit integer).
Definition juno_vec_types.h:530
JUNO_VEC4_I32_CART_T tCart
Definition juno_vec_types.h:531
JUNO_VEC4_I32_SPH_T tSph
Definition juno_vec_types.h:532
int32_t arr[4]
Definition juno_vec_types.h:533