![]() |
mFrame
|
數學運算工具類別 更多...
#include <Maths.h>
靜態公開方法(Static Public Methods) | |
static double | acos (double x) |
返回x的反餘弦弧度。 | |
static double | asin (double x) |
返回x的正弦弧線弧度。 | |
static double | atan (double x) |
返回x的反正切值,以弧度為單位。 | |
static double | atan2 (double y, double x) |
返回y/x的反正切值(弧度),以判別正確象限。 | |
static double | cos (double x) |
返回弧度角x的餘弦值。 | |
static double | cosh (double x) |
返回x的雙曲餘弦值。 | |
static double | sin (double x) |
返回弧度角x的正弦值。 | |
static double | sinh (double x) |
返回x的雙曲正弦值。 | |
static double | tanh (double x) |
返回x的雙曲正切值。 | |
static double | frexp (double x, int *exponent) |
返回x的尾數與指數,滿足 x = 尾數 * 2^指數。 | |
static double | ldexp (double x, int exponent) |
返回 x 乘以 2 的 exponent 次方。 | |
static double | log (double x) |
返回x的自然對數(以E為底)。 | |
static double | log10 (double x) |
返回x的常用對數(以10為底)。 | |
static double | modf (double x, double *integer) |
分解浮點值 x 為整數與小數部分 | |
static double | pow (double x, double y) |
返回 x 的 y 次方 | |
static double | sqrt (double x) |
計算 x 的平方根 | |
static double | ceil (double x) |
向上取整 | |
static double | fabs (double x) |
計算 x 的絕對值 (雙精度) | |
static float | fabsf (float x) |
計算 x 的絕對值 (單精度) | |
static double | floor (double x) |
向下取整 | |
static double | fmod (double x, double y) |
取餘數 | |
static int | abs (int a) |
回傳整數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。 | |
static long | abs (long a) |
回傳長整數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。 | |
static float | abs (float a) |
回傳浮點數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。 | |
static uint32 | align32bit (uint32 value) |
32位元位址對齊。 | |
static uint32 | align64bit (uint32 value) |
64位元位址對齊。 | |
static int | ceil (int dividend, int divisor) |
向上取整(整數版本)。 | |
static uint32 | ceil (uint32 dividend, uint32 divisor) |
向上取整(無符號整數版本)。 | |
static uint32 | min (uint32 a, uint32 b) |
回傳兩個無符號整數中的較小值。 | |
static int | min (int a, int b) |
回傳兩個整數中的較小值。 | |
static uint32 | max (uint32 a, uint32 b) |
回傳兩個無符號整數中的較大值。 | |
static int | max (int a, int b) |
回傳兩個整數中的較大值。 | |
保護方法(Protected Methods) | |
virtual | ~Maths (void) override=default |
Destroy the Maths object. | |
![]() | |
NonInstantiable (void)=delete | |
禁止實例化 NonInstantiable 類別 | |
NonInstantiable (const NonInstantiable &)=delete | |
禁止複製建構函式 | |
virtual | ~NonInstantiable (void) override=default |
Destroy the Non Instantiable object. | |
NonInstantiable & | operator= (const NonInstantiable &)=delete |
NonInstantiable & | operator= (NonInstantiable &&)=delete |
額外的繼承成員 | |
![]() | |
void * | operator new (size_t n) |
使用運算子 new 分配記憶體 | |
void * | operator new (size_t n, void *p) |
在指定記憶體上調用運算子 new | |
virtual ufm::lang::Object & | getObject (void) override |
取得對應的 Object 物件 | |
void | delay (int milliseconds) const |
延遲指定的毫秒數進行執行緒等待 | |
bool | equals (Object *object) const |
判斷與另一物件是否為相同參照(指標型態比較) | |
bool | equals (Object &object) const |
判斷與另一物件是否為相同參照(參照型態比較) | |
void | wait (void) const |
使當前線程等待直到被通知 | |
bool | wait (int timeout) const |
等待通知或超時 | |
bool | yield (void) const |
讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
int | lock (void) const |
核心鎖定,鎖定期間禁止線程切換 | |
int | unlock (void) const |
核心解鎖 | |
ufm::sys::Thread * | currentThread (void) const |
取得當前執行緒指標 | |
virtual int | hashcode (void) const |
返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
數學運算工具類別
本類別提供各式數學運算方法,包括三角函數、對數、指數、平方根及其他常用數學運算。 所有方法皆以靜態方式提供,直接封裝自標準 C++ 數學函式庫,以方便使用者調用。
|
inlinestatic |
回傳浮點數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。
注意:如果參數等於 Float.MIN_VALUE(可表示的最小浮點數),結果仍為該值(仍為負數)。
a | 需要求絕對值的參數 |
|
inlinestatic |
回傳整數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。
注意:如果參數等於 Integer.MIN_VALUE(可表示的最小整數),結果仍為該值(仍為負數)。
a | 需要求絕對值的參數 |
|
inlinestatic |
回傳長整數的絕對值。如果參數為非負數,則直接回傳該值;若為負數則回傳其相反數。
注意:如果參數等於 Long.MIN_VALUE(可表示的最小長整數),結果仍為該值(仍為負數)。
a | 需要求絕對值的參數 |
|
static |
返回x的反餘弦弧度。
此方法透過 std::acos 實現運算。
x | 輸入值 |
|
inlinestatic |
32位元位址對齊。
value | 原始位址 |
|
inlinestatic |
64位元位址對齊。
value | 原始位址 |
|
static |
返回x的正弦弧線弧度。
此方法透過 std::asin 實現運算。
x | 輸入值 |
|
static |
返回x的反正切值,以弧度為單位。
此方法透過 std::atan 實現運算。
x | 輸入值 |
|
static |
返回y/x的反正切值(弧度),以判別正確象限。
此方法透過 std::atan2 實現運算。
y | 輸入y值 |
x | 輸入x值 |
|
static |
向上取整
利用 std::ceil 返回大於或等於 x 的最小整數。
x | 輸入值 |
|
inlinestatic |
向上取整(整數版本)。
dividend | 被除數 |
divisor | 除數 |
|
inlinestatic |
向上取整(無符號整數版本)。
dividend | 被除數 |
divisor | 除數 |
|
static |
返回弧度角x的餘弦值。
此方法透過 std::cos 實現運算。
x | 輸入角度(弧度) |
|
static |
返回x的雙曲餘弦值。
此方法透過 std::cosh 實現運算。
x | 輸入值 |
|
static |
計算 x 的絕對值 (雙精度)
利用 std::fabs 返回 x 的絕對值。
x | 輸入值 |
|
static |
計算 x 的絕對值 (單精度)
根據環境選擇 std::fabsf 或 std::fabs 進行計算。
x | 輸入值 |
|
static |
向下取整
利用 std::floor 返回不大於 x 的最大整數。
x | 輸入值 |
|
static |
取餘數
利用 std::fmod 返回 x 除以 y 的餘數。
x | 被除數 |
y | 除數 |
|
static |
返回x的尾數與指數,滿足 x = 尾數 * 2^指數。
此方法透過 std::frexp 實現運算。
x | 輸入值 |
exponent | 指數輸出參數 |
|
static |
返回 x 乘以 2 的 exponent 次方。
此方法透過 std::ldexp 實現運算。
x | 輸入值 |
exponent | 指數 |
|
static |
返回x的自然對數(以E為底)。
此方法透過 std::log 實現運算。
x | 輸入值 |
|
static |
返回x的常用對數(以10為底)。
此方法透過 std::log10 實現運算。
x | 輸入值 |
|
inlinestatic |
回傳兩個整數中的較大值。
a | 第一個數值 |
b | 第二個數值 |
|
inlinestatic |
回傳兩個無符號整數中的較大值。
a | 第一個數值 |
b | 第二個數值 |
|
inlinestatic |
回傳兩個整數中的較小值。
a | 第一個數值 |
b | 第二個數值 |
|
inlinestatic |
回傳兩個無符號整數中的較小值。
a | 第一個數值 |
b | 第二個數值 |
|
static |
分解浮點值 x 為整數與小數部分
利用 std::modf,將 x 拆分為小數部分 (回傳值) 與整數部分 (由參數儲存)。
x | 目標浮點值 |
integer | 輸出整數部分指標 |
|
static |
返回 x 的 y 次方
利用 std::pow 計算 x^y。
x | 底數 |
y | 指數 |
|
static |
返回弧度角x的正弦值。
此方法透過 std::sin 實現運算。
x | 輸入角度(弧度) |
|
static |
返回x的雙曲正弦值。
此方法透過 std::sinh 實現運算。
x | 輸入值 |
|
static |
計算 x 的平方根
利用 std::sqrt 返回非負實數 x 的平方根。
x | 輸入值 (必須非負) |
|
static |
返回x的雙曲正切值。
此方法透過 std::tanh 實現運算。
x | 輸入值 |