TypedArray
Entity of TypedArray module is located in the global.WebModule.TypedArray.
If you want publish to global namespace.
TypedArray モジュールの実体は、global.WebModule.TypedArray にあります。
global 名前空間に直接公開する事もできます。その場合は global.TypedArray でもアクセス可能になります。
- TypedArray.BIG_ENDIAN - TypedArray の内部表現が BIG_ENDIAN の場合に true になります
- convert host-byte-order to network-byte-order. (to BIG_ENDIAN)
- convert network-byte-order to host-byte-order. (from BIG_ENDIAN)
- expand buffer
- TypedArray.expand - サイズを2倍にした新しい配列を返します
- concat buffer
- TypedArray.concat - TypedArray を連結した新しい配列を返します
- read N bytes (big-endian)
- TypedArray.read1 - 要素を1つ読み出し、カーソルをその分進めます
- TypedArray.read2 - 要素を2つ読み出し、カーソルをその分進めます
- TypedArray.read4 - 要素を4つ読み出し、カーソルをその分進めます
- read N bytes (little-endian)
- TypedArray.read2LE - 要素を2つ読み出し、カーソルをその分進めます
- TypedArray.read4LE - 要素を4つ読み出し、カーソルをその分進めます
TypedArray.BIG_ENDIAN はTypedArray のメモリイメージが BIG_ENDIAN の場合に true になります。LITTLE_ENDIANでは false になります。
一般的なスマートフォンやPCデバイスは false になります。
Uint[n]Array や Int[n]Array, Float[n]Array などの TypedArray型 に格納したデータはエンディアンの影響を受けます。
TypedArray.BIG_ENDIAN // -> false
- TypedArray.hton2(source:TypedArray|Array):Array は source の先頭から要素を2つ読み込み、ホストバイトオーダーからBIG_ENDIAN に変換した新しい配列を返します
- hton4 は source の先頭から要素を4つ読み込み変換します
- hton8 は source の先頭から要素を8つ読み込み変換します
- TypedArray.ntoh2(source:TypedArray|Array):Array は source の先頭から要素を2つ読み込み、BIG_ENDIANからホストバイトオーダーに変換します
- ntoh32 は source の先頭から要素を4つ読み込み変換します
- ntoh64 は source の先頭から要素を8つ読み込み変換します
TypedArray.hton2([A, B]) // -> [B, A]
TypedArray.ntoh2([B, A]) // -> [A, B]
TypedArray.hton4([A, B, C, D]) // -> [D, C, B, A]
TypedArray.ntoh4([D, C, B, A]) // -> [A, B, C, D]
TypedArray.hton8([A, B, C, D, E, F, G, H]) // -> [H, G, F, E, D, C, B, A]
TypedArray.ntoh8([H, G, F, E, D, C, A, B]) // -> [A, B, C, D, E, F, G, H]
TypedArray.expand(source:TypedArray):TypedArray は、source の2倍の長さを持つ新しい TypedArray を作成し、source の内容をコピーして返します。
var a = new Uint8Array([1,2,3]);
var b = TypedArray.expand(a);
b[0] // -> 1
b[1] // -> 2
b[2] // -> 3
b.length // -> 6
TypedArray.concat(...:TypedArray):TypedArray は、 引数に与えられた TypedArray を連結した新しい TypedArray を返します。
var a = new Uint16Array([1,2,3,4,5]);
var b = new Uint16Array([6,7,8,9,10]);
var c = new Uint16Array([0,0]);
var d = TypedArray.concat(a, b, c); // -> [1,2,3,4,5,6,7,8,9,10,0,0]
全て同じ型を指定する必要があります。型を混ぜると例外が発生します。
// 異なる型( Uint8Array と Uint16Array )を混在させると例外が発生します
var a = new Uint8Array([1,2]);
var b = new Uint16Array([3,4]);
TypedArray.concat(a, b); // -> throw TypeError
TypedArray.read1(view:Object):UINT32 は、view.source の view.cursorの位置から要素を1つ読み込み値を返します。view.cursor を1つ進めます。
- TypedArray.read2(view:Object):UINT32 は 要素を2つ読み込み BIG_ENDIAN に変換した値を返します。view.cursor を2つ進めます。
- TypedArray.read4(view:Object):UINT32 は 要素を4つ読み込み BIG_ENDIAN に変換した値を返します。view.cursor を4つ進めます。
- TypedArray.read2LE(view:Object):UINT32 は 要素を2つ読み込み LITTLE_ENDIAN に変換した値を返します。view.cursor を2つ進めます。
- TypedArray.read4LE(view:Object):UINT32 は 要素を4つ読み込み LITTLE_ENDIAN に変換した値を返します。view.cursor を4つ進めます。
TypedArray.toString(source:TypedArray|Array = null):BinaryString は source を BinaryString に変換します。
var source = new Uint8Array(32);
var string = TypedArray.toString(source); // encode
var u8 = TypedArray.fromString(string, Uint8Array); // decode
TypedArray.fromString(source:BinaryString, type:Function = Uint8Array):TypedArray は source を type で指定した TypedArray に変換します。