1/* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15function SumArrayU8(nums: @arraybuffer Array<u8>): u8; 16function GetArrayBuffer(nums: u8): @arraybuffer Array<u8>; 17function DoubleArrayBuffer(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 18function SumArrayI8(nums: Array<i8>): i8; 19function GetArrayI8(nums: i8): Array<i8>; 20function DoubleI8(nums: Array<i8>): Array<i8>; 21function SumArrayI16(nums: Array<i16>): i16; 22function GetArrayI16(nums: i16): Array<i16>; 23function DoubleI16(nums: Array<i16>): Array<i16>; 24function SumArrayI32(nums: Array<i32>): i32; 25function GetArrayI32(nums: i32): Array<i32>; 26function DoubleI32(nums: Array<i32>): Array<i32>; 27function SumArrayI64(nums: Array<i64>): i64; 28function GetArrayI64(nums: i64): Array<i64>; 29function DoubleI64(nums: Array<i64>): Array<i64>; 30 31function SumArrayF32(nums: Array<f32>): f32; 32function GetArrayF32(nums: f32): Array<f32>; 33function DoubleF32(nums: Array<f32>): Array<f32>; 34 35function SumArrayF64(nums: Array<f64>): f64; 36function GetArrayF64(nums: f64): Array<f64>; 37function DoubleF64(nums: Array<f64>): Array<f64>; 38 39function DoubleBufferToInt8Array(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 40function DoubleBufferToInt16Array(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 41function DoubleBufferToInt32Array(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 42function DoubleBufferToUint16Array(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 43function DoubleBufferToUint32Array(nums: @arraybuffer Array<u8>): @arraybuffer Array<u8>; 44@!sts_inject(""" 45export function doubleInt8Array(int8Array: Int8Array): Int8Array { 46 const arrayBuffer: ArrayBuffer = int8Array.buffer as ArrayBuffer; 47 let result = DoubleBufferToInt8Array(arrayBuffer); 48 return new Int8Array(result); 49} 50""") 51 52@!sts_inject(""" 53export function doubleInt16Array(int16Array: Int16Array): Int16Array { 54 const arrayBuffer: ArrayBuffer = int16Array.buffer as ArrayBuffer; 55 let result = DoubleBufferToInt16Array(arrayBuffer); 56 return new Int16Array(result); 57} 58""") 59 60@!sts_inject(""" 61export function doubleInt32Array(int32Array: Int32Array): Int32Array { 62 const arrayBuffer: ArrayBuffer = int32Array.buffer as ArrayBuffer; 63 let result = DoubleBufferToInt32Array(arrayBuffer); 64 return new Int32Array(result); 65} 66""") 67 68@!sts_inject(""" 69export function doubleUint8Array(uint8Array: Uint8Array): Uint8Array { 70 const arrayBuffer: ArrayBuffer = uint8Array.buffer as ArrayBuffer; 71 let result = DoubleArrayBuffer(arrayBuffer); 72 return new Uint8Array(result); 73} 74""") 75 76@!sts_inject(""" 77export function doubleUint16Array(uint16Array: Uint16Array): Uint16Array { 78 const arrayBuffer: ArrayBuffer = uint16Array.buffer as ArrayBuffer; 79 let result = DoubleBufferToUint16Array(arrayBuffer); 80 return new Uint16Array(result); 81} 82""") 83 84@!sts_inject(""" 85export function doubleUint32Array(uint32Array: Uint32Array): Uint32Array { 86 const arrayBuffer: ArrayBuffer = uint32Array.buffer as ArrayBuffer; 87 let result = DoubleBufferToUint32Array(arrayBuffer); 88 return new Uint32Array(result); 89} 90""")