数学
対応:
- Win
- Mac
- Cli
- Let
M_LOG2E
2を底とするネイピア数の対数
説明:
2を底とするネイピア数の対数を表す定数です。 2を底とするネイピア数の対数とは、log2(m_e)のことを指します。
グループ:
数学定数
例:
#include "hspmath.as"
a = 10.0
mes "2を底とするaの対数は" + log2(a) + "です。"
mes "これはlogf(a) * m_log2eとしても求められます:" + (logf(a) * m_log2e) + "\n"
mes "このようにm_log2eを「eを底とする対数」にかけることで、"
mes "「2を底とする対数」を得ることができます。"
stop
参照:
M_LOG10E M_E log2
%type ユーザー定義マクロ
M_LOG10E
10を底とするネイピア数の対数
説明:
10を底とするネイピア数の対数を表す定数です。 10を底とするネイピア数の対数とは、log10(m_e)のことを指します。
グループ:
数学定数
例:
#include "hspmath.as"
a = m_e
mes "10を底とするaの対数は" + log10(a) + "です。"
mes "これはlogf(a) * m_log10eとしても求められます:" + (logf(a) * m_log10e) + "\n"
mes "このようにm_log10eを「eを底とする対数」にかけることで、"
mes "「10を底とする対数」を得ることができます。"
stop
参照:
M_LOG2E log10 M_E
%type ユーザー定義マクロ
M_LN2
ネイピア数を底とした2の対数
説明:
ネイピア数を底とした2の対数を表す定数です。 ネイピア数を底とした2の対数とは、logf(2)のことを指します。
グループ:
数学定数
参照:
M_LN10
%type ユーザー定義マクロ
M_LN10
ネイピア数を底とした10の対数
説明:
ネイピア数を底とした10の対数を表す定数です。 ネイピア数を底とした10の対数とは、logf(10)のことを指します。
グループ:
数学定数
参照:
M_LN2
%type ユーザー定義マクロ
M_E
ネイピア数
説明:
ネイピア数(自然対数の底)eを表す定数です。
参照:
M_PI M_LOG2E M_LOG10E
グループ:
数学定数
%url http://ja.wikipedia.org/wiki/ネイピア数
%type ユーザー定義マクロ
M_SQRTPI
円周率の平方根
説明:
円周率の平方根を表す定数です。
参照:
sqrt M_PI M_SQRT2 M_SQRT3
グループ:
数学定数
%type ユーザー定義マクロ
M_SQRT2
2の平方根
説明:
2の平方根を表す定数です。
参照:
sqrt M_SQRTPI M_SQRT3
グループ:
数学定数
%type ユーザー定義マクロ
M_SQRT3
3の累乗根
説明:
3の累乗根を表す定数です。
参照:
sqrt M_SQRTPI M_SQRT2
グループ:
数学定数
%type ユーザー定義マクロ
DBL_DIG
10進数で有効な桁数
説明:
10進数で有効な桁数を表す定数です。
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_EPSILON
1.0とその次に大きい値との差
説明:
1.0とその次に大きい値との差を表す定数です。
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_MANT_DIG
仮数部のbit数
説明:
実数型の数値を表す際に用いる仮数部のbit数を表す定数です。
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_MAX
実数の最大値
説明:
実数で表現できる最大値を表す定数です。
グループ:
doubleの限度
参照:
INT_MAX
%type ユーザー定義マクロ
DBL_MAX_10_EXP
10進数での指数部の最大値
説明:
指数部の最大値を表す定数です。
参照:
DBL_MIN_10_EXP DBL_MAX_EXP
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_MAX_EXP
2進数での指数部の最大値
説明:
指数部の最大値を表す定数です。
グループ:
doubleの限度
参照:
DBL_MAX_10_EXP INT_MAX
%type ユーザー定義マクロ
DBL_MIN
0を超える最小の値
説明:
0を超える最小の値を表す定数です。
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_MIN_10_EXP
10進数での指数部の最小値
説明:
指数部の最小値を表す定数です。
参照:
DBL_MAX_10_EXP DBL_MIN_EXP
グループ:
doubleの限度
%type ユーザー定義マクロ
DBL_MIN_EXP
2進数での指数部の最小値
説明:
指数部の最小値を表す定数です。
参照:
DBL_MIN_10_EXP
グループ:
doubleの限度
%type ユーザー定義マクロ
INT_DIGIT
2進数で有効な桁数
説明:
2進数で有効な桁数を表す定数です。
参照:
INT_DIGIT10
グループ:
intの限度
%type ユーザー定義マクロ
INT_DIGIT10
10進数で有効な桁数
説明:
10進数で有効な桁数を表す定数です。
参照:
INT_DIGIT
グループ:
intの限度
%type ユーザー定義マクロ
INT_MAX
最大値
説明:
整数で表現できる最大値を表す定数です。
参照:
DBL_MAX INT_MIN
グループ:
intの限度
%type ユーザー定義マクロ
INT_MIN
最小値
説明:
整数で表現できる最小の値を表す定数です。
参照:
INT_MAX
グループ:
intの限度
pow
累乗(べき乗)を求める
パラメーター:
(p1, p2) p1 : 底(0以上) p2 : 指数
説明:
p1をp2乗した値を求めます。結果は実数で与えられます。
p1は必ず正でなければなりません。負の場合はエラーにはなりませんが、非数(-1.#IND00)が返ります。
p2は正負どちらでも構いません。また、実数を指定することも可能です。
例:
#include "hspmath.as" repeat 5, -2 mes "10の" + cnt + "乗は" + pow(10, cnt) + "です。" loop stop
参照:
powf logf
log10
10を底とした対数(常用対数)
パラメーター:
(p1) p1 : 真数
説明:
10を底とするp1の対数を求めます。結果は実数で与えられます。
参照:
M_LOG10E logf log2
log2
2を底とした対数
パラメーター:
(p1) p1 : 真数
説明:
2を底とするp1の対数を求めます。結果は実数で与えられます。
参照:
M_LOG2E logf log10
asin
サインの逆関数(アークサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のアークサイン(逆正弦)値を返します。 結果は実数型かつラジアン、-M_PI/2〜M_PI/2(度数法で-90°〜90°)の範囲で与えられます。
参照:
acos atan
%url http://ja.wikipedia.org/wiki/逆三角関数
acos
コサインの逆関数(アークコサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のアークコサイン(逆余弦)値を返します。 結果は実数型かつラジアン、0〜M_PI(度数法で0°〜180°)の範囲で与えられます。
参照:
asin atan
%url http://ja.wikipedia.org/wiki/逆三角関数
sinh
双曲線正弦関数(ハイパボリックサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のハイパボリックサイン(双曲線正弦)値を返します。 結果は実数で与えられます。
参照:
cosh tanh asinh
%url http://ja.wikipedia.org/wiki/双曲線関数
cosh
双曲線余弦関数(ハイパボリックコサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のハイパボリックコサイン(双曲線余弦)値を返します。 結果は実数で与えられます。
参照:
sinh tanh acosh
%url http://ja.wikipedia.org/wiki/双曲線関数
tanh
双曲線正接関数(ハイパボリックタンジェント)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のハイパボリックタンジェント(双曲線正接)値を返します。 結果は実数で与えられます。
参照:
sinh cosh atanh
%url http://ja.wikipedia.org/wiki/双曲線関数
asinh
双曲線正弦関数の逆関数(アークハイパボリックサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のアークハイパボリックサイン(逆双曲線正弦)値を返します。 結果は実数で与えられます。
参照:
acosh atanh sinh
%url http://ja.wikipedia.org/wiki/双曲線関数
acosh
双曲線余弦関数の逆関数(アークハイパボリックコサイン)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のアークハイパボリックコサイン(逆双曲線余弦)値を返します。 結果は実数で与えられます。
参照:
asinh atanh cosh
%url http://ja.wikipedia.org/wiki/双曲線関数
atanh
双曲線正接関数の逆関数(アークハイパボリックタンジェント)
パラメーター:
(p1) p1 : 角度値(ラジアン)
説明:
p1のアークハイパボリックタンジェント(逆双曲線正接)値を返します。 結果は実数で与えられます。
参照:
asinh acosh tanh
%url http://ja.wikipedia.org/wiki/双曲線関数
isfinite
有限/無限・非数の判定
パラメーター:
(p1) p1 : 判定する値
説明:
p1が有限の値ならば1を、p1が無限または非数の時は0を返します。
非数とは数値以外の型(文字列やラベル、モジュール型など)を指すものではありません。変数の型を調べる時はvartype関数を使用してください。
例:
#include "hspmath.as" mes isfinite(10) // 有限の値 mes isfinite(sqrt(-1)) // 非数 mes isfinite(expf(100)) // 有限の値 mes isfinite(expf(1000)) // 無限大 stop
参照:
isnan vartype
isnan
非数の判定
パラメーター:
(p1) p1 : 判定する値
説明:
p1が非数の時は1を、それ以外の時は0を返します。
非数とは数値以外の型(文字列やラベル、モジュール型など)を指すものではありません。変数の型を調べる時はvartype関数を使用してください。
例:
#include "hspmath.as" mes isnan(10) // 有限の値 mes isnan(sqrt(-1)) // 非数 mes isnan(expf(100)) // 有限の値 mes isnan(expf(1000)) // 無限大 stop
参照:
isfinite vartype
%url http://ja.wikipedia.org/wiki/非数
round
四捨五入
パラメーター:
(p1) p1 : 四捨五入する値(実数)
説明:
p1の小数点以下を四捨五入し、その結果を実数で返します。
例:
#include "hspmath.as" repeat 10 tmp = 1.0 + 0.1 * cnt mes strf("%0.1fを四捨五入すると", tmp) + strf("%0.1fになります。", round(tmp)) loop stop
参照:
intf floor ceil
%url http://ja.wikipedia.org/wiki/端数処理
sgn
符号
パラメーター:
(p1) p1 : 符号を判定する値(数値)
説明:
数値の符号を判定し、正ならば1を・負ならば-1を・ゼロならば0を返します。
例:
#include "hspmath.as" tmp = 10 sign = sgn(tmp) if sign == 1 { mes str(tmp) + "は正です。" } else : if sign == -1 { mes str(tmp) + "は負です。" } else { mes str(tmp) + "はゼロです。" } stop
intf
0の方向へ丸め
パラメーター:
(p1) p1 : 丸める数値
説明:
p1を0の方向に丸めた数値を返します。結果は実数で返されます。
ここで「p1を0の方向に丸める」とは、「p1の小数点以下を切り捨てる」ことを意味します。
例:
#include "hspmath.as" tmp = -2.5 while(tmp <= 2.5) mes strf("%4.1f", tmp) + "を0の方向へ丸めると、" + strf("%4.1f", intf(tmp)) + "になります。" tmp += 0.5 wend stop
参照:
round floor ceil
%url http://ja.wikipedia.org/wiki/端数処理
floor
負の方向へ丸め
パラメーター:
(p1) p1 : 丸める数値
説明:
p1を負の方向に丸めた数値を返します。結果は実数で返されます。
ここで「p1を負の方向に丸める」とは、
- p1が正ならば小数点以下を切り捨てる
- p1が負ならば小数点以下を切り上げる
ことを意味します。
例:
#include "hspmath.as" tmp = -2.5 while(tmp <= 2.5) mes strf("%4.1f", tmp) + "を負の方向へ丸めると、" + strf("%4.1f", floor(tmp)) + "になります。" tmp += 0.5 wend stop
参照:
round intf ceil
%url http://ja.wikipedia.org/wiki/端数処理
ceil
正の方向へ丸め
パラメーター:
(p1) p1 : 丸める数値
説明:
p1を正の方向に丸めた数値を返します。結果は実数で返されます。
ここで「p1を正の方向に丸める」とは、
- p1が正ならば小数点以下を切り上げる
- p1が負ならば小数点以下を切り捨てる
ことを意味します。
例:
#include "hspmath.as" tmp = -2.5 while(tmp <= 2.5) mes strf("%4.1f", tmp) + "を正の方向へ丸めると、" + strf("%4.1f", ceil(tmp)) + "になります。" tmp += 0.5 wend stop
参照:
round intf floor
%url http://ja.wikipedia.org/wiki/端数処理
fmod
モジュロ
パラメーター:
(p1, p2) p1 : 割られる数 p2 : 割る数
説明:
p1をp2で割ったときの余りを実数で返します。 \記号による演算とは異なり、実数に対しても有効です。
例:
#include "hspmath.as"
mes 5 \ 2
mes fmod(5, 2) // 戻り値は実数となる
mes fmod(3.5, 1.2) // 実数を実数で割ったときの余りも求められる
stop
%url http://ja.wikipedia.org/wiki/モジュロ
distance2
2点の距離を求める
パラメーター:
(p1, p2) p1, p2 : 点の座標を代入した数値型配列変数
説明:
2点A,B間の距離を求めます。
p1とp2には点の座標を直交座標系で代入しておきます。
- p1(0)に点AのX座標
- p1(1)に点AのY座標
- p2(0)に点BのX座標
- p2(1)に点BのY座標
を代入した状態で呼び出してください。 結果は実数で返されます。
例:
#include "hspmath.as"
point_a = 100, 50 // 点A
point_b = 500, 400 // 点B
mes "2点間の距離は" + distance2(point_a, point_b) + "です。"
line point_a(0), point_a(1), point_b(0), point_b(1)
color 255 : pset point_a(0), point_a(1) // 点A
color ,255 : pset point_b(0), point_b(1) // 点B
stop