| RT-AICHIP-sample
    | 

| マクロ定義 | |
| #define | PI (3.1415926f) | 
| #define | ABS(IN) ((IN) < 0 ? - (IN) : (IN)) | 
| #define | MAX(a, b) ((a) > (b) ? (a) : (b)) | 
| #define | MIN(a, b) ((a) < (b) ? (a) : (b)) | 
| #define | SWAP(a, b) ((a != b) && (a += b,b = a - b,a -= b)) | 
| #define | MAX3(a, b, c) ((a) > (MAX(b, c)) ? (a) : (MAX(b, c))) | 
| #define | MAX4(a, b, c, d) ((a) > (MAX3(b, c, d)) ? (a) : (MAX3(b, c, d))) | 
| #define | MIN3(a, b, c) ((a) < (MIN(b, c)) ? (a) : (MIN(b, c))) | 
| #define | MIN4(a, b, c, d) ((a) < (MIN3(b, c, d)) ? (a) : (MIN3(b, c, d))) | 
| #define | SIGN(x) ((x<0)?(-1):((x>0)?1:0)) | 
| #define | DEG2RAD(deg) (((deg) * PI) / 180.0) | 
| #define | RAD2DEG(rad) (((rad) * 180.0) / 3.1415926535) | 
| 関数 | |
| float | tInvSqrt (float x) | 
| float | tSqrt (float x) | 
| void | quickSort (int numbers[], int left, int right) | 
| #define ABS | ( | IN | ) | ((IN) < 0 ? - (IN) : (IN)) | 
tinyMathFunction.h の 12 行目に定義があります。
| #define DEG2RAD | ( | deg | ) | (((deg) * PI) / 180.0) | 
tinyMathFunction.h の 21 行目に定義があります。
| #define MAX | ( | a, | |
| b | |||
| ) | ((a) > (b) ? (a) : (b)) | 
tinyMathFunction.h の 13 行目に定義があります。
tinyMathFunction.h の 16 行目に定義があります。
tinyMathFunction.h の 17 行目に定義があります。
| #define MIN | ( | a, | |
| b | |||
| ) | ((a) < (b) ? (a) : (b)) | 
tinyMathFunction.h の 14 行目に定義があります。
tinyMathFunction.h の 18 行目に定義があります。
tinyMathFunction.h の 19 行目に定義があります。
| #define PI (3.1415926f) | 
tinyMathFunction.h の 4 行目に定義があります。
| #define RAD2DEG | ( | rad | ) | (((rad) * 180.0) / 3.1415926535) | 
tinyMathFunction.h の 22 行目に定義があります。
| #define SIGN | ( | x | ) | ((x<0)?(-1):((x>0)?1:0)) | 
tinyMathFunction.h の 20 行目に定義があります。
| #define SWAP | ( | a, | |
| b | |||
| ) | ((a != b) && (a += b,b = a - b,a -= b)) | 
tinyMathFunction.h の 15 行目に定義があります。
| void quickSort | ( | int | numbers[], | 
| int | left, | ||
| int | right | ||
| ) | 
クイックソートの実装 
 
| numbers[] | 配列 | 
| left | クイックソートする区間の左端 | 
| right | クイックソートする区間の右端 | 
tinyMathFunctions.c の 79 行目に定義があります。

| float tInvSqrt | ( | float | x | ) | 
高速なinvSqrt(x)の実装. 
 ニュートン法を一回実行するごとにfloatの乗算が3回必要 
 INVSQRT_NEWTON_METHOD_NUMでニュートン法の適用回数を決める 
 math.hのsqrt()に対して 
 0:誤差は ±0.05以下 
 1:誤差は ±0.005以下 
 2:誤差は ±0.000005以下 
 3:誤差は ほぼなし 
 
| x | 定義域は[-1.0,1.0] | 
tinyMathFunctions.c の 26 行目に定義があります。
| float tSqrt | ( | float | x | ) | 
高速なsqrt(x)の実装. 
 invSqrt(x)*xでsqrt(x)を計算 
 invSqrt(x)のニュートン法ステップ3回でほぼ誤差なしになる. 
 
| x | 定義域は[-1.0,1.0] | 
tinyMathFunctions.c の 47 行目に定義があります。
