NcmQuaternion

NcmQuaternion — Quaternions algebra, three-vectors and mapping to matrix.

Types and Values

Object Hierarchy

    GBoxed
    ├── NcmQuaternion
    ╰── NcmTriVec

Description

FIXME

Functions

ncm_trivec_new ()

NcmTriVec *
ncm_trivec_new (void);

FIXME

[constructor]

Returns

FIXME.

[transfer full]


ncm_trivec_new_full ()

NcmTriVec *
ncm_trivec_new_full (const gdouble c[3]);

FIXME

[constructor]

Parameters

c

components

 

Returns

FIXME.

[transfer full]


ncm_trivec_new_full_c ()

NcmTriVec *
ncm_trivec_new_full_c (const gdouble x,
                       const gdouble y,
                       const gdouble z);

FIXME

[constructor]

Parameters

x

x-component

 

y

y-component

 

z

z-component

 

Returns

FIXME.

[transfer full]


ncm_trivec_dup ()

NcmTriVec *
ncm_trivec_dup (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

Returns

FIXME.

[transfer full]


ncm_trivec_free ()

void
ncm_trivec_free (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

ncm_trivec_memcpy ()

void
ncm_trivec_memcpy (NcmTriVec *dest,
                   const NcmTriVec *orig);

FIXME

Parameters

dest

a NcmTriVec

 

orig

a NcmTriVec

 

ncm_trivec_set_0 ()

void
ncm_trivec_set_0 (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

ncm_trivec_scale ()

void
ncm_trivec_scale (NcmTriVec *v,
                  const gdouble scale);

FIXME

Parameters

v

a NcmTriVec

 

scale

FIXME

 

ncm_trivec_norm ()

gdouble
ncm_trivec_norm (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

Returns

FIXME


ncm_trivec_dot ()

gdouble
ncm_trivec_dot (const NcmTriVec *v1,
                const NcmTriVec *v2);

FIXME

Parameters

v1

a NcmTriVec

 

v2

a NcmTriVec

 

Returns

FIXME


ncm_trivec_normalize ()

void
ncm_trivec_normalize (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

ncm_trivec_get_phi ()

gdouble
ncm_trivec_get_phi (NcmTriVec *v);

FIXME

Parameters

v

a NcmTriVec

 

Returns

FIXME


ncm_trivec_set_spherical_coord ()

void
ncm_trivec_set_spherical_coord (NcmTriVec *v,
                                gdouble r,
                                gdouble theta,
                                gdouble phi);

FIXME

Parameters

v

a NcmTriVec

 

r

FIXME

 

theta

FIXME

 

phi

FIXME

 

ncm_trivec_get_spherical_coord ()

void
ncm_trivec_get_spherical_coord (NcmTriVec *v,
                                gdouble *theta,
                                gdouble *phi);

FIXME

Parameters

v

a NcmTriVec

 

theta

FIXME.

[out]

phi

FIXME.

[out]

ncm_quaternion_new ()

NcmQuaternion *
ncm_quaternion_new (void);

FIXME

[constructor]

Returns

FIXME.

[transfer full]


ncm_quaternion_new_from_vector ()

NcmQuaternion *
ncm_quaternion_new_from_vector (NcmTriVec *v);

FIXME

[constructor]

Parameters

v

a NcmTriVec

 

Returns

FIXME.

[transfer full]


ncm_quaternion_new_from_data ()

NcmQuaternion *
ncm_quaternion_new_from_data (gdouble x,
                              gdouble y,
                              gdouble z,
                              gdouble theta);

FIXME

[constructor]

Parameters

x

FIXME

 

y

FIXME

 

z

FIXME

 

theta

FIXME

 

Returns

FIXME.

[transfer full]


ncm_quaternion_dup ()

NcmQuaternion *
ncm_quaternion_dup (NcmQuaternion *q);

FIXME

Parameters

q

a NcmQuaternion

 

Returns

FIXME.

[transfer full]


ncm_quaternion_free ()

void
ncm_quaternion_free (NcmQuaternion *q);

FIXME

Parameters

q

a NcmQuaternion

 

ncm_quaternion_memcpy ()

void
ncm_quaternion_memcpy (NcmQuaternion *dest,
                       const NcmQuaternion *orig);

FIXME

Parameters

dest

a NcmQuaternion

 

orig

a NcmQuaternion

 

ncm_quaternion_set_from_data ()

void
ncm_quaternion_set_from_data (NcmQuaternion *q,
                              gdouble x,
                              gdouble y,
                              gdouble z,
                              gdouble theta);

FIXME

Parameters

q

FIXME

 

x

FIXME

 

y

FIXME

 

z

FIXME

 

theta

FIXME

 

ncm_quaternion_set_random ()

void
ncm_quaternion_set_random (NcmQuaternion *q,
                           NcmRNG *rng);

FIXME

Parameters

q

FIXME

 

rng

a NcmRNG

 

ncm_quaternion_set_I ()

void
ncm_quaternion_set_I (NcmQuaternion *q);

FIXME

Parameters

q

FIXME

 

ncm_quaternion_set_0 ()

void
ncm_quaternion_set_0 (NcmQuaternion *q);

FIXME

Parameters

q

FIXME

 

ncm_quaternion_norm ()

gdouble
ncm_quaternion_norm (NcmQuaternion *q);

FIXME

Parameters

q

FIXME

 

Returns

FIXME


ncm_quaternion_normalize ()

void
ncm_quaternion_normalize (NcmQuaternion *q);

FIXME

Parameters

q

FIXME

 

ncm_quaternion_conjugate ()

void
ncm_quaternion_conjugate (NcmQuaternion *q);

FIXME

Parameters

q

FIXME

 

ncm_quaternion_mul ()

void
ncm_quaternion_mul (NcmQuaternion *q,
                    NcmQuaternion *u,
                    NcmQuaternion *res);

FIXME

Parameters

q

FIXME

 

u

FIXME

 

res

FIXME

 

ncm_quaternion_lmul ()

void
ncm_quaternion_lmul (NcmQuaternion *q,
                     NcmQuaternion *u);

FIXME

Parameters

q

FIXME

 

u

FIXME

 

ncm_quaternion_rmul ()

void
ncm_quaternion_rmul (NcmQuaternion *q,
                     NcmQuaternion *u);

FIXME

Parameters

q

FIXME

 

u

FIXME

 

ncm_quaternion_conjugate_u_mul ()

void
ncm_quaternion_conjugate_u_mul (NcmQuaternion *q,
                                NcmQuaternion *u,
                                NcmQuaternion *res);

FIXME

Parameters

q

FIXME

 

u

FIXME

 

res

FIXME

 

ncm_quaternion_conjugate_q_mul ()

void
ncm_quaternion_conjugate_q_mul (NcmQuaternion *q,
                                NcmQuaternion *u,
                                NcmQuaternion *res);

FIXME

Parameters

q

FIXME

 

u

FIXME

 

res

FIXME

 

ncm_quaternion_rotate ()

void
ncm_quaternion_rotate (NcmQuaternion *q,
                       NcmTriVec *v);

FIXME

Parameters

q

FIXME

 

v

FIXME

 

ncm_quaternion_inv_rotate ()

void
ncm_quaternion_inv_rotate (NcmQuaternion *q,
                           NcmTriVec *v);

FIXME

Parameters

q

FIXME

 

v

FIXME

 

Types and Values

NCM_QUATERNION_INIT

#define NCM_QUATERNION_INIT {0.0, {{0.0, 0.0, 0.0}}}

NCM_QUATERNION_INIT_I

#define NCM_QUATERNION_INIT_I {1.0, {{0.0, 0.0, 0.0}}}