| // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // |
| // This file has been automatically generated. Please do not edit it manually. |
| // Generated by tests/ffi/generator/address_of_test_generator.dart. |
| // |
| // SharedObjects=ffi_test_functions |
| // VMOptions= |
| // VMOptions=--deterministic --optimization-counter-threshold=90 |
| // VMOptions=--use-slow-path |
| // VMOptions=--use-slow-path --stacktrace-every=100 |
| |
| // ignore_for_file: unused_import |
| |
| import 'dart:ffi'; |
| import 'dart:typed_data'; |
| |
| import 'package:expect/expect.dart'; |
| |
| import 'address_of_generated_shared.dart'; |
| import 'address_of_shared.dart'; |
| import 'dylib_utils.dart'; |
| |
| final ffiTestFunctions = dlopenPlatformSpecific('ffi_test_functions'); |
| |
| @Native<Int8 Function(Pointer<Int8>, Size)>( |
| symbol: 'TakeInt8Pointer', |
| isLeaf: true, |
| ) |
| external int takeInt8Pointer(Pointer<Int8> pointer, int length); |
| |
| @Native< |
| Int8 Function( |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| Pointer<Int8>, |
| ) |
| >(symbol: 'TakeInt8PointerMany', isLeaf: true) |
| external int takeInt8PointerMany( |
| Pointer<Int8> pointer0, |
| Pointer<Int8> pointer1, |
| Pointer<Int8> pointer2, |
| Pointer<Int8> pointer3, |
| Pointer<Int8> pointer4, |
| Pointer<Int8> pointer5, |
| Pointer<Int8> pointer6, |
| Pointer<Int8> pointer7, |
| Pointer<Int8> pointer8, |
| Pointer<Int8> pointer9, |
| Pointer<Int8> pointer10, |
| Pointer<Int8> pointer11, |
| Pointer<Int8> pointer12, |
| Pointer<Int8> pointer13, |
| Pointer<Int8> pointer14, |
| Pointer<Int8> pointer15, |
| Pointer<Int8> pointer16, |
| Pointer<Int8> pointer17, |
| Pointer<Int8> pointer18, |
| Pointer<Int8> pointer19, |
| ); |
| |
| Int8List makeInt8List(int length) { |
| final typedData = Int8List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultInt8(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Int16 Function(Pointer<Int16>, Size)>( |
| symbol: 'TakeInt16Pointer', |
| isLeaf: true, |
| ) |
| external int takeInt16Pointer(Pointer<Int16> pointer, int length); |
| |
| @Native< |
| Int16 Function( |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| Pointer<Int16>, |
| ) |
| >(symbol: 'TakeInt16PointerMany', isLeaf: true) |
| external int takeInt16PointerMany( |
| Pointer<Int16> pointer0, |
| Pointer<Int16> pointer1, |
| Pointer<Int16> pointer2, |
| Pointer<Int16> pointer3, |
| Pointer<Int16> pointer4, |
| Pointer<Int16> pointer5, |
| Pointer<Int16> pointer6, |
| Pointer<Int16> pointer7, |
| Pointer<Int16> pointer8, |
| Pointer<Int16> pointer9, |
| Pointer<Int16> pointer10, |
| Pointer<Int16> pointer11, |
| Pointer<Int16> pointer12, |
| Pointer<Int16> pointer13, |
| Pointer<Int16> pointer14, |
| Pointer<Int16> pointer15, |
| Pointer<Int16> pointer16, |
| Pointer<Int16> pointer17, |
| Pointer<Int16> pointer18, |
| Pointer<Int16> pointer19, |
| ); |
| |
| Int16List makeInt16List(int length) { |
| final typedData = Int16List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultInt16(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Int32 Function(Pointer<Int32>, Size)>( |
| symbol: 'TakeInt32Pointer', |
| isLeaf: true, |
| ) |
| external int takeInt32Pointer(Pointer<Int32> pointer, int length); |
| |
| @Native< |
| Int32 Function( |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| Pointer<Int32>, |
| ) |
| >(symbol: 'TakeInt32PointerMany', isLeaf: true) |
| external int takeInt32PointerMany( |
| Pointer<Int32> pointer0, |
| Pointer<Int32> pointer1, |
| Pointer<Int32> pointer2, |
| Pointer<Int32> pointer3, |
| Pointer<Int32> pointer4, |
| Pointer<Int32> pointer5, |
| Pointer<Int32> pointer6, |
| Pointer<Int32> pointer7, |
| Pointer<Int32> pointer8, |
| Pointer<Int32> pointer9, |
| Pointer<Int32> pointer10, |
| Pointer<Int32> pointer11, |
| Pointer<Int32> pointer12, |
| Pointer<Int32> pointer13, |
| Pointer<Int32> pointer14, |
| Pointer<Int32> pointer15, |
| Pointer<Int32> pointer16, |
| Pointer<Int32> pointer17, |
| Pointer<Int32> pointer18, |
| Pointer<Int32> pointer19, |
| ); |
| |
| Int32List makeInt32List(int length) { |
| final typedData = Int32List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultInt32(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Int64 Function(Pointer<Int64>, Size)>( |
| symbol: 'TakeInt64Pointer', |
| isLeaf: true, |
| ) |
| external int takeInt64Pointer(Pointer<Int64> pointer, int length); |
| |
| @Native< |
| Int64 Function( |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| Pointer<Int64>, |
| ) |
| >(symbol: 'TakeInt64PointerMany', isLeaf: true) |
| external int takeInt64PointerMany( |
| Pointer<Int64> pointer0, |
| Pointer<Int64> pointer1, |
| Pointer<Int64> pointer2, |
| Pointer<Int64> pointer3, |
| Pointer<Int64> pointer4, |
| Pointer<Int64> pointer5, |
| Pointer<Int64> pointer6, |
| Pointer<Int64> pointer7, |
| Pointer<Int64> pointer8, |
| Pointer<Int64> pointer9, |
| Pointer<Int64> pointer10, |
| Pointer<Int64> pointer11, |
| Pointer<Int64> pointer12, |
| Pointer<Int64> pointer13, |
| Pointer<Int64> pointer14, |
| Pointer<Int64> pointer15, |
| Pointer<Int64> pointer16, |
| Pointer<Int64> pointer17, |
| Pointer<Int64> pointer18, |
| Pointer<Int64> pointer19, |
| ); |
| |
| Int64List makeInt64List(int length) { |
| final typedData = Int64List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultInt64(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i % 2 == 0 ? i : -i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Uint8 Function(Pointer<Uint8>, Size)>( |
| symbol: 'TakeUint8Pointer', |
| isLeaf: true, |
| ) |
| external int takeUint8Pointer(Pointer<Uint8> pointer, int length); |
| |
| @Native< |
| Uint8 Function( |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| Pointer<Uint8>, |
| ) |
| >(symbol: 'TakeUint8PointerMany', isLeaf: true) |
| external int takeUint8PointerMany( |
| Pointer<Uint8> pointer0, |
| Pointer<Uint8> pointer1, |
| Pointer<Uint8> pointer2, |
| Pointer<Uint8> pointer3, |
| Pointer<Uint8> pointer4, |
| Pointer<Uint8> pointer5, |
| Pointer<Uint8> pointer6, |
| Pointer<Uint8> pointer7, |
| Pointer<Uint8> pointer8, |
| Pointer<Uint8> pointer9, |
| Pointer<Uint8> pointer10, |
| Pointer<Uint8> pointer11, |
| Pointer<Uint8> pointer12, |
| Pointer<Uint8> pointer13, |
| Pointer<Uint8> pointer14, |
| Pointer<Uint8> pointer15, |
| Pointer<Uint8> pointer16, |
| Pointer<Uint8> pointer17, |
| Pointer<Uint8> pointer18, |
| Pointer<Uint8> pointer19, |
| ); |
| |
| Uint8List makeUint8List(int length) { |
| final typedData = Uint8List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultUint8(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Uint16 Function(Pointer<Uint16>, Size)>( |
| symbol: 'TakeUint16Pointer', |
| isLeaf: true, |
| ) |
| external int takeUint16Pointer(Pointer<Uint16> pointer, int length); |
| |
| @Native< |
| Uint16 Function( |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| Pointer<Uint16>, |
| ) |
| >(symbol: 'TakeUint16PointerMany', isLeaf: true) |
| external int takeUint16PointerMany( |
| Pointer<Uint16> pointer0, |
| Pointer<Uint16> pointer1, |
| Pointer<Uint16> pointer2, |
| Pointer<Uint16> pointer3, |
| Pointer<Uint16> pointer4, |
| Pointer<Uint16> pointer5, |
| Pointer<Uint16> pointer6, |
| Pointer<Uint16> pointer7, |
| Pointer<Uint16> pointer8, |
| Pointer<Uint16> pointer9, |
| Pointer<Uint16> pointer10, |
| Pointer<Uint16> pointer11, |
| Pointer<Uint16> pointer12, |
| Pointer<Uint16> pointer13, |
| Pointer<Uint16> pointer14, |
| Pointer<Uint16> pointer15, |
| Pointer<Uint16> pointer16, |
| Pointer<Uint16> pointer17, |
| Pointer<Uint16> pointer18, |
| Pointer<Uint16> pointer19, |
| ); |
| |
| Uint16List makeUint16List(int length) { |
| final typedData = Uint16List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultUint16(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Uint32 Function(Pointer<Uint32>, Size)>( |
| symbol: 'TakeUint32Pointer', |
| isLeaf: true, |
| ) |
| external int takeUint32Pointer(Pointer<Uint32> pointer, int length); |
| |
| @Native< |
| Uint32 Function( |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| Pointer<Uint32>, |
| ) |
| >(symbol: 'TakeUint32PointerMany', isLeaf: true) |
| external int takeUint32PointerMany( |
| Pointer<Uint32> pointer0, |
| Pointer<Uint32> pointer1, |
| Pointer<Uint32> pointer2, |
| Pointer<Uint32> pointer3, |
| Pointer<Uint32> pointer4, |
| Pointer<Uint32> pointer5, |
| Pointer<Uint32> pointer6, |
| Pointer<Uint32> pointer7, |
| Pointer<Uint32> pointer8, |
| Pointer<Uint32> pointer9, |
| Pointer<Uint32> pointer10, |
| Pointer<Uint32> pointer11, |
| Pointer<Uint32> pointer12, |
| Pointer<Uint32> pointer13, |
| Pointer<Uint32> pointer14, |
| Pointer<Uint32> pointer15, |
| Pointer<Uint32> pointer16, |
| Pointer<Uint32> pointer17, |
| Pointer<Uint32> pointer18, |
| Pointer<Uint32> pointer19, |
| ); |
| |
| Uint32List makeUint32List(int length) { |
| final typedData = Uint32List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultUint32(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Uint64 Function(Pointer<Uint64>, Size)>( |
| symbol: 'TakeUint64Pointer', |
| isLeaf: true, |
| ) |
| external int takeUint64Pointer(Pointer<Uint64> pointer, int length); |
| |
| @Native< |
| Uint64 Function( |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| Pointer<Uint64>, |
| ) |
| >(symbol: 'TakeUint64PointerMany', isLeaf: true) |
| external int takeUint64PointerMany( |
| Pointer<Uint64> pointer0, |
| Pointer<Uint64> pointer1, |
| Pointer<Uint64> pointer2, |
| Pointer<Uint64> pointer3, |
| Pointer<Uint64> pointer4, |
| Pointer<Uint64> pointer5, |
| Pointer<Uint64> pointer6, |
| Pointer<Uint64> pointer7, |
| Pointer<Uint64> pointer8, |
| Pointer<Uint64> pointer9, |
| Pointer<Uint64> pointer10, |
| Pointer<Uint64> pointer11, |
| Pointer<Uint64> pointer12, |
| Pointer<Uint64> pointer13, |
| Pointer<Uint64> pointer14, |
| Pointer<Uint64> pointer15, |
| Pointer<Uint64> pointer16, |
| Pointer<Uint64> pointer17, |
| Pointer<Uint64> pointer18, |
| Pointer<Uint64> pointer19, |
| ); |
| |
| Uint64List makeUint64List(int length) { |
| final typedData = Uint64List(length); |
| for (int i = 0; i < length; i++) { |
| final value = i; |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| int makeExpectedResultUint64(int start, int end) { |
| int expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = i; |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Float Function(Pointer<Float>, Size)>( |
| symbol: 'TakeFloatPointer', |
| isLeaf: true, |
| ) |
| external double takeFloatPointer(Pointer<Float> pointer, int length); |
| |
| @Native< |
| Float Function( |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| Pointer<Float>, |
| ) |
| >(symbol: 'TakeFloatPointerMany', isLeaf: true) |
| external double takeFloatPointerMany( |
| Pointer<Float> pointer0, |
| Pointer<Float> pointer1, |
| Pointer<Float> pointer2, |
| Pointer<Float> pointer3, |
| Pointer<Float> pointer4, |
| Pointer<Float> pointer5, |
| Pointer<Float> pointer6, |
| Pointer<Float> pointer7, |
| Pointer<Float> pointer8, |
| Pointer<Float> pointer9, |
| Pointer<Float> pointer10, |
| Pointer<Float> pointer11, |
| Pointer<Float> pointer12, |
| Pointer<Float> pointer13, |
| Pointer<Float> pointer14, |
| Pointer<Float> pointer15, |
| Pointer<Float> pointer16, |
| Pointer<Float> pointer17, |
| Pointer<Float> pointer18, |
| Pointer<Float> pointer19, |
| ); |
| |
| Float32List makeFloat32List(int length) { |
| final typedData = Float32List(length); |
| for (int i = 0; i < length; i++) { |
| final value = (i % 2 == 0 ? i : -i).toDouble(); |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| double makeExpectedResultFloat(int start, int end) { |
| double expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = (i % 2 == 0 ? i : -i).toDouble(); |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Double Function(Pointer<Double>, Size)>( |
| symbol: 'TakeDoublePointer', |
| isLeaf: true, |
| ) |
| external double takeDoublePointer(Pointer<Double> pointer, int length); |
| |
| @Native< |
| Double Function( |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| Pointer<Double>, |
| ) |
| >(symbol: 'TakeDoublePointerMany', isLeaf: true) |
| external double takeDoublePointerMany( |
| Pointer<Double> pointer0, |
| Pointer<Double> pointer1, |
| Pointer<Double> pointer2, |
| Pointer<Double> pointer3, |
| Pointer<Double> pointer4, |
| Pointer<Double> pointer5, |
| Pointer<Double> pointer6, |
| Pointer<Double> pointer7, |
| Pointer<Double> pointer8, |
| Pointer<Double> pointer9, |
| Pointer<Double> pointer10, |
| Pointer<Double> pointer11, |
| Pointer<Double> pointer12, |
| Pointer<Double> pointer13, |
| Pointer<Double> pointer14, |
| Pointer<Double> pointer15, |
| Pointer<Double> pointer16, |
| Pointer<Double> pointer17, |
| Pointer<Double> pointer18, |
| Pointer<Double> pointer19, |
| ); |
| |
| Float64List makeFloat64List(int length) { |
| final typedData = Float64List(length); |
| for (int i = 0; i < length; i++) { |
| final value = (i % 2 == 0 ? i : -i).toDouble(); |
| typedData[i] = value; |
| } |
| return typedData; |
| } |
| |
| double makeExpectedResultDouble(int start, int end) { |
| double expectedResult = 0; |
| for (int i = start; i < end; i++) { |
| final value = (i % 2 == 0 ? i : -i).toDouble(); |
| expectedResult += value; |
| } |
| return expectedResult; |
| } |
| |
| @Native<Bool Function(Pointer<Bool>, Size)>( |
| symbol: 'TakeBoolPointer', |
| isLeaf: true, |
| ) |
| external bool takeBoolPointer(Pointer<Bool> pointer, int length); |
| |
| @Native< |
| Bool Function( |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| Pointer<Bool>, |
| ) |
| >(symbol: 'TakeBoolPointerMany', isLeaf: true) |
| external bool takeBoolPointerMany( |
| Pointer<Bool> pointer0, |
| Pointer<Bool> pointer1, |
| Pointer<Bool> pointer2, |
| Pointer<Bool> pointer3, |
| Pointer<Bool> pointer4, |
| Pointer<Bool> pointer5, |
| Pointer<Bool> pointer6, |
| Pointer<Bool> pointer7, |
| Pointer<Bool> pointer8, |
| Pointer<Bool> pointer9, |
| Pointer<Bool> pointer10, |
| Pointer<Bool> pointer11, |
| Pointer<Bool> pointer12, |
| Pointer<Bool> pointer13, |
| Pointer<Bool> pointer14, |
| Pointer<Bool> pointer15, |
| Pointer<Bool> pointer16, |
| Pointer<Bool> pointer17, |
| Pointer<Bool> pointer18, |
| Pointer<Bool> pointer19, |
| ); |