Skip to content
uupaa edited this page Mar 8, 2016 · 29 revisions

Namespace

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 でもアクセス可能になります。

API

TypedArray.BIG_ENDIAN

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.hton[n]

TypedArray.ntoh[n]

  • 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

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.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.read[n]

TypedArray.read[n]LE

TypedArray.read1(view:Object):UINT32 は、view.sourceview.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

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

TypedArray.fromString(source:BinaryString, type:Function = Uint8Array):TypedArray は sourcetype で指定した TypedArray に変換します。