Home English

Kuina-chan

くいなちゃんOct 17, 2017


プログラミング言語Kuin」の「kuinライブラリ」「libライブラリ」についてです。

kuin・libライブラリ

Kuinに標準的に用意されているライブラリのうち、基本機能を提供するライブラリ「kuin.kn」と汎用機能を提供するライブラリ「lib.kn」を解説します。
またこれらのライブラリでは、角度を扱う場合の単位はすべてラジアンです。
kuin・libライブラリに用意されているものはkuin・libライブラリの通りです。
kuin・libライブラリ
名前 説明
kuin@Class すべてのクラスが継承するルートクラス
lib@acos 逆余弦関数tc,to,ts,sup_sub,sup_1,x
lib@acosh 逆双曲線余弦関数tc,to,ts,th,sup_sub,sup_1,x
lib@asin 逆正弦関数ts,ti,tn,sup_sub,sup_1,x
lib@asinh 逆双曲線正弦関数ts,ti,tn,th,sup_sub,sup_1,x
lib@atan 逆正接関数tt,ta,tn,sup_sub,sup_1,x
lib@atanh 逆双曲線正接関数tt,ta,tn,th,sup_sub,sup_1,x
lib@ceil 天井関数ceill,x,ceilr
lib@chase 座標を目的地に向かって追跡させる関数
lib@cmdLine コマンドライン引数を取得する関数
lib@cmp 文字列を辞書順で比較する関数
lib@cmpEx 文字列を辞書順で高機能比較する関数
lib@cos 余弦関数tc,to,ts,x
lib@cosh 双曲線余弦関数tc,to,ts,th,x
lib@dateToInt 日付をUNIX時間に変換する関数
lib@decrypt データを復号する関数
lib@dist 平面上の2点間の距離を求める関数
lib@e ネイピア数eの定数
lib@encrypt データを暗号化する関数
lib@exitCode 終了コードを設定する関数
lib@exp 指数関数e,sup_x
lib@floor 床関数floorl,x,floorr
lib@hash データをハッシュ化する関数
lib@intMax intの最大値の定数
lib@intMin intの最小値の定数
lib@intToDate UNIX時間を日付に変換する関数
lib@intToLocalDate UNIX時間をローカルな日付に変換する関数
lib@invRot 座標から回転角度を求める関数
lib@ln 自然対数tl,to,tg,sub_e,x
lib@localDateToInt ローカルな日付をUNIX時間に変換する関数
lib@log 対数関数tl,to,tg,sub_a,x
lib@makeBmSearch 高速文字列検索クラスのインスタンスを生成する関数
lib@makeRnd 乱数クラスのインスタンスを生成する関数
lib@max intの大きいほうの値を返す関数
lib@maxFloat floatの大きいほうの値を返す関数
lib@min intの小さいほうの値を返す関数
lib@minFloat floatの小さいほうの値を返す関数
lib@now 現在の時刻(UNIX時間)を取得する関数
lib@pi 円周率piの定数
lib@rnd intの乱数を取得する関数
lib@rndBit64 bit64の乱数を取得する関数
lib@rndFloat floatの乱数を取得する関数
lib@rndUuid UUIDバージョン4を生成する関数
lib@rot 回転した座標を求める関数
lib@round 指定した桁を四捨五入する関数
lib@same floatの計算誤差を考慮して比較する関数
lib@sin 正弦関数ts,ti,tn,x
lib@sinh 双曲線正弦関数ts,ti,tn,th,x
lib@sleep 一定時間処理を停止させる関数
lib@sqrt 平方根sqrt_x
lib@sysTime システム時刻を取得する関数
lib@tan 正接関数tt,ta,tn,x
lib@tanh 双曲線正接関数tt,ta,tn,th,x
lib@toDegree ラジアンを度に変換する関数
lib@toRad 度をラジアンに変換する関数
lib@BmSearch 高速文字列検索クラス
lib@Rnd 乱数クラス
それぞれについて、以下で詳しく説明します。

kuin@Class

「kuin@Class」は、すべてのクラスが継承しているルートクラスです。
kuin@Classに定義されているメソッドのうち、「ctor」「cmp」は継承可能で、これらを継承することでコンストラクタ(インスタンス生成時の初期化処理)やクラスの比較処理を実装できます。
詳しくは、クラスを参照してください。

lib@acos

「lib@acos」は「tc,to,ts,sup_sub,sup_1,x」(逆余弦)を計算する関数です(lib@acos関数の定義)。
lib@acos関数の定義

 func acos(x: float): float

x 任意の値
戻り値 tc,to,ts,sup_sub,sup_1,x」の値

lib@acosh

「lib@acosh」は「tc,to,ts,th,sup_sub,sup_1,x」(逆双曲線余弦)を計算する関数です(lib@acosh関数の定義)。
lib@acosh関数の定義

 func acosh(x: float): float

x 任意の値
戻り値 tc,to,ts,th,sup_sub,sup_1,x」の値

lib@asin

「lib@asin」は「ts,ti,tn,sup_sub,sup_1,x」(逆正弦)を計算する関数です(lib@asin関数の定義)。
lib@asin関数の定義

 func asin(x: float): float

x 任意の値
戻り値 ts,ti,tn,sup_sub,sup_1,x」の値

lib@asinh

「lib@asinh」は「ts,ti,tn,th,sup_sub,sup_1,x」(逆双曲線正弦)を計算する関数です(lib@asinh関数の定義)。
lib@asinh関数の定義

 func asinh(x: float): float

x 任意の値
戻り値 ts,ti,tn,th,sup_sub,sup_1,x」の値

lib@atan

「lib@atan」は「tt,ta,tn,sup_sub,sup_1,x」(逆正接)を計算する関数です(lib@atan関数の定義)。
lib@atan関数の定義

 func atan(x: float): float

x 任意の値
戻り値 tt,ta,tn,sup_sub,sup_1,x」の値

lib@atanh

「lib@atanh」は「tt,ta,tn,th,sup_sub,sup_1,x」(逆双曲線正接)を計算する関数です(lib@atanh関数の定義)。
lib@atanh関数の定義

 func atanh(x: float): float

x 任意の値
戻り値 tt,ta,tn,th,sup_sub,sup_1,x」の値

lib@ceil

「lib@ceil」は小数xに対し、x以上の最小の整数「ceill,x,ceilr」を求める関数です(lib@ceil関数の定義)。
lib@ceil関数の定義

 func ceil(x: float): float

x 任意の値
戻り値 x以上の最小の整数
小数点以下を正の方向に切り上げる関数ともいえます。

lib@chase

「lib@chase」は、座標を目的地に向かって追跡させる関数です(lib@chase関数の定義)。
lib@chase関数の定義

 func chase(x: &float, target: float, vel: float): bool

x 座標
target 目的地の座標
vel 速度
戻り値 目的地に到達したらtrue、していなければfalse
lib@chase関数の仕様はlib@chase関数の仕様の通りです。
  • xよりもtargetのほうが大きければ、xに「vel」が加算される。
  • xよりもtargetのほうが小さければ、xに「-vel」が加算される。
  • 加算してxがtargetを追い越したときには、xにはtargetが代入される。
  • 以上の処理を終え、xがtargetと等しかった場合、戻り値としてtrueが返る。
lib@chase関数の仕様

lib@cmdLine

「lib@cmdLine」はプログラム実行時に与えられるコマンドライン引数を取得する関数です(lib@cmdLine関数の定義)。
lib@cmdLine関数の定義

 func cmdLine(): [][]char

戻り値 スペース区切りで配列に分割されたコマンドライン引数

lib@cmp

「cmp」は文字列の大小を辞書順で比較する関数です(cmp関数の定義)。
cmp関数の定義

 func cmp(s1: []char, s2: []char): int

s1 比較する文字列1
s2 比較する文字列2
戻り値 s1がs2よりも辞書順で大きければ1、小さければ-1、等しければ0
文字列の大小は「<」などの比較演算子でも比較可能ですが、文字列の比較にはやや処理時間がかかるため、一度比較した後で結果を再利用したい場合にcmp関数が便利です。
「s1」「s2」はnull以外の値でなければなりません。

lib@cmpEx

「cmpEx」は文字列の大小を辞書順で高機能比較する関数です(cmpEx関数の定義)。
cmpEx関数の定義

 func cmpEx(s1: []char, s2: []char, len: int, ignoreCase: bool): int

s1 比較する文字列1
s2 比較する文字列2
len 比較する文字数
ignoreCase 大文字と小文字を無視するならtrue、区別するならfalse
戻り値 s1がs2よりも辞書順で大きければ1、小さければ-1、等しければ0
例えば「lib@cmpEx("abc", "ABD", 2, true)」は、大文字と小文字を無視して2文字を比較して一致しているため、0を返します。
「s1」「s2」はnull以外の値でなければなりません。

lib@cos

「lib@cos」は「tc,to,ts,x」(余弦)を計算する関数です(lib@cos関数の定義)。
lib@cos関数の定義

 func cos(x: float): float

x 任意の値
戻り値 tc,to,ts,x」の値

lib@cosh

「lib@cosh」は「tc,to,ts,th,x」(双曲線余弦)を計算する関数です(lib@cosh関数の定義)。
lib@cosh関数の定義

 func cosh(x: float): float

x 任意の値
戻り値 tc,to,ts,th,x」の値

lib@dateToInt

「lib@dateToInt」は、日付をUNIX時間に変換する関数です(lib@dateToInt関数の定義)。
lib@dateToInt関数の定義

 func dateToInt(year: int, month: int, day: int, hour: int, minute: int, second: int): int

year 年(西暦4桁、1970以上3000以下)
month 月(1以上12以下)
day 日(1以上31以下)
hour 時(0以上23以下)
minute 分(0以上59以下)
second 秒(0以上59以下)
戻り値 UNIX時間
「lib@dateToInt」が生成する例外はlib@dateToInt関数の例外の通りです。
lib@dateToInt関数の例外
発生条件 ビルド 例外コード
(16進数)
日付の値が有効範囲外 dbgのみ E9170006

lib@decrypt

「lib@decrypt」は、「lib@encrypt」によって暗号化されたデータを復号する関数です(lib@decrypt関数の定義)。
lib@decrypt関数の定義

 func decrypt(data: []bit8, key: []bit8): []bit8

data 暗号化されたデータ
key 暗号化時に使用した32byte(配列の要素数が32)の暗号鍵
戻り値 復号されたデータ

lib@dist

「lib@dist」は、平面上の2点間の距離を取得する関数です(lib@dist関数の定義)。
lib@dist関数の定義

 func dist(x: float, y: float, centerX: float, centerY: float): float

x 座標X
y 座標Y
centerX 中心座標X
centerY 中心座標Y
戻り値 距離
中心座標から指定した座標までの距離が返ります。

lib@e

「lib@e」は自然対数の底(ネイピア数)eを、float型で表せる最高精度で定義した定数です(lib@e定数の定義)。
lib@e定数の定義

 const e: float :: 2.71828182845904523536

lib@encrypt

「lib@encrypt」はデータを暗号化する関数です(lib@encrypt関数の定義)。
lib@encrypt関数の定義

 func encrypt(data: []bit8, key: []bit8): []bit8

data 暗号化するデータ
key 32byte(配列の要素数が32)の暗号鍵
戻り値 暗号化されたデータ
lib@encrypt関数の仕様はlib@encrypt関数の仕様の通りです。
  • 極めて安全性が高いとされるAES-256アルゴリズムを用いている。
  • keyの値は自由だが、復号する際に同じkeyを使わなければ復号できない。
  • データの要素数が16の倍数になっていない場合は、16の倍数になるまでデータ末端に「0」のデータが自動的に追加される。
lib@encrypt関数の仕様

lib@exitCode

「lib@exitCode」はプログラム終了時に返す終了コードを設定する関数です(lib@exitCode関数の定義)。
lib@exitCode関数の定義

 func exitCode(code: int)

code 終了コード。 16進数で0以上FFFFFFFF以下の値でなければならない。
プログラムが別のプログラムから呼び出されて起動している際に、呼び出し元のプログラムにエラーが起こった旨などを通知する終了コードをこの関数で設定できます。
この関数で設定せずにプログラムを終了した場合、終了コードは「0」になります。
「lib@exitCode」が生成する例外はlib@exitCode関数の例外の通りです。
lib@exitCode関数の例外
発生条件 ビルド 例外コード
(16進数)
「code」が16進数で0以上FFFFFFFF以下の範囲外 dbgのみ E9170006

lib@exp

「lib@exp」は「e,sup_x」(指数)を計算する関数です(lib@exp関数の定義)。
lib@exp関数の定義

 func exp(x: float): float

x 任意の値
戻り値 e,sup_x」の値

lib@floor

「lib@floor」は小数xに対し、x以下の最大の整数「floorl,x,floorr」を求める関数です(lib@floor関数の定義)。
lib@floor関数の定義

 func floor(x: float): float

x 任意の値
戻り値 x以下の最大の整数
小数点以下を負の方向に切り捨てる関数ともいえます。

lib@hash

「lib@hash」はデータをハッシュ化する関数です(lib@hash関数の定義)。
lib@hash関数の定義

 func hash(data: []bit8): []bit8

data ハッシュ化するデータ
戻り値 32byte(配列の要素数が32)のハッシュ値
lib@hash関数の仕様はlib@hash関数の仕様の通りです。
  • 暗号学的な性質を持つSHA-256アルゴリズムを用いているため、ハッシュ値から元データを作成することは事実上不可能とされる。
lib@hash関数の仕様

lib@intMax

「lib@intMax」はint型で表せる値の最大値(2,sup_6,sup_3,sub,1)を定義した定数です(lib@intMax定数の定義)。
lib@intMax定数の定義

 const intMax: int :: 9223372036854775807

lib@intMin

「lib@intMin」はint型で表せる値の最小値(sub,2,sup_6,sup_3)を定義した定数です(lib@intMin定数の定義)。
lib@intMin定数の定義

 const intMin: int :: -9223372036854775807 - 1

lib@intToDate

「lib@intToDate」は、UNIX時間を日付に変換する関数です(lib@intToDate関数の定義)。
lib@intToDate関数の定義

 func intToDate(time: int, year: &int, month: &int, day: &int, hour: &int, minute: &int, second: &int): int

time 変換するUNIX時間
year 年(西暦4桁)の格納先
month 月(1以上12以下)の格納先
day 日(1以上31以下)の格納先
hour 時(0以上23以下)の格納先
minute 分(0以上59以下)の格納先
second 秒(0以上59以下)の格納先
戻り値 曜日(0=日、1=月、…、6=土)

lib@intToLocalDate

「lib@intToLocalDate」は、UNIX時間を、実行環境ごとに設定されたタイムゾーンのローカルな日付に変換する関数です(lib@intToLocalDate関数の定義)。
lib@intToLocalDate関数の定義

 func intToLocalDate(time: int, year: &int, month: &int, day: &int, hour: &int, minute: &int, second: &int): int

time 変換するUNIX時間
year 年(西暦4桁)の格納先
month 月(1以上12以下)の格納先
day 日(1以上31以下)の格納先
hour 時(0以上23以下)の格納先
minute 分(0以上59以下)の格納先
second 秒(0以上59以下)の格納先
戻り値 曜日(0=日、1=月、…、6=土)

lib@invRot

「lib@invRot」は、中心から見たときの座標が存在する角度を取得する関数です(lib@invRot関数の定義)。
lib@invRot関数の定義

 func invRot(x: float, y: float, centerX: float, centerY: float): float

x 座標X
y 座標Y
centerX 中心座標X
centerY 中心座標Y
戻り値 角度(0以上2,pi未満)

lib@ln

「lib@ln」は「tl,to,tg,sub_e,x」(自然対数)を計算する関数です(lib@exp関数の定義)。
lib@exp関数の定義

 func ln(x: float): float

x 任意の値
戻り値 tl,to,tg,sub_e,x」の値

lib@localDateToInt

「lib@localDateToInt」は、実行環境ごとに設定されたタイムゾーンのローカルな日付を、UNIX時間に変換する関数です(lib@localDateToInt関数の定義)。
lib@localDateToInt関数の定義

 func localDateToInt(year: int, month: int, day: int, hour: int, minute: int, second: int): int

year 年(西暦4桁、1970以上3000以下)
month 月(1以上12以下)
day 日(1以上31以下)
hour 時(0以上23以下)
minute 分(0以上59以下)
second 秒(0以上59以下)
戻り値 UNIX時間
「lib@localDateToInt」が生成する例外はlib@localDateToInt関数の例外の通りです。
lib@localDateToInt関数の例外
発生条件 ビルド 例外コード
(16進数)
日付の値が有効範囲外 dbgのみ E9170006

lib@log

「lib@log」は「tl,to,tg,sub_a,x」(対数)を計算する関数です(lib@log関数の定義)。
lib@log関数の定義

 func log(base: float, x: float): float

base 対数の底
x 任意の値
戻り値 tl,to,tg,sub_a,x」の値

lib@makeBmSearch

「lib@makeBmSearch」は、高速文字列検索クラスのインスタンスを生成する関数です(lib@makeBmSearch関数の定義)。
lib@makeBmSearch関数の定義

 func makeBmSearch(pattern: []char): lib@BmSearch

pattern 検索する文字列
戻り値 高速文字列検索クラスのインスタンス
この関数はv.2017.10.17で追加されています。
高速文字列検索クラスは、検索対象の文字列が長かったり、複数の文字列から同じ文字列を何度も検索する場合に高速です。 短い文字列に対して少ない回数検索するときは、組み込みメソッドの「[]char.findStr」を使うほうが高速です。
高速文字列検索の仕様は高速文字列検索の仕様の通りです。
  • 検索にはボイヤー・ムーア文字列検索アルゴリズムを用いている。
高速文字列検索の仕様

lib@makeRnd

「lib@makeRnd」は、乱数クラスのインスタンスを生成する関数です(lib@makeRnd関数の定義)。
lib@makeRnd関数の定義

 func makeRnd(seed: int): lib@Rnd

seed 乱数シード。 -1を指定すると、ミリ秒単位の時刻を用いて自動設定される
戻り値 乱数クラスのインスタンス
乱数シードに-1以外の値を指定すると、乱数クラスのインスタンスを生成するたびに同じ乱数が再現します。
疑似乱数の仕様は疑似乱数の仕様の通りです。
  • 擬似乱数生成にはメルセンヌツイスタ(SFMT)を用いており、周期2607の高品質な擬似乱数が高速で生成される。
疑似乱数の仕様

lib@max

「lib@max」は、intの大きいほうの値を返す関数です(lib@max関数の定義)。
lib@max関数の定義

 func max(n1: int, n2: int): int

n1 値1
n2 値2
戻り値 大きいほうの値
この関数はv.2017.10.17で追加されています。

lib@maxFloat

「lib@maxFloat」は、floatの大きいほうの値を返す関数です(lib@maxFloat関数の定義)。
lib@maxFloat関数の定義

 func maxFloat(n1: float, n2: float): float

n1 値1
n2 値2
戻り値 大きいほうの値
この関数はv.2017.10.17で追加されています。

lib@min

「lib@min」は、intの小さいほうの値を返す関数です(lib@min関数の定義)。
lib@min関数の定義

 func min(n1: int, n2: int): int

n1 値1
n2 値2
戻り値 小さいほうの値
この関数はv.2017.10.17で追加されています。

lib@minFloat

「lib@minFloat」は、floatの小さいほうの値を返す関数です(lib@minFloat関数の定義)。
lib@minFloat関数の定義

 func minFloat(n1: float, n2: float): float

n1 値1
n2 値2
戻り値 小さいほうの値
この関数はv.2017.10.17で追加されています。

lib@now

「lib@now」は、1970年1月1日0時0分0秒から現在までの経過時間を秒で表す「UNIX時間」を返す関数です(lib@now関数の定義)。
lib@now関数の定義

 func now(): int

戻り値 UNIX時間
この「UNIX時間」は、コンピュータで日時を表すときによく用いられる形式です。 「lib@intToDate」関数と組み合わせることで、現在時刻を「年・月・日・時・分・秒」に分けて取得できます。

lib@pi

「lib@pi」は円周率piを、float型で表せる最高精度で定義した定数です(lib@pi定数の定義)。
lib@pi定数の定義

 const pi: float :: 3.14159265358979323846

lib@rnd

「lib@rnd」は整数の乱数を取得する関数です(lib@rnd関数の定義)。
lib@rnd関数の定義

 func rnd(min: int, max: int): int

min 取得する乱数の下限
max 取得する乱数の上限
戻り値 min以上max以下の整数の乱数
シード値はアプリの起動時にミリ秒単位の時刻を用いて自動設定されるため、アプリ起動のたびに異なる乱数列が返ります。
「lib@rnd」が生成する例外はlib@rnd関数の例外の通りです。
lib@rnd関数の例外
発生条件 ビルド 例外コード
(16進数)
「min」が「max」より大きい dbgのみ E9170006
疑似乱数の仕様はlib@makeRndと同様です。

lib@rndBit64

「lib@rndBit64」は64bitの乱数を取得する関数です(lib@rndBit64関数の定義)。
lib@rndBit64関数の定義

 func rndBit64(): bit64

戻り値 16進数で0以上FFFFFFFFFFFFFFFF以下の乱数
疑似乱数の仕様はlib@makeRndと同様です。

lib@rndFloat

「lib@rndFloat」は小数の乱数を取得する関数です(lib@rndFloat関数の定義)。
lib@rndFloat関数の定義

 func rndFloat(min: float, max: float): float

min 取得する乱数の下限
max 取得する乱数の上限。 ただしこの値未満の値が返る
戻り値 min以上max未満の小数の乱数
「lib@rndFloat」が生成する例外はlib@rndFloat関数の例外の通りです。
lib@rndFloat関数の例外
例外コード
(16進数)
ビルド 発生条件
「min」が「max」以上である dbgのみ E9170006
疑似乱数の仕様はlib@makeRndと同様です。

lib@rndUuid

「lib@rndUuid」はUUIDバージョン4を生成する関数です(lib@rndUuid関数の定義)。
lib@rndUuid関数の定義

 func rndUuid(): []char

戻り値 UUIDバージョン4
この関数はv.2017.10.17で追加されています。
UUIDバージョン4とは、「00000000-0000-4000-8000-000000000000」のような36文字で表されるデータ列で、生成するたびに異なるユニークな文字列として利用できます。 生成したUUIDのいずれか2つが偶然重複するには、期待値で約2,sup_6,sup_1(=約230京)個生成する必要があり、現実には起こらないものとみなせます。
疑似乱数の仕様はlib@makeRndと同様です。

lib@rot

「lib@rot」は座標を回転させる関数です(lib@rot関数の定義)。
lib@rot関数の定義

 func rot(x: &float, y: &float, centerX: float, centerY: float, angle: float)

x 回転させる座標X
y 回転させる座標Y
centerX 回転中心座標X
centerY 回転中心座標Y
angle 回転角度
centerXおよびcenterYを中心に、xおよびyの座標を回転させ、回転後の座標でxおよびyの値を更新します。

lib@round

「lib@round」は小数点以下を四捨五入する関数です(lib@round関数の定義)。
lib@round関数の定義

 func round(x: float, precision: int): float

x 任意の値
precision 桁の精度
戻り値 xを四捨五入した値
precisionには小数点以下何桁目を四捨五入するかを指定します。 例えば、「lib@round(1234.5678, 2)」は「1234.57」、「lib@round(1234.5678, -2)」は「1200」を返します。

lib@same

「same」はfloatの計算誤差を許容して比較する演算子です(same関数の定義)。
same関数の定義

 func same(n1: float, n2: float): bool

n1 比較する値1
n2 比較する値2
戻り値 ほぼ一致しているかどうか
浮動小数点型であるfloatは、計算すると誤差が生じますので、数学的には一致するはずの計算が、「=」演算子ではfalseを返すことがあります。 そこで、誤差を許容したfloat同士の一致を判定するにはsame関数を使います。
same関数の仕様はsame関数の仕様の通りです。
  • 「same」関数は、浮動小数点型で表現可能な数のうち24個分離れた数までを一致とみなす。
same関数の仕様

lib@sin

「lib@sin」は「ts,ti,tn,x」(正弦)を計算する関数です(lib@sin関数の定義)。
lib@sin関数の定義

 func sin(x: float): float

x 任意の値
戻り値 ts,ti,tn,x」の値

lib@sinh

「lib@sinh」は「ts,ti,tn,th,x」(双曲線正弦)を計算する関数です(lib@sinh関数の定義)。
lib@sinh関数の定義

 func sinh(x: float): float

x 任意の値
戻り値 ts,ti,tn,th,x」の値

lib@sleep

「lib@sleep」は一定時間処理を停止させる関数です(lib@sleep関数の定義)。
lib@sleep関数の定義

 func sleep(ms: int)

ms 停止させる時間(単位はミリ秒)
1秒間停止させる場合は「lib@sleep(1000)」とします。

lib@sqrt

「lib@sqrt」は「sqrt_x」(平方根)を計算する関数です(lib@sqrt関数の定義)。
lib@sqrt関数の定義

 func sqrt(x: float): float

x 任意の値
戻り値 sqrt_x」の値

lib@sysTime

「lib@sysTime」は、OSが起動してから現在までに経った時間をミリ秒で表す「システム時刻」を返す関数です(lib@sysTime関数の定義)。
lib@sysTime関数の定義

 func sysTime(): int

戻り値 システム時刻

lib@tan

「lib@tan」は「tt,ta,tn,x」(正接)を計算する関数です(lib@tan関数の定義)。
lib@tan関数の定義

 func tan(x: float): float

x 任意の値
戻り値 tt,ta,tn,x」の値

lib@tanh

「lib@tanh」は「tt,ta,tn,th,x」(双曲線正接)を計算する関数です(lib@tanh関数の定義)。
lib@tanh関数の定義

 func tanh(x: float): float

x 任意の値
戻り値 tt,ta,tn,th,x」の値

lib@toDegree

「lib@toDegree」はラジアンを度に変換する関数です(lib@toDegree関数の定義)。
lib@toDegree関数の定義

 func toDegree(rad: float): float

rad ラジアン
戻り値
この関数はv.2017.10.17で追加されています。

lib@toRad

「lib@toRad」は度をラジアンに変換する関数です(lib@toRad関数の定義)。
lib@toRad関数の定義

 func toRad(degree: float): float

degree
戻り値 ラジアン
この関数はv.2017.10.17で追加されています。

lib@BmSearch

「lib@BmSearch」は高速文字列検索を行うクラスで、定義はlib@BmSearchクラスの定義の通りです。
lib@BmSearchクラスの定義
名前 説明
lib@BmSearch.find 高速文字列検索を行うメソッド

lib@BmSearch.find

「lib@BmSearch.find」は高速文字列検索を行い、最初に見つかった位置を返すメソッドです(lib@BmSearch.findメソッドの定義)。
lib@BmSearch.findメソッドの定義

 func find(text: []char, start: int): int

text 検索される文字列
start 検索を開始する位置。 すべて検索する場合は-1を指定
戻り値 最初に見つかった位置。 1つも見つからなかった場合は「-1」
「text」から、lib@makeBmSearch関数に渡した「pattern」の文字列を検索します。
「start」が-1でも配列の範囲内でもないとき、この関数は-1を返します。

lib@Rnd

「lib@Rnd」は乱数を生成するクラスで、定義はlib@Rndクラスの定義の通りです。
lib@Rndクラスの定義
名前 説明
lib@Rnd.rnd intの乱数を取得するメソッド
lib@Rnd.rndBit64 bit64の乱数を取得するメソッド
lib@Rnd.rndFloat floatの乱数を取得するメソッド

lib@Rnd.rnd

「lib@Rnd.rnd」は整数の乱数を取得するメソッドです(lib@Rnd.rndメソッドの定義)。
lib@Rnd.rndメソッドの定義

 func rnd(min: int, max: int): int

min 取得する乱数の下限
max 取得する乱数の上限
戻り値 min以上max以下の整数の乱数
「lib@Rnd.rnd」が生成する例外はlib@Rnd.rndメソッドの例外の通りです。
lib@Rnd.rndメソッドの例外
発生条件 ビルド 例外コード
(16進数)
「min」が「max」より大きい dbgのみ E9170006

lib@Rnd.rndBit64

「lib@Rnd.rndBit64」は64bitの乱数を取得するメソッドです(lib@Rnd.rndBit64メソッドの定義)。
lib@Rnd.rndBit64メソッドの定義

 func rndBit64(): bit64

戻り値 16進数で0以上FFFFFFFFFFFFFFFF以下の乱数

lib@Rnd.rndFloat

「lib@Rnd.rndFloat」は小数の乱数を取得するメソッドです(lib@Rnd.rndFloatメソッドの定義)。
lib@Rnd.rndFloatメソッドの定義

 func rndFloat(min: float, max: float): float

min 取得する乱数の下限
max 取得する乱数の上限。 ただしこの値未満の値が返る
戻り値 min以上max未満の小数の乱数
「lib@Rnd.rndFloat」が生成する例外はlib@Rnd.rndFloatメソッドの例外の通りです。
lib@Rnd.rndFloatメソッドの例外
例外コード
(16進数)
ビルド 発生条件
「min」が「max」以上である dbgのみ E9170006

lib@Rnd.rndUuid

「lib@Rnd.rndUuid」はUUIDバージョン4を生成するメソッドです(lib@Rnd.rndUuidメソッドの定義)。
lib@Rnd.rndUuidメソッドの定義

 func rndUuid(): []char

戻り値 UUIDバージョン4
UUIDバージョン4とは、「00000000-0000-4000-8000-000000000000」のような36文字で表されるデータ列で、生成するたびに異なるユニークな文字列として利用できます。 生成したUUIDのいずれか2つが偶然重複するには、期待値で約2,sup_6,sup_1(=約230京)個生成する必要があり、現実には起こらないものとみなせます。
1508205458ja