From 29ea26dca914e0a45a663331aa5671b6c3764634 Mon Sep 17 00:00:00 2001 From: Dincer Guner Date: Tue, 3 Oct 2023 19:03:16 +0300 Subject: [PATCH 1/2] implement clip --- docs/framework/compatibility.md | 3 +- docs/framework/operators/tensor/README.md | 1 + .../framework/operators/tensor/tensor.clip.md | 39 + nodegen/node/clip.py | 155 +++ src/operators/tensor/core.cairo | 80 ++ .../implementations/tensor_fp16x16.cairo | 4 + .../implementations/tensor_fp32x32.cairo | 4 + .../implementations/tensor_fp64x64.cairo | 4 + .../implementations/tensor_fp8x23.cairo | 4 + .../tensor/implementations/tensor_i32.cairo | 4 + .../tensor/implementations/tensor_i8.cairo | 4 + .../tensor/implementations/tensor_u32.cairo | 4 + src/tests.cairo | 2 +- src/tests/nodes.cairo | 10 + src/tests/nodes/clip_fp16x16_2d.cairo | 22 + src/tests/nodes/clip_fp16x16_2d/input_0.cairo | 22 + .../nodes/clip_fp16x16_2d/output_0.cairo | 22 + src/tests/nodes/clip_fp16x16_3d.cairo | 22 + src/tests/nodes/clip_fp16x16_3d/input_0.cairo | 1015 +++++++++++++++++ .../nodes/clip_fp16x16_3d/output_0.cairo | 1015 +++++++++++++++++ src/tests/nodes/clip_fp8x23_2d.cairo | 22 + src/tests/nodes/clip_fp8x23_2d/input_0.cairo | 22 + src/tests/nodes/clip_fp8x23_2d/output_0.cairo | 22 + src/tests/nodes/clip_fp8x23_3d.cairo | 22 + src/tests/nodes/clip_fp8x23_3d/input_0.cairo | 1015 +++++++++++++++++ src/tests/nodes/clip_fp8x23_3d/output_0.cairo | 1015 +++++++++++++++++ src/tests/nodes/clip_i32_2d.cairo | 21 + src/tests/nodes/clip_i32_2d/input_0.cairo | 21 + src/tests/nodes/clip_i32_2d/output_0.cairo | 21 + src/tests/nodes/clip_i32_3d.cairo | 21 + src/tests/nodes/clip_i32_3d/input_0.cairo | 1014 ++++++++++++++++ src/tests/nodes/clip_i32_3d/output_0.cairo | 1014 ++++++++++++++++ src/tests/nodes/clip_i8_2d.cairo | 21 + src/tests/nodes/clip_i8_2d/input_0.cairo | 21 + src/tests/nodes/clip_i8_2d/output_0.cairo | 21 + src/tests/nodes/clip_i8_3d.cairo | 21 + src/tests/nodes/clip_i8_3d/input_0.cairo | 1014 ++++++++++++++++ src/tests/nodes/clip_i8_3d/output_0.cairo | 1014 ++++++++++++++++ src/tests/nodes/clip_u32_2d.cairo | 20 + src/tests/nodes/clip_u32_2d/input_0.cairo | 20 + src/tests/nodes/clip_u32_2d/output_0.cairo | 20 + src/tests/nodes/clip_u32_3d.cairo | 20 + src/tests/nodes/clip_u32_3d/input_0.cairo | 1013 ++++++++++++++++ src/tests/nodes/clip_u32_3d/output_0.cairo | 1013 ++++++++++++++++ 44 files changed, 10882 insertions(+), 2 deletions(-) create mode 100644 docs/framework/operators/tensor/tensor.clip.md create mode 100644 nodegen/node/clip.py create mode 100644 src/tests/nodes/clip_fp16x16_2d.cairo create mode 100644 src/tests/nodes/clip_fp16x16_2d/input_0.cairo create mode 100644 src/tests/nodes/clip_fp16x16_2d/output_0.cairo create mode 100644 src/tests/nodes/clip_fp16x16_3d.cairo create mode 100644 src/tests/nodes/clip_fp16x16_3d/input_0.cairo create mode 100644 src/tests/nodes/clip_fp16x16_3d/output_0.cairo create mode 100644 src/tests/nodes/clip_fp8x23_2d.cairo create mode 100644 src/tests/nodes/clip_fp8x23_2d/input_0.cairo create mode 100644 src/tests/nodes/clip_fp8x23_2d/output_0.cairo create mode 100644 src/tests/nodes/clip_fp8x23_3d.cairo create mode 100644 src/tests/nodes/clip_fp8x23_3d/input_0.cairo create mode 100644 src/tests/nodes/clip_fp8x23_3d/output_0.cairo create mode 100644 src/tests/nodes/clip_i32_2d.cairo create mode 100644 src/tests/nodes/clip_i32_2d/input_0.cairo create mode 100644 src/tests/nodes/clip_i32_2d/output_0.cairo create mode 100644 src/tests/nodes/clip_i32_3d.cairo create mode 100644 src/tests/nodes/clip_i32_3d/input_0.cairo create mode 100644 src/tests/nodes/clip_i32_3d/output_0.cairo create mode 100644 src/tests/nodes/clip_i8_2d.cairo create mode 100644 src/tests/nodes/clip_i8_2d/input_0.cairo create mode 100644 src/tests/nodes/clip_i8_2d/output_0.cairo create mode 100644 src/tests/nodes/clip_i8_3d.cairo create mode 100644 src/tests/nodes/clip_i8_3d/input_0.cairo create mode 100644 src/tests/nodes/clip_i8_3d/output_0.cairo create mode 100644 src/tests/nodes/clip_u32_2d.cairo create mode 100644 src/tests/nodes/clip_u32_2d/input_0.cairo create mode 100644 src/tests/nodes/clip_u32_2d/output_0.cairo create mode 100644 src/tests/nodes/clip_u32_3d.cairo create mode 100644 src/tests/nodes/clip_u32_3d/input_0.cairo create mode 100644 src/tests/nodes/clip_u32_3d/output_0.cairo diff --git a/docs/framework/compatibility.md b/docs/framework/compatibility.md index 73f4a677a..657b9c94d 100644 --- a/docs/framework/compatibility.md +++ b/docs/framework/compatibility.md @@ -55,5 +55,6 @@ You can see below the list of current supported ONNX Operators: | [Nonzero](operators/tensor/tensor.nonzero.md) | :white\_check\_mark: | | [Squeeze](operators/tensor/tensor.squeeze.md) | :white\_check\_mark: | | [Unsqueeze](operators/tensor/tensor.unsqueeze.md) | :white\_check\_mark: | +| [Clip](operators/tensor/tensor.clip.md) | :white\_check\_mark: | -Current Operators support: **49/156 (31%)** +Current Operators support: **50/156 (32%)** diff --git a/docs/framework/operators/tensor/README.md b/docs/framework/operators/tensor/README.md index d99426183..290396a97 100644 --- a/docs/framework/operators/tensor/README.md +++ b/docs/framework/operators/tensor/README.md @@ -80,6 +80,7 @@ use orion::operators::tensor::TensorTrait; | [`tensor.nonzero`](tensor.nonzero.md) | Produces indices of the elements that are non-zero (in row-major order - by dimension). | | [`tensor.squeeze`](tensor.squeeze.md) | Removes dimensions of size 1 from the shape of a tensor. | | [`tensor.unsqueeze`](tensor.unsqueeze.md) | Inserts single-dimensional entries to the shape of an input tensor. | +| [`tensor.clip`](tensor.clip.md) | Clip operator limits the given input within an interval. | ## Arithmetic Operations diff --git a/docs/framework/operators/tensor/tensor.clip.md b/docs/framework/operators/tensor/tensor.clip.md new file mode 100644 index 000000000..d5dab3fb5 --- /dev/null +++ b/docs/framework/operators/tensor/tensor.clip.md @@ -0,0 +1,39 @@ +# tensor.clip + +```rust + fn clip(self: @Tensor, min: T, max: T) -> Tensor; +``` + +Clip operator limits the given input within an interval. + +## Args + +* `self`(`@Tensor`) - Input tensor whose elements to be clipped. +* `min`(`Option`) - Minimum value, under which element is replaced by min. +* `max`(`Option`) - Maximum value, above which element is replaced by max. + +## Returns + +Output `Tensor` with clipped input elements. + +## Example + +```rust +use array::{ArrayTrait, SpanTrait}; + +use orion::operators::tensor::{TensorTrait, Tensor, U32Tensor}; + +fn clip_example() -> Tensor { + let tensor = TensorTrait::::new( + shape: array![2, 3].span(), + data: array![[ 1, 2, 3],[4, 5, 6]].span(), + ); + + return tensor.clip( + min: Option::None(()), + max: Option::Some(3), + ); +} +>>> [[1. 2. 3.] + [3. 3. 3.]] +``` diff --git a/nodegen/node/clip.py b/nodegen/node/clip.py new file mode 100644 index 000000000..90cab026f --- /dev/null +++ b/nodegen/node/clip.py @@ -0,0 +1,155 @@ +import numpy as np +from nodegen.node import RunAll +from ..helpers import make_node, make_test, to_fp, Tensor, Dtype, FixedImpl + + +class Clip(RunAll): + @staticmethod + def clip_u32(): + def clip_2D(): + x = np.random.randint(0, 255, (2, 4)).astype(np.uint32) + y = np.clip(x, np.uint32(10), np.uint32(20)) + + x = Tensor(Dtype.U32, x.shape, x.flatten()) + y = Tensor(Dtype.U32, y.shape, y.flatten()) + + name = "clip_u32_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(u32 { mag: 10, sign: false }), Option::Some(u32 { mag: 20, sign: false }))", name) + + def clip_3D(): + x = np.random.randint(0, 255, (20, 10, 5)).astype(np.uint32) + y = np.clip(x, np.uint32(10), np.uint32(20)) + + x = Tensor(Dtype.U32, x.shape, x.flatten()) + y = Tensor(Dtype.U32, y.shape, y.flatten()) + + name = "clip_u32_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(u32 { mag: 10, sign: false }), Option::Some(u32 { mag: 20, sign: false }))", name) + + clip_2D() + clip_3D() + + @staticmethod + def clip_i32(): + def clip_2D(): + x = np.random.randint(-127, 127, (2, 4)).astype(np.int32) + y = np.clip(x, np.int32(-10), np.int32(20)) + + x = Tensor(Dtype.I32, x.shape, x.flatten()) + y = Tensor(Dtype.I32, y.shape, y.flatten()) + + name = "clip_i32_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(i32 { mag: 10, sign: true }), Option::Some(i32 { mag: 20, sign: false }))", name) + + def clip_3D(): + x = np.random.randint(-127, 127, (20, 10, 5)).astype(np.int32) + y = np.clip(x, np.int32(-10), np.int32(20)) + + x = Tensor(Dtype.I32, x.shape, x.flatten()) + y = Tensor(Dtype.I32, y.shape, y.flatten()) + + name = "clip_i32_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(i32 { mag: 10, sign: true }), Option::Some(i32 { mag: 20, sign: false }))", name) + + + clip_2D() + clip_3D() + + @staticmethod + def clip_i8(): + def clip_2D(): + x = np.random.randint(-127, 127, (2, 4)).astype(np.int8) + y = np.clip(x, np.int8(-10), np.int8(20)) + + x = Tensor(Dtype.I8, x.shape, x.flatten()) + y = Tensor(Dtype.I8, y.shape, y.flatten()) + + name = "clip_i8_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(i8 { mag: 10, sign: true }), Option::Some(i8 { mag: 20, sign: false }))", name) + + def clip_3D(): + x = np.random.randint(-127, 127, (20, 10, 5)).astype(np.int8) + y = np.clip(x, np.int8(-10), np.int8(20)) + + x = Tensor(Dtype.I8, x.shape, x.flatten()) + y = Tensor(Dtype.I8, y.shape, y.flatten()) + + name = "clip_i8_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(i8 { mag: 10, sign: true }), Option::Some(i8 { mag: 20, sign: false }))", name) + + clip_2D() + clip_3D() + + @staticmethod + def clip_fp8x23(): + def clip_2D(): + x = to_fp(np.random.randint(-127, 127, (2, 4) + ).astype(np.int64), FixedImpl.FP8x23) + y = np.clip(x, to_fp(np.int64(-10), FixedImpl.FP8x23), to_fp(np.int64(20), FixedImpl.FP8x23)) + + x = Tensor(Dtype.FP8x23, x.shape, x.flatten()) + y = Tensor(Dtype.FP8x23, y.shape, y.flatten()) + + name = "clip_fp8x23_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(FP8x23 { mag: 83886080, sign: true }), Option::Some(FP8x23 { mag: 167772160, sign: false }))", name) + + def clip_3D(): + x = to_fp(np.random.randint(-127, 127, (20, 10, 5) + ).astype(np.int64), FixedImpl.FP8x23) + y = np.clip(x, to_fp(np.int64(-10), FixedImpl.FP8x23), to_fp(np.int64(20), FixedImpl.FP8x23)) + + x = Tensor(Dtype.FP8x23, x.shape, x.flatten()) + y = Tensor(Dtype.FP8x23, y.shape, y.flatten()) + + name = "clip_fp8x23_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(FP8x23 { mag: 83886080, sign: true }), Option::Some(FP8x23 { mag: 167772160, sign: false }))", name) + + clip_2D() + clip_3D() + + @staticmethod + def clip_fp16x16(): + def clip_2D(): + x = to_fp(np.random.randint(-127, 127, (2, 4) + ).astype(np.int64), FixedImpl.FP16x16) + y = np.clip(x, to_fp(np.int64(-10), FixedImpl.FP16x16), to_fp(np.int64(20), FixedImpl.FP16x16)) + + x = Tensor(Dtype.FP16x16, x.shape, x.flatten()) + y = Tensor(Dtype.FP16x16, y.shape, y.flatten()) + + name = "clip_fp16x16_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(FP16x16 { mag: 655360, sign: true }), Option::Some(FP16x16 { mag: 1310720, sign: false }))", name) + + def clip_3D(): + x = to_fp(np.random.randint(-127, 127, (20, 10, 5) + ).astype(np.int64), FixedImpl.FP16x16) + y = np.clip(x, to_fp(np.int64(-10), FixedImpl.FP16x16), to_fp(np.int64(20), FixedImpl.FP16x16)) + + x = Tensor(Dtype.FP16x16, x.shape, x.flatten()) + y = Tensor(Dtype.FP16x16, y.shape, y.flatten()) + + name = "clip_fp16x16_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.clip(Option::Some(FP16x16 { mag: 655360, sign: true }), Option::Some(FP16x16 { mag: 1310720, sign: false }))", name) + + clip_2D() + clip_3D() diff --git a/src/operators/tensor/core.cairo b/src/operators/tensor/core.cairo index e7eea84e0..c0627803c 100644 --- a/src/operators/tensor/core.cairo +++ b/src/operators/tensor/core.cairo @@ -2597,6 +2597,47 @@ trait TensorTrait { self: @Tensor, axes: Option> ) -> Tensor; + /// # tensor.clip + /// + /// ```rust + /// fn clip(self: @Tensor, min: T, max: T) -> Tensor; + /// ``` + /// + /// Clip operator limits the given input within an interval. + /// + /// ## Args + /// + /// * `self`(`@Tensor`) - Input tensor whose elements to be clipped. + /// * `min`(`Option`) - Minimum value, under which element is replaced by min. + /// * `max`(`Option`) - Maximum value, above which element is replaced by max. + /// + /// ## Returns + /// + /// Output `Tensor` with clipped input elements. + /// + /// ## Example + /// + /// ```rust + /// use array::{ArrayTrait, SpanTrait}; + /// + /// use orion::operators::tensor::{TensorTrait, Tensor, U32Tensor}; + /// + /// fn clip_example() -> Tensor { + /// let tensor = TensorTrait::::new( + /// shape: array![2, 3].span(), + /// data: array![[ 1, 2, 3],[4, 5, 6]].span(), + /// ); + /// + /// return tensor.clip( + /// min: Option::None(()), + /// max: Option::Some(3), + /// ); + /// } + /// >>> [[1. 2. 3.] + /// [3. 3. 3.]] + /// ``` + /// + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor; } @@ -3079,3 +3120,42 @@ fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { return Tensor:: { shape: output_shape.span(), data: *self.data }; } +/// Cf: TensorTrait::clip docstring +fn clip, impl TDrop: Drop, impl TTensor: TensorTrait, impl TPartialOrd: PartialOrd, impl TNumber: NumberTrait>(self: @Tensor, min: Option, max: Option) -> Tensor { + let min = match min { + Option::Some(min) => min, + Option::None(_) => { + NumberTrait::min_value() + }, + }; + let max = match max { + Option::Some(max) => max, + Option::None(_) => { + NumberTrait::max_value() + }, + }; + + let mut return_data: Array = ArrayTrait::new(); + let mut self_data_copy = *self.data; + + loop { + match self_data_copy.pop_front() { + Option::Some(val) => { + if *val < min { + return_data.append(min); + } + else if *val > max { + return_data.append(max); + } + else { + return_data.append(*val); + } + }, + Option::None(_) => { + break (); + } + }; + }; + + return Tensor:: {shape: *self.shape, data: return_data.span()}; +} diff --git a/src/operators/tensor/implementations/tensor_fp16x16.cairo b/src/operators/tensor/implementations/tensor_fp16x16.cairo index 949487435..a4605cc07 100644 --- a/src/operators/tensor/implementations/tensor_fp16x16.cairo +++ b/src/operators/tensor/implementations/tensor_fp16x16.cairo @@ -221,6 +221,10 @@ impl FP16x16Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_fp32x32.cairo b/src/operators/tensor/implementations/tensor_fp32x32.cairo index 8b0abb387..18b265199 100644 --- a/src/operators/tensor/implementations/tensor_fp32x32.cairo +++ b/src/operators/tensor/implementations/tensor_fp32x32.cairo @@ -222,6 +222,10 @@ impl FP32x32Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_fp64x64.cairo b/src/operators/tensor/implementations/tensor_fp64x64.cairo index f5cedc039..20f9f9c83 100644 --- a/src/operators/tensor/implementations/tensor_fp64x64.cairo +++ b/src/operators/tensor/implementations/tensor_fp64x64.cairo @@ -222,6 +222,10 @@ impl FP64x64Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_fp8x23.cairo b/src/operators/tensor/implementations/tensor_fp8x23.cairo index 520c84b19..ba9d57ed9 100644 --- a/src/operators/tensor/implementations/tensor_fp8x23.cairo +++ b/src/operators/tensor/implementations/tensor_fp8x23.cairo @@ -221,6 +221,10 @@ impl FP8x23Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_i32.cairo b/src/operators/tensor/implementations/tensor_i32.cairo index ec8584d00..151d53f2f 100644 --- a/src/operators/tensor/implementations/tensor_i32.cairo +++ b/src/operators/tensor/implementations/tensor_i32.cairo @@ -220,6 +220,10 @@ impl I32Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_i8.cairo b/src/operators/tensor/implementations/tensor_i8.cairo index 08720f55f..5641d9c90 100644 --- a/src/operators/tensor/implementations/tensor_i8.cairo +++ b/src/operators/tensor/implementations/tensor_i8.cairo @@ -219,6 +219,10 @@ impl I8Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/operators/tensor/implementations/tensor_u32.cairo b/src/operators/tensor/implementations/tensor_u32.cairo index 2e129b7c6..615dbb9f0 100644 --- a/src/operators/tensor/implementations/tensor_u32.cairo +++ b/src/operators/tensor/implementations/tensor_u32.cairo @@ -213,6 +213,10 @@ impl U32Tensor of TensorTrait { fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { core::unsqueeze(self, axes) } + + fn clip(self: @Tensor, min: Option, max: Option) -> Tensor { + core::clip(self, min, max) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/tests.cairo b/src/tests.cairo index e1e2e893f..dfaf9eda7 100644 --- a/src/tests.cairo +++ b/src/tests.cairo @@ -1,6 +1,6 @@ mod numbers; mod performance; mod tensor_core; -// mod nodes; +mod nodes; mod helpers; mod ml; \ No newline at end of file diff --git a/src/tests/nodes.cairo b/src/tests/nodes.cairo index dd9e793e8..3704c5650 100644 --- a/src/tests/nodes.cairo +++ b/src/tests/nodes.cairo @@ -418,3 +418,13 @@ mod unsqueeze_i8_2d; mod unsqueeze_i8_3d; mod unsqueeze_u32_2d; mod unsqueeze_u32_3d; +mod clip_fp16x16_2d; +mod clip_fp16x16_3d; +mod clip_fp8x23_2d; +mod clip_fp8x23_3d; +mod clip_i32_2d; +mod clip_i32_3d; +mod clip_i8_2d; +mod clip_i8_3d; +mod clip_u32_2d; +mod clip_u32_3d; diff --git a/src/tests/nodes/clip_fp16x16_2d.cairo b/src/tests/nodes/clip_fp16x16_2d.cairo new file mode 100644 index 000000000..57df7a7b0 --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_2d.cairo @@ -0,0 +1,22 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::FP16x16Tensor; +use orion::operators::tensor::FP16x16TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +#[test] +#[available_gas(2000000000)] +fn test_clip_fp16x16_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(FP16x16 { mag: 655360, sign: true }), Option::Some(FP16x16 { mag: 1310720, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp16x16_2d/input_0.cairo b/src/tests/nodes/clip_fp16x16_2d/input_0.cairo new file mode 100644 index 000000000..108bf00ab --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_2d/input_0.cairo @@ -0,0 +1,22 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP16x16Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp16x16_2d/output_0.cairo b/src/tests/nodes/clip_fp16x16_2d/output_0.cairo new file mode 100644 index 000000000..a8d88ca21 --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_2d/output_0.cairo @@ -0,0 +1,22 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP16x16Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp16x16_3d.cairo b/src/tests/nodes/clip_fp16x16_3d.cairo new file mode 100644 index 000000000..deb9b2d77 --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_3d.cairo @@ -0,0 +1,22 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::FP16x16Tensor; +use orion::operators::tensor::FP16x16TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +#[test] +#[available_gas(2000000000)] +fn test_clip_fp16x16_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(FP16x16 { mag: 655360, sign: true }), Option::Some(FP16x16 { mag: 1310720, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp16x16_3d/input_0.cairo b/src/tests/nodes/clip_fp16x16_3d/input_0.cairo new file mode 100644 index 000000000..835eeff95 --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_3d/input_0.cairo @@ -0,0 +1,1015 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP16x16Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 983040, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: false }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 1507328, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 983040, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 7405568, sign: false }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 983040, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 2031616, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 5046272, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 6815744, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp16x16_3d/output_0.cairo b/src/tests/nodes/clip_fp16x16_3d/output_0.cairo new file mode 100644 index 000000000..98831cb79 --- /dev/null +++ b/src/tests/nodes/clip_fp16x16_3d/output_0.cairo @@ -0,0 +1,1015 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP16x16Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP16x16; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 786432, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_2d.cairo b/src/tests/nodes/clip_fp8x23_2d.cairo new file mode 100644 index 000000000..c7bc9a65c --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_2d.cairo @@ -0,0 +1,22 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::FP8x23Tensor; +use orion::operators::tensor::FP8x23TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +#[test] +#[available_gas(2000000000)] +fn test_clip_fp8x23_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(FP8x23 { mag: 83886080, sign: true }), Option::Some(FP8x23 { mag: 167772160, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_2d/input_0.cairo b/src/tests/nodes/clip_fp8x23_2d/input_0.cairo new file mode 100644 index 000000000..6d751deea --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_2d/input_0.cairo @@ -0,0 +1,22 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP8x23Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_2d/output_0.cairo b/src/tests/nodes/clip_fp8x23_2d/output_0.cairo new file mode 100644 index 000000000..32464ec22 --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_2d/output_0.cairo @@ -0,0 +1,22 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP8x23Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_3d.cairo b/src/tests/nodes/clip_fp8x23_3d.cairo new file mode 100644 index 000000000..73872e286 --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_3d.cairo @@ -0,0 +1,22 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::FP8x23Tensor; +use orion::operators::tensor::FP8x23TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +#[test] +#[available_gas(2000000000)] +fn test_clip_fp8x23_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(FP8x23 { mag: 83886080, sign: true }), Option::Some(FP8x23 { mag: 167772160, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_3d/input_0.cairo b/src/tests/nodes/clip_fp8x23_3d/input_0.cairo new file mode 100644 index 000000000..7974dfc98 --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_3d/input_0.cairo @@ -0,0 +1,1015 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP8x23Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 763363328, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 746586112, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 763363328, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 1048576000, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 318767104, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 746586112, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 763363328, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_fp8x23_3d/output_0.cairo b/src/tests/nodes/clip_fp8x23_3d/output_0.cairo new file mode 100644 index 000000000..b16a07544 --- /dev/null +++ b/src/tests/nodes/clip_fp8x23_3d/output_0.cairo @@ -0,0 +1,1015 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::FP8x23Tensor; +use orion::numbers::FixedTrait; +use orion::numbers::FP8x23; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_2d.cairo b/src/tests/nodes/clip_i32_2d.cairo new file mode 100644 index 000000000..0d5cfdd4b --- /dev/null +++ b/src/tests/nodes/clip_i32_2d.cairo @@ -0,0 +1,21 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::I32Tensor; +use orion::operators::tensor::I32TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::signed_integer::i32::{i32, IntegerTrait}; + +#[test] +#[available_gas(2000000000)] +fn test_clip_i32_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(i32 { mag: 10, sign: true }), Option::Some(i32 { mag: 20, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_2d/input_0.cairo b/src/tests/nodes/clip_i32_2d/input_0.cairo new file mode 100644 index 000000000..853ac2c6d --- /dev/null +++ b/src/tests/nodes/clip_i32_2d/input_0.cairo @@ -0,0 +1,21 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I32Tensor; +use orion::numbers::{IntegerTrait, i32}; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 50, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_2d/output_0.cairo b/src/tests/nodes/clip_i32_2d/output_0.cairo new file mode 100644 index 000000000..0924628c1 --- /dev/null +++ b/src/tests/nodes/clip_i32_2d/output_0.cairo @@ -0,0 +1,21 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I32Tensor; +use orion::numbers::{IntegerTrait, i32}; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_3d.cairo b/src/tests/nodes/clip_i32_3d.cairo new file mode 100644 index 000000000..542b6023e --- /dev/null +++ b/src/tests/nodes/clip_i32_3d.cairo @@ -0,0 +1,21 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::I32Tensor; +use orion::operators::tensor::I32TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::signed_integer::i32::{i32, IntegerTrait}; + +#[test] +#[available_gas(2000000000)] +fn test_clip_i32_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(i32 { mag: 10, sign: true }), Option::Some(i32 { mag: 20, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_3d/input_0.cairo b/src/tests/nodes/clip_i32_3d/input_0.cairo new file mode 100644 index 000000000..344f8a109 --- /dev/null +++ b/src/tests/nodes/clip_i32_3d/input_0.cairo @@ -0,0 +1,1014 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I32Tensor; +use orion::numbers::{IntegerTrait, i32}; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 79, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 79, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 51, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 51, sign: false }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 99, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 18, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 26, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 95, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 90, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 99, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 76, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 107, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 79, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 51, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 76, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 89, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 53, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 90, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 89, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 90, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 99, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 85, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 89, sign: true }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 107, sign: false }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 76, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 81, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i32_3d/output_0.cairo b/src/tests/nodes/clip_i32_3d/output_0.cairo new file mode 100644 index 000000000..e526970b0 --- /dev/null +++ b/src/tests/nodes/clip_i32_3d/output_0.cairo @@ -0,0 +1,1014 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I32Tensor; +use orion::numbers::{IntegerTrait, i32}; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 10, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_2d.cairo b/src/tests/nodes/clip_i8_2d.cairo new file mode 100644 index 000000000..268fef895 --- /dev/null +++ b/src/tests/nodes/clip_i8_2d.cairo @@ -0,0 +1,21 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::I8Tensor; +use orion::operators::tensor::I8TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::signed_integer::i8::{i8, IntegerTrait}; + +#[test] +#[available_gas(2000000000)] +fn test_clip_i8_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(i8 { mag: 10, sign: true }), Option::Some(i8 { mag: 20, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_2d/input_0.cairo b/src/tests/nodes/clip_i8_2d/input_0.cairo new file mode 100644 index 000000000..55ef65faa --- /dev/null +++ b/src/tests/nodes/clip_i8_2d/input_0.cairo @@ -0,0 +1,21 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I8Tensor; +use orion::numbers::{IntegerTrait, i8}; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 21, sign: true }); + data.append(i8 { mag: 71, sign: false }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 47, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_2d/output_0.cairo b/src/tests/nodes/clip_i8_2d/output_0.cairo new file mode 100644 index 000000000..135ccfb45 --- /dev/null +++ b/src/tests/nodes/clip_i8_2d/output_0.cairo @@ -0,0 +1,21 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I8Tensor; +use orion::numbers::{IntegerTrait, i8}; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_3d.cairo b/src/tests/nodes/clip_i8_3d.cairo new file mode 100644 index 000000000..8564d1e85 --- /dev/null +++ b/src/tests/nodes/clip_i8_3d.cairo @@ -0,0 +1,21 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::I8Tensor; +use orion::operators::tensor::I8TensorPartialEq; +use orion::utils::assert_eq; +use orion::numbers::signed_integer::i8::{i8, IntegerTrait}; + +#[test] +#[available_gas(2000000000)] +fn test_clip_i8_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(i8 { mag: 10, sign: true }), Option::Some(i8 { mag: 20, sign: false })); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_3d/input_0.cairo b/src/tests/nodes/clip_i8_3d/input_0.cairo new file mode 100644 index 000000000..173698244 --- /dev/null +++ b/src/tests/nodes/clip_i8_3d/input_0.cairo @@ -0,0 +1,1014 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I8Tensor; +use orion::numbers::{IntegerTrait, i8}; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 79, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 87, sign: false }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 120, sign: true }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 60, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 106, sign: false }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 9, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 71, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 120, sign: true }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 45, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 79, sign: true }); + data.append(i8 { mag: 87, sign: false }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 121, sign: true }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 9, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 87, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 74, sign: true }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 112, sign: true }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 99, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 127, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 45, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 120, sign: true }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 45, sign: true }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 79, sign: true }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 121, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 28, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 106, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 124, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 106, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 74, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 71, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 79, sign: true }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 99, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 87, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 21, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 120, sign: true }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 99, sign: true }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 35, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 120, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 106, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 65, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 21, sign: true }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 87, sign: false }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 124, sign: true }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 25, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_i8_3d/output_0.cairo b/src/tests/nodes/clip_i8_3d/output_0.cairo new file mode 100644 index 000000000..d3fa92677 --- /dev/null +++ b/src/tests/nodes/clip_i8_3d/output_0.cairo @@ -0,0 +1,1014 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::I8Tensor; +use orion::numbers::{IntegerTrait, i8}; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 9, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 9, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 10, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_2d.cairo b/src/tests/nodes/clip_u32_2d.cairo new file mode 100644 index 000000000..1bf213ba8 --- /dev/null +++ b/src/tests/nodes/clip_u32_2d.cairo @@ -0,0 +1,20 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::U32Tensor; +use orion::operators::tensor::U32TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_clip_u32_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(10), Option::Some(20)); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_2d/input_0.cairo b/src/tests/nodes/clip_u32_2d/input_0.cairo new file mode 100644 index 000000000..f04e4584f --- /dev/null +++ b/src/tests/nodes/clip_u32_2d/input_0.cairo @@ -0,0 +1,20 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::U32Tensor; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(139); + data.append(156); + data.append(247); + data.append(79); + data.append(199); + data.append(238); + data.append(54); + data.append(139); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_2d/output_0.cairo b/src/tests/nodes/clip_u32_2d/output_0.cairo new file mode 100644 index 000000000..b6b276116 --- /dev/null +++ b/src/tests/nodes/clip_u32_2d/output_0.cairo @@ -0,0 +1,20 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::U32Tensor; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(2); + shape.append(4); + + let mut data = ArrayTrait::new(); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_3d.cairo b/src/tests/nodes/clip_u32_3d.cairo new file mode 100644 index 000000000..559248fc5 --- /dev/null +++ b/src/tests/nodes/clip_u32_3d.cairo @@ -0,0 +1,20 @@ +mod input_0; +mod output_0; + + +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::TensorTrait; +use orion::operators::tensor::U32Tensor; +use orion::operators::tensor::U32TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_clip_u32_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.clip(Option::Some(10), Option::Some(20)); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_3d/input_0.cairo b/src/tests/nodes/clip_u32_3d/input_0.cairo new file mode 100644 index 000000000..2f316a2a6 --- /dev/null +++ b/src/tests/nodes/clip_u32_3d/input_0.cairo @@ -0,0 +1,1013 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::U32Tensor; + +fn input_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(99); + data.append(46); + data.append(149); + data.append(119); + data.append(222); + data.append(27); + data.append(109); + data.append(180); + data.append(1); + data.append(176); + data.append(233); + data.append(202); + data.append(232); + data.append(179); + data.append(183); + data.append(195); + data.append(81); + data.append(38); + data.append(30); + data.append(153); + data.append(201); + data.append(91); + data.append(221); + data.append(203); + data.append(122); + data.append(228); + data.append(246); + data.append(123); + data.append(55); + data.append(38); + data.append(9); + data.append(206); + data.append(38); + data.append(191); + data.append(10); + data.append(188); + data.append(38); + data.append(179); + data.append(244); + data.append(75); + data.append(240); + data.append(88); + data.append(200); + data.append(121); + data.append(88); + data.append(155); + data.append(239); + data.append(221); + data.append(3); + data.append(214); + data.append(143); + data.append(23); + data.append(164); + data.append(174); + data.append(112); + data.append(219); + data.append(70); + data.append(254); + data.append(230); + data.append(98); + data.append(122); + data.append(13); + data.append(66); + data.append(15); + data.append(253); + data.append(225); + data.append(217); + data.append(6); + data.append(67); + data.append(144); + data.append(40); + data.append(193); + data.append(106); + data.append(222); + data.append(29); + data.append(100); + data.append(68); + data.append(49); + data.append(157); + data.append(163); + data.append(228); + data.append(193); + data.append(182); + data.append(233); + data.append(28); + data.append(227); + data.append(151); + data.append(226); + data.append(208); + data.append(148); + data.append(117); + data.append(220); + data.append(186); + data.append(20); + data.append(171); + data.append(36); + data.append(143); + data.append(64); + data.append(224); + data.append(152); + data.append(53); + data.append(140); + data.append(215); + data.append(152); + data.append(38); + data.append(19); + data.append(12); + data.append(127); + data.append(137); + data.append(7); + data.append(119); + data.append(249); + data.append(87); + data.append(108); + data.append(234); + data.append(230); + data.append(161); + data.append(131); + data.append(98); + data.append(210); + data.append(8); + data.append(97); + data.append(251); + data.append(6); + data.append(161); + data.append(182); + data.append(226); + data.append(251); + data.append(45); + data.append(219); + data.append(217); + data.append(99); + data.append(47); + data.append(137); + data.append(186); + data.append(150); + data.append(80); + data.append(206); + data.append(64); + data.append(60); + data.append(147); + data.append(137); + data.append(209); + data.append(77); + data.append(67); + data.append(192); + data.append(185); + data.append(31); + data.append(191); + data.append(155); + data.append(188); + data.append(227); + data.append(38); + data.append(227); + data.append(184); + data.append(164); + data.append(15); + data.append(179); + data.append(242); + data.append(38); + data.append(182); + data.append(132); + data.append(239); + data.append(180); + data.append(161); + data.append(26); + data.append(148); + data.append(143); + data.append(137); + data.append(132); + data.append(223); + data.append(63); + data.append(10); + data.append(155); + data.append(174); + data.append(13); + data.append(21); + data.append(244); + data.append(57); + data.append(234); + data.append(174); + data.append(249); + data.append(146); + data.append(7); + data.append(0); + data.append(67); + data.append(84); + data.append(210); + data.append(152); + data.append(80); + data.append(25); + data.append(0); + data.append(168); + data.append(61); + data.append(136); + data.append(227); + data.append(120); + data.append(25); + data.append(69); + data.append(149); + data.append(225); + data.append(163); + data.append(139); + data.append(120); + data.append(243); + data.append(223); + data.append(147); + data.append(120); + data.append(145); + data.append(73); + data.append(148); + data.append(149); + data.append(237); + data.append(106); + data.append(127); + data.append(216); + data.append(124); + data.append(44); + data.append(36); + data.append(137); + data.append(160); + data.append(221); + data.append(229); + data.append(215); + data.append(213); + data.append(5); + data.append(235); + data.append(23); + data.append(111); + data.append(111); + data.append(1); + data.append(85); + data.append(225); + data.append(112); + data.append(100); + data.append(36); + data.append(114); + data.append(39); + data.append(72); + data.append(84); + data.append(11); + data.append(80); + data.append(117); + data.append(35); + data.append(29); + data.append(33); + data.append(15); + data.append(184); + data.append(113); + data.append(172); + data.append(147); + data.append(80); + data.append(230); + data.append(195); + data.append(103); + data.append(54); + data.append(236); + data.append(236); + data.append(107); + data.append(129); + data.append(84); + data.append(19); + data.append(2); + data.append(76); + data.append(235); + data.append(211); + data.append(79); + data.append(78); + data.append(83); + data.append(84); + data.append(202); + data.append(115); + data.append(212); + data.append(186); + data.append(132); + data.append(238); + data.append(223); + data.append(33); + data.append(101); + data.append(189); + data.append(31); + data.append(46); + data.append(32); + data.append(94); + data.append(24); + data.append(158); + data.append(144); + data.append(208); + data.append(121); + data.append(74); + data.append(135); + data.append(244); + data.append(176); + data.append(199); + data.append(116); + data.append(177); + data.append(51); + data.append(164); + data.append(93); + data.append(138); + data.append(60); + data.append(15); + data.append(46); + data.append(252); + data.append(102); + data.append(3); + data.append(184); + data.append(221); + data.append(1); + data.append(242); + data.append(224); + data.append(21); + data.append(143); + data.append(53); + data.append(130); + data.append(93); + data.append(186); + data.append(31); + data.append(105); + data.append(164); + data.append(59); + data.append(104); + data.append(198); + data.append(66); + data.append(175); + data.append(207); + data.append(189); + data.append(30); + data.append(8); + data.append(114); + data.append(96); + data.append(166); + data.append(247); + data.append(228); + data.append(235); + data.append(19); + data.append(169); + data.append(191); + data.append(76); + data.append(167); + data.append(156); + data.append(175); + data.append(3); + data.append(120); + data.append(171); + data.append(161); + data.append(100); + data.append(236); + data.append(171); + data.append(101); + data.append(215); + data.append(18); + data.append(74); + data.append(144); + data.append(50); + data.append(21); + data.append(227); + data.append(42); + data.append(100); + data.append(90); + data.append(216); + data.append(67); + data.append(90); + data.append(220); + data.append(170); + data.append(145); + data.append(36); + data.append(213); + data.append(150); + data.append(38); + data.append(171); + data.append(172); + data.append(62); + data.append(254); + data.append(67); + data.append(159); + data.append(132); + data.append(83); + data.append(30); + data.append(206); + data.append(140); + data.append(0); + data.append(59); + data.append(19); + data.append(223); + data.append(137); + data.append(108); + data.append(252); + data.append(105); + data.append(124); + data.append(185); + data.append(44); + data.append(5); + data.append(152); + data.append(217); + data.append(142); + data.append(58); + data.append(182); + data.append(246); + data.append(204); + data.append(192); + data.append(195); + data.append(63); + data.append(111); + data.append(130); + data.append(241); + data.append(245); + data.append(83); + data.append(77); + data.append(161); + data.append(122); + data.append(4); + data.append(89); + data.append(130); + data.append(188); + data.append(97); + data.append(205); + data.append(165); + data.append(16); + data.append(198); + data.append(71); + data.append(114); + data.append(166); + data.append(251); + data.append(148); + data.append(39); + data.append(190); + data.append(26); + data.append(95); + data.append(228); + data.append(9); + data.append(133); + data.append(253); + data.append(116); + data.append(113); + data.append(2); + data.append(232); + data.append(46); + data.append(177); + data.append(18); + data.append(144); + data.append(9); + data.append(158); + data.append(140); + data.append(63); + data.append(194); + data.append(50); + data.append(217); + data.append(151); + data.append(90); + data.append(171); + data.append(231); + data.append(150); + data.append(66); + data.append(46); + data.append(172); + data.append(137); + data.append(63); + data.append(21); + data.append(232); + data.append(135); + data.append(127); + data.append(144); + data.append(10); + data.append(53); + data.append(248); + data.append(120); + data.append(248); + data.append(126); + data.append(185); + data.append(254); + data.append(73); + data.append(149); + data.append(38); + data.append(132); + data.append(249); + data.append(182); + data.append(174); + data.append(251); + data.append(181); + data.append(178); + data.append(84); + data.append(212); + data.append(51); + data.append(24); + data.append(210); + data.append(223); + data.append(130); + data.append(142); + data.append(11); + data.append(55); + data.append(163); + data.append(185); + data.append(202); + data.append(37); + data.append(151); + data.append(100); + data.append(24); + data.append(28); + data.append(252); + data.append(102); + data.append(13); + data.append(11); + data.append(226); + data.append(112); + data.append(242); + data.append(202); + data.append(203); + data.append(235); + data.append(43); + data.append(23); + data.append(1); + data.append(30); + data.append(245); + data.append(136); + data.append(198); + data.append(74); + data.append(226); + data.append(143); + data.append(1); + data.append(25); + data.append(42); + data.append(145); + data.append(169); + data.append(114); + data.append(71); + data.append(137); + data.append(225); + data.append(18); + data.append(123); + data.append(228); + data.append(87); + data.append(23); + data.append(205); + data.append(121); + data.append(222); + data.append(42); + data.append(122); + data.append(124); + data.append(103); + data.append(202); + data.append(97); + data.append(85); + data.append(214); + data.append(149); + data.append(171); + data.append(222); + data.append(204); + data.append(202); + data.append(117); + data.append(134); + data.append(126); + data.append(50); + data.append(84); + data.append(143); + data.append(110); + data.append(223); + data.append(77); + data.append(243); + data.append(173); + data.append(115); + data.append(79); + data.append(74); + data.append(119); + data.append(26); + data.append(192); + data.append(249); + data.append(237); + data.append(161); + data.append(7); + data.append(163); + data.append(7); + data.append(232); + data.append(159); + data.append(247); + data.append(154); + data.append(169); + data.append(93); + data.append(212); + data.append(57); + data.append(52); + data.append(121); + data.append(124); + data.append(120); + data.append(210); + data.append(77); + data.append(145); + data.append(159); + data.append(104); + data.append(37); + data.append(83); + data.append(210); + data.append(73); + data.append(40); + data.append(156); + data.append(2); + data.append(40); + data.append(31); + data.append(77); + data.append(163); + data.append(222); + data.append(92); + data.append(78); + data.append(223); + data.append(208); + data.append(198); + data.append(167); + data.append(88); + data.append(24); + data.append(59); + data.append(206); + data.append(247); + data.append(157); + data.append(207); + data.append(100); + data.append(181); + data.append(101); + data.append(80); + data.append(107); + data.append(54); + data.append(110); + data.append(242); + data.append(183); + data.append(194); + data.append(118); + data.append(41); + data.append(36); + data.append(192); + data.append(224); + data.append(97); + data.append(182); + data.append(239); + data.append(90); + data.append(159); + data.append(115); + data.append(198); + data.append(22); + data.append(181); + data.append(192); + data.append(46); + data.append(246); + data.append(122); + data.append(64); + data.append(12); + data.append(231); + data.append(229); + data.append(35); + data.append(105); + data.append(80); + data.append(213); + data.append(251); + data.append(223); + data.append(140); + data.append(160); + data.append(231); + data.append(232); + data.append(11); + data.append(244); + data.append(82); + data.append(224); + data.append(105); + data.append(119); + data.append(196); + data.append(190); + data.append(167); + data.append(189); + data.append(120); + data.append(30); + data.append(213); + data.append(151); + data.append(43); + data.append(242); + data.append(18); + data.append(50); + data.append(183); + data.append(172); + data.append(186); + data.append(70); + data.append(119); + data.append(148); + data.append(82); + data.append(102); + data.append(199); + data.append(155); + data.append(82); + data.append(95); + data.append(35); + data.append(50); + data.append(53); + data.append(10); + data.append(234); + data.append(5); + data.append(153); + data.append(13); + data.append(4); + data.append(184); + data.append(67); + data.append(104); + data.append(82); + data.append(136); + data.append(103); + data.append(226); + data.append(27); + data.append(10); + data.append(27); + data.append(77); + data.append(73); + data.append(139); + data.append(139); + data.append(22); + data.append(175); + data.append(4); + data.append(7); + data.append(185); + data.append(218); + data.append(35); + data.append(181); + data.append(3); + data.append(168); + data.append(68); + data.append(239); + data.append(77); + data.append(206); + data.append(113); + data.append(120); + data.append(2); + data.append(0); + data.append(244); + data.append(55); + data.append(227); + data.append(210); + data.append(42); + data.append(16); + data.append(127); + data.append(1); + data.append(87); + data.append(237); + data.append(164); + data.append(25); + data.append(173); + data.append(231); + data.append(174); + data.append(219); + data.append(2); + data.append(16); + data.append(33); + data.append(53); + data.append(129); + data.append(102); + data.append(234); + data.append(104); + data.append(83); + data.append(139); + data.append(75); + data.append(41); + data.append(172); + data.append(134); + data.append(175); + data.append(185); + data.append(17); + data.append(134); + data.append(35); + data.append(69); + data.append(27); + data.append(99); + data.append(77); + data.append(46); + data.append(211); + data.append(14); + data.append(8); + data.append(4); + data.append(244); + data.append(199); + data.append(219); + data.append(226); + data.append(17); + data.append(175); + data.append(144); + data.append(206); + data.append(130); + data.append(24); + data.append(157); + data.append(20); + data.append(69); + data.append(27); + data.append(253); + data.append(10); + data.append(174); + data.append(160); + data.append(186); + data.append(92); + data.append(30); + data.append(192); + data.append(215); + data.append(237); + data.append(182); + data.append(245); + data.append(50); + data.append(91); + data.append(172); + data.append(123); + data.append(36); + data.append(218); + data.append(221); + data.append(48); + data.append(205); + data.append(43); + data.append(151); + data.append(65); + data.append(98); + data.append(115); + data.append(0); + data.append(238); + data.append(244); + data.append(230); + data.append(158); + data.append(185); + data.append(152); + data.append(173); + data.append(72); + data.append(58); + data.append(204); + data.append(146); + data.append(18); + data.append(236); + data.append(17); + data.append(193); + data.append(126); + data.append(142); + data.append(62); + data.append(220); + data.append(254); + data.append(167); + data.append(241); + data.append(97); + data.append(34); + data.append(207); + data.append(57); + data.append(42); + data.append(120); + data.append(79); + data.append(19); + data.append(204); + data.append(237); + data.append(124); + data.append(37); + data.append(137); + data.append(184); + data.append(36); + data.append(167); + data.append(174); + data.append(29); + data.append(102); + data.append(13); + data.append(246); + data.append(5); + data.append(17); + data.append(179); + data.append(1); + data.append(240); + data.append(46); + data.append(96); + data.append(181); + data.append(141); + data.append(107); + data.append(58); + data.append(50); + data.append(226); + data.append(122); + data.append(145); + data.append(169); + data.append(178); + data.append(35); + data.append(192); + data.append(229); + data.append(244); + data.append(90); + data.append(2); + data.append(22); + data.append(20); + data.append(153); + data.append(183); + data.append(182); + data.append(19); + data.append(80); + data.append(220); + data.append(173); + data.append(143); + data.append(215); + data.append(34); + data.append(34); + data.append(104); + data.append(178); + data.append(111); + data.append(133); + data.append(222); + data.append(116); + data.append(137); + data.append(81); + data.append(108); + data.append(212); + data.append(45); + data.append(100); + data.append(161); + data.append(100); + data.append(14); + data.append(170); + data.append(50); + data.append(146); + data.append(220); + data.append(112); + data.append(243); + data.append(235); + data.append(48); + data.append(98); + data.append(219); + data.append(134); + data.append(143); + data.append(74); + data.append(17); + data.append(108); + data.append(101); + data.append(178); + data.append(129); + data.append(236); + data.append(33); + data.append(178); + data.append(71); + data.append(157); + data.append(115); + data.append(177); + data.append(246); + data.append(96); + data.append(108); + data.append(61); + data.append(97); + data.append(218); + data.append(216); + data.append(12); + data.append(10); + data.append(187); + data.append(193); + data.append(193); + data.append(101); + data.append(0); + data.append(152); + data.append(128); + data.append(40); + data.append(95); + data.append(27); + data.append(123); + data.append(202); + data.append(157); + data.append(19); + data.append(210); + data.append(210); + data.append(4); + data.append(229); + data.append(235); + data.append(3); + data.append(29); + data.append(164); + data.append(24); + data.append(91); + data.append(22); + data.append(148); + data.append(5); + data.append(173); + data.append(249); + data.append(223); + data.append(20); + data.append(80); + data.append(249); + data.append(219); + data.append(196); + data.append(25); + data.append(121); + data.append(133); + data.append(60); + data.append(124); + data.append(136); + data.append(125); + data.append(140); + data.append(245); + data.append(52); + data.append(124); + data.append(19); + data.append(58); + data.append(216); + data.append(84); + data.append(180); + data.append(52); + data.append(7); + data.append(204); + data.append(108); + data.append(1); + data.append(25); + data.append(74); + data.append(146); + data.append(49); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/clip_u32_3d/output_0.cairo b/src/tests/nodes/clip_u32_3d/output_0.cairo new file mode 100644 index 000000000..85d0f3c99 --- /dev/null +++ b/src/tests/nodes/clip_u32_3d/output_0.cairo @@ -0,0 +1,1013 @@ +use array::{ArrayTrait, SpanTrait}; +use orion::operators::tensor::{TensorTrait, Tensor}; +use orion::operators::tensor::U32Tensor; + +fn output_0() -> Tensor { + let mut shape = ArrayTrait::::new(); + shape.append(20); + shape.append(10); + shape.append(5); + + let mut data = ArrayTrait::new(); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(13); + data.append(20); + data.append(15); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(12); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(15); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(13); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(11); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(15); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(15); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(18); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(16); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(18); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(11); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(13); + data.append(11); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(18); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(12); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(11); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(18); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(10); + data.append(20); + data.append(13); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(16); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(16); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(17); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(14); + data.append(10); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(17); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(18); + data.append(20); + data.append(17); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(13); + data.append(20); + data.append(10); + data.append(17); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(14); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(17); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(12); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(19); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(10); + data.append(20); + data.append(20); + data.append(20); + data.append(20); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file From db7c2ce67428ebc4c6b980377d0bab5e1665adee Mon Sep 17 00:00:00 2001 From: raphaelDkhn Date: Fri, 6 Oct 2023 15:08:49 +0200 Subject: [PATCH 2/2] Update SUMMARY.md --- docs/SUMMARY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 405604e46..78f930152 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -82,6 +82,7 @@ * [tensor.nonzero](framework/operators/tensor/tensor.nonzero.md) * [tensor.squeeze](framework/operators/tensor/tensor.squeeze.md) * [tensor.unsqueeze](framework/operators/tensor/tensor.unsqueeze.md) + * [tensor.clip](framework/operators/tensor/tensor.clip.md) * [Neural Network](framework/operators/neural-network/README.md) * [nn.relu](framework/operators/neural-network/nn.relu.md) * [nn.leaky\_relu](framework/operators/neural-network/nn.leaky\_relu.md)