Defines | |
#define | GAN_VEC_NORMALISE gan_vec2_normalize |
#define | GAN_VEC_NORM_FNAME "gan_vec2_normalize" |
#define | GAN_VECTYPE Gan_Vector2 |
#define | GAN_SQUMATTYPE Gan_SquMatrix22 |
#define | GAN_VEC_SCALE_S gan_vec2_scale_s |
#define | GAN_VEC_DIVIDE_S gan_vec2_divide_s |
#define | GAN_VEC_DOT_S gan_vec2_dot_s |
#define | GAN_VEC_SQRLEN_S gan_vec2_sqrlen_s |
#define | GAN_VEC_OUTER_SYM_Q gan_vec22_outer_sym_q |
#define | GAN_SYMMAT_IDENT_S gan_symmat22_ident_s |
#define | GAN_SYMMAT_INVERT_Q gan_symmat22_invert_q |
#define | GAN_SYMMAT_ZERO_Q gan_symmat22_zero_q |
#define | GAN_SYMMAT_MULTV_Q gan_symmat22_multv2_q |
#define | GAN_SYMMAT_DIVIDE_S gan_symmat22_divide_s |
#define | GAN_SYMMAT_DIVIDE_I gan_symmat22_divide_i |
#define | GAN_SYMMAT_INCREMENT gan_symmat22_increment |
#define | GAN_SYMMAT_TRACE_S gan_symmat22_trace_s |
#define | GAN_SYMMAT_SUB_Q gan_symmat22_sub_q |
#define | GAN_SYMMAT_SUMSQR_Q gan_symmat22_sumsqr_q |
#define | GAN_SYMMAT_CHOLESKY_Q gan_symmat22_cholesky_q |
#define | GAN_LTMATI_MULTV_S gan_ltmat22I_multv2_s |
#define | GAN_VEC_NORMALISE gan_vec3_normalize |
#define | GAN_VEC_NORM_FNAME "gan_vec3_normalize" |
#define | GAN_VECTYPE Gan_Vector3 |
#define | GAN_SQUMATTYPE Gan_SquMatrix33 |
#define | GAN_VEC_SCALE_S gan_vec3_scale_s |
#define | GAN_VEC_DIVIDE_S gan_vec3_divide_s |
#define | GAN_VEC_DOT_S gan_vec3_dot_s |
#define | GAN_VEC_SQRLEN_S gan_vec3_sqrlen_s |
#define | GAN_VEC_OUTER_SYM_Q gan_vec33_outer_sym_q |
#define | GAN_SYMMAT_IDENT_S gan_symmat33_ident_s |
#define | GAN_SYMMAT_INVERT_Q gan_symmat33_invert_q |
#define | GAN_SYMMAT_ZERO_Q gan_symmat33_zero_q |
#define | GAN_SYMMAT_MULTV_Q gan_symmat33_multv3_q |
#define | GAN_SYMMAT_DIVIDE_S gan_symmat33_divide_s |
#define | GAN_SYMMAT_DIVIDE_I gan_symmat33_divide_i |
#define | GAN_SYMMAT_INCREMENT gan_symmat33_increment |
#define | GAN_SYMMAT_TRACE_S gan_symmat33_trace_s |
#define | GAN_SYMMAT_SUB_Q gan_symmat33_sub_q |
#define | GAN_SYMMAT_SUMSQR_Q gan_symmat33_sumsqr_q |
#define | GAN_SYMMAT_CHOLESKY_Q gan_symmat33_cholesky_q |
#define | GAN_LTMATI_MULTV_S gan_ltmat33I_multv3_s |
#define | GAN_VEC_NORMALISE gan_vec4_normalize |
#define | GAN_VEC_NORM_FNAME "gan_vec4_normalize" |
#define | GAN_VECTYPE Gan_Vector4 |
#define | GAN_SQUMATTYPE Gan_SquMatrix44 |
#define | GAN_VEC_SCALE_S gan_vec4_scale_s |
#define | GAN_VEC_DIVIDE_S gan_vec4_divide_s |
#define | GAN_VEC_DOT_S gan_vec4_dot_s |
#define | GAN_VEC_SQRLEN_S gan_vec4_sqrlen_s |
#define | GAN_VEC_OUTER_SYM_Q gan_vec44_outer_sym_q |
#define | GAN_SYMMAT_IDENT_S gan_symmat44_ident_s |
#define | GAN_SYMMAT_INVERT_Q gan_symmat44_invert_q |
#define | GAN_SYMMAT_ZERO_Q gan_symmat44_zero_q |
#define | GAN_SYMMAT_MULTV_Q gan_symmat44_multv4_q |
#define | GAN_SYMMAT_DIVIDE_S gan_symmat44_divide_s |
#define | GAN_SYMMAT_DIVIDE_I gan_symmat44_divide_i |
#define | GAN_SYMMAT_INCREMENT gan_symmat44_increment |
#define | GAN_SYMMAT_TRACE_S gan_symmat44_trace_s |
#define | GAN_SYMMAT_SUB_Q gan_symmat44_sub_q |
#define | GAN_SYMMAT_SUMSQR_Q gan_symmat44_sumsqr_q |
#define | GAN_SYMMAT_CHOLESKY_Q gan_symmat44_cholesky_q |
#define | GAN_LTMATI_MULTV_S gan_ltmat44I_multv4_s |
Functions | |
Gan_Bool | gan_vec2_normalize (Gan_Vector2 *b, int n, double term_threshold, int max_iterations, Gan_SquMatrix22 *Lp) |
Normalize array of 2x1 vectors to identity inertia moment. | |
Gan_Bool | gan_vec3_normalize (Gan_Vector3 *b, int n, double term_threshold, int max_iterations, Gan_SquMatrix33 *Lp) |
Normalize array of 3x1 vectors to identity inertia moment. | |
Gan_Bool | gan_vec4_normalize (Gan_Vector4 *b, int n, double term_threshold, int max_iterations, Gan_SquMatrix44 *Lp) |
Normalize array of 2x1 vectors to identity inertia moment. |
|
Normalize array of 2x1 vectors to identity inertia moment.
satisfy the equation
where is the 2x2 identity matrix. term_threshold specifies a threshold on the smallness of an adjustment to , below which the algorithm terminates successfully. max_iterations specifies the maximum number of iterations to perform. If this is reached without the above threshold being reached, the algorithm terminates with failure, returning GAN_FALSE.
Lp is a pointer set to the final solution for the triangular matrix . If it is passed as Upon successful termination, the row vectors b are transformed to as shown above, and GAN_TRUE is returned.
|
|
Normalize array of 3x1 vectors to identity inertia moment.
satisfy the equation
where is the 3x3 identity matrix. term_threshold specifies a threshold on the smallness of an adjustment to , below which the algorithm terminates successfully. max_iterations specifies the maximum number of iterations to perform. If this is reached without the above threshold being reached, the algorithm terminates with failure, returning GAN_FALSE.
Lp is a pointer set to the final solution for the triangular matrix . If it is passed as Upon successful termination, the row vectors b are transformed to as shown above, and GAN_TRUE is returned.
|
|
Normalize array of 2x1 vectors to identity inertia moment.
satisfy the equation
where is the 2x2 identity matrix. term_threshold specifies a threshold on the smallness of an adjustment to , below which the algorithm terminates successfully. max_iterations specifies the maximum number of iterations to perform. If this is reached without the above threshold being reached, the algorithm terminates with failure, returning GAN_FALSE.
Lp is a pointer set to the final solution for the triangular matrix . If it is passed as Upon successful termination, the row vectors b are transformed to as shown above, and GAN_TRUE is returned.
|