2010年6月5日土曜日

sqrt = 平方根を求める - AWK

AWKの数値計算関数と関連機能
○Gawk on Windows ○Gawk △(強制終了あり)mawk32 ○Mawk △(注記あり)awk
平方根を求めます。

**** 書式
--------
sqrt( 調べたい値 )
--------

o 調べたい値 -- 正の数値(n >= 0)。文字列で指定する事も出来ます(例:"39.39だよ")。
o 戻り値 -- 結果


**** 使用例
--------
BEGIN {
  print sqrt(3); # 1.73205

  print "# 以下、計算結果の確認です。";
  print sqrt("          39"); # 6.245
  print sqrt("39aaa"); # 6.245
  print sqrt("aaa39"); # 0
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


**** 機能
o 数値であると解釈して、平方根を求めます。
o 負の値を指定した時、処理系によって動作が異なります。

o 数値は、文字列の形で指定する事も出来ます。
o 数値の後ろに文字列が続いていても、大丈夫です。
o 先頭に数値以外の文字がある場合
   + 半角空白は読み飛ばします。
   + それ以外の文字があると、0 だと解釈します。

** 処理系に依存する動作
o 負の値を指定すると、例外(mawk MBCS (32bit版) 1.3.3)を除いて、計算不能値(NaN相当の値)を返します。
   + Gawk on Windows 3.1.7の表示は「-1.#IND」。
   + Gawk for Windows 3.1.6の表示は「NaN」
   + mawk MBCS (32bit版) 1.3.3の場合、エラーメッセージを出して終了します。
   + Mawk for Windows 1.3.3の表示は「-2147483647」。表示は整数ですが、内部の値は計算不能値です。
   + original = the one true awk(updated May 1, 2007)の表示は「-1.#IND」。但し、負の値で連続呼び出しすると、2回目以降、1回置きに 1を返しました。


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3 -- 負の値を指定すると、強制終了
o Mawk for Windows 1.3.3
o original = the one true awk(updated May 1, 2007) -- 負の値を指定しての連続呼び出しで不正値を返す


==
関連ページ:
    ▼AWKの数値計算関数と関連機能▼ABC順
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼制作メモ
    > sin = 正弦を求める
    cos = 余弦を求める
    atan2 = 逆正接(arctan = アークタンジェント)を求める
(2010年6月18日追加。実装依存の動作)
(2010年6月12日追加。オリジナルawkなどの動作)