Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
pprz_algebra_double.h File Reference

Paparazzi double precision floating point algebra. More...

#include "pprz_algebra.h"
#include "pprz_algebra_float.h"
+ Include dependency graph for pprz_algebra_double.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  DoubleVect2
 
struct  DoubleVect3
 
struct  DoubleQuat
 Roation quaternion. More...
 
struct  DoubleMat33
 
struct  DoubleRMat
 rotation matrix More...
 
struct  DoubleEulers
 euler angles More...
 
struct  DoubleRates
 angular rates More...
 

Macros

#define DOUBLE_VECT3_ROUND(_v)   DOUBLE_VECT3_RINT(_v, _v)
 
#define DOUBLE_VECT3_RINT(_vout, _vin)
 
#define DOUBLE_RMAT_OF_EULERS(_rm, _e)   WARNING("DOUBLE_RMAT_OF_EULERS macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e))
 
#define DOUBLE_RMAT_OF_EULERS_321(_rm, _e)   WARNING("DOUBLE_RMAT_OF_EULERS_321 macro is deprecated, use the lower case function instead") double_rmat_of_eulers(&(_rm), &(_e))
 
#define DOUBLE_QUAT_OF_EULERS(_q, _e)   WARNING("DOUBLE_QUAT_OF_EULERS macro is deprecated, use the lower case function instead") double_quat_of_eulers(&(_q), &(_e))
 
#define DOUBLE_EULERS_OF_QUAT(_e, _q)   WARNING("DOUBLE_EULERS_OF_QUAT macro is deprecated, use the lower case function instead") double_eulers_of_quat(&(_e), &(_q))
 
#define DOUBLE_QUAT_VMULT(v_out, q, v_in)   WARNING("DOUBLE_QUAT_VMULT macro is deprecated, use the lower case function instead") double_quat_vmult(&(v_out), &(q), &(v_in))
 

Functions

static double double_vect3_norm (struct DoubleVect3 *v)
 
static void double_vect3_normalize (struct DoubleVect3 *v)
 normalize 3D vector in place More...
 
static void double_quat_identity (struct DoubleQuat *q)
 initialises a quaternion to identity More...
 
static double double_quat_norm (struct DoubleQuat *q)
 
static void double_quat_normalize (struct DoubleQuat *q)
 
void double_rmat_of_eulers_321 (struct DoubleRMat *rm, struct DoubleEulers *e)
 Rotation matrix from 321 Euler angles (double). More...
 
void double_quat_of_eulers (struct DoubleQuat *q, struct DoubleEulers *e)
 
void double_eulers_of_quat (struct DoubleEulers *e, struct DoubleQuat *q)
 
void double_quat_vmult (struct DoubleVect3 *v_out, struct DoubleQuat *q, struct DoubleVect3 *v_in)
 
void double_quat_comp (struct DoubleQuat *a2c, struct DoubleQuat *a2b, struct DoubleQuat *b2c)
 Composition (multiplication) of two quaternions. More...
 
static void double_rmat_identity (struct DoubleRMat *rm)
 initialises a rotation matrix to identity More...
 
void double_rmat_inv (struct DoubleRMat *m_b2a, struct DoubleRMat *m_a2b)
 Inverse/transpose of a rotation matrix. More...
 
void double_rmat_comp (struct DoubleRMat *m_a2c, struct DoubleRMat *m_a2b, struct DoubleRMat *m_b2c)
 Composition (multiplication) of two rotation matrices. More...
 
void double_rmat_vmult (struct DoubleVect3 *vb, struct DoubleRMat *m_a2b, struct DoubleVect3 *va)
 rotate 3D vector by rotation matrix. More...
 
void double_rmat_transp_vmult (struct DoubleVect3 *vb, struct DoubleRMat *m_b2a, struct DoubleVect3 *va)
 rotate 3D vector by transposed rotation matrix. More...
 
void double_rmat_of_quat (struct DoubleRMat *rm, struct DoubleQuat *q)
 
static void double_rmat_of_eulers (struct DoubleRMat *rm, struct DoubleEulers *e)
 

Detailed Description

Paparazzi double precision floating point algebra.

Definition in file pprz_algebra_double.h.