X++ 数学ランタイム関数

この記事では、数学ランタイム関数について説明します。

これらの関数は数学的な計算を実行します。

abs

実数の絶対値を取得します。 Examples:

  • abs(-100.0) は、値 100.0 を返します。
  • abs(30.56) は、値 30.56 を返します。

Syntax

real abs(real arg)

Parameters

Parameter Description
引数 絶対値を取得する数。

Return value

arg の絶対値。

Example

static void absExample(Args _args)
{
    real r1;
    real r2;
    ;
    r1 = abs(-3.14);
    r2 = abs(3.14);
    if (r1 == r2)
    {
        print "abs of values are the same";
        pause;
    }
}

acos

実数の逆余弦を取得します。

Note

-1 から 1 の範囲外の引数値を指定すると、次の実行時エラーが返されます。"三角関数の引数が範囲外です。

Syntax

real acos(real arg)

Parameters

Parameter Description
引数 逆余弦を取得するための数。

Return value

arg の逆余弦。

Example

static void acosExample(Args _args)
{
    real r;
    str  s;
    ;
    r = acos(0.0);
    s = strFmt("The arc cosine of 0.0 is %1 ", r);
    print s;
    pause;
}

asin

実数のアークサインを取得します。

Note

-1 から 1 の範囲外の引数値を指定すると、次の実行時エラーが返されます。"三角関数の引数が範囲外です。

Syntax

real asin(real arg)

Parameters

Parameter Description
引数 アークサインを計算する数値。

Return value

指定した数値のアークサイン。

Remarks

aSin(0.36)0.37 を返します。

atan

実数のアークタンジェントを取得します。

Syntax

real atan(real arg)

Parameters

Parameter Description
引数 逆正接を計算する数。

Return value

指定した数の逆正接。

Remarks

aTan(0.36)0.35 を返します。

Example

static void atanExample(Args _args)
{
    real r;
    ;
    r = atan(1.0);
    print strFmt("The Arc Tangent of 1.0 is %1", r);
    pause;
}

corrFlagGet

実数の修正フラグの状態を取得します。

Syntax

int corrFlagGet(real arg)

Parameters

Parameter Description
引数 状態を取得するためのフラグ。

Return value

フラグが設定されている場合は 0 以外の値。フラグがクリアされている場合は 0 (ゼロ)。

Example

次の例は、1 を表示します。

static void corrFlagGetExample(Args _args)
{
    real rr;
    rr = corrFlagSet(0.36,2);
    print(corrFlagGet(rr));
}

corrFlagSet

実数の補正フラグをコントロールします。

Syntax

real corrFlagSet(real real, int arg)

Parameters

Parameter Description
real 補正フラグをオンまたはオフにする番号。
引数 フラグ をオフにするには 0。フラグをオンにする場合は 0 以外の値。

Return value

フラグがオフの場合は 0。フラグがオンになっている場合は 0 以外の値。

cos

実数の余弦を取得します。

Syntax

real cos(real arg)

Parameters

Parameter Description
引数 余弦を計算する数。

Return value

指定した数のコサイン。

Remarks

arg パラメーターの値をラジアンで入力します。

Example

次のコード例は、0.76 を表示します。

static void cosExample(Args _arg)
{
    real r;
    ;
    r = cos(15);
    print strFmt("Cos of 15 is %1", r);
    pause;
}

cosh

実数の双曲線余弦を取得します。

Note

-250 から 250 の範囲外の引数値を入力すると、実行時エラー "三角関数の引数が範囲外です" が表示されます。

Syntax

real cosh(real arg)

Parameters

Parameter Description
引数 余弦を計算する双曲線余弦。

Return value

指定した数の双曲線余弦。

Remarks

arg パラメーターの値をラジアンで入力します。

Example

static void coshExample(Args _arg)
{
    real r;
    ;
    r = cosh(0.1);
    print "The hyperbolic cosine of 0.1 is " + num2Str(r, 2, 2, 1, 1);
    pause;
}

decRound

指定された小数点以下の桁数となるように数値の端数を丸めます。

Syntax

real decRound(real figure, int decimals)

Parameters

Parameter Description
figure 丸める数値。
decimals 丸められる小数点以下の桁数。

Return value

指定された数値の小数点以下の桁数を丸めた値。

Remarks

decimals パラメーターの値は、正の値、0 (ゼロ)、負の値のいずれかになります。

  • decRound(1234.6574,2) は、値 1234.66 を返します。
  • decRound(1234.6574,0) は、値 1235 を返します。
  • decRound(1234.6574,-2) は、値 1200 を返します。
  • decRound(12345.6789,1) は、値 12345.70 を返します。
  • decRound(12345.6789,-1) は、値 12350.00 を返します。

exp

指定した実数の値の自然逆対数を取得します。

Syntax

real exp(real arg)

Parameters

Parameter Description
引数 ナチュラル逆対数を計算する実数。

Return value

指定した実数の値の自然逆対数を取得します。

Remarks

計算される自然対ログラムは、 arg パラメーターが示す累乗に対して引き上げられた自然対数です。

Example

static void expExample(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

exp10

指定した実数の値の常用逆対数を取得します。

Syntax

real exp10(real decimal)

Parameters

Parameter Description
10 進 10 進数の逆数を計算する実数。

Return value

decimal パラメーターの値の 10 から始まる逆対数。

Example

static void exp10Example(Args _arg)
{
    real r1;
    real r2;
    ;
    r1 = exp(2.302585093);
    r2 = exp10(2.302585093);
    print strFmt("exp of 2.302585093 is %1", r1);
    print strFmt("exp10 of 230258 is %1", r2);
    pause;
}

frac

実数の小数部を取得します。

Syntax

real frac(real decimal)

Parameters

Parameter Description
10 進 小数部を取得する実数。

Return value

指定した数の小数部分。

Remarks

frac(12.345) は、値 0.345 を返します。

log10

実数の 10 を底とする対数を取得します。

Syntax

real log10(real arg)

Parameters

Parameter Description
引数 対数を計算する数。

Return value

指定した数の常用対数。

Remarks

log10(200) は、値 2.30 を返します。

logN

指定した実数の値の自然対数を取得します。

Syntax

real logN(real arg)

Parameters

Parameter Description
引数 自然対数を計算する数。

Return value

指定した数の自然対数。

Remarks

logN(45) は、値 3.81 を返します。

max

2 つの指定した値の大きい方を取得します。

anytype max(anytype object1, anytype object2)

Parameters

Parameter Description
object1 最初の値。
object2 2 番目の値。

Return value

object1 パラメーターと object2 パラメーターを使用して指定した 2 つの値のうち大きい方。

Remarks

  • 最大 (12.0,12.1) は、値 12.1 を返します。
  • 最大 (2,33) は、値 33 を返します。

min

2 つの指定した値の小さい方を取得します。

anytype min(anytype object1, anytype object2)

Parameters

Parameter Description
object1 最初の値。
object2 2 番目の値。

Return value

object1 パラメーターと object2 パラメーターを使用して指定する 2 つの値のうち小さい方。

Remarks

最小 (2,33) は、値 2 を返します。

Example

static void minExample(Args _arg)
{
    anytype a;
    real r = 3.0;
    real s = 2.0;

    a = min(r, s);
    print num2Str(a, 1, 2, 1, 1) + " is less than the other number.";
}

power

実数を別の実数でべき乗します。

Syntax

real power(real arg, real exponent)

Parameters

Parameter Description
引数 力を計算する数。
exponent arg パラメーターを使用して指定した数値を引き上げる数値。

Return value

arg パラメーターを使用して指定した数値を、指数パラメーターを使用して指定した数値の累乗を示す実数です。

Remarks

  • パワー (5.0,2.0) は、値 25.0 を返します。
  • パワー (4.0,0.5) は、値 2.0 を返します。

四捨五入する

実数は別の実数の最も近い倍数に切り上げられます。

Syntax

real round(real _arg, real _decimals)

Parameters

Parameter Description
_arg 元の番号。
_decimals _arg パラメーターの値を倍数に丸める必要がある数。

Return value

_decimals パラメーターで指定された値の倍数で _arg パラメーターで指定された値に最も近い数。

Remarks

指定した小数点以下の桁数に実数を丸めるには、decround 関数を使用します。

Remarks

  • round(123.45,5.00) は、 125.00値を返します。
  • round(7.45,1.05) は、 7.35値を返します。
  • round(23.9,5.0) は、 25.00値を返します。
  • round(26.1,5.0) は、 25.00値を返します。

sin

実数の正弦を取得します。

Syntax

real sin(real _arg)

Parameters

Parameter Description
_arg 正弦を計算する数。

Return value

指定した実数のサイン。

Remarks

パラメーター _arg の値はラジアンにする必要があります。

Example

static void sinExample(Args _arg)
{
    real angleDegrees = 15.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sin(angleRadians);
    print "sin of a "
        + num2Str(angleDegrees, 2, 2, 1, 1)
        + " degree angle is "
        + num2Str(r, 2, 10, 1, 1);
    pause;
}

sinh

実数の双曲線正弦を取得します。

Syntax

real sinh(real _arg)

Parameters

Parameter Description
_arg 双曲線正弦を計算する数。

Return value

指定された実数の双曲線正弦。

Remarks

-250 から 250 の範囲外の _arg パラメーターの値では、次のランタイム エラーが発生します。「引数が三角関数の範囲外です」。

Example

次の例は、sinh 関数を示しています。

static void sinhExample(Args _arg)
{
    real angleDegrees = 45.0;
    real angleRadians;
    real pi = 3.14;
    real r;
    ;
    angleRadians = pi * angleDegrees / 180;
    r = sinh(angleRadians);
    print "sinh of a "
    + num2Str(angleDegrees, 2, 2, 1, 1)
    + " degree angle is "
    + num2Str(r, 2, 15, 1, 1);
    pause;
}

tan

実数の正接を取得します。

Syntax

real tan(real arg)

Parameters

Parameter Description
引数 正接を計算する実数。

Return value

指定した実数の正接。

Remarks

-250 から 250 の範囲外の arg パラメーターの値では、次のランタイム エラーが発生します。「引数が三角関数の範囲外です」。

Example

次の例は、tan 関数を示しています。

static void tanExample(Args _arg)
{
    real r;
    ;
    r = tan(250);
    print strFmt("Tan of 250 is %1", r);
    pause;
}

tanh

実数の双曲線正接を取得します。

Syntax

real tanh(real _arg)

Parameters

Parameter Description
_arg 双曲線正接を計算する数。

Return value

指定された実数の双曲線正接。

Example

次の例は、tanh 関数を示しています。

static void tanhExample(Args _arg)
{
    real r;
    ;
    r = tanh(0.1);
    print "The hyperbolic tangent of angle 0.1 is "
    + num2Str(r, 2, 10, 1, 1);
    pause;
}

trunc

小数点以下を削除して実数を切り捨てます。

Syntax

real trunc(real _decimal)

Parameters

Parameter Description
_decimal 切り捨て後の数。

Return value

小数点以下の桁数が削除された後の _decimal パラメーターの値と等しい数値。

Remarks

この関数は、常に整数全体に数値を切り捨てます。

Example

次の例では、2.7147 を 2.00 に切り捨てます。

static void truncExample(Args _arg)
{
    real r;
    ;
    r = trunc(2.7147);
    print strFmt("r = %1",  r);
    pause;
}