## Tcl9.0.3/Tk9.0.3 Documentation > Tcl Commands > mathfunc

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    mathfunc — Tclの数式の為の数学的函数 Mathematical functions for Tcl expressions
  構文 SYNOPSIS
  説明 DESCRIPTION
  詳細な定義 DETAILED DEFINITIONS
    abs arg
    acos arg
    asin arg
    atan arg
    atan2 y x
    bool arg
    ceil arg
    cos arg
    cosh arg
    double arg
    entier arg
    exp arg
    floor arg
    fmod x y
    hypot x y
    int arg
    isfinite arg
    isinf arg
    isnan arg
    isnormal arg
    isqrt arg
    issubnormal arg
    isunordered x y
    log arg
    log10 arg
    max arg ...
    min arg ...
    pow x y
    rand
    round arg
    sin arg
    sinh arg
    sqrt arg
    srand arg
    tan arg
    tanh arg
    wide arg
  SEE ALSO
  COPYRIGHT

### NAME

mathfunc — Tclの数式の為の数学的函数 Mathematical functions for Tcl expressions

### 構文 SYNOPSIS

package require Tcl 8.5-
::tcl::mathfunc::abs arg
::tcl::mathfunc::acos arg
::tcl::mathfunc::asin arg
::tcl::mathfunc::atan arg
::tcl::mathfunc::atan2 y x
::tcl::mathfunc::bool arg
::tcl::mathfunc::ceil arg
::tcl::mathfunc::cos arg
::tcl::mathfunc::cosh arg
::tcl::mathfunc::double arg
::tcl::mathfunc::entier arg
::tcl::mathfunc::exp arg
::tcl::mathfunc::floor arg
::tcl::mathfunc::fmod x y
::tcl::mathfunc::hypot x y
::tcl::mathfunc::int arg
::tcl::mathfunc::isfinite arg
::tcl::mathfunc::isinf arg
::tcl::mathfunc::isnan arg
::tcl::mathfunc::isnormal arg
::tcl::mathfunc::isqrt arg
::tcl::mathfunc::issubnormal arg
::tcl::mathfunc::isunordered x y
::tcl::mathfunc::log arg
::tcl::mathfunc::log10 arg
::tcl::mathfunc::max arg ?arg ...?
::tcl::mathfunc::min arg ?arg ...?
::tcl::mathfunc::pow x y
::tcl::mathfunc::rand
::tcl::mathfunc::round arg
::tcl::mathfunc::sin arg
::tcl::mathfunc::sinh arg
::tcl::mathfunc::sqrt arg
::tcl::mathfunc::srand arg
::tcl::mathfunc::tan arg
::tcl::mathfunc::tanh arg
::tcl::mathfunc::wide arg

### 説明 DESCRIPTION

彼の expr 命令は､sin($x) や atan2($y,$x) の書式の数学的函数を､[tcl::mathfunc::sin [expr {$x}]] や [tcl::mathfunc::atan2 [expr {$y}] [expr {$x}]] の形式に変換して取り扱う｡多くの数学函数は初期設定では､名前空間 ::tcl::mathfunc 内で利用可能である;更に､これらの函数は与えられた命令を直接起動することにより expr を使わずに利用可能である｡ 　　　　 The expr command handles mathematical functions of the form sin($x) or atan2($y,$x) by converting them to calls of the form [tcl::mathfunc::sin [expr {$x}]] or [tcl::mathfunc::atan2 [expr {$y}] [expr {$x}]]. A number of math functions are available by default within the namespace ::tcl::mathfunc; these functions are also available for code apart from expr, by invoking the given commands directly.

Tclは数式用に次の数学函数を運営している｡特に明記しない場合は､それら全ては専ら浮動小数点数で働く: Tcl supports the following mathematical functions in expressions, all of which work solely with floating-point numbers unless otherwise noted:

  abs | acos | asin | atan
  atan2 | bool | ceil | cos
  cosh | double | entier | exp
  floor | fmod | hypot | int
  isfinite | isinf | isnan | isnormal
  isqrt | issubnormal | isunordered | log
  log10 | max | min | pow
  rand | round | sin | sinh
  sqrt | srand | tan | tanh
  wide

これらの予め定められた函数に加えて､応用譜では proc (又は interp alias あるいは Tcl_CreateObjCommand のような他の方法)を使って､追加の函数を定義し､tcl::mathfunc 名前空間に新しい命令を定義できる｡ 　　　　 In addition to these predefined functions, applications may define additional functions by using proc (or any other method, such as interp alias or Tcl_CreateObjCommand) to define new commands in the tcl::mathfunc namespace.

#### 詳細な定義 DETAILED DEFINITIONS

abs arg
  arg の絶対値を返す｡arg は整数でも､浮動小数でもよく､返り値はそれと同じ書式になる｡ Returns the absolute value of arg. Arg may be either integer or floating-point, and the result is returned in the same form.

acos arg
  arg の逆余弦函数値を範囲[0, π]の弧度で返す｡ arg の範囲は[-1,1]にすべき｡ Returns the arc cosine of arg, in the range [0,pi] radians. Arg should be in the range [-1,1].

asin arg
  arg の逆正弦函数値を範囲[-π/2,π/2]の弧度で返す｡ arg の範囲は[-1,1]にすべき｡ 　　　 Returns the arc sine of arg, in the range [-pi/2,pi/2] radians. Arg should be in the range [-1,1].

atan arg
  arg の逆正接函数値を､範囲[-π/2,π/2]の弧度で返す｡ 　　　　 Returns the arc tangent of arg, in the range [-pi/2,pi/2] radians.

atan2 y x
  y/x の逆正接函数値を､範囲[-π/2,π/2]の弧度で返す｡ x と y は両方ともが 0 であってはならない｡もし x が 0 より大きいと､これは “atan [expr {y/x}]”. と等価である｡ 　　　　 Returns the arc tangent of y/x, in the range [-pi,pi] radians. x and y cannot both be 0. If x is greater than 0, this is equivalent to “atan [expr {y/x}]”.

bool arg
  任意の数値､及び string is boolean に受付られ得る文字列を受付け､相当する論理値 0 か 1 を返す｡非零数は真､それ以外の数は偽｡非数値の文字列は string is true と string is false に適合する論理値を生成する｡ 　　　 Accepts any numeric value, or any string acceptable to string is boolean, and returns the corresponding boolean value 0 or 1. Non-zero numbers are true. Other numbers are false. Non-numeric strings produce boolean value in agreement with string is true and string is false.

ceil arg
  arg を下回らない最小の浮動小数の整数(即ち､小数部分は0)を返す｡引数は任意の数値｡ Returns the smallest integral floating-point value (i.e. with a zero fractional part) not less than arg. The argument may be any numeric value.

cos arg
  弧度で測定した arg の余弦を返す｡ Returns the cosine of arg, measured in radians.

cosh arg
  arg の双曲線余弦を返す｡結果が桁溢れになると､不都合が返る｡ Returns the hyperbolic cosine of arg. If the result would cause an overflow, an error is returned.

double arg
  引数は任意の数値でよい｡もし arg が浮動小数値であれば､ arg が返る､そうでない時は､ arg を浮動小数に変換して､変換された値が返る｡引数が浮動小数範囲を超える数値の場合は Inf か -Inf が返る｡ The argument may be any numeric value, If arg is a floating-point value, returns arg, otherwise converts arg to floating-point and returns the converted value. May return Inf or -Inf when the argument is a numeric value that exceeds the floating-point range.

entier arg
  引数は任意の数値でよい｡arg の整数部分を定めて返す｡個別に定めた収納幅の範囲を基に切詰めが生じる int や wide とは異なり､この函数の整数の範囲には限度制限がない｡ 　 The argument may be any numeric value. The integer part of arg is determined and returned. The integer range returned by this function is unlimited, unlike int and wide which truncate their range to fit in particular storage widths.

exp arg
  e**arg として定義される自然対数の底の arg 乗を返す｡結果が桁溢れを引起すと不都合が返される｡ Returns the exponential of arg, defined as e**arg. If the result would cause an overflow, an error is returned.

floor arg
  arg を上回らない最大の浮動小数の整数値(即ち､小数部分は0)を返す｡引数は任意の数の値｡ Returns the largest integral floating-point value (i.e. with a zero fractional part) not greater than arg. The argument may be any numeric value.

fmod x y
  x を y で除す浮動小数除算の剰余を返す｡もし y が 0 であると､不都合が返る｡ Returns the floating-point remainder of the division of x by y. If y is 0, an error is returned.

hypot x y
  直角三角形の斜辺の長さを算出する､近似的に “sqrt [expr {x*x+y*y}]” であるが､二つの引数の大きさが大幅に違う時の数学的安定度が良いと言う違いがある｡(訳註 sqrt [expr {(x+y+sqrt(2*x*y))*(x+y-sqrt(2*x*y))}] ) Computes the length of the hypotenuse of a right-angled triangle, approximately “sqrt [expr {x*x+y*y}]” except for being more numerically stable when the two arguments have substantially different magnitudes.

int arg
  引数は任意の数値でよい｡ arg の整数部分が求められ､次に､機械語の整数の範囲を超えない範囲の下位ビットが整数として返される｡参考のために､機械語中のバイトの個数は､tcl_platform 配列の wordSize 要素に格納されている｡ The argument may be any numeric value. The integer part of arg is determined, and then the low order bits of that integer value up to the machine word size are returned as an integer value. For reference, the number of bytes in the machine word are stored in the wordSize element of the tcl_platform array.

isfinite arg
  浮動小数引数 arg が有限の場合は 1 を返す｡それは､零か､疑似通常か通常のどれかである｡もし数値が無限又は 非数 であれば 0 を返す｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if the floating-point number arg is finite. That is, if it is zero, subnormal, or normal. Returns 0 if the number is infinite or NaN. Throws an error if arg cannot be promoted to a floating-point value.

isinf arg
  浮動小数引数 arg が無限の場合は 1 を返す｡もし数値が有限又は 非数 であれば 0 を返す｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if the floating-point number arg is infinite. Returns 0 if the number is finite or NaN. Throws an error if arg cannot be promoted to a floating-point value.

isnan arg
  浮動小数引数 arg が無限の場合は 1 を返す｡もし数値が有限又は 非数 であれば 0 を返す｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if the floating-point number arg is Not-a-Number. Returns 0 if the number is finite or infinite. Throws an error if arg cannot be promoted to a floating-point value.

isnormal arg
  浮動小数引数 arg が通常の場合は 1 を返す｡もし数値が零か疑似通常か無限か 非数 であれば 0 を返す｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if the floating-point number arg is normal. Returns 0 if the number is zero, subnormal, infinite or NaN. Throws an error if arg cannot be promoted to a floating-point value.

isqrt arg
  arg の平方根の整数部分を計算する｡ arg は整数でも浮動小数でもよいが､正の値でなけらばならない｡浮動小数の精度の制限を受ける sqrt と異なり､ isqrt は任意の精度の結果を返す｡ Computes the integer part of the square root of arg. Arg must be a positive value, either an integer or a floating point number. Unlike sqrt, which is limited to the precision of a floating point number, isqrt will return a result of arbitrary precision.

issubnormal arg
  浮動小数引数 arg が有限の場合は 1 を返す｡それは､零か､疑似通常か通常のどれかである｡もし数値が無限又は 非数 であれば 0 を返す｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if the floating-point number arg is subnormal, i.e., the result of gradual underflow. Returns 0 if the number is zero, normal, infinite or NaN. Throws an error if arg cannot be promoted to a floating-point value.

isunordered x y
  もし､x と y が順序比較できないなら 1 を返す､即ち､いずれかが 非数 であれば｡もし両方の値が順序比較できれば 0 を返す､即ち､もし両者が､零､疑似通常､通常､無限の値の組から選ばれている場合｡もし､arg が浮動小数引数値に伝搬できない場合は不都合を発する｡ Returns 1 if x and y cannot be compared for ordering, that is, if either one is NaN. Returns 0 if both values can be ordered, that is, if they are both chosen from among the set of zero, subnormal, normal and infinite values. Throws an error if either x or y cannot be promoted to a floating-point value.

log arg
  arg の自然対数を返す｡ arg は正の値でなければならない｡ Returns the natural logarithm of arg. Arg must be a positive value.

log10 arg
  10 を底とする arg の対数を返す｡ arg は正の値でなければならない｡ Returns the base 10 logarithm of arg. Arg must be a positive value.

max arg ...
  １つ或いはそれ以上の引数を受付ける｡最大の値の引数を返す｡ Accepts one or more numeric arguments. Returns the one argument with the greatest value.

min arg ...
  １つ或いはそれ以上の引数を受付ける｡最小の値の引数を返す｡ Accepts one or more numeric arguments. Returns the one argument with the least value.

pow x y
  x の y 乗を計算する｡もし x が負であれば y は整数でなければならない｡ Computes the value of x raised to the power y. If x is negative, y must be an integer value.

rand
  範囲(0,1)の浮動小数値の擬似乱数を返す｡発生機構は､単純線形合同法であり､暗号論的なものではない｡ rand からのそれぞれの返り値は､ rand の継続した呼出しの故に､その後の将来の全ての結果を完全に決定してしまう､従って rand を使い捨て暗証番号の様な秘密の数列作成に使わないほうがよい｡発生機構の種の数は機械的な内部時計で初期化されるか､ srand 函数で設定してもよい｡ Returns a pseudo-random floating-point value in the range (0,1). The generator algorithm is a simple linear congruential generator that is not cryptographically secure. Each result from rand completely determines all future results from subsequent calls to rand, so rand should not be used to generate a sequence of secrets, such as one-time passwords. The seed of the generator is initialized from the internal clock of the machine or may be set with the srand function.

round arg
  もし arg が整数値であると arg を返す､そうでない場合は　arg を整数に丸めて変換した値を返す｡ If arg is an integer value, returns arg, otherwise converts arg to integer by rounding and returns the converted value.

sin arg
  弧度で測定した arg の正弦を返す｡ Returns the sine of arg, measured in radians.

sinh arg
  arg の双曲正弦を返す｡もし結果が桁溢れを惹起こすと､不都合が返される｡ Returns the hyperbolic sine of arg. If the result would cause an overflow, an error is returned.

sqrt arg
  この引数は非負のどのような数値でもよい｡ arg の平方根の浮動小数値が返る｡引数の平方(自乗)が浮動小数範囲を超える数値の場合は Inf が返る｡ 　　　　 The argument may be any non-negative numeric value. Returns a floating-point value that is the square root of arg. May return Inf when the argument is a numeric value that exceeds the square of the maximum value of the floating-point range.

srand arg
  arg は整数でなければならず､rand の乱数発生の為の種を刷新する為に使われる｡その種から最初の乱数(rand 参照)を返す｡それぞれの解釈実行機能は自身の種を有している｡ The arg, which must be an integer, is used to reset the seed for the random number generator of rand. Returns the first random number (see rand) from that seed. Each interpreter has its own seed.

tan arg
  弧度で測定した arg の正接を返す｡ Returns the tangent of arg, measured in radians.

tanh arg
  弧度で測定した arg の双曲線正接を返す｡ Returns the hyperbolic tangent of arg.

wide arg
  引数は任意の数値でよい｡arg の整数部分が定められ､その整数の値の下位64ビットが整数値として返される｡ The argument may be any numeric value. The integer part of arg is determined, and then the low order 64 bits of that integer value are returned as an integer value.

### SEE ALSO

expr, fpclassify, mathop, namespace

### COPYRIGHT

Copyright © 1993 The Regents of the University of California.
Copyright © 1994-2000 Sun Microsystems Incorporated.
Copyright © 2005-2006 Kevin B. Kenny <kennykb@acm.org>.
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-2000 Sun Microsystems, Inc.
Copyright © 2005 Kevin B. Kenny <kennykb(at)acm.org>. All rights reserved