2
0
mirror of https://github.com/esiur/esiur-js.git synced 2025-06-27 15:23:11 +00:00
This commit is contained in:
2020-04-30 09:26:58 +03:00
parent 98877b9b85
commit 5967d6c901
19 changed files with 2102 additions and 1784 deletions

View File

@ -295,45 +295,64 @@ export default class DC extends Uint8Array
return new Uint8Array(this.buffer, offset, length);
}
copy(offset, length, elementSize, func, dstType)
{
let rt = new dstType(length / elementSize);
let d = 0, end = offset + length;
for (let i = offset; i < end; i += elementSize)
rt[d++] = func.call(this, i);
return rt;
}
getInt16Array(offset, length)
{
return new Int16Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 2, this.getInt16, Int16Array);
//return new Int16Array(this.clip(offset, length).buffer);
}
getUint16Array(offset, length)
{
return new Uint16Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 2, this.getUint16, Uint16Array);
//return new Uint16Array(this.clip(offset, length).buffer);
}
getInt32Array(offset, length)
{
return new Int32Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 4, this.getInt32, Int32Array);
//return new Int32Array(this.clip(offset, length).buffer);
}
getUint32Array(offset, length)
{
return new Uint32Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 4, this.getUint32, Uint32Array);
//return new Uint32Array(this.clip(offset, length).buffer);
}
getFloat32Array(offset, length)
{
return new Float32Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 4, this.getFloat32, Float32Array);
//return new Float32Array(this.clip(offset, length).buffer);
}
getFloat64Array(offset, length)
{
return new Float64Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 8, this.getFloat64, Float64Array);
// return new Float64Array(this.clip(offset, length).buffer);
}
getInt64Array(offset, length)
{
return new Int64Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 8, this.getInt64, BigInt64Array);
//return new Int64Array(this.clip(offset, length).buffer);
}
getUint64Array(offset, length)
{
return new Uint64Array(this.clip(offset, length).buffer);
return this.copy(offset, length, 8, this.getUint64, BigUint64Array);
//return new Uint64Array(this.clip(offset, length).buffer);
}
getBoolean(offset)

View File

@ -92,6 +92,11 @@ export default class KeyList
return false;
}
containsKey(key)
{
return this.contains(key);
}
set(key, value)
{
this.remove(key);