Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

sys ライブラリ

import "sys" で使えるプリミティブ型と演算の一覧です。

すべての型は C → C の 1-cell として定義されています。C は sys ライブラリの共通の 0-cell です。

説明
bool真偽値
u3232bit 符号なし整数
i3232bit 符号付き整数
f3232bit 浮動小数点数
f32x2f32 の2要素ベクトル
f32x3f32 の3要素ベクトル

bool

演算説明
bool.lit[n]C → boolリテラル(n: nat
bool.trueC → bool
bool.falseC → bool
bool.notbool → bool否定
bool.andbool bool → bool論理積
bool.orbool bool → bool論理和
bool.ind[x]x x bool → x分岐。真なら第1引数、偽なら第2引数を返す

u32

演算説明
u32.lit[n]C → u32リテラル(n: nat
u32.addu32 u32 → u32加算
u32.subu32 u32 → u32減算
u32.mulu32 u32 → u32乗算
u32.divu32 u32 → u32除算
u32.modu32 u32 → u32剰余
u32.negu32 → u32符号反転
u32.eq, u32.neu32 u32 → bool等値比較
u32.lt, u32.le, u32.gt, u32.geu32 u32 → bool順序比較
u32.to_f32u32 → f32f32 への変換
u32.to_i32u32 → i32i32 への変換

i32

演算説明
i32.lit[n]C → i32リテラル(n: nat
i32.addi32 i32 → i32加算
i32.subi32 i32 → i32減算
i32.muli32 i32 → i32乗算
i32.divi32 i32 → i32除算
i32.modi32 i32 → i32剰余
i32.negi32 → i32符号反転
i32.eq, i32.nei32 i32 → bool等値比較
i32.lt, i32.le, i32.gt, i32.gei32 i32 → bool順序比較
i32.to_f32i32 → f32f32 への変換

f32

演算説明
f32.lit[n]C → f32リテラル(n: rat
f32.addf32 f32 → f32加算
f32.subf32 f32 → f32減算
f32.mulf32 f32 → f32乗算
f32.divf32 f32 → f32除算
f32.negf32 → f32符号反転
f32.floorf32 → i32切り捨て
f32.ceilf32 → i32切り上げ
f32.eq, f32.nef32 f32 → bool等値比較
f32.lt, f32.le, f32.gt, f32.gef32 f32 → bool順序比較

f32x2

演算説明
f32x2.lit[x, y]C → f32x2リテラル(x, y: rat
f32x2.packf32 f32 → f32x22つの f32 をパック
f32x2.unpackf32x2 → f32 f32f32x2 を2つの f32 に展開
f32x2.addf32x2 f32x2 → f32x2加算
f32x2.subf32x2 f32x2 → f32x2減算
f32x2.mulf32x2 f32x2 → f32x2乗算
f32x2.divf32x2 f32x2 → f32x2除算
f32x2.negf32x2 → f32x2符号反転
f32x2.scalef32 f32x2 → f32x2スカラー倍

f32x3

演算説明
f32x3.lit[x, y, z]C → f32x3リテラル(x, y, z: rat
f32x3.packf32 f32 f32 → f32x33つの f32 をパック
f32x3.unpackf32x3 → f32 f32 f32f32x3 を3つの f32 に展開
f32x3.addf32x3 f32x3 → f32x3加算
f32x3.subf32x3 f32x3 → f32x3減算
f32x3.mulf32x3 f32x3 → f32x3乗算
f32x3.divf32x3 f32x3 → f32x3除算
f32x3.negf32x3 → f32x3符号反転
f32x3.scalef32 f32x3 → f32x3スカラー倍

val(構造操作)

演算説明
val.dup[x]x → x x値の複製
val.drop[x]x → C値の破棄
val.swap[x, y]x y → y x値の入れ替え

x, y は任意の C → C 型(1-cell)をパラメータとして受け取ります。