Добавление дополнительных операций умножения кватернионов, переименование функций для единообразия названий
This commit is contained in:
parent
078512c3d5
commit
d83ab7160d
18 changed files with 379 additions and 177 deletions
|
|
@ -45,23 +45,23 @@ extern inline void bgc_fp64_dual_number_subtract(BGC_FP64_DualNumber* const diff
|
|||
extern inline void bgc_fp32_dual_number_subtract_scaled(BGC_FP32_DualNumber* const difference, const BGC_FP32_DualNumber* const base_number, const BGC_FP32_DualNumber* const scalable_number, const float scale);
|
||||
extern inline void bgc_fp64_dual_number_subtract_scaled(BGC_FP64_DualNumber* const difference, const BGC_FP64_DualNumber* const base_number, const BGC_FP64_DualNumber* const scalable_number, const double scale);
|
||||
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_real(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const float multiplier);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_real(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const double multiplier);
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_real_number(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const float multiplier);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_real_number(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const double multiplier);
|
||||
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_dual(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const BGC_FP32_DualNumber* const multiplier);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_dual(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const BGC_FP64_DualNumber* const multiplier);
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_dual_number(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const BGC_FP32_DualNumber* const multiplier);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_dual_number(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const BGC_FP64_DualNumber* const multiplier);
|
||||
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_conjugate(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const BGC_FP32_DualNumber* const multiplier_to_conjugate);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_conjugate(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const BGC_FP64_DualNumber* const multiplier_to_conjugate);
|
||||
extern inline void bgc_fp32_dual_number_multiply_by_conjugate_dual_number(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const BGC_FP32_DualNumber* const multiplier_to_conjugate);
|
||||
extern inline void bgc_fp64_dual_number_multiply_by_conjugate_dual_number(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const BGC_FP64_DualNumber* const multiplier_to_conjugate);
|
||||
|
||||
extern inline int bgc_fp32_dual_number_divide_by_real(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const float divisor);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_real(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const double divisor);
|
||||
extern inline int bgc_fp32_dual_number_divide_by_real_number(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const float divisor);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_real_number(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const double divisor);
|
||||
|
||||
extern inline int bgc_fp32_dual_number_divide_by_dual(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const BGC_FP32_DualNumber* const divisor);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_dual(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const BGC_FP64_DualNumber* const divisor);
|
||||
extern inline int bgc_fp32_dual_number_divide_by_dual_number(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const BGC_FP32_DualNumber* const divisor);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_dual_number(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const BGC_FP64_DualNumber* const divisor);
|
||||
|
||||
extern inline int bgc_fp32_dual_number_divide_by_conjugate(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const BGC_FP32_DualNumber* const divisor_to_conjugate);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_conjugate(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const BGC_FP64_DualNumber* const divisor_to_conjugate);
|
||||
extern inline int bgc_fp32_dual_number_divide_by_conjugate_dual_number(BGC_FP32_DualNumber* const quotient, const BGC_FP32_DualNumber* const dividend, const BGC_FP32_DualNumber* const divisor_to_conjugate);
|
||||
extern inline int bgc_fp64_dual_number_divide_by_conjugate_dual_number(BGC_FP64_DualNumber* const quotient, const BGC_FP64_DualNumber* const dividend, const BGC_FP64_DualNumber* const divisor_to_conjugate);
|
||||
|
||||
extern inline void bgc_fp32_dual_number_get_mean2(BGC_FP32_DualNumber* const mean, const BGC_FP32_DualNumber* const first, const BGC_FP32_DualNumber* const second);
|
||||
extern inline void bgc_fp64_dual_number_get_mean2(BGC_FP64_DualNumber* const mean, const BGC_FP64_DualNumber* const first, const BGC_FP64_DualNumber* const second);
|
||||
|
|
|
|||
|
|
@ -264,19 +264,19 @@ inline void bgc_fp64_dual_number_subtract_scaled(BGC_FP64_DualNumber* const diff
|
|||
|
||||
// ================== Multiply ================== //
|
||||
|
||||
inline void bgc_fp32_dual_number_multiply_by_real(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const float multiplier)
|
||||
inline void bgc_fp32_dual_number_multiply_by_real_number(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const float multiplier)
|
||||
{
|
||||
product->real_part = multiplicand->real_part * multiplier;
|
||||
product->dual_part = multiplicand->dual_part * multiplier;
|
||||
}
|
||||
|
||||
inline void bgc_fp64_dual_number_multiply_by_real(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const double multiplier)
|
||||
inline void bgc_fp64_dual_number_multiply_by_real_number(BGC_FP64_DualNumber* const product, const BGC_FP64_DualNumber* const multiplicand, const double multiplier)
|
||||
{
|
||||
product->real_part = multiplicand->real_part * multiplier;
|
||||
product->dual_part = multiplicand->dual_part * multiplier;
|
||||
}
|
||||
|
||||
inline void bgc_fp32_dual_number_multiply_by_dual(BGC_FP32_DualNumber* const product, const BGC_FP32_DualNumber* const multiplicand, const BGC_FP32_DualNumber* const multiplier)
|
||||