#include <stdlib.h>#include <stdio.h>#include <gandalf/common/misc_defs.h>#include <gandalf/linalg/2vectorf.h>#include <gandalf/linalg/vecf_gen.h>Go to the source code of this file.
Classes | |
| struct | Gan_Vector3_f | 
| Structure definition for single precision floating point 3-vector.  More... | |
Defines | |
| #define | GAN_REP3_AS(a, b, p1, p2, p3) (a p1 b, a p2 b, a p3 b) | 
| #define | GAN_REP3_AS_C(a, b) GAN_REP3_AS(a,b,x,y,z) | 
| #define | GAN_REP3_A(a, p1, p2, p3) (a p1, a p2, a p3) | 
| #define | GAN_REP3_A_C(a) GAN_REP3_A(a,x,y,z) | 
| #define | GAN_FREP3_A(a, b, p1, p2, p3, q1, q2, q3) (a p1 b q1, a p2 b q2, a p3 b q3) | 
| #define | GAN_FREP3_A_C(a, b, p1, p2, p3) GAN_FREP3_A(a,b,x,y,z,p1,p2,p3) | 
| #define | GAN_REP3_ABS(a, b, c, p1, p2, p3, q1, q2, q3) (a p1 b q1 c, a p2 b q2 c, a p3 b q3 c) | 
| #define | GAN_REP3_AAS(a, b, c, p1, p2, p3) GAN_REP3_ABS(a,b,c,p1,p2,p3,p1,p2,p3) | 
| #define | GAN_REP3_AAS_C(a, b, c) GAN_REP3_AAS(a,b,c,x,y,z) | 
| #define | GAN_REP3_AB(a, b, p1, p2, p3, q1, q2, q3) (a p1 b q1, a p2 b q2, a p3 b q3) | 
| #define | GAN_REP3_AA(a, b, p1, p2, p3) GAN_REP3_AB(a,b,p1,p2,p3,p1,p2,p3) | 
| #define | GAN_REP3_AA_C(a, b) GAN_REP3_AA(a,b,x,y,z) | 
| #define | GAN_REP3_ABCS(a, b, c, d, p1, p2, p3, q1, q2, q3, r1, r2, r3) (a p1 b q1 c r1 d, a p2 b q2 c r2 d, a p3 b q3 c r3 d) | 
| #define | GAN_REP3_ABC(a, b, c, p1, p2, p3, q1, q2, q3, r1, r2, r3) (a p1 b q1 c r1, a p2 b q2 c r2, a p3 b q3 c r3) | 
| #define | GAN_REP3_AAA(a, b, c, p1, p2, p3) GAN_REP3_ABC(a,b,c,p1,p2,p3,p1,p2,p3,p1,p2,p3) | 
| #define | GAN_REP3_AAA_C(a, b, c) GAN_REP3_AAA(a,b,c,x,y,z) | 
| #define | GAN_REP3_OP_AB(a, b, p1, p2, p3, q1, q2, q3, op) (a p1 b q1 op a p2 b q2 op a p3 b q3) | 
| #define | GAN_REP3_OP_AA(a, b, p1, p2, p3, op) GAN_REP3_OP_AB(a,b,p1,p2,p3,p1,p2,p3,op) | 
| #define | GAN_REP3_OP_AA_C(a, b, op) GAN_REP3_OP_AA(a,b,x,y,z,op) | 
| #define | GAN_TEST_OP1(A, typeA) assert(sizeof(*(A))==sizeof(typeA)) | 
| #define | GAN_TEST_OP2(A, B, typeA, typeB) (assert(sizeof(*(A))==sizeof(typeA)&&sizeof(*(B))==sizeof(typeB))) | 
| #define | GAN_TEST_OP3(A, B, C, typeA, typeB, typeC) | 
| #define | GAN_TEST_OP4(A, B, C, D, typeA, typeB, typeC, typeD) | 
| #define | GAN_TEST_OP5(A, B, C, D, E, typeA, typeB, typeC, typeD, typeE) | 
| #define | GAN_VECTYPE Gan_Vector3_f | 
| #define | GAN_VECTOR_TYPE Gan_Vector_f | 
| #define | GAN_VEC_ELEMENT_TYPE GAN_FLOAT | 
| #define | GAN_REALTYPE float | 
| #define | GAN_FWRITE_LENDIAN gan_fwrite_lendian_f32 | 
| #define | GAN_FREAD_LENDIAN gan_fread_lendian_f32 | 
| #define | GAN_VEC_FPRINT gan_vec3f_fprint | 
| #define | GAN_VEC_PRINT gan_vec3f_print | 
| #define | GAN_VEC_FSCANF gan_vec3f_fscanf | 
| #define | GAN_VEC_FWRITE gan_vec3f_fwrite | 
| #define | GAN_VEC_FREAD gan_vec3f_fread | 
| #define | GAN_VEC_ZERO_Q gan_vec3f_zero_q | 
| #define | GAN_VEC_ZERO_S gan_vec3f_zero_s | 
| #define | GAN_VEC_COPY_Q gan_vec3f_copy_q | 
| #define | GAN_VEC_COPY_S gan_vec3f_copy_s | 
| #define | GAN_VEC_SCALE_Q gan_vec3f_scale_q | 
| #define | GAN_VEC_SCALE_S gan_vec3f_scale_s | 
| #define | GAN_VEC_SCALE_I gan_vec3f_scale_i | 
| #define | GAN_VEC_DIVIDE_Q gan_vec3f_divide_q | 
| #define | GAN_VEC_DIVIDE_S gan_vec3f_divide_s | 
| #define | GAN_VEC_DIVIDE_I gan_vec3f_divide_i | 
| #define | GAN_VEC_NEGATE_Q gan_vec3f_negate_q | 
| #define | GAN_VEC_NEGATE_S gan_vec3f_negate_s | 
| #define | GAN_VEC_NEGATE_I gan_vec3f_negate_i | 
| #define | GAN_VEC_UNIT_Q gan_vec3f_unit_q | 
| #define | GAN_VEC_UNIT_S gan_vec3f_unit_s | 
| #define | GAN_VEC_UNIT_I gan_vec3f_unit_i | 
| #define | GAN_VEC_ADD_Q gan_vec3f_add_q | 
| #define | GAN_VEC_ADD_I1 gan_vec3f_add_i1 | 
| #define | GAN_VEC_ADD_I2 gan_vec3f_add_i2 | 
| #define | GAN_VEC_INCREMENT gan_vec3f_increment | 
| #define | GAN_VEC_ADD_S gan_vec3f_add_s | 
| #define | GAN_VEC_SUB_Q gan_vec3f_sub_q | 
| #define | GAN_VEC_SUB_I1 gan_vec3f_sub_i1 | 
| #define | GAN_VEC_SUB_I2 gan_vec3f_sub_i2 | 
| #define | GAN_VEC_DECREMENT gan_vec3f_decrement | 
| #define | GAN_VEC_SUB_S gan_vec3f_sub_s | 
| #define | GAN_VEC_DOT_Q gan_vec3f_dot_q | 
| #define | GAN_VEC_DOT_S gan_vec3f_dot_s | 
| #define | GAN_VEC_SQRLEN_Q gan_vec3f_sqrlen_q | 
| #define | GAN_VEC_SQRLEN_S gan_vec3f_sqrlen_s | 
| #define | GAN_VEC_FROM_VEC_Q gan_vec3f_from_vecf_q | 
| #define | GAN_VEC_FROM_VEC_S gan_vec3f_from_vecf_s | 
Typedefs | |
| typedef Gan_Vector3_f | Gan_Vector3_f | 
| Structure definition for single precision floating point 3-vector.  | |
Functions | |
| Gan_Vector3_f * | gan_vec3f_fill_q (Gan_Vector3_f *p, float X, float Y, float Z) | 
| Macro: Fill 3-vector with values.   | |
| Gan_Vector3_f * | gan_vec3f_cross_q (const Gan_Vector3_f *p, const Gan_Vector3_f *q, Gan_Vector3_f *r) | 
| Macro: Compute vector product of 3-vectors.   | |
| Gan_Vector2_f * | gan_vec3f_get_v2t_q (const Gan_Vector3_f *p, Gan_Vector2_f *q) | 
| Macro: Extract top 2-vector part of 3-vector.   | |
| Gan_Vector3_f * | gan_vec3f_set_parts_q (Gan_Vector3_f *p, const Gan_Vector2_f *q, float s) | 
| Macro: Build 3-vector from 2-vector and scalar.   | |
| Gan_Vector3_f * | gan_vec3f_zero_q (Gan_Vector3_f *p) | 
| Macro: Fill fixed size vector with zero.   | |
| Gan_Vector3_f * | gan_vec3f_copy_q (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Copy fixed size vector.   | |
| Gan_Vector3_f * | gan_vec3f_scale_q (Gan_Vector3_f *p, float a, Gan_Vector3_f *q) | 
| Macro: Scale fixed size vector.   | |
| Gan_Vector3_f * | gan_vec3f_scale_i (Gan_Vector3_f *p, float a) | 
| Macro: Scale fixed size vector.   | |
| Gan_Vector3_f * | gan_vec3f_divide_q (Gan_Vector3_f *p, float a, Gan_Vector3_f *q) | 
| Macro: Divide fixed size vector by scalar.   | |
| Gan_Vector3_f * | gan_vec3f_divide_i (Gan_Vector3_f *p, float a) | 
| Macro: Divide fixed size vector by scalar.   | |
| Gan_Vector3_f * | gan_vec3f_negate_q (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Negate fixed size vector.   | |
| Gan_Vector3_f * | gan_vec3f_negate_i (Gan_Vector3_f *p) | 
| Macro: Negate fixed size vector.   | |
| Gan_Vector3_f * | gan_vec3f_unit_i (Gan_Vector3_f *p) | 
| Macro: Scale vector to unit norm.   | |
| Gan_Vector3_f * | gan_vec3f_add_q (Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r) | 
| Macro: Add two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_add_i1 (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Add two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_add_i2 (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Add two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_increment (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Increment a fixed size vector by another.   | |
| Gan_Vector3_f * | gan_vec3f_sub_q (Gan_Vector3_f *p, Gan_Vector3_f *q, Gan_Vector3_f *r) | 
| Macro: Subtract two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_sub_i1 (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Subtract two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_sub_i2 (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Subtract two fixed size vectors.   | |
| Gan_Vector3_f * | gan_vec3f_decrement (Gan_Vector3_f *p, Gan_Vector3_f *q) | 
| Macro: Decrement a fixed size vector by another.   | |
| float | gan_vec3f_dot_q (const Gan_Vector3_f *p, const Gan_Vector3_f *q) | 
| Macro: Dot product of fixed size vectors.   | |
| float | gan_vec3f_sqrlen_q (const Gan_Vector3_f *p) | 
| Macro: Returns sum of squares of vector elements.   | |
Part of: Gandalf Library
      
  | 
  
| 
 File: 
 Revision: 
 
 
 Notes: Not to be compiled separately  | 
  
      
  | 
  
| 
 File: 
 Revision: 
 
 
 Notes: Not to be compiled separately  | 
  
      
  | 
  
| 
 Value: (assert(sizeof(*(A))==sizeof(typeA)&&sizeof(*(B))==sizeof(typeB)&&\ sizeof(*(C))==sizeof(typeC)))  | 
  
      
  | 
  
| 
 Value: (assert(sizeof(*(A))==sizeof(typeA)&&sizeof(*(B))==sizeof(typeB)&&\ sizeof(*(C))==sizeof(typeC)&&sizeof(*(D))==sizeof(typeD)))  | 
  
      
  | 
  
| 
 Value: (assert(sizeof(*(A))==sizeof(typeA)&&sizeof(*(B))==sizeof(typeB)&&\ sizeof(*(C))==sizeof(typeC)&&sizeof(*(D))==sizeof(typeD)&&\ sizeof(*(E))==sizeof(typeE)))  | 
  
 1.3.9.1