LibJuno 0.42.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
juno_vec_types.h File Reference
#include "juno/module.h"
#include <stddef.h>
#include <stdint.h>
Include dependency graph for juno_vec_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  JUNO_VEC2_F64_SPH_TAG
 2D vector in polar coordinates (double precision). More...
 
struct  JUNO_VEC2_F64_CART_TAG
 2D vector in Cartesian coordinates (double precision). More...
 
union  JUNO_VEC2_F64_TAG
 2D vector union supporting Cartesian, polar, and array access (double precision). More...
 
struct  JUNO_VEC2_F32_SPH_TAG
 
struct  JUNO_VEC2_F32_CART_TAG
 
union  JUNO_VEC2_F32_TAG
 
struct  JUNO_VEC2_I32_SPH_TAG
 2D vector in polar coordinates (32-bit integer). More...
 
struct  JUNO_VEC2_I32_CART_TAG
 2D vector in Cartesian coordinates (32-bit integer). More...
 
union  JUNO_VEC2_I32_TAG
 2D vector union supporting Cartesian, polar, and array access (32-bit integer). More...
 
struct  JUNO_VEC3_F64_SPH_TAG
 3D vector in spherical coordinates (double precision). More...
 
struct  JUNO_VEC3_F64_CART_TAG
 3D vector in Cartesian coordinates (double precision). More...
 
union  JUNO_VEC3_F64_TAG
 3D vector union supporting Cartesian, spherical, and array access (double precision). More...
 
struct  JUNO_VEC3_F32_SPH_TAG
 3D vector in spherical coordinates (double precision). More...
 
struct  JUNO_VEC3_F32_CART_TAG
 3D vector in Cartesian coordinates (float precision). More...
 
union  JUNO_VEC3_F32_TAG
 3D vector union supporting Cartesian, spherical, and array access (float32 precision). More...
 
struct  JUNO_VEC3_I32_SPH_TAG
 3D vector in spherical coordinates (32-bit integer). More...
 
struct  JUNO_VEC3_I32_CART_TAG
 3D vector in Cartesian coordinates (32-bit integer). More...
 
union  JUNO_VEC3_I32_TAG
 3D vector union supporting Cartesian, spherical, and array access (32-bit integer). More...
 
struct  JUNO_VEC4_F64_SPH_TAG
 4D vector in hyperspherical coordinates (double precision). More...
 
struct  JUNO_VEC4_F64_CART_TAG
 4D vector in Cartesian coordinates (double precision). More...
 
union  JUNO_VEC4_F64_TAG
 4D vector union supporting Cartesian, hyperspherical, and array access (double precision). More...
 
struct  JUNO_VEC4_F32_SPH_TAG
 
struct  JUNO_VEC4_F32_CART_TAG
 
union  JUNO_VEC4_F32_TAG
 
struct  JUNO_VEC4_I32_SPH_TAG
 4D vector in hyperspherical coordinates (32-bit integer). More...
 
struct  JUNO_VEC4_I32_CART_TAG
 4D vector in Cartesian coordinates (32-bit integer). More...
 
union  JUNO_VEC4_I32_TAG
 4D vector union supporting Cartesian, hyperspherical, and array access (32-bit integer). More...
 
struct  JUNO_M3X3_F64_TAG
 3×3 matrix of double-precision values. More...
 
struct  JUNO_M3X3_F32_TAG
 
struct  JUNO_M4X4_F64_TAG
 4×4 matrix of double-precision values. More...
 
struct  JUNO_M4X4_F32_TAG
 
struct  JUNO_M3X3_I32_TAG
 3×3 matrix of 32-bit integers. More...
 
struct  JUNO_M4X4_I32_TAG
 4×4 matrix of 32-bit integers. More...
 
union  JUNO_RQUAT_F64_TAG
 Right-handed quaternion (double precision). More...
 
union  JUNO_RQUAT_F32_TAG
 
union  JUNO_RQUAT_I32_TAG
 Right-handed quaternion (32-bit integer). More...
 

Macros

#define JUNO_INT_TYPE   int64_t
 
#define JUNO_FLOAT_TYPE   double
 

Typedefs

typedef struct JUNO_VEC2_F64_SPH_TAG JUNO_VEC2_F64_SPH_T
 
typedef struct JUNO_VEC2_F64_CART_TAG JUNO_VEC2_F64_CART_T
 
typedef union JUNO_VEC2_F64_TAG JUNO_VEC2_F64_T
 
typedef struct JUNO_VEC2_F32_SPH_TAG JUNO_VEC2_F32_SPH_T
 
typedef struct JUNO_VEC2_F32_CART_TAG JUNO_VEC2_F32_CART_T
 
typedef union JUNO_VEC2_F32_TAG JUNO_VEC2_F32_T
 
typedef struct JUNO_VEC2_I32_SPH_TAG JUNO_VEC2_I32_SPH_T
 
typedef struct JUNO_VEC2_I32_CART_TAG JUNO_VEC2_I32_CART_T
 
typedef union JUNO_VEC2_I32_TAG JUNO_VEC2_I32_T
 
typedef struct JUNO_VEC3_F64_SPH_TAG JUNO_VEC3_F64_SPH_T
 
typedef struct JUNO_VEC3_F64_CART_TAG JUNO_VEC3_F64_CART_T
 
typedef union JUNO_VEC3_F64_TAG JUNO_VEC3_F64_T
 
typedef struct JUNO_VEC3_F32_SPH_TAG JUNO_VEC3_F32_SPH_T
 
typedef struct JUNO_VEC3_F32_CART_TAG JUNO_VEC3_F32_CART_T
 
typedef union JUNO_VEC3_F32_TAG JUNO_VEC3_F32_T
 
typedef struct JUNO_VEC3_I32_SPH_TAG JUNO_VEC3_I32_SPH_T
 
typedef struct JUNO_VEC3_I32_CART_TAG JUNO_VEC3_I32_CART_T
 
typedef union JUNO_VEC3_I32_TAG JUNO_VEC3_I32_T
 
typedef struct JUNO_VEC4_F64_SPH_TAG JUNO_VEC4_F64_SPH_T
 
typedef struct JUNO_VEC4_F64_CART_TAG JUNO_VEC4_F64_CART_T
 
typedef union JUNO_VEC4_F64_TAG JUNO_VEC4_F64_T
 
typedef struct JUNO_VEC4_F32_SPH_TAG JUNO_VEC4_F32_SPH_T
 
typedef struct JUNO_VEC4_F32_CART_TAG JUNO_VEC4_F32_CART_T
 
typedef union JUNO_VEC4_F32_TAG JUNO_VEC4_F32_T
 
typedef struct JUNO_VEC4_I32_SPH_TAG JUNO_VEC4_I32_SPH_T
 
typedef struct JUNO_VEC4_I32_CART_TAG JUNO_VEC4_I32_CART_T
 
typedef union JUNO_VEC4_I32_TAG JUNO_VEC4_I32_T
 
typedef struct JUNO_M3X3_F64_TAG JUNO_M3X3_F64_T
 
typedef struct JUNO_M3X3_F32_TAG JUNO_M3X3_F32_T
 
typedef struct JUNO_M4X4_F64_TAG JUNO_M4X4_F64_T
 
typedef struct JUNO_M4X4_F32_TAG JUNO_M4X4_F32_T
 
typedef struct JUNO_M3X3_I32_TAG JUNO_M3X3_I32_T
 
typedef struct JUNO_M4X4_I32_TAG JUNO_M4X4_I32_T
 
typedef union JUNO_RQUAT_F64_TAG JUNO_RQUAT_F64_T
 
typedef union JUNO_RQUAT_F32_TAG JUNO_RQUAT_F32_T
 
typedef union JUNO_RQUAT_I32_TAG JUNO_RQUAT_I32_T
 

Functions

 JUNO_MODULE_RESULT (JUNO_VEC2_F64_SPH_RESULT_T, JUNO_VEC2_F64_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_F64_CART_RESULT_T, JUNO_VEC2_F64_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_F64_RESULT_T, JUNO_VEC2_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_F32_SPH_RESULT_T, JUNO_VEC2_F32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_F32_CART_RESULT_T, JUNO_VEC2_F32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_F32_RESULT_T, JUNO_VEC2_F32_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_I32_SPH_RESULT_T, JUNO_VEC2_I32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_I32_CART_RESULT_T, JUNO_VEC2_I32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC2_I32_RESULT_T, JUNO_VEC2_I32_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F64_SPH_RESULT_T, JUNO_VEC3_F64_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F64_CART_RESULT_T, JUNO_VEC3_F64_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F64_RESULT_T, JUNO_VEC3_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F32_SPH_RESULT_T, JUNO_VEC3_F32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F32_CART_RESULT_T, JUNO_VEC3_F32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_F32_RESULT_T, JUNO_VEC3_F32_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_I32_SPH_RESULT_T, JUNO_VEC3_I32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_I32_CART_RESULT_T, JUNO_VEC3_I32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC3_I32_RESULT_T, JUNO_VEC3_I32_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4F_RESULT_T, JUNO_VEC3_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_F32_SPH_RESULT_T, JUNO_VEC4_F32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_F32_CART_RESULT_T, JUNO_VEC4_F32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_F32_RESULT_T, JUNO_VEC4_F32_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_I32_SPH_RESULT_T, JUNO_VEC4_I32_SPH_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_I32_CART_RESULT_T, JUNO_VEC4_I32_CART_T)
 
 JUNO_MODULE_RESULT (JUNO_VEC4_I32_RESULT_T, JUNO_VEC4_I32_T)
 
 JUNO_MODULE_RESULT (JUNO_M3X3_F64_RESULT_T, JUNO_M3X3_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_M3X3_F32_RESULT_T, JUNO_M3X3_F32_T)
 
 JUNO_MODULE_RESULT (JUNO_M4X4F_RESULT_T, JUNO_M4X4_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_M4X4_F32_RESULT_T, JUNO_M4X4_F32_T)
 
 JUNO_MODULE_RESULT (JUNO_M3X3I_RESULT_T, JUNO_M3X3_I32_T)
 
 JUNO_MODULE_RESULT (JUNO_M4X4I_RESULT_T, JUNO_M4X4_I32_T)
 
 JUNO_MODULE_RESULT (JUNO_RQUATF_RESULT_T, JUNO_RQUAT_F64_T)
 
 JUNO_MODULE_RESULT (JUNO_RQUATI_RESULT_T, JUNO_RQUAT_I32_T)
 

Macro Definition Documentation

◆ JUNO_FLOAT_TYPE

#define JUNO_FLOAT_TYPE   double

◆ JUNO_INT_TYPE

#define JUNO_INT_TYPE   int64_t

Typedef Documentation

◆ JUNO_M3X3_F32_T

◆ JUNO_M3X3_F64_T

◆ JUNO_M3X3_I32_T

◆ JUNO_M4X4_F32_T

◆ JUNO_M4X4_F64_T

◆ JUNO_M4X4_I32_T

◆ JUNO_RQUAT_F32_T

◆ JUNO_RQUAT_F64_T

◆ JUNO_RQUAT_I32_T

◆ JUNO_VEC2_F32_CART_T

◆ JUNO_VEC2_F32_SPH_T

◆ JUNO_VEC2_F32_T

◆ JUNO_VEC2_F64_CART_T

◆ JUNO_VEC2_F64_SPH_T

◆ JUNO_VEC2_F64_T

◆ JUNO_VEC2_I32_CART_T

◆ JUNO_VEC2_I32_SPH_T

◆ JUNO_VEC2_I32_T

◆ JUNO_VEC3_F32_CART_T

◆ JUNO_VEC3_F32_SPH_T

◆ JUNO_VEC3_F32_T

◆ JUNO_VEC3_F64_CART_T

◆ JUNO_VEC3_F64_SPH_T

◆ JUNO_VEC3_F64_T

◆ JUNO_VEC3_I32_CART_T

◆ JUNO_VEC3_I32_SPH_T

◆ JUNO_VEC3_I32_T

◆ JUNO_VEC4_F32_CART_T

◆ JUNO_VEC4_F32_SPH_T

◆ JUNO_VEC4_F32_T

◆ JUNO_VEC4_F64_CART_T

◆ JUNO_VEC4_F64_SPH_T

◆ JUNO_VEC4_F64_T

◆ JUNO_VEC4_I32_CART_T

◆ JUNO_VEC4_I32_SPH_T

◆ JUNO_VEC4_I32_T

Function Documentation

◆ JUNO_MODULE_RESULT() [1/33]

JUNO_MODULE_RESULT ( JUNO_M3X3_F32_RESULT_T  ,
JUNO_M3X3_F32_T   
)

◆ JUNO_MODULE_RESULT() [2/33]

JUNO_MODULE_RESULT ( JUNO_M3X3_F64_RESULT_T  ,
JUNO_M3X3_F64_T   
)

◆ JUNO_MODULE_RESULT() [3/33]

JUNO_MODULE_RESULT ( JUNO_M3X3I_RESULT_T  ,
JUNO_M3X3_I32_T   
)

◆ JUNO_MODULE_RESULT() [4/33]

JUNO_MODULE_RESULT ( JUNO_M4X4_F32_RESULT_T  ,
JUNO_M4X4_F32_T   
)

◆ JUNO_MODULE_RESULT() [5/33]

JUNO_MODULE_RESULT ( JUNO_M4X4F_RESULT_T  ,
JUNO_M4X4_F64_T   
)

◆ JUNO_MODULE_RESULT() [6/33]

JUNO_MODULE_RESULT ( JUNO_M4X4I_RESULT_T  ,
JUNO_M4X4_I32_T   
)

◆ JUNO_MODULE_RESULT() [7/33]

JUNO_MODULE_RESULT ( JUNO_RQUATF_RESULT_T  ,
JUNO_RQUAT_F64_T   
)

◆ JUNO_MODULE_RESULT() [8/33]

JUNO_MODULE_RESULT ( JUNO_RQUATI_RESULT_T  ,
JUNO_RQUAT_I32_T   
)

◆ JUNO_MODULE_RESULT() [9/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F32_CART_RESULT_T  ,
JUNO_VEC2_F32_CART_T   
)

◆ JUNO_MODULE_RESULT() [10/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F32_RESULT_T  ,
JUNO_VEC2_F32_T   
)

◆ JUNO_MODULE_RESULT() [11/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F32_SPH_RESULT_T  ,
JUNO_VEC2_F32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [12/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F64_CART_RESULT_T  ,
JUNO_VEC2_F64_CART_T   
)

◆ JUNO_MODULE_RESULT() [13/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F64_RESULT_T  ,
JUNO_VEC2_F64_T   
)

◆ JUNO_MODULE_RESULT() [14/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_F64_SPH_RESULT_T  ,
JUNO_VEC2_F64_SPH_T   
)

◆ JUNO_MODULE_RESULT() [15/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_I32_CART_RESULT_T  ,
JUNO_VEC2_I32_CART_T   
)

◆ JUNO_MODULE_RESULT() [16/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_I32_RESULT_T  ,
JUNO_VEC2_I32_T   
)

◆ JUNO_MODULE_RESULT() [17/33]

JUNO_MODULE_RESULT ( JUNO_VEC2_I32_SPH_RESULT_T  ,
JUNO_VEC2_I32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [18/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F32_CART_RESULT_T  ,
JUNO_VEC3_F32_CART_T   
)

◆ JUNO_MODULE_RESULT() [19/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F32_RESULT_T  ,
JUNO_VEC3_F32_T   
)

◆ JUNO_MODULE_RESULT() [20/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F32_SPH_RESULT_T  ,
JUNO_VEC3_F32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [21/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F64_CART_RESULT_T  ,
JUNO_VEC3_F64_CART_T   
)

◆ JUNO_MODULE_RESULT() [22/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F64_RESULT_T  ,
JUNO_VEC3_F64_T   
)

◆ JUNO_MODULE_RESULT() [23/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_F64_SPH_RESULT_T  ,
JUNO_VEC3_F64_SPH_T   
)

◆ JUNO_MODULE_RESULT() [24/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_I32_CART_RESULT_T  ,
JUNO_VEC3_I32_CART_T   
)

◆ JUNO_MODULE_RESULT() [25/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_I32_RESULT_T  ,
JUNO_VEC3_I32_T   
)

◆ JUNO_MODULE_RESULT() [26/33]

JUNO_MODULE_RESULT ( JUNO_VEC3_I32_SPH_RESULT_T  ,
JUNO_VEC3_I32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [27/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_F32_CART_RESULT_T  ,
JUNO_VEC4_F32_CART_T   
)

◆ JUNO_MODULE_RESULT() [28/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_F32_RESULT_T  ,
JUNO_VEC4_F32_T   
)

◆ JUNO_MODULE_RESULT() [29/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_F32_SPH_RESULT_T  ,
JUNO_VEC4_F32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [30/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_I32_CART_RESULT_T  ,
JUNO_VEC4_I32_CART_T   
)

◆ JUNO_MODULE_RESULT() [31/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_I32_RESULT_T  ,
JUNO_VEC4_I32_T   
)

◆ JUNO_MODULE_RESULT() [32/33]

JUNO_MODULE_RESULT ( JUNO_VEC4_I32_SPH_RESULT_T  ,
JUNO_VEC4_I32_SPH_T   
)

◆ JUNO_MODULE_RESULT() [33/33]

JUNO_MODULE_RESULT ( JUNO_VEC4F_RESULT_T  ,
JUNO_VEC3_F64_T   
)