assemblyscript/std/assembly/typedarray.ts

102 lines
3.0 KiB
TypeScript
Raw Normal View History

import {
TypedArray
} from "./internal/typedarray";
export class Int8Array extends TypedArray<i8,i32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i8>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int8Array {
return changetype<Int8Array>(super.subarray(begin, end));
}
}
export class Uint8Array extends TypedArray<u8,u32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u8>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint8Array {
return changetype<Uint8Array>(super.subarray(begin, end));
}
}
export class Uint8ClampedArray extends TypedArray<u8,u32> {
2018-04-24 01:33:21 +03:00
static readonly BYTES_PER_ELEMENT: usize = sizeof<u8>();
@operator("[]=")
protected __set(index: i32, value: i32): void {
super.__set(index, max(min(value, 255), 0));
}
@operator("{}=")
protected __unchecked_set(index: i32, value: i32): void {
super.__unchecked_set(index, max(min(value, 255), 0));
2018-04-24 01:33:21 +03:00
}
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint8ClampedArray {
2018-04-24 01:33:21 +03:00
return changetype<Uint8ClampedArray>(super.subarray(begin, end));
}
}
export class Int16Array extends TypedArray<i16,i32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i16>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int16Array {
return changetype<Int16Array>(super.subarray(begin, end));
}
}
export class Uint16Array extends TypedArray<u16,u32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u16>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint16Array {
return changetype<Uint16Array>(super.subarray(begin, end));
}
}
export class Int32Array extends TypedArray<i32,i32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i32>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int32Array {
return changetype<Int32Array>(super.subarray(begin, end));
}
}
export class Uint32Array extends TypedArray<u32,u32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u32>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint32Array {
return changetype<Uint32Array>(super.subarray(begin, end));
}
}
export class Int64Array extends TypedArray<i64,i64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i64>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int64Array {
return changetype<Int64Array>(super.subarray(begin, end));
}
}
export class Uint64Array extends TypedArray<u64,u64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u64>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint64Array {
return changetype<Uint64Array>(super.subarray(begin, end));
}
}
export class Float32Array extends TypedArray<f32,f32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<f32>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Float32Array {
return changetype<Float32Array>(super.subarray(begin, end));
}
}
export class Float64Array extends TypedArray<f64,f64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<f64>();
2018-04-24 00:42:17 +02:00
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Float64Array {
return changetype<Float64Array>(super.subarray(begin, end));
}
}