Compare commits
No commits in common. "57280ac3f36086fb2810c3b27285bbac37532eb9" and "b470a3194b6c12126bc2a76afa1b75d282e54d66" have entirely different histories.
57280ac3f3
...
b470a3194b
26 changed files with 142 additions and 334 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _BGC_ANGLE_H_INCLUDED_
|
#ifndef _BGC_ANGLE_H_
|
||||||
#define _BGC_ANGLE_H_INCLUDED_
|
#define _BGC_ANGLE_H_
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include "utilities.h"
|
#include "utilities.h"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _BGC_H_INCLUDED_
|
#ifndef _BGC_H_
|
||||||
#define _BGC_H_INCLUDED_
|
#define _BGC_H_
|
||||||
|
|
||||||
#include "./utilities.h"
|
#include "./utilities.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
<ClInclude Include="angle.h" />
|
<ClInclude Include="angle.h" />
|
||||||
<ClInclude Include="basic-geometry.h" />
|
<ClInclude Include="basic-geometry.h" />
|
||||||
<ClInclude Include="complex.h" />
|
<ClInclude Include="complex.h" />
|
||||||
|
<ClInclude Include="cotes-number.h" />
|
||||||
<ClInclude Include="dual-number.h" />
|
<ClInclude Include="dual-number.h" />
|
||||||
<ClInclude Include="dual-quaternion.h" />
|
<ClInclude Include="dual-quaternion.h" />
|
||||||
<ClInclude Include="dual-vector3.h" />
|
<ClInclude Include="dual-vector3.h" />
|
||||||
|
|
@ -37,10 +38,11 @@
|
||||||
<ClInclude Include="position2.h" />
|
<ClInclude Include="position2.h" />
|
||||||
<ClInclude Include="position3.h" />
|
<ClInclude Include="position3.h" />
|
||||||
<ClInclude Include="quaternion.h" />
|
<ClInclude Include="quaternion.h" />
|
||||||
<ClInclude Include="turn2.h" />
|
<ClInclude Include="rotation3.h" />
|
||||||
<ClInclude Include="turn3.h" />
|
<ClInclude Include="types.h" />
|
||||||
<ClInclude Include="utilities.h" />
|
<ClInclude Include="utilities.h" />
|
||||||
<ClInclude Include="slerp.h" />
|
<ClInclude Include="slerp.h" />
|
||||||
|
<ClInclude Include="versor.h" />
|
||||||
<ClInclude Include="vector2.h" />
|
<ClInclude Include="vector2.h" />
|
||||||
<ClInclude Include="vector3.h" />
|
<ClInclude Include="vector3.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
@ -49,6 +51,7 @@
|
||||||
<ClCompile Include="affine3.c" />
|
<ClCompile Include="affine3.c" />
|
||||||
<ClCompile Include="angle.c" />
|
<ClCompile Include="angle.c" />
|
||||||
<ClInclude Include="complex.c" />
|
<ClInclude Include="complex.c" />
|
||||||
|
<ClInclude Include="cotes-number.c" />
|
||||||
<ClCompile Include="dual-number.c" />
|
<ClCompile Include="dual-number.c" />
|
||||||
<ClCompile Include="dual-quaternion.c" />
|
<ClCompile Include="dual-quaternion.c" />
|
||||||
<ClCompile Include="dual-vector3.c" />
|
<ClCompile Include="dual-vector3.c" />
|
||||||
|
|
@ -56,8 +59,6 @@
|
||||||
<ClCompile Include="hg-vector3.c" />
|
<ClCompile Include="hg-vector3.c" />
|
||||||
<ClCompile Include="position2.c" />
|
<ClCompile Include="position2.c" />
|
||||||
<ClCompile Include="position3.c" />
|
<ClCompile Include="position3.c" />
|
||||||
<ClCompile Include="turn2.c" />
|
|
||||||
<ClCompile Include="turn3.c" />
|
|
||||||
<ClCompile Include="utilities.c" />
|
<ClCompile Include="utilities.c" />
|
||||||
<ClCompile Include="matrix2x2.c" />
|
<ClCompile Include="matrix2x2.c" />
|
||||||
<ClCompile Include="matrix2x3.c" />
|
<ClCompile Include="matrix2x3.c" />
|
||||||
|
|
@ -65,7 +66,9 @@
|
||||||
<ClCompile Include="matrix3x3.c" />
|
<ClCompile Include="matrix3x3.c" />
|
||||||
<ClCompile Include="matrices.c" />
|
<ClCompile Include="matrices.c" />
|
||||||
<ClCompile Include="quaternion.c" />
|
<ClCompile Include="quaternion.c" />
|
||||||
|
<ClCompile Include="rotation3.c" />
|
||||||
<ClCompile Include="slerp.c" />
|
<ClCompile Include="slerp.c" />
|
||||||
|
<ClCompile Include="versor.c" />
|
||||||
<ClCompile Include="vector2.c" />
|
<ClCompile Include="vector2.c" />
|
||||||
<ClCompile Include="vector3.c" />
|
<ClCompile Include="vector3.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@
|
||||||
<ClInclude Include="complex.h">
|
<ClInclude Include="complex.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="cotes-number.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="utilities.h">
|
<ClInclude Include="utilities.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
@ -33,6 +36,12 @@
|
||||||
<ClInclude Include="matrix3x3.h">
|
<ClInclude Include="matrix3x3.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="rotation3.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="versor.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="vector2.h">
|
<ClInclude Include="vector2.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
@ -54,9 +63,15 @@
|
||||||
<ClInclude Include="complex.c">
|
<ClInclude Include="complex.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="cotes-number.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="slerp.h">
|
<ClInclude Include="slerp.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="types.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="affine3.h">
|
<ClInclude Include="affine3.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
@ -84,12 +99,6 @@
|
||||||
<ClInclude Include="hg-matrix3x3.h">
|
<ClInclude Include="hg-matrix3x3.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="turn2.h">
|
|
||||||
<Filter>Файлы заголовков</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="turn3.h">
|
|
||||||
<Filter>Файлы заголовков</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="angle.c">
|
<ClCompile Include="angle.c">
|
||||||
|
|
@ -104,12 +113,18 @@
|
||||||
<ClCompile Include="matrix3x3.c">
|
<ClCompile Include="matrix3x3.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="versor.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="vector2.c">
|
<ClCompile Include="vector2.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="vector3.c">
|
<ClCompile Include="vector3.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="rotation3.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="quaternion.c">
|
<ClCompile Include="quaternion.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
@ -152,11 +167,5 @@
|
||||||
<ClCompile Include="hg-matrix3x3.c">
|
<ClCompile Include="hg-matrix3x3.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="turn2.c">
|
|
||||||
<Filter>Исходные файлы</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="turn3.c">
|
|
||||||
<Filter>Исходные файлы</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#ifndef _BGC_COMPLEX_H_INCLUDED_
|
#ifndef _BGC_COMPLEX_H_
|
||||||
#define _BGC_COMPLEX_H_INCLUDED_
|
#define _BGC_COMPLEX_H_
|
||||||
|
|
||||||
#include "utilities.h"
|
#include "utilities.h"
|
||||||
#include "angle.h"
|
#include "angle.h"
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,34 @@
|
||||||
#include "dual-number.h"
|
#include "dual-number.h"
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_reset(BGC_FP32_DualNumber* number);
|
inline void bgc_fp32_dual_number_reset(BGC_FP32_DualNumber* number);
|
||||||
extern inline void bgc_fp64_dual_number_reset(BGC_FP64_DualNumber* number);
|
inline void bgc_fp64_dual_number_reset(BGC_FP64_DualNumber* number);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_make(BGC_FP32_DualNumber* number, const float real, const float dual);
|
inline void bgc_fp32_dual_number_make(BGC_FP32_DualNumber* number, const float real, const float dual);
|
||||||
extern inline void bgc_fp64_dual_number_make(BGC_FP64_DualNumber* number, const double real, const double dual);
|
inline void bgc_fp64_dual_number_make(BGC_FP64_DualNumber* number, const double real, const double dual);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_copy(BGC_FP32_DualNumber* destination, const BGC_FP32_DualNumber* source);
|
inline void bgc_fp32_dual_number_copy(BGC_FP32_DualNumber* destination, const BGC_FP32_DualNumber* source);
|
||||||
extern inline void bgc_fp64_dual_number_copy(BGC_FP64_DualNumber* destination, const BGC_FP64_DualNumber* source);
|
inline void bgc_fp64_dual_number_copy(BGC_FP64_DualNumber* destination, const BGC_FP64_DualNumber* source);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_swap(BGC_FP32_DualNumber* first, BGC_FP32_DualNumber* second);
|
inline void bgc_fp32_dual_number_swap(BGC_FP32_DualNumber* first, BGC_FP32_DualNumber* second);
|
||||||
extern inline void bgc_fp64_dual_number_swap(BGC_FP64_DualNumber* first, BGC_FP64_DualNumber* second);
|
inline void bgc_fp64_dual_number_swap(BGC_FP64_DualNumber* first, BGC_FP64_DualNumber* second);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_add(BGC_FP32_DualNumber* sum, const BGC_FP32_DualNumber* first, const BGC_FP32_DualNumber* second);
|
inline void bgc_fp32_dual_number_add(BGC_FP32_DualNumber* sum, const BGC_FP32_DualNumber* first, const BGC_FP32_DualNumber* second);
|
||||||
extern inline void bgc_fp64_dual_number_add(BGC_FP64_DualNumber* sum, const BGC_FP64_DualNumber* first, const BGC_FP64_DualNumber* second);
|
inline void bgc_fp64_dual_number_add(BGC_FP64_DualNumber* sum, const BGC_FP64_DualNumber* first, const BGC_FP64_DualNumber* second);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_add_scaled(BGC_FP32_DualNumber* sum, const BGC_FP32_DualNumber* base_number, const BGC_FP32_DualNumber* scalable_number, const float scale);
|
inline void bgc_fp32_dual_number_add_scaled(BGC_FP32_DualNumber* sum, const BGC_FP32_DualNumber* base_number, const BGC_FP32_DualNumber* scalable_number, const float scale);
|
||||||
extern inline void bgc_fp64_dual_number_add_scaled(BGC_FP64_DualNumber* sum, const BGC_FP64_DualNumber* base_number, const BGC_FP64_DualNumber* scalable_number, const double scale);
|
inline void bgc_fp64_dual_number_add_scaled(BGC_FP64_DualNumber* sum, const BGC_FP64_DualNumber* base_number, const BGC_FP64_DualNumber* scalable_number, const double scale);
|
||||||
|
|
||||||
extern inline void bgc_fp32_dual_number_subtract(BGC_FP32_DualNumber* difference, const BGC_FP32_DualNumber* minuend, const BGC_FP32_DualNumber* subtrahend);
|
inline void bgc_fp32_dual_number_subtract(BGC_FP32_DualNumber* difference, const BGC_FP32_DualNumber* minuend, const BGC_FP32_DualNumber* subtrahend);
|
||||||
extern inline void bgc_fp64_dual_number_subtract(BGC_FP64_DualNumber* difference, const BGC_FP64_DualNumber* minuend, const BGC_FP64_DualNumber* subtrahend);
|
inline void bgc_fp64_dual_number_subtract(BGC_FP64_DualNumber* difference, const BGC_FP64_DualNumber* minuend, const BGC_FP64_DualNumber* subtrahend);
|
||||||
|
|
||||||