diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 5996ef13c..c6327523c 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -80,6 +80,7 @@ * [tensor.quantize\_linear](framework/operators/tensor/tensor.quantize\_linear.md) * [tensor.dequantize\_linear](framework/operators/tensor/tensor.dequantize\_linear.md) * [tensor.nonzero](framework/operators/tensor/tensor.nonzero.md) + * [tensor.unsqueeze](framework/operators/tensor/tensor.unsqueeze.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) diff --git a/docs/framework/compatibility.md b/docs/framework/compatibility.md index d7dc544df..33287574f 100644 --- a/docs/framework/compatibility.md +++ b/docs/framework/compatibility.md @@ -53,5 +53,6 @@ You can see below the list of current supported ONNX Operators: | [QuantizeLinear](operators/tensor/tensor.quantize\_linear.md) | :white\_check\_mark: | | [DequantizeLinear](operators/tensor/tensor.quantize\_linear.md) | :white\_check\_mark: | | [Nonzero](operators/tensor/tensor.nonzero.md) | :white\_check\_mark: | +| [Unsqueeze](operators/tensor/tensor.unsqueeze.md) | :white\_check\_mark: | -Current Operators support: **45/156 (29%)** +Current Operators support: **48/156 (30%)** diff --git a/docs/framework/operators/tensor/README.md b/docs/framework/operators/tensor/README.md index d9ff7e9b0..1197212b3 100644 --- a/docs/framework/operators/tensor/README.md +++ b/docs/framework/operators/tensor/README.md @@ -78,6 +78,7 @@ use orion::operators::tensor::TensorTrait; | [`tensor.dequantize_linear`](tensor.dequantize\_linear.md) | Dequantizes an i8 Tensor using linear dequantization. | | [`tensor.gather`](tensor.gather.md) | Gather entries of the axis dimension of data. | | [`tensor.nonzero`](tensor.nonzero.md) | Produces indices of the elements that are non-zero (in row-major order - by dimension). | +| [`tensor.unsqueeze`](tensor.unsqueeze.md) | Inserts single-dimensional entries to the shape of an input tensor. | ## Arithmetic Operations diff --git a/docs/framework/operators/tensor/tensor.unsqueeze.md b/docs/framework/operators/tensor/tensor.unsqueeze.md new file mode 100644 index 000000000..ba73743c0 --- /dev/null +++ b/docs/framework/operators/tensor/tensor.unsqueeze.md @@ -0,0 +1,51 @@ +# tensor.unsqueeze + +```rust + fn unsqueeze(self: @Tensor, axes: Span) -> Tensor; +``` + +Insert single-dimensional entries to the shape of an input tensor (data). Takes one required input axes - +which contains a list of dimension indices and this operator will insert a dimension of value 1 into the +corresponding index of the output tensor (expanded). + +## Args + +* `self`(`@Tensor`) - Tensor of data to unsquezee. +* `axes`(`Span`) - List of integers indicating the dimensions to be inserted. + +## Panics + +* Panics if the given axes have duplicate elements. +* Panics if one of the given axes is invalid. + +## Returns + +Reshaped `Tensor` with same data as input. + +## Example + +```rust +use array::{ArrayTrait, SpanTrait}; + +use orion::operators::tensor::{TensorTrait, Tensor, U32Tensor}; + +fn unsqueeze_example() -> Tensor { + let tensor = TensorTrait::::new( + shape: array![2, 4].span(), + data: array![0, 1, 2, 3, 4, 5, 6, 7].span(), + ); + + return tensor.unsqueeze( + axes: array![0, 3].span(), + ); +} +>>> [[[[0] + [1] + [2] + [3]] + + [[4] + [5] + [6] + [7]]]] +``` diff --git a/nodegen/node/unsqueeze.py b/nodegen/node/unsqueeze.py new file mode 100644 index 000000000..60c11024d --- /dev/null +++ b/nodegen/node/unsqueeze.py @@ -0,0 +1,175 @@ +import numpy as np +from nodegen.node import RunAll +from ..helpers import make_node, make_test, to_fp, Tensor, Dtype, FixedImpl + + +class Unsqueeze(RunAll): + @staticmethod + def unsqueeze_u32(): + def unsqueeze_2D(): + x = np.random.randint(0, 255, (2, 4)).astype(np.uint32) + y = np.expand_dims(x, axis=0) + y = np.expand_dims(y, axis=1) + y = np.expand_dims(y, axis=4) + + x = Tensor(Dtype.U32, x.shape, x.flatten()) + y = Tensor(Dtype.U32, y.shape, y.flatten()) + + name = "unsqueeze_u32_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![1, 4, 0].span())", name) + + def unsqueeze_3D(): + x = np.random.randint(0, 255, (20, 10, 5)).astype(np.uint32) + y = np.expand_dims(x, axis=2) + y = np.expand_dims(y, axis=4) + y = np.expand_dims(y, axis=5) + + x = Tensor(Dtype.U32, x.shape, x.flatten()) + y = Tensor(Dtype.U32, y.shape, y.flatten()) + + name = "unsqueeze_u32_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![5, 4, 2].span())", name) + + unsqueeze_2D() + unsqueeze_3D() + + @staticmethod + def unsqueeze_i32(): + def unsqueeze_2D(): + x = np.random.randint(-127, 127, (2, 4)).astype(np.int32) + y = np.expand_dims(x, axis=0) + y = np.expand_dims(y, axis=1) + y = np.expand_dims(y, axis=4) + + x = Tensor(Dtype.I32, x.shape, x.flatten()) + y = Tensor(Dtype.I32, y.shape, y.flatten()) + + name = "unsqueeze_i32_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![1, 4, 0].span())", name) + + def unsqueeze_3D(): + x = np.random.randint(-127, 127, (20, 10, 5)).astype(np.int32) + y = np.expand_dims(x, axis=2) + y = np.expand_dims(y, axis=4) + y = np.expand_dims(y, axis=5) + + x = Tensor(Dtype.I32, x.shape, x.flatten()) + y = Tensor(Dtype.I32, y.shape, y.flatten()) + + name = "unsqueeze_i32_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![5, 4, 2].span())", name) + + + unsqueeze_2D() + unsqueeze_3D() + + @staticmethod + def unsqueeze_i8(): + def unsqueeze_2D(): + x = np.random.randint(-127, 127, (2, 4)).astype(np.int8) + y = np.expand_dims(x, axis=0) + y = np.expand_dims(y, axis=1) + y = np.expand_dims(y, axis=4) + + x = Tensor(Dtype.I8, x.shape, x.flatten()) + y = Tensor(Dtype.I8, y.shape, y.flatten()) + + name = "unsqueeze_i8_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![1, 4, 0].span())", name) + + def unsqueeze_3D(): + x = np.random.randint(-127, 127, (20, 10, 5)).astype(np.int8) + y = np.expand_dims(x, axis=2) + y = np.expand_dims(y, axis=4) + y = np.expand_dims(y, axis=5) + + x = Tensor(Dtype.I8, x.shape, x.flatten()) + y = Tensor(Dtype.I8, y.shape, y.flatten()) + + name = "unsqueeze_i8_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![5, 4, 2].span())", name) + + unsqueeze_2D() + unsqueeze_3D() + + @staticmethod + def unsqueeze_fp8x23(): + def unsqueeze_2D(): + x = to_fp(np.random.randint(-127, 127, (2, 4) + ).astype(np.int64), FixedImpl.FP8x23) + y = np.expand_dims(x, axis=0) + y = np.expand_dims(y, axis=1) + y = np.expand_dims(y, axis=4) + + x = Tensor(Dtype.FP8x23, x.shape, x.flatten()) + y = Tensor(Dtype.FP8x23, y.shape, y.flatten()) + + name = "unsqueeze_fp8x23_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![1, 4, 0].span())", name) + + def unsqueeze_3D(): + x = to_fp(np.random.randint(-127, 127, (20, 10, 5) + ).astype(np.int64), FixedImpl.FP8x23) + y = np.expand_dims(x, axis=2) + y = np.expand_dims(y, axis=4) + y = np.expand_dims(y, axis=5) + + x = Tensor(Dtype.FP8x23, x.shape, x.flatten()) + y = Tensor(Dtype.FP8x23, y.shape, y.flatten()) + + name = "unsqueeze_fp8x23_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![5, 4, 2].span())", name) + + unsqueeze_2D() + unsqueeze_3D() + + @staticmethod + def unsqueeze_fp16x16(): + def unsqueeze_2D(): + x = to_fp(np.random.randint(-127, 127, (2, 4) + ).astype(np.int64), FixedImpl.FP16x16) + y = np.expand_dims(x, axis=0) + y = np.expand_dims(y, axis=1) + y = np.expand_dims(y, axis=4) + + x = Tensor(Dtype.FP16x16, x.shape, x.flatten()) + y = Tensor(Dtype.FP16x16, y.shape, y.flatten()) + + name = "unsqueeze_fp16x16_2d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![1, 4, 0].span())", name) + + def unsqueeze_3D(): + x = to_fp(np.random.randint(-127, 127, (20, 10, 5) + ).astype(np.int64), FixedImpl.FP16x16) + y = np.expand_dims(x, axis=2) + y = np.expand_dims(y, axis=4) + y = np.expand_dims(y, axis=5) + + x = Tensor(Dtype.FP16x16, x.shape, x.flatten()) + y = Tensor(Dtype.FP16x16, y.shape, y.flatten()) + + name = "unsqueeze_fp16x16_3d" + make_node([x], [y], name) + make_test( + [x], y, "input_0.unsqueeze(array![5, 4, 2].span())", name) + + unsqueeze_2D() + unsqueeze_3D() diff --git a/src/operators/tensor/core.cairo b/src/operators/tensor/core.cairo index 25aebbb4a..aa9addc88 100644 --- a/src/operators/tensor/core.cairo +++ b/src/operators/tensor/core.cairo @@ -74,7 +74,8 @@ impl TensorSerde, impl TDrop: Drop> of Serde { /// # tensor.new /// @@ -2502,6 +2503,59 @@ trait TensorTrait { fn gather( self: @Tensor, indices: Tensor, axis: Option ) -> Tensor ; + /// # tensor.unsqueeze + /// + /// ```rust + /// fn unsqueeze(self: @Tensor, axes: Span) -> Tensor; + /// ``` + /// + /// Insert single-dimensional entries to the shape of an input tensor (data). Takes one required input axes - + /// which contains a list of dimension indices and this operator will insert a dimension of value 1 into the + /// corresponding index of the output tensor (expanded). + /// + /// ## Args + /// + /// * `self`(`@Tensor`) - Tensor of data to unsquezee. + /// * `axes`(`Span`) - List of integers indicating the dimensions to be inserted. + /// + /// ## Panics + /// + /// * Panics if the given axes have duplicate elements. + /// * Panics if one of the given axes is invalid. + /// + /// ## Returns + /// + /// Reshaped `Tensor` with same data as input. + /// + /// ## Example + /// + /// ```rust + /// use array::{ArrayTrait, SpanTrait}; + /// + /// use orion::operators::tensor::{TensorTrait, Tensor, U32Tensor}; + /// + /// fn unsqueeze_example() -> Tensor { + /// let tensor = TensorTrait::::new( + /// shape: array![2, 4].span(), + /// data: array![0, 1, 2, 3, 4, 5, 6, 7].span(), + /// ); + /// + /// return tensor.unsqueeze( + /// axes: array![0, 3].span(), + /// ); + /// } + /// >>> [[[[0] + /// [1] + /// [2] + /// [3]] + /// + /// [[4] + /// [5] + /// [6] + /// [7]]]] + /// ``` + /// + fn unsqueeze(self: @Tensor, axes: Span) -> Tensor; } @@ -2874,4 +2928,44 @@ fn nonzero, impl TPartialEq: PartialEq, }; return Tensor:: {shape: array![(*self.shape).len(), stop_k + 1].span(), data: output_data.span()}; -} \ No newline at end of file +} + +/// Cf: TensorTrait::unsqueeze docstring +fn unsqueeze(self: @Tensor, axes: Span) -> Tensor { + let dedupped_array = axes.dedup(); + assert(dedupped_array.len() == axes.len(), 'Duplicated input axes'); + + let mut self_shape_copy = *self.shape; + let mut i: usize = 0; + let mut added_axes_count: usize = 0; + let mut output_shape: Array = ArrayTrait::new(); + loop { + if axes.contains(i + added_axes_count) { + output_shape.append(1); + added_axes_count += 1; + } else { + match self_shape_copy.pop_front() { + Option::Some(val) => { + output_shape.append(*val); + i += 1; + }, + Option::None(_) => { + break (); + } + }; + }; + }; + + let mut j: usize = output_shape.len(); + loop { + if axes.contains(j) { + output_shape.append(1); + } else { + break (); + } + j += 1; + }; + assert(output_shape.len() == axes.len() + (*self.shape).len(), 'Invalid input axes'); + + return Tensor:: { shape: output_shape.span(), data: *self.data }; +} diff --git a/src/operators/tensor/implementations/tensor_fp16x16.cairo b/src/operators/tensor/implementations/tensor_fp16x16.cairo index a78655444..011e0a37c 100644 --- a/src/operators/tensor/implementations/tensor_fp16x16.cairo +++ b/src/operators/tensor/implementations/tensor_fp16x16.cairo @@ -213,6 +213,13 @@ impl FP16x16Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 e5d0e2345..0d76ac0a2 100644 --- a/src/operators/tensor/implementations/tensor_fp32x32.cairo +++ b/src/operators/tensor/implementations/tensor_fp32x32.cairo @@ -214,6 +214,13 @@ impl FP32x32Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 0e36f6563..9319aab25 100644 --- a/src/operators/tensor/implementations/tensor_fp64x64.cairo +++ b/src/operators/tensor/implementations/tensor_fp64x64.cairo @@ -214,6 +214,13 @@ impl FP64x64Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 5dc4a086d..49af02a2f 100644 --- a/src/operators/tensor/implementations/tensor_fp8x23.cairo +++ b/src/operators/tensor/implementations/tensor_fp8x23.cairo @@ -213,6 +213,13 @@ impl FP8x23Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 3b86966ba..4cc920b73 100644 --- a/src/operators/tensor/implementations/tensor_i32.cairo +++ b/src/operators/tensor/implementations/tensor_i32.cairo @@ -212,6 +212,13 @@ impl I32Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 fdaa342a2..04bd6f644 100644 --- a/src/operators/tensor/implementations/tensor_i8.cairo +++ b/src/operators/tensor/implementations/tensor_i8.cairo @@ -211,6 +211,13 @@ impl I8Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// 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 0ebe65282..8b49a46d1 100644 --- a/src/operators/tensor/implementations/tensor_u32.cairo +++ b/src/operators/tensor/implementations/tensor_u32.cairo @@ -205,6 +205,13 @@ impl U32Tensor of TensorTrait { fn nonzero(self: @Tensor) -> Tensor { core::nonzero(self) } + + fn unsqueeze( + self: @Tensor, + axes: Span + ) -> Tensor { + core::unsqueeze(self, axes) + } } /// Implements addition for `Tensor` using the `Add` trait. diff --git a/src/tests/nodes.cairo b/src/tests/nodes.cairo index 6bae1f201..7a01ba533 100644 --- a/src/tests/nodes.cairo +++ b/src/tests/nodes.cairo @@ -403,3 +403,13 @@ mod nonzero_i8_2d; mod nonzero_i8_3d; mod nonzero_u32_2d; mod nonzero_u32_3d; +mod unsqueeze_fp16x16_2d; +mod unsqueeze_fp16x16_3d; +mod unsqueeze_fp8x23_2d; +mod unsqueeze_fp8x23_3d; +mod unsqueeze_i32_2d; +mod unsqueeze_i32_3d; +mod unsqueeze_i8_2d; +mod unsqueeze_i8_3d; +mod unsqueeze_u32_2d; +mod unsqueeze_u32_3d; diff --git a/src/tests/nodes/unsqueeze_fp16x16_2d.cairo b/src/tests/nodes/unsqueeze_fp16x16_2d.cairo new file mode 100644 index 000000000..ae585db79 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp16x16_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::FP16x16Tensor; +use orion::operators::tensor::FP16x16TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_fp16x16_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![1, 4, 0].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp16x16_2d/input_0.cairo b/src/tests/nodes/unsqueeze_fp16x16_2d/input_0.cairo new file mode 100644 index 000000000..5aa6a5812 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 5046272, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp16x16_2d/output_0.cairo b/src/tests/nodes/unsqueeze_fp16x16_2d/output_0.cairo new file mode 100644 index 000000000..cbf5982e8 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp16x16_2d/output_0.cairo @@ -0,0 +1,25 @@ +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(1); + shape.append(1); + shape.append(2); + shape.append(4); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 5046272, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp16x16_3d.cairo b/src/tests/nodes/unsqueeze_fp16x16_3d.cairo new file mode 100644 index 000000000..a987f2647 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp16x16_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::FP16x16Tensor; +use orion::operators::tensor::FP16x16TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_fp16x16_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![5, 4, 2].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp16x16_3d/input_0.cairo b/src/tests/nodes/unsqueeze_fp16x16_3d/input_0.cairo new file mode 100644 index 000000000..e8d41cf08 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 6291456, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 983040, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 2293760, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 1507328, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp16x16_3d/output_0.cairo b/src/tests/nodes/unsqueeze_fp16x16_3d/output_0.cairo new file mode 100644 index 000000000..5d15e0eab --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp16x16_3d/output_0.cairo @@ -0,0 +1,1018 @@ +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(1); + shape.append(5); + shape.append(1); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 983040, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: true }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 2293760, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 327680, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 917504, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 2818048, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 4259840, sign: true }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 5898240, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: false }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 3014656, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 524288, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 393216, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: false }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: true }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: false }); + data.append(FP16x16 { mag: 7340032, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: false }); + data.append(FP16x16 { mag: 6881280, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 7602176, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 5898240, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: false }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 589824, sign: false }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 5111808, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 983040, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 1507328, sign: false }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: false }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 5439488, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: true }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 6029312, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: true }); + data.append(FP16x16 { mag: 4521984, sign: true }); + data.append(FP16x16 { mag: 5046272, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 1507328, sign: false }); + data.append(FP16x16 { mag: 2490368, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 7798784, sign: true }); + data.append(FP16x16 { mag: 327680, sign: false }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3473408, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: false }); + data.append(FP16x16 { mag: 196608, sign: true }); + data.append(FP16x16 { mag: 2031616, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 6815744, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 8060928, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 65536, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: false }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 458752, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: true }); + data.append(FP16x16 { mag: 7405568, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 8060928, sign: false }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4259840, sign: false }); + data.append(FP16x16 { mag: 6029312, sign: false }); + data.append(FP16x16 { mag: 4128768, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 5636096, sign: true }); + data.append(FP16x16 { mag: 5439488, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: false }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 0, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 524288, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 4063232, sign: true }); + data.append(FP16x16 { mag: 589824, sign: true }); + data.append(FP16x16 { mag: 131072, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 1245184, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 2490368, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 655360, sign: true }); + data.append(FP16x16 { mag: 7995392, sign: true }); + data.append(FP16x16 { mag: 3080192, sign: true }); + data.append(FP16x16 { mag: 720896, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 2752512, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7667712, sign: false }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: false }); + data.append(FP16x16 { mag: 4390912, sign: true }); + data.append(FP16x16 { mag: 8257536, sign: true }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 851968, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: false }); + data.append(FP16x16 { mag: 8257536, sign: false }); + data.append(FP16x16 { mag: 4784128, sign: false }); + data.append(FP16x16 { mag: 3997696, sign: true }); + data.append(FP16x16 { mag: 2424832, sign: false }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 5177344, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 5177344, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 4915200, sign: false }); + data.append(FP16x16 { mag: 6684672, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 655360, sign: false }); + data.append(FP16x16 { mag: 2818048, sign: false }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 1376256, sign: true }); + data.append(FP16x16 { mag: 6356992, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: false }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 2686976, sign: false }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 4653056, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 6422528, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: true }); + data.append(FP16x16 { mag: 720896, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 6750208, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 6094848, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: true }); + data.append(FP16x16 { mag: 5373952, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 7536640, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 8126464, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 262144, sign: true }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: false }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 4653056, sign: false }); + data.append(FP16x16 { mag: 1114112, sign: true }); + data.append(FP16x16 { mag: 1966080, sign: true }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 262144, sign: false }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 2883584, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 7143424, sign: false }); + data.append(FP16x16 { mag: 4456448, sign: true }); + data.append(FP16x16 { mag: 7471104, sign: true }); + data.append(FP16x16 { mag: 4849664, sign: false }); + data.append(FP16x16 { mag: 6946816, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: false }); + data.append(FP16x16 { mag: 2293760, sign: false }); + data.append(FP16x16 { mag: 6291456, sign: true }); + data.append(FP16x16 { mag: 6881280, sign: true }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 4718592, sign: false }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: true }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 3997696, sign: false }); + data.append(FP16x16 { mag: 8323072, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 1769472, sign: true }); + data.append(FP16x16 { mag: 458752, sign: true }); + data.append(FP16x16 { mag: 851968, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 6160384, sign: false }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 6160384, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 7602176, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: false }); + data.append(FP16x16 { mag: 2752512, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 786432, sign: true }); + data.append(FP16x16 { mag: 917504, sign: false }); + data.append(FP16x16 { mag: 7274496, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: true }); + data.append(FP16x16 { mag: 5308416, sign: true }); + data.append(FP16x16 { mag: 6553600, sign: true }); + data.append(FP16x16 { mag: 5505024, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 2686976, sign: true }); + data.append(FP16x16 { mag: 1114112, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: true }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: true }); + data.append(FP16x16 { mag: 5570560, sign: true }); + data.append(FP16x16 { mag: 2621440, sign: true }); + data.append(FP16x16 { mag: 3342336, sign: true }); + data.append(FP16x16 { mag: 4587520, sign: true }); + data.append(FP16x16 { mag: 8192000, sign: true }); + data.append(FP16x16 { mag: 3211264, sign: true }); + data.append(FP16x16 { mag: 1638400, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: true }); + data.append(FP16x16 { mag: 1703936, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3735552, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: true }); + data.append(FP16x16 { mag: 6488064, sign: false }); + data.append(FP16x16 { mag: 4194304, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: true }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 3932160, sign: false }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 4915200, sign: true }); + data.append(FP16x16 { mag: 1835008, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1441792, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: true }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 2228224, sign: true }); + data.append(FP16x16 { mag: 5767168, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: true }); + data.append(FP16x16 { mag: 6619136, sign: true }); + data.append(FP16x16 { mag: 3866624, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: false }); + data.append(FP16x16 { mag: 2949120, sign: true }); + data.append(FP16x16 { mag: 131072, sign: false }); + data.append(FP16x16 { mag: 3866624, sign: false }); + data.append(FP16x16 { mag: 2359296, sign: false }); + data.append(FP16x16 { mag: 1048576, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: true }); + data.append(FP16x16 { mag: 1310720, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 7208960, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 5832704, sign: true }); + data.append(FP16x16 { mag: 3538944, sign: false }); + data.append(FP16x16 { mag: 7012352, sign: true }); + data.append(FP16x16 { mag: 1048576, sign: true }); + data.append(FP16x16 { mag: 3276800, sign: true }); + data.append(FP16x16 { mag: 7929856, sign: false }); + data.append(FP16x16 { mag: 3801088, sign: false }); + data.append(FP16x16 { mag: 1900544, sign: false }); + data.append(FP16x16 { mag: 1179648, sign: true }); + data.append(FP16x16 { mag: 65536, sign: false }); + data.append(FP16x16 { mag: 5701632, sign: false }); + data.append(FP16x16 { mag: 2555904, sign: true }); + data.append(FP16x16 { mag: 3735552, sign: true }); + data.append(FP16x16 { mag: 5242880, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 5963776, sign: true }); + data.append(FP16x16 { mag: 7077888, sign: false }); + data.append(FP16x16 { mag: 3342336, sign: false }); + data.append(FP16x16 { mag: 196608, sign: false }); + data.append(FP16x16 { mag: 1572864, sign: false }); + data.append(FP16x16 { mag: 5308416, sign: false }); + data.append(FP16x16 { mag: 3145728, sign: false }); + data.append(FP16x16 { mag: 4980736, sign: false }); + data.append(FP16x16 { mag: 6356992, sign: true }); + data.append(FP16x16 { mag: 2097152, sign: false }); + data.append(FP16x16 { mag: 2162688, sign: false }); + data.append(FP16x16 { mag: 7864320, sign: true }); + data.append(FP16x16 { mag: 7733248, sign: true }); + data.append(FP16x16 { mag: 3407872, sign: false }); + data.append(FP16x16 { mag: 3604480, sign: false }); + data.append(FP16x16 { mag: 4325376, sign: true }); + data.append(FP16x16 { mag: 4718592, sign: true }); + data.append(FP16x16 { mag: 393216, sign: false }); + data.append(FP16x16 { mag: 6225920, sign: false }); + data.append(FP16x16 { mag: 3670016, sign: false }); + data.append(FP16x16 { mag: 1638400, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_2d.cairo b/src/tests/nodes/unsqueeze_fp8x23_2d.cairo new file mode 100644 index 000000000..b38e99a05 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp8x23_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::FP8x23Tensor; +use orion::operators::tensor::FP8x23TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_fp8x23_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![1, 4, 0].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_2d/input_0.cairo b/src/tests/nodes/unsqueeze_fp8x23_2d/input_0.cairo new file mode 100644 index 000000000..ea436caae --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 989855744, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_2d/output_0.cairo b/src/tests/nodes/unsqueeze_fp8x23_2d/output_0.cairo new file mode 100644 index 000000000..78f4691e2 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp8x23_2d/output_0.cairo @@ -0,0 +1,25 @@ +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(1); + shape.append(1); + shape.append(2); + shape.append(4); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_3d.cairo b/src/tests/nodes/unsqueeze_fp8x23_3d.cairo new file mode 100644 index 000000000..b9803b8d9 --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp8x23_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::FP8x23Tensor; +use orion::operators::tensor::FP8x23TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_fp8x23_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![5, 4, 2].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_3d/input_0.cairo b/src/tests/nodes/unsqueeze_fp8x23_3d/input_0.cairo new file mode 100644 index 000000000..52600b946 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 578813952, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: true }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_fp8x23_3d/output_0.cairo b/src/tests/nodes/unsqueeze_fp8x23_3d/output_0.cairo new file mode 100644 index 000000000..cf091e9cc --- /dev/null +++ b/src/tests/nodes/unsqueeze_fp8x23_3d/output_0.cairo @@ -0,0 +1,1018 @@ +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(1); + shape.append(5); + shape.append(1); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 813694976, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 1023410176, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 813694976, sign: true }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 746586112, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 268435456, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 603979776, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: false }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 142606336, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 226492416, sign: true }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: true }); + data.append(FP8x23 { mag: 620756992, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 1056964608, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 226492416, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 713031680, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 654311424, sign: false }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 780140544, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: true }); + data.append(FP8x23 { mag: 419430400, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 679477248, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 864026624, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: true }); + data.append(FP8x23 { mag: 662700032, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 578813952, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: true }); + data.append(FP8x23 { mag: 612368384, sign: false }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 578813952, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: true }); + data.append(FP8x23 { mag: 318767104, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 461373440, sign: false }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 16777216, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 1023410176, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 981467136, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 469762048, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 234881024, sign: false }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 16777216, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 570425344, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 117440512, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: true }); + data.append(FP8x23 { mag: 327155712, sign: false }); + data.append(FP8x23 { mag: 209715200, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: true }); + data.append(FP8x23 { mag: 176160768, sign: true }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: true }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 679477248, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 922746880, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 729808896, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: true }); + data.append(FP8x23 { mag: 285212672, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: false }); + data.append(FP8x23 { mag: 612368384, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: false }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 100663296, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 570425344, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 696254464, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 520093696, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 134217728, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: true }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 855638016, sign: false }); + data.append(FP8x23 { mag: 251658240, sign: false }); + data.append(FP8x23 { mag: 201326592, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 109051904, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 184549376, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 268435456, sign: true }); + data.append(FP8x23 { mag: 494927872, sign: false }); + data.append(FP8x23 { mag: 369098752, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: true }); + data.append(FP8x23 { mag: 989855744, sign: false }); + data.append(FP8x23 { mag: 452984832, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: true }); + data.append(FP8x23 { mag: 360710144, sign: false }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 889192448, sign: true }); + data.append(FP8x23 { mag: 738197504, sign: true }); + data.append(FP8x23 { mag: 939524096, sign: true }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 50331648, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 452984832, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 1048576000, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: true }); + data.append(FP8x23 { mag: 159383552, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 394264576, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 92274688, sign: false }); + data.append(FP8x23 { mag: 377487360, sign: false }); + data.append(FP8x23 { mag: 8388608, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 754974720, sign: false }); + data.append(FP8x23 { mag: 125829120, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 503316480, sign: true }); + data.append(FP8x23 { mag: 889192448, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: true }); + data.append(FP8x23 { mag: 310378496, sign: false }); + data.append(FP8x23 { mag: 687865856, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 696254464, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 243269632, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 369098752, sign: false }); + data.append(FP8x23 { mag: 763363328, sign: true }); + data.append(FP8x23 { mag: 511705088, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 780140544, sign: true }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: false }); + data.append(FP8x23 { mag: 411041792, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 989855744, sign: true }); + data.append(FP8x23 { mag: 763363328, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + data.append(FP8x23 { mag: 260046848, sign: true }); + data.append(FP8x23 { mag: 218103808, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 603979776, sign: false }); + data.append(FP8x23 { mag: 436207616, sign: false }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: true }); + data.append(FP8x23 { mag: 822083584, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 444596224, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 83886080, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 956301312, sign: false }); + data.append(FP8x23 { mag: 671088640, sign: true }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 343932928, sign: false }); + data.append(FP8x23 { mag: 285212672, sign: true }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 587202560, sign: false }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 385875968, sign: false }); + data.append(FP8x23 { mag: 637534208, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 159383552, sign: false }); + data.append(FP8x23 { mag: 771751936, sign: true }); + data.append(FP8x23 { mag: 838860800, sign: true }); + data.append(FP8x23 { mag: 1040187392, sign: false }); + data.append(FP8x23 { mag: 75497472, sign: true }); + data.append(FP8x23 { mag: 931135488, sign: true }); + data.append(FP8x23 { mag: 192937984, sign: true }); + data.append(FP8x23 { mag: 771751936, sign: false }); + data.append(FP8x23 { mag: 301989888, sign: true }); + data.append(FP8x23 { mag: 855638016, sign: true }); + data.append(FP8x23 { mag: 872415232, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: false }); + data.append(FP8x23 { mag: 947912704, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 209715200, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: true }); + data.append(FP8x23 { mag: 75497472, sign: false }); + data.append(FP8x23 { mag: 427819008, sign: false }); + data.append(FP8x23 { mag: 536870912, sign: true }); + data.append(FP8x23 { mag: 830472192, sign: false }); + data.append(FP8x23 { mag: 167772160, sign: false }); + data.append(FP8x23 { mag: 327155712, sign: true }); + data.append(FP8x23 { mag: 260046848, sign: false }); + data.append(FP8x23 { mag: 788529152, sign: false }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 914358272, sign: true }); + data.append(FP8x23 { mag: 998244352, sign: true }); + data.append(FP8x23 { mag: 645922816, sign: false }); + data.append(FP8x23 { mag: 629145600, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: true }); + data.append(FP8x23 { mag: 335544320, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 478150656, sign: true }); + data.append(FP8x23 { mag: 444596224, sign: true }); + data.append(FP8x23 { mag: 964689920, sign: true }); + data.append(FP8x23 { mag: 528482304, sign: true }); + data.append(FP8x23 { mag: 587202560, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: true }); + data.append(FP8x23 { mag: 343932928, sign: true }); + data.append(FP8x23 { mag: 897581056, sign: false }); + data.append(FP8x23 { mag: 461373440, sign: true }); + data.append(FP8x23 { mag: 1031798784, sign: true }); + data.append(FP8x23 { mag: 41943040, sign: false }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 184549376, sign: true }); + data.append(FP8x23 { mag: 83886080, sign: false }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 939524096, sign: false }); + data.append(FP8x23 { mag: 796917760, sign: false }); + data.append(FP8x23 { mag: 830472192, sign: true }); + data.append(FP8x23 { mag: 562036736, sign: true }); + data.append(FP8x23 { mag: 427819008, sign: true }); + data.append(FP8x23 { mag: 25165824, sign: false }); + data.append(FP8x23 { mag: 360710144, sign: true }); + data.append(FP8x23 { mag: 905969664, sign: false }); + data.append(FP8x23 { mag: 67108864, sign: true }); + data.append(FP8x23 { mag: 805306368, sign: true }); + data.append(FP8x23 { mag: 33554432, sign: true }); + data.append(FP8x23 { mag: 402653184, sign: false }); + data.append(FP8x23 { mag: 1006632960, sign: true }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 595591168, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: true }); + data.append(FP8x23 { mag: 1015021568, sign: true }); + data.append(FP8x23 { mag: 981467136, sign: false }); + data.append(FP8x23 { mag: 150994944, sign: true }); + data.append(FP8x23 { mag: 109051904, sign: false }); + data.append(FP8x23 { mag: 905969664, sign: true }); + data.append(FP8x23 { mag: 58720256, sign: true }); + data.append(FP8x23 { mag: 0, sign: false }); + data.append(FP8x23 { mag: 805306368, sign: false }); + data.append(FP8x23 { mag: 1031798784, sign: false }); + data.append(FP8x23 { mag: 1065353216, sign: true }); + data.append(FP8x23 { mag: 293601280, sign: false }); + data.append(FP8x23 { mag: 310378496, sign: true }); + data.append(FP8x23 { mag: 478150656, sign: false }); + data.append(FP8x23 { mag: 335544320, sign: false }); + data.append(FP8x23 { mag: 486539264, sign: false }); + data.append(FP8x23 { mag: 704643072, sign: true }); + data.append(FP8x23 { mag: 276824064, sign: false }); + data.append(FP8x23 { mag: 746586112, sign: true }); + data.append(FP8x23 { mag: 796917760, sign: true }); + data.append(FP8x23 { mag: 721420288, sign: false }); + data.append(FP8x23 { mag: 218103808, sign: false }); + data.append(FP8x23 { mag: 394264576, sign: true }); + data.append(FP8x23 { mag: 352321536, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 553648128, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 1040187392, sign: true }); + data.append(FP8x23 { mag: 973078528, sign: false }); + data.append(FP8x23 { mag: 880803840, sign: true }); + data.append(FP8x23 { mag: 117440512, sign: true }); + data.append(FP8x23 { mag: 545259520, sign: false }); + data.append(FP8x23 { mag: 562036736, sign: false }); + data.append(FP8x23 { mag: 847249408, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_2d.cairo b/src/tests/nodes/unsqueeze_i32_2d.cairo new file mode 100644 index 000000000..3adac91e8 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i32_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::I32Tensor; +use orion::operators::tensor::I32TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_i32_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![1, 4, 0].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_2d/input_0.cairo b/src/tests/nodes/unsqueeze_i32_2d/input_0.cairo new file mode 100644 index 000000000..e8ad5eb38 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 107, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 117, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_2d/output_0.cairo b/src/tests/nodes/unsqueeze_i32_2d/output_0.cairo new file mode 100644 index 000000000..2b9c56db1 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i32_2d/output_0.cairo @@ -0,0 +1,24 @@ +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(1); + shape.append(1); + shape.append(2); + shape.append(4); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 117, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_3d.cairo b/src/tests/nodes/unsqueeze_i32_3d.cairo new file mode 100644 index 000000000..468ea85e4 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i32_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::I32Tensor; +use orion::operators::tensor::I32TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_i32_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![5, 4, 2].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_3d/input_0.cairo b/src/tests/nodes/unsqueeze_i32_3d/input_0.cairo new file mode 100644 index 000000000..913401f10 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 38, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 26, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 107, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 89, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 18, sign: true }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 51, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 76, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 53, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 17, sign: false }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 17, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 18, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 26, sign: true }); + data.append(i32 { mag: 95, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 95, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 99, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i32_3d/output_0.cairo b/src/tests/nodes/unsqueeze_i32_3d/output_0.cairo new file mode 100644 index 000000000..e35291aa4 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i32_3d/output_0.cairo @@ -0,0 +1,1017 @@ +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(1); + shape.append(5); + shape.append(1); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 63, sign: true }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 87, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 26, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 107, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 62, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 65, sign: false }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 38, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 78, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 89, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 59, sign: true }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 18, sign: true }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 51, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 39, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 58, sign: true }); + data.append(i32 { mag: 123, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 76, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 121, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 62, sign: false }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 53, sign: false }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 73, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 63, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 67, sign: true }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 22, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 31, sign: true }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 20, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 125, sign: true }); + data.append(i32 { mag: 47, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 84, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 1, sign: false }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 17, sign: false }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 114, sign: true }); + data.append(i32 { mag: 106, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 3, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 48, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 86, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 92, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 75, sign: true }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 91, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 13, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 110, sign: false }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 61, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 80, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 42, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 11, sign: false }); + data.append(i32 { mag: 110, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 103, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 9, sign: true }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 47, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 26, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 14, sign: false }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 7, sign: true }); + data.append(i32 { mag: 127, sign: true }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 60, sign: false }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 67, sign: false }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 117, sign: true }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 9, sign: false }); + data.append(i32 { mag: 66, sign: true }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 16, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 102, sign: false }); + data.append(i32 { mag: 87, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 101, sign: true }); + data.append(i32 { mag: 70, sign: false }); + data.append(i32 { mag: 124, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 7, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 24, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 92, sign: true }); + data.append(i32 { mag: 46, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 97, sign: false }); + data.append(i32 { mag: 46, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 119, sign: false }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 93, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 51, sign: true }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 75, sign: false }); + data.append(i32 { mag: 112, sign: false }); + data.append(i32 { mag: 81, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 106, sign: false }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 116, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 100, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 4, sign: false }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 99, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 121, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 49, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 17, sign: false }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 91, sign: false }); + data.append(i32 { mag: 96, sign: true }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 78, sign: false }); + data.append(i32 { mag: 41, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 49, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 15, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 23, sign: true }); + data.append(i32 { mag: 104, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 116, sign: false }); + data.append(i32 { mag: 48, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 125, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 45, sign: false }); + data.append(i32 { mag: 44, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 71, sign: true }); + data.append(i32 { mag: 10, sign: true }); + data.append(i32 { mag: 14, sign: true }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 68, sign: true }); + data.append(i32 { mag: 81, sign: false }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 66, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 68, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 33, sign: true }); + data.append(i32 { mag: 45, sign: true }); + data.append(i32 { mag: 56, sign: true }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 94, sign: false }); + data.append(i32 { mag: 6, sign: true }); + data.append(i32 { mag: 96, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 108, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 123, sign: false }); + data.append(i32 { mag: 37, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 118, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 52, sign: true }); + data.append(i32 { mag: 74, sign: true }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 50, sign: false }); + data.append(i32 { mag: 27, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 30, sign: true }); + data.append(i32 { mag: 109, sign: true }); + data.append(i32 { mag: 86, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 88, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 119, sign: true }); + data.append(i32 { mag: 59, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 101, sign: false }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 5, sign: false }); + data.append(i32 { mag: 25, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 39, sign: false }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 40, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 98, sign: true }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 82, sign: false }); + data.append(i32 { mag: 36, sign: false }); + data.append(i32 { mag: 34, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 79, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 28, sign: true }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 41, sign: true }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 18, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 35, sign: true }); + data.append(i32 { mag: 52, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 85, sign: true }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 50, sign: true }); + data.append(i32 { mag: 37, sign: false }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 42, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 113, sign: false }); + data.append(i32 { mag: 8, sign: true }); + data.append(i32 { mag: 12, sign: true }); + data.append(i32 { mag: 21, sign: false }); + data.append(i32 { mag: 114, sign: false }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 126, sign: false }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 69, sign: true }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 10, sign: false }); + data.append(i32 { mag: 21, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 74, sign: false }); + data.append(i32 { mag: 77, sign: false }); + data.append(i32 { mag: 27, sign: false }); + data.append(i32 { mag: 88, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 33, sign: false }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 107, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 8, sign: false }); + data.append(i32 { mag: 98, sign: false }); + data.append(i32 { mag: 35, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 23, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 93, sign: true }); + data.append(i32 { mag: 113, sign: true }); + data.append(i32 { mag: 105, sign: false }); + data.append(i32 { mag: 2, sign: false }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 22, sign: false }); + data.append(i32 { mag: 60, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 111, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 34, sign: true }); + data.append(i32 { mag: 61, sign: true }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 6, sign: false }); + data.append(i32 { mag: 105, sign: true }); + data.append(i32 { mag: 69, sign: false }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 18, sign: true }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 94, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 43, sign: false }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 122, sign: false }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 64, sign: false }); + data.append(i32 { mag: 17, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 84, sign: false }); + data.append(i32 { mag: 57, sign: true }); + data.append(i32 { mag: 109, sign: false }); + data.append(i32 { mag: 102, sign: true }); + data.append(i32 { mag: 26, sign: true }); + data.append(i32 { mag: 95, sign: false }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 64, sign: true }); + data.append(i32 { mag: 115, sign: false }); + data.append(i32 { mag: 3, sign: false }); + data.append(i32 { mag: 58, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 90, sign: true }); + data.append(i32 { mag: 103, sign: true }); + data.append(i32 { mag: 71, sign: false }); + data.append(i32 { mag: 53, sign: true }); + data.append(i32 { mag: 40, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 2, sign: true }); + data.append(i32 { mag: 80, sign: false }); + data.append(i32 { mag: 44, sign: true }); + data.append(i32 { mag: 5, sign: true }); + data.append(i32 { mag: 104, sign: true }); + data.append(i32 { mag: 95, sign: false }); + data.append(i32 { mag: 100, sign: true }); + data.append(i32 { mag: 29, sign: true }); + data.append(i32 { mag: 73, sign: true }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 4, sign: true }); + data.append(i32 { mag: 16, sign: false }); + data.append(i32 { mag: 70, sign: true }); + data.append(i32 { mag: 57, sign: false }); + data.append(i32 { mag: 77, sign: true }); + data.append(i32 { mag: 32, sign: true }); + data.append(i32 { mag: 56, sign: false }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 11, sign: true }); + data.append(i32 { mag: 30, sign: false }); + data.append(i32 { mag: 72, sign: true }); + data.append(i32 { mag: 29, sign: false }); + data.append(i32 { mag: 115, sign: true }); + data.append(i32 { mag: 12, sign: false }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 54, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 112, sign: true }); + data.append(i32 { mag: 55, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 83, sign: true }); + data.append(i32 { mag: 32, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 97, sign: true }); + data.append(i32 { mag: 15, sign: true }); + data.append(i32 { mag: 24, sign: true }); + data.append(i32 { mag: 43, sign: true }); + data.append(i32 { mag: 65, sign: true }); + data.append(i32 { mag: 83, sign: false }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 38, sign: true }); + data.append(i32 { mag: 1, sign: true }); + data.append(i32 { mag: 28, sign: false }); + data.append(i32 { mag: 54, sign: true }); + data.append(i32 { mag: 25, sign: false }); + data.append(i32 { mag: 31, sign: false }); + data.append(i32 { mag: 118, sign: false }); + data.append(i32 { mag: 82, sign: true }); + data.append(i32 { mag: 0, sign: false }); + data.append(i32 { mag: 89, sign: false }); + data.append(i32 { mag: 122, sign: true }); + data.append(i32 { mag: 126, sign: true }); + data.append(i32 { mag: 117, sign: false }); + data.append(i32 { mag: 36, sign: true }); + data.append(i32 { mag: 19, sign: true }); + data.append(i32 { mag: 124, sign: false }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 55, sign: true }); + data.append(i32 { mag: 76, sign: true }); + data.append(i32 { mag: 72, sign: false }); + data.append(i32 { mag: 95, sign: true }); + data.append(i32 { mag: 19, sign: false }); + data.append(i32 { mag: 20, sign: true }); + data.append(i32 { mag: 13, sign: false }); + data.append(i32 { mag: 120, sign: false }); + data.append(i32 { mag: 108, sign: true }); + data.append(i32 { mag: 111, sign: false }); + data.append(i32 { mag: 120, sign: true }); + data.append(i32 { mag: 99, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_2d.cairo b/src/tests/nodes/unsqueeze_i8_2d.cairo new file mode 100644 index 000000000..f6583d25b --- /dev/null +++ b/src/tests/nodes/unsqueeze_i8_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::I8Tensor; +use orion::operators::tensor::I8TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_i8_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![1, 4, 0].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_2d/input_0.cairo b/src/tests/nodes/unsqueeze_i8_2d/input_0.cairo new file mode 100644 index 000000000..f00703d81 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 54, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 60, sign: false }); + data.append(i8 { mag: 48, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_2d/output_0.cairo b/src/tests/nodes/unsqueeze_i8_2d/output_0.cairo new file mode 100644 index 000000000..5bd90b0a2 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i8_2d/output_0.cairo @@ -0,0 +1,24 @@ +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(1); + shape.append(1); + shape.append(2); + shape.append(4); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 60, sign: false }); + data.append(i8 { mag: 48, sign: true }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_3d.cairo b/src/tests/nodes/unsqueeze_i8_3d.cairo new file mode 100644 index 000000000..97c514dce --- /dev/null +++ b/src/tests/nodes/unsqueeze_i8_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::I8Tensor; +use orion::operators::tensor::I8TensorPartialEq; +use orion::utils::assert_eq; + +#[test] +#[available_gas(2000000000)] +fn test_unsqueeze_i8_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![5, 4, 2].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_3d/input_0.cairo b/src/tests/nodes/unsqueeze_i8_3d/input_0.cairo new file mode 100644 index 000000000..6418e1e4c --- /dev/null +++ b/src/tests/nodes/unsqueeze_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: 114, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 60, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 24, sign: false }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 21, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 126, sign: true }); + 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: 91, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 112, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 71, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 35, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 121, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 99, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 65, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 74, sign: true }); + data.append(i8 { mag: 124, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 127, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 45, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 127, sign: true }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 35, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 57, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_i8_3d/output_0.cairo b/src/tests/nodes/unsqueeze_i8_3d/output_0.cairo new file mode 100644 index 000000000..e66cb0556 --- /dev/null +++ b/src/tests/nodes/unsqueeze_i8_3d/output_0.cairo @@ -0,0 +1,1017 @@ +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(1); + shape.append(5); + shape.append(1); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 60, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 75, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 24, sign: false }); + data.append(i8 { mag: 112, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 22, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 58, sign: false }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 53, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 21, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 27, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 25, sign: true }); + data.append(i8 { mag: 88, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 28, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 68, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 13, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 126, sign: true }); + 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: 91, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 112, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 103, sign: false }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 117, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 61, sign: true }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 26, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 52, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 94, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 57, sign: true }); + data.append(i8 { mag: 35, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 76, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 39, sign: true }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 66, sign: true }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 105, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 15, sign: false }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 18, sign: true }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 62, sign: false }); + data.append(i8 { mag: 30, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 23, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 116, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 56, sign: true }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 71, sign: false }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 33, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 47, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 36, sign: true }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 122, sign: true }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 23, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 16, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 64, sign: true }); + data.append(i8 { mag: 59, sign: false }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 35, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 15, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 6, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 76, sign: true }); + data.append(i8 { mag: 2, sign: true }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 107, sign: true }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 5, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 86, sign: true }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 97, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 84, sign: false }); + data.append(i8 { mag: 26, sign: true }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 77, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 37, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 107, sign: false }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 103, sign: true }); + data.append(i8 { mag: 12, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 84, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 117, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 54, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 46, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 89, sign: true }); + data.append(i8 { mag: 3, sign: false }); + data.append(i8 { mag: 87, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 110, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 68, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 111, sign: false }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 82, sign: true }); + data.append(i8 { mag: 20, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 63, sign: true }); + data.append(i8 { mag: 81, sign: true }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 91, sign: false }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 50, sign: false }); + data.append(i8 { mag: 19, sign: true }); + data.append(i8 { mag: 44, sign: true }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 119, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 121, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 72, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 100, sign: true }); + data.append(i8 { mag: 27, sign: false }); + data.append(i8 { mag: 33, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 43, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 99, sign: true }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 126, sign: false }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 14, sign: true }); + data.append(i8 { mag: 48, sign: false }); + data.append(i8 { mag: 21, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 14, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 25, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 32, sign: true }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 42, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 29, sign: false }); + data.append(i8 { mag: 12, sign: false }); + data.append(i8 { mag: 77, sign: false }); + data.append(i8 { mag: 95, sign: false }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 119, sign: false }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 31, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 17, sign: true }); + data.append(i8 { mag: 44, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 48, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 102, sign: false }); + data.append(i8 { mag: 86, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 101, sign: true }); + data.append(i8 { mag: 7, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 22, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 123, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 89, sign: false }); + data.append(i8 { mag: 78, sign: false }); + data.append(i8 { mag: 115, sign: true }); + data.append(i8 { mag: 121, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 42, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 71, sign: true }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 13, sign: true }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 108, sign: true }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 80, sign: false }); + data.append(i8 { mag: 66, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 85, sign: true }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 58, sign: true }); + data.append(i8 { mag: 82, sign: false }); + data.append(i8 { mag: 114, sign: true }); + data.append(i8 { mag: 60, sign: true }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 67, sign: true }); + data.append(i8 { mag: 120, sign: false }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 122, sign: false }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 49, sign: false }); + data.append(i8 { mag: 111, sign: true }); + data.append(i8 { mag: 8, sign: true }); + data.append(i8 { mag: 43, sign: true }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 91, sign: true }); + data.append(i8 { mag: 94, sign: false }); + data.append(i8 { mag: 93, sign: true }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 88, sign: true }); + data.append(i8 { mag: 109, sign: false }); + data.append(i8 { mag: 70, sign: false }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 75, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 102, sign: true }); + data.append(i8 { mag: 79, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 70, sign: true }); + data.append(i8 { mag: 50, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 53, sign: false }); + data.append(i8 { mag: 54, sign: true }); + data.append(i8 { mag: 11, sign: false }); + data.append(i8 { mag: 113, sign: false }); + data.append(i8 { mag: 65, sign: true }); + data.append(i8 { mag: 1, sign: false }); + data.append(i8 { mag: 104, sign: false }); + data.append(i8 { mag: 1, sign: true }); + data.append(i8 { mag: 73, sign: true }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 65, sign: false }); + data.append(i8 { mag: 39, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 47, sign: true }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 125, sign: true }); + data.append(i8 { mag: 20, sign: false }); + data.append(i8 { mag: 8, sign: false }); + data.append(i8 { mag: 34, sign: true }); + data.append(i8 { mag: 80, sign: true }); + data.append(i8 { mag: 69, sign: true }); + data.append(i8 { mag: 114, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 92, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 81, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 108, sign: false }); + data.append(i8 { mag: 29, sign: true }); + data.append(i8 { mag: 30, sign: true }); + data.append(i8 { mag: 16, sign: false }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 2, sign: false }); + data.append(i8 { mag: 74, sign: true }); + data.append(i8 { mag: 124, sign: true }); + data.append(i8 { mag: 83, sign: true }); + data.append(i8 { mag: 64, sign: false }); + data.append(i8 { mag: 96, sign: true }); + data.append(i8 { mag: 41, sign: false }); + data.append(i8 { mag: 61, sign: false }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 115, sign: false }); + data.append(i8 { mag: 3, sign: true }); + data.append(i8 { mag: 55, sign: false }); + data.append(i8 { mag: 51, sign: true }); + data.append(i8 { mag: 69, sign: false }); + data.append(i8 { mag: 36, sign: false }); + data.append(i8 { mag: 7, sign: true }); + data.append(i8 { mag: 127, sign: true }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 97, sign: false }); + data.append(i8 { mag: 62, sign: true }); + data.append(i8 { mag: 45, sign: true }); + data.append(i8 { mag: 11, sign: true }); + data.append(i8 { mag: 40, sign: true }); + data.append(i8 { mag: 93, sign: false }); + data.append(i8 { mag: 34, sign: false }); + data.append(i8 { mag: 32, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 101, sign: false }); + data.append(i8 { mag: 52, sign: false }); + data.append(i8 { mag: 109, sign: true }); + data.append(i8 { mag: 116, sign: false }); + data.append(i8 { mag: 126, sign: true }); + data.append(i8 { mag: 31, sign: true }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 57, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 9, sign: false }); + data.append(i8 { mag: 41, sign: true }); + data.append(i8 { mag: 59, sign: true }); + data.append(i8 { mag: 78, sign: true }); + data.append(i8 { mag: 118, sign: false }); + data.append(i8 { mag: 85, sign: false }); + data.append(i8 { mag: 118, sign: true }); + data.append(i8 { mag: 49, sign: true }); + data.append(i8 { mag: 72, sign: false }); + data.append(i8 { mag: 67, sign: false }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 104, sign: true }); + data.append(i8 { mag: 113, sign: true }); + data.append(i8 { mag: 38, sign: false }); + data.append(i8 { mag: 123, sign: false }); + data.append(i8 { mag: 98, sign: true }); + data.append(i8 { mag: 90, sign: false }); + data.append(i8 { mag: 125, sign: false }); + data.append(i8 { mag: 106, sign: true }); + data.append(i8 { mag: 90, sign: true }); + data.append(i8 { mag: 99, sign: false }); + data.append(i8 { mag: 95, sign: true }); + data.append(i8 { mag: 37, sign: false }); + data.append(i8 { mag: 4, sign: false }); + data.append(i8 { mag: 124, sign: false }); + data.append(i8 { mag: 0, sign: false }); + data.append(i8 { mag: 127, sign: true }); + data.append(i8 { mag: 83, sign: false }); + data.append(i8 { mag: 19, sign: false }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 10, sign: false }); + data.append(i8 { mag: 100, sign: false }); + data.append(i8 { mag: 17, sign: false }); + data.append(i8 { mag: 38, sign: true }); + data.append(i8 { mag: 110, sign: true }); + data.append(i8 { mag: 40, sign: false }); + data.append(i8 { mag: 92, sign: false }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 51, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 10, sign: true }); + data.append(i8 { mag: 55, sign: true }); + data.append(i8 { mag: 96, sign: false }); + data.append(i8 { mag: 35, sign: false }); + data.append(i8 { mag: 63, sign: false }); + data.append(i8 { mag: 5, sign: true }); + data.append(i8 { mag: 74, sign: false }); + data.append(i8 { mag: 4, sign: true }); + data.append(i8 { mag: 45, sign: false }); + data.append(i8 { mag: 18, sign: false }); + data.append(i8 { mag: 98, sign: false }); + data.append(i8 { mag: 73, sign: false }); + data.append(i8 { mag: 105, sign: true }); + data.append(i8 { mag: 46, sign: true }); + data.append(i8 { mag: 24, sign: true }); + data.append(i8 { mag: 56, sign: false }); + data.append(i8 { mag: 6, sign: true }); + data.append(i8 { mag: 57, sign: false }); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_2d.cairo b/src/tests/nodes/unsqueeze_u32_2d.cairo new file mode 100644 index 000000000..95dc72982 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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_unsqueeze_u32_2d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![1, 4, 0].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_2d/input_0.cairo b/src/tests/nodes/unsqueeze_u32_2d/input_0.cairo new file mode 100644 index 000000000..027bf32d2 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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(118); + data.append(15); + data.append(98); + data.append(189); + data.append(191); + data.append(31); + data.append(239); + data.append(238); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_2d/output_0.cairo b/src/tests/nodes/unsqueeze_u32_2d/output_0.cairo new file mode 100644 index 000000000..01039d00e --- /dev/null +++ b/src/tests/nodes/unsqueeze_u32_2d/output_0.cairo @@ -0,0 +1,23 @@ +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(1); + shape.append(1); + shape.append(2); + shape.append(4); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(118); + data.append(15); + data.append(98); + data.append(189); + data.append(191); + data.append(31); + data.append(239); + data.append(238); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_3d.cairo b/src/tests/nodes/unsqueeze_u32_3d.cairo new file mode 100644 index 000000000..b6025d798 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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_unsqueeze_u32_3d() { + let input_0 = input_0::input_0(); + let z = output_0::output_0(); + + let y = input_0.unsqueeze(array![5, 4, 2].span()); + + assert_eq(y, z); +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_3d/input_0.cairo b/src/tests/nodes/unsqueeze_u32_3d/input_0.cairo new file mode 100644 index 000000000..b37033414 --- /dev/null +++ b/src/tests/nodes/unsqueeze_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(7); + data.append(236); + data.append(30); + data.append(159); + data.append(204); + data.append(64); + data.append(206); + data.append(112); + data.append(225); + data.append(238); + data.append(112); + data.append(68); + data.append(30); + data.append(172); + data.append(215); + data.append(205); + data.append(57); + data.append(120); + data.append(219); + data.append(245); + data.append(133); + data.append(39); + data.append(182); + data.append(104); + data.append(207); + data.append(164); + data.append(95); + data.append(93); + data.append(211); + data.append(49); + data.append(47); + data.append(143); + data.append(41); + data.append(42); + data.append(238); + data.append(219); + data.append(150); + data.append(243); + data.append(125); + data.append(195); + data.append(89); + data.append(4); + data.append(231); + data.append(171); + data.append(149); + data.append(190); + data.append(74); + data.append(209); + data.append(150); + data.append(60); + data.append(101); + data.append(43); + data.append(253); + data.append(78); + data.append(117); + data.append(175); + data.append(194); + data.append(165); + data.append(166); + data.append(139); + data.append(14); + data.append(176); + data.append(62); + data.append(12); + data.append(52); + data.append(85); + data.append(167); + data.append(107); + data.append(23); + data.append(191); + data.append(230); + data.append(58); + data.append(28); + data.append(93); + data.append(36); + data.append(234); + data.append(200); + data.append(227); + data.append(181); + data.append(232); + data.append(132); + data.append(55); + data.append(80); + data.append(23); + data.append(78); + data.append(102); + data.append(180); + data.append(208); + data.append(169); + data.append(179); + data.append(9); + data.append(184); + data.append(189); + data.append(58); + data.append(181); + data.append(222); + data.append(49); + data.append(254); + data.append(152); + data.append(233); + data.append(192); + data.append(181); + data.append(118); + data.append(3); + data.append(152); + data.append(80); + data.append(28); + data.append(107); + data.append(85); + data.append(192); + data.append(147); + data.append(151); + data.append(131); + data.append(211); + data.append(76); + data.append(233); + data.append(100); + data.append(57); + data.append(57); + data.append(147); + data.append(93); + data.append(172); + data.append(185); + data.append(202); + data.append(135); + data.append(130); + data.append(247); + data.append(14); + data.append(6); + data.append(210); + data.append(242); + data.append(113); + data.append(168); + data.append(68); + data.append(151); + data.append(156); + data.append(195); + data.append(141); + data.append(235); + data.append(216); + data.append(179); + data.append(11); + data.append(208); + data.append(12); + data.append(169); + data.append(203); + data.append(184); + data.append(242); + data.append(185); + data.append(119); + data.append(141); + data.append(199); + data.append(193); + data.append(180); + data.append(188); + data.append(73); + data.append(120); + data.append(229); + data.append(44); + data.append(247); + data.append(87); + data.append(146); + data.append(149); + data.append(17); + data.append(195); + data.append(235); + data.append(192); + data.append(196); + data.append(133); + data.append(242); + data.append(164); + data.append(96); + data.append(95); + data.append(64); + data.append(191); + data.append(247); + data.append(171); + data.append(100); + data.append(21); + data.append(184); + data.append(215); + data.append(153); + data.append(229); + data.append(33); + data.append(121); + data.append(84); + data.append(186); + data.append(109); + data.append(188); + data.append(63); + data.append(5); + data.append(73); + data.append(120); + data.append(195); + data.append(3); + data.append(12); + data.append(152); + data.append(247); + data.append(56); + data.append(224); + data.append(29); + data.append(102); + data.append(190); + data.append(126); + data.append(182); + data.append(109); + data.append(143); + data.append(71); + data.append(161); + data.append(235); + data.append(114); + data.append(7); + data.append(177); + data.append(44); + data.append(146); + data.append(126); + data.append(141); + data.append(135); + data.append(3); + data.append(146); + data.append(11); + data.append(38); + data.append(60); + data.append(189); + data.append(227); + data.append(224); + data.append(65); + data.append(176); + data.append(129); + data.append(14); + data.append(228); + data.append(61); + data.append(105); + data.append(135); + data.append(114); + data.append(235); + data.append(106); + data.append(7); + data.append(61); + data.append(214); + data.append(91); + data.append(100); + data.append(96); + data.append(81); + data.append(183); + data.append(203); + data.append(235); + data.append(66); + data.append(246); + data.append(245); + data.append(224); + data.append(135); + data.append(167); + data.append(198); + data.append(106); + data.append(87); + data.append(56); + data.append(55); + data.append(247); + data.append(34); + data.append(27); + data.append(225); + data.append(233); + data.append(38); + data.append(29); + data.append(116); + data.append(181); + data.append(107); + data.append(3); + data.append(11); + data.append(234); + data.append(156); + data.append(95); + data.append(182); + data.append(154); + data.append(106); + data.append(100); + data.append(34); + data.append(207); + data.append(136); + data.append(100); + data.append(34); + data.append(111); + data.append(116); + data.append(84); + data.append(114); + data.append(208); + data.append(46); + data.append(190); + data.append(190); + data.append(36); + data.append(123); + data.append(169); + data.append(227); + data.append(120); + data.append(106); + data.append(127); + data.append(123); + data.append(89); + data.append(126); + data.append(133); + data.append(13); + data.append(58); + data.append(127); + data.append(82); + data.append(251); + data.append(19); + data.append(127); + data.append(55); + data.append(134); + data.append(55); + data.append(198); + data.append(137); + data.append(232); + data.append(161); + data.append(200); + data.append(129); + data.append(218); + data.append(143); + data.append(177); + data.append(242); + data.append(93); + data.append(38); + data.append(60); + data.append(113); + data.append(49); + data.append(239); + data.append(124); + data.append(197); + data.append(19); + data.append(223); + data.append(172); + data.append(204); + data.append(215); + data.append(81); + data.append(72); + data.append(213); + data.append(253); + data.append(223); + data.append(180); + data.append(84); + data.append(237); + data.append(119); + data.append(174); + data.append(188); + data.append(39); + data.append(199); + data.append(91); + data.append(62); + data.append(205); + data.append(48); + data.append(176); + data.append(83); + data.append(53); + data.append(86); + data.append(59); + data.append(51); + data.append(13); + data.append(4); + data.append(177); + data.append(182); + data.append(52); + data.append(91); + data.append(54); + data.append(235); + data.append(237); + data.append(201); + data.append(136); + data.append(12); + data.append(219); + data.append(157); + data.append(15); + data.append(207); + data.append(31); + data.append(6); + data.append(114); + data.append(55); + data.append(32); + data.append(216); + data.append(146); + data.append(186); + data.append(20); + data.append(51); + data.append(19); + data.append(62); + data.append(191); + data.append(66); + data.append(95); + data.append(12); + data.append(60); + data.append(199); + data.append(211); + data.append(109); + data.append(176); + data.append(106); + data.append(41); + data.append(76); + data.append(216); + data.append(96); + data.append(4); + data.append(71); + data.append(221); + data.append(138); + data.append(40); + data.append(41); + data.append(239); + data.append(39); + data.append(36); + data.append(22); + data.append(137); + data.append(54); + data.append(166); + data.append(196); + data.append(150); + data.append(98); + data.append(208); + data.append(140); + data.append(193); + data.append(99); + data.append(195); + data.append(234); + data.append(179); + data.append(174); + data.append(170); + data.append(45); + data.append(182); + data.append(166); + data.append(48); + data.append(219); + data.append(143); + data.append(143); + data.append(157); + data.append(190); + data.append(86); + data.append(25); + data.append(253); + data.append(197); + data.append(7); + data.append(170); + data.append(49); + data.append(121); + data.append(135); + data.append(170); + data.append(78); + data.append(47); + data.append(217); + data.append(245); + data.append(225); + data.append(90); + data.append(11); + data.append(100); + data.append(69); + data.append(83); + data.append(180); + data.append(26); + data.append(84); + data.append(71); + data.append(12); + data.append(161); + data.append(181); + data.append(110); + data.append(94); + data.append(200); + data.append(157); + data.append(31); + data.append(26); + data.append(87); + data.append(155); + data.append(143); + data.append(73); + data.append(129); + data.append(144); + data.append(243); + data.append(77); + data.append(243); + data.append(225); + data.append(19); + data.append(31); + data.append(33); + data.append(189); + data.append(75); + data.append(22); + data.append(20); + data.append(3); + data.append(90); + data.append(45); + data.append(233); + data.append(211); + data.append(83); + data.append(123); + data.append(53); + data.append(112); + data.append(60); + data.append(65); + data.append(145); + data.append(29); + data.append(188); + data.append(51); + data.append(11); + data.append(41); + data.append(162); + data.append(177); + data.append(151); + data.append(142); + data.append(125); + data.append(44); + data.append(191); + data.append(133); + data.append(82); + data.append(240); + data.append(85); + data.append(143); + data.append(130); + data.append(81); + data.append(47); + data.append(30); + data.append(39); + data.append(124); + data.append(180); + data.append(80); + data.append(85); + data.append(73); + data.append(207); + data.append(75); + data.append(231); + data.append(148); + data.append(79); + data.append(249); + data.append(185); + data.append(135); + data.append(139); + data.append(8); + data.append(233); + data.append(198); + data.append(230); + data.append(60); + data.append(202); + data.append(125); + data.append(26); + data.append(121); + data.append(144); + data.append(201); + data.append(176); + data.append(114); + data.append(222); + data.append(236); + data.append(76); + data.append(0); + data.append(61); + data.append(143); + data.append(202); + data.append(4); + data.append(202); + data.append(84); + data.append(166); + data.append(12); + data.append(200); + data.append(118); + data.append(112); + data.append(153); + data.append(129); + data.append(210); + data.append(202); + data.append(68); + data.append(50); + data.append(135); + data.append(25); + data.append(81); + data.append(225); + data.append(24); + data.append(179); + data.append(7); + data.append(247); + data.append(212); + data.append(144); + data.append(85); + data.append(97); + data.append(182); + data.append(111); + data.append(60); + data.append(190); + data.append(130); + data.append(221); + data.append(138); + data.append(69); + data.append(177); + data.append(190); + data.append(29); + data.append(32); + data.append(160); + data.append(120); + data.append(102); + data.append(136); + data.append(12); + data.append(48); + data.append(78); + data.append(210); + data.append(233); + data.append(45); + data.append(58); + data.append(30); + data.append(212); + data.append(140); + data.append(93); + data.append(85); + data.append(21); + data.append(30); + data.append(159); + data.append(232); + data.append(88); + data.append(108); + data.append(225); + data.append(32); + data.append(223); + data.append(170); + data.append(241); + data.append(133); + data.append(71); + data.append(169); + data.append(212); + data.append(160); + data.append(148); + data.append(206); + data.append(237); + data.append(146); + data.append(34); + data.append(250); + data.append(80); + data.append(42); + data.append(122); + data.append(26); + data.append(250); + data.append(146); + data.append(109); + data.append(149); + data.append(179); + data.append(197); + data.append(135); + data.append(77); + data.append(236); + data.append(156); + data.append(49); + data.append(120); + data.append(1); + data.append(35); + data.append(190); + data.append(183); + data.append(238); + data.append(129); + data.append(227); + data.append(31); + data.append(32); + data.append(67); + data.append(34); + data.append(126); + data.append(99); + data.append(65); + data.append(202); + data.append(72); + data.append(102); + data.append(213); + data.append(3); + data.append(250); + data.append(124); + data.append(92); + data.append(241); + data.append(240); + data.append(166); + data.append(88); + data.append(215); + data.append(48); + data.append(211); + data.append(178); + data.append(160); + data.append(249); + data.append(204); + data.append(57); + data.append(209); + data.append(193); + data.append(16); + data.append(98); + data.append(127); + data.append(165); + data.append(248); + data.append(177); + data.append(196); + data.append(182); + data.append(61); + data.append(21); + data.append(202); + data.append(140); + data.append(218); + data.append(249); + data.append(64); + data.append(26); + data.append(15); + data.append(67); + data.append(17); + data.append(221); + data.append(2); + data.append(211); + data.append(213); + data.append(74); + data.append(111); + data.append(148); + data.append(171); + data.append(172); + data.append(22); + data.append(197); + data.append(16); + data.append(132); + data.append(194); + data.append(175); + data.append(212); + data.append(92); + data.append(37); + data.append(210); + data.append(155); + data.append(113); + data.append(112); + data.append(234); + data.append(2); + data.append(215); + data.append(144); + data.append(151); + data.append(149); + data.append(31); + data.append(117); + data.append(205); + data.append(206); + data.append(24); + data.append(26); + data.append(164); + data.append(210); + data.append(14); + data.append(225); + data.append(81); + data.append(206); + data.append(175); + data.append(89); + data.append(189); + data.append(54); + data.append(28); + data.append(207); + data.append(226); + data.append(39); + data.append(6); + data.append(121); + data.append(91); + data.append(222); + data.append(13); + data.append(5); + data.append(177); + data.append(34); + data.append(111); + data.append(173); + data.append(240); + data.append(41); + data.append(22); + data.append(110); + data.append(208); + data.append(168); + data.append(128); + data.append(175); + data.append(174); + data.append(185); + data.append(226); + data.append(9); + data.append(112); + data.append(243); + data.append(111); + data.append(181); + data.append(6); + data.append(203); + data.append(76); + data.append(238); + data.append(75); + data.append(247); + data.append(8); + data.append(167); + data.append(158); + data.append(85); + data.append(132); + data.append(48); + data.append(74); + data.append(121); + data.append(65); + data.append(178); + data.append(45); + data.append(9); + data.append(139); + data.append(49); + data.append(196); + data.append(11); + data.append(37); + data.append(59); + data.append(20); + data.append(80); + data.append(138); + data.append(221); + data.append(184); + data.append(31); + data.append(39); + data.append(233); + data.append(38); + data.append(20); + data.append(7); + data.append(158); + data.append(68); + data.append(172); + data.append(56); + data.append(155); + data.append(156); + data.append(164); + data.append(168); + data.append(66); + data.append(129); + data.append(169); + data.append(187); + data.append(98); + data.append(193); + data.append(107); + data.append(148); + data.append(83); + data.append(249); + data.append(184); + data.append(86); + data.append(72); + data.append(92); + data.append(4); + data.append(84); + data.append(221); + data.append(108); + data.append(100); + data.append(22); + data.append(57); + data.append(163); + data.append(7); + data.append(238); + data.append(183); + data.append(161); + data.append(178); + data.append(146); + data.append(229); + data.append(136); + data.append(207); + data.append(186); + data.append(148); + data.append(131); + data.append(136); + data.append(253); + data.append(55); + data.append(85); + data.append(90); + data.append(114); + data.append(58); + data.append(189); + data.append(92); + data.append(204); + data.append(205); + data.append(190); + data.append(230); + data.append(139); + data.append(165); + data.append(181); + data.append(171); + data.append(77); + data.append(116); + data.append(75); + data.append(49); + data.append(136); + data.append(0); + data.append(67); + data.append(74); + data.append(169); + data.append(16); + data.append(33); + data.append(27); + data.append(239); + data.append(18); + data.append(210); + data.append(207); + data.append(42); + data.append(86); + data.append(163); + data.append(150); + data.append(76); + data.append(127); + data.append(228); + data.append(80); + data.append(75); + data.append(174); + data.append(50); + data.append(248); + data.append(108); + data.append(114); + data.append(16); + data.append(31); + data.append(53); + data.append(57); + data.append(25); + data.append(198); + data.append(51); + data.append(179); + data.append(124); + data.append(80); + data.append(183); + data.append(48); + data.append(30); + data.append(133); + data.append(122); + data.append(94); + data.append(210); + data.append(250); + data.append(202); + data.append(117); + data.append(15); + data.append(11); + data.append(239); + data.append(0); + data.append(139); + data.append(246); + data.append(93); + data.append(252); + data.append(42); + data.append(117); + data.append(18); + data.append(98); + data.append(183); + data.append(62); + data.append(79); + data.append(203); + data.append(74); + data.append(40); + data.append(129); + data.append(148); + data.append(244); + data.append(76); + data.append(199); + data.append(134); + data.append(25); + data.append(165); + data.append(203); + data.append(132); + data.append(211); + data.append(212); + data.append(35); + data.append(196); + data.append(3); + data.append(35); + data.append(223); + data.append(111); + data.append(182); + data.append(83); + data.append(138); + data.append(85); + data.append(191); + data.append(94); + data.append(237); + data.append(62); + data.append(252); + data.append(7); + data.append(197); + data.append(235); + data.append(61); + data.append(203); + data.append(202); + data.append(115); + data.append(11); + data.append(118); + data.append(58); + data.append(184); + data.append(180); + data.append(86); + data.append(207); + data.append(209); + data.append(49); + data.append(112); + data.append(15); + data.append(227); + data.append(199); + data.append(217); + data.append(220); + data.append(236); + data.append(27); + data.append(38); + data.append(6); + data.append(211); + data.append(184); + data.append(64); + data.append(63); + data.append(209); + data.append(83); + data.append(72); + data.append(254); + data.append(65); + data.append(249); + data.append(53); + data.append(19); + data.append(99); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file diff --git a/src/tests/nodes/unsqueeze_u32_3d/output_0.cairo b/src/tests/nodes/unsqueeze_u32_3d/output_0.cairo new file mode 100644 index 000000000..3932b7105 --- /dev/null +++ b/src/tests/nodes/unsqueeze_u32_3d/output_0.cairo @@ -0,0 +1,1016 @@ +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(1); + shape.append(5); + shape.append(1); + shape.append(1); + + let mut data = ArrayTrait::new(); + data.append(7); + data.append(236); + data.append(30); + data.append(159); + data.append(204); + data.append(64); + data.append(206); + data.append(112); + data.append(225); + data.append(238); + data.append(112); + data.append(68); + data.append(30); + data.append(172); + data.append(215); + data.append(205); + data.append(57); + data.append(120); + data.append(219); + data.append(245); + data.append(133); + data.append(39); + data.append(182); + data.append(104); + data.append(207); + data.append(164); + data.append(95); + data.append(93); + data.append(211); + data.append(49); + data.append(47); + data.append(143); + data.append(41); + data.append(42); + data.append(238); + data.append(219); + data.append(150); + data.append(243); + data.append(125); + data.append(195); + data.append(89); + data.append(4); + data.append(231); + data.append(171); + data.append(149); + data.append(190); + data.append(74); + data.append(209); + data.append(150); + data.append(60); + data.append(101); + data.append(43); + data.append(253); + data.append(78); + data.append(117); + data.append(175); + data.append(194); + data.append(165); + data.append(166); + data.append(139); + data.append(14); + data.append(176); + data.append(62); + data.append(12); + data.append(52); + data.append(85); + data.append(167); + data.append(107); + data.append(23); + data.append(191); + data.append(230); + data.append(58); + data.append(28); + data.append(93); + data.append(36); + data.append(234); + data.append(200); + data.append(227); + data.append(181); + data.append(232); + data.append(132); + data.append(55); + data.append(80); + data.append(23); + data.append(78); + data.append(102); + data.append(180); + data.append(208); + data.append(169); + data.append(179); + data.append(9); + data.append(184); + data.append(189); + data.append(58); + data.append(181); + data.append(222); + data.append(49); + data.append(254); + data.append(152); + data.append(233); + data.append(192); + data.append(181); + data.append(118); + data.append(3); + data.append(152); + data.append(80); + data.append(28); + data.append(107); + data.append(85); + data.append(192); + data.append(147); + data.append(151); + data.append(131); + data.append(211); + data.append(76); + data.append(233); + data.append(100); + data.append(57); + data.append(57); + data.append(147); + data.append(93); + data.append(172); + data.append(185); + data.append(202); + data.append(135); + data.append(130); + data.append(247); + data.append(14); + data.append(6); + data.append(210); + data.append(242); + data.append(113); + data.append(168); + data.append(68); + data.append(151); + data.append(156); + data.append(195); + data.append(141); + data.append(235); + data.append(216); + data.append(179); + data.append(11); + data.append(208); + data.append(12); + data.append(169); + data.append(203); + data.append(184); + data.append(242); + data.append(185); + data.append(119); + data.append(141); + data.append(199); + data.append(193); + data.append(180); + data.append(188); + data.append(73); + data.append(120); + data.append(229); + data.append(44); + data.append(247); + data.append(87); + data.append(146); + data.append(149); + data.append(17); + data.append(195); + data.append(235); + data.append(192); + data.append(196); + data.append(133); + data.append(242); + data.append(164); + data.append(96); + data.append(95); + data.append(64); + data.append(191); + data.append(247); + data.append(171); + data.append(100); + data.append(21); + data.append(184); + data.append(215); + data.append(153); + data.append(229); + data.append(33); + data.append(121); + data.append(84); + data.append(186); + data.append(109); + data.append(188); + data.append(63); + data.append(5); + data.append(73); + data.append(120); + data.append(195); + data.append(3); + data.append(12); + data.append(152); + data.append(247); + data.append(56); + data.append(224); + data.append(29); + data.append(102); + data.append(190); + data.append(126); + data.append(182); + data.append(109); + data.append(143); + data.append(71); + data.append(161); + data.append(235); + data.append(114); + data.append(7); + data.append(177); + data.append(44); + data.append(146); + data.append(126); + data.append(141); + data.append(135); + data.append(3); + data.append(146); + data.append(11); + data.append(38); + data.append(60); + data.append(189); + data.append(227); + data.append(224); + data.append(65); + data.append(176); + data.append(129); + data.append(14); + data.append(228); + data.append(61); + data.append(105); + data.append(135); + data.append(114); + data.append(235); + data.append(106); + data.append(7); + data.append(61); + data.append(214); + data.append(91); + data.append(100); + data.append(96); + data.append(81); + data.append(183); + data.append(203); + data.append(235); + data.append(66); + data.append(246); + data.append(245); + data.append(224); + data.append(135); + data.append(167); + data.append(198); + data.append(106); + data.append(87); + data.append(56); + data.append(55); + data.append(247); + data.append(34); + data.append(27); + data.append(225); + data.append(233); + data.append(38); + data.append(29); + data.append(116); + data.append(181); + data.append(107); + data.append(3); + data.append(11); + data.append(234); + data.append(156); + data.append(95); + data.append(182); + data.append(154); + data.append(106); + data.append(100); + data.append(34); + data.append(207); + data.append(136); + data.append(100); + data.append(34); + data.append(111); + data.append(116); + data.append(84); + data.append(114); + data.append(208); + data.append(46); + data.append(190); + data.append(190); + data.append(36); + data.append(123); + data.append(169); + data.append(227); + data.append(120); + data.append(106); + data.append(127); + data.append(123); + data.append(89); + data.append(126); + data.append(133); + data.append(13); + data.append(58); + data.append(127); + data.append(82); + data.append(251); + data.append(19); + data.append(127); + data.append(55); + data.append(134); + data.append(55); + data.append(198); + data.append(137); + data.append(232); + data.append(161); + data.append(200); + data.append(129); + data.append(218); + data.append(143); + data.append(177); + data.append(242); + data.append(93); + data.append(38); + data.append(60); + data.append(113); + data.append(49); + data.append(239); + data.append(124); + data.append(197); + data.append(19); + data.append(223); + data.append(172); + data.append(204); + data.append(215); + data.append(81); + data.append(72); + data.append(213); + data.append(253); + data.append(223); + data.append(180); + data.append(84); + data.append(237); + data.append(119); + data.append(174); + data.append(188); + data.append(39); + data.append(199); + data.append(91); + data.append(62); + data.append(205); + data.append(48); + data.append(176); + data.append(83); + data.append(53); + data.append(86); + data.append(59); + data.append(51); + data.append(13); + data.append(4); + data.append(177); + data.append(182); + data.append(52); + data.append(91); + data.append(54); + data.append(235); + data.append(237); + data.append(201); + data.append(136); + data.append(12); + data.append(219); + data.append(157); + data.append(15); + data.append(207); + data.append(31); + data.append(6); + data.append(114); + data.append(55); + data.append(32); + data.append(216); + data.append(146); + data.append(186); + data.append(20); + data.append(51); + data.append(19); + data.append(62); + data.append(191); + data.append(66); + data.append(95); + data.append(12); + data.append(60); + data.append(199); + data.append(211); + data.append(109); + data.append(176); + data.append(106); + data.append(41); + data.append(76); + data.append(216); + data.append(96); + data.append(4); + data.append(71); + data.append(221); + data.append(138); + data.append(40); + data.append(41); + data.append(239); + data.append(39); + data.append(36); + data.append(22); + data.append(137); + data.append(54); + data.append(166); + data.append(196); + data.append(150); + data.append(98); + data.append(208); + data.append(140); + data.append(193); + data.append(99); + data.append(195); + data.append(234); + data.append(179); + data.append(174); + data.append(170); + data.append(45); + data.append(182); + data.append(166); + data.append(48); + data.append(219); + data.append(143); + data.append(143); + data.append(157); + data.append(190); + data.append(86); + data.append(25); + data.append(253); + data.append(197); + data.append(7); + data.append(170); + data.append(49); + data.append(121); + data.append(135); + data.append(170); + data.append(78); + data.append(47); + data.append(217); + data.append(245); + data.append(225); + data.append(90); + data.append(11); + data.append(100); + data.append(69); + data.append(83); + data.append(180); + data.append(26); + data.append(84); + data.append(71); + data.append(12); + data.append(161); + data.append(181); + data.append(110); + data.append(94); + data.append(200); + data.append(157); + data.append(31); + data.append(26); + data.append(87); + data.append(155); + data.append(143); + data.append(73); + data.append(129); + data.append(144); + data.append(243); + data.append(77); + data.append(243); + data.append(225); + data.append(19); + data.append(31); + data.append(33); + data.append(189); + data.append(75); + data.append(22); + data.append(20); + data.append(3); + data.append(90); + data.append(45); + data.append(233); + data.append(211); + data.append(83); + data.append(123); + data.append(53); + data.append(112); + data.append(60); + data.append(65); + data.append(145); + data.append(29); + data.append(188); + data.append(51); + data.append(11); + data.append(41); + data.append(162); + data.append(177); + data.append(151); + data.append(142); + data.append(125); + data.append(44); + data.append(191); + data.append(133); + data.append(82); + data.append(240); + data.append(85); + data.append(143); + data.append(130); + data.append(81); + data.append(47); + data.append(30); + data.append(39); + data.append(124); + data.append(180); + data.append(80); + data.append(85); + data.append(73); + data.append(207); + data.append(75); + data.append(231); + data.append(148); + data.append(79); + data.append(249); + data.append(185); + data.append(135); + data.append(139); + data.append(8); + data.append(233); + data.append(198); + data.append(230); + data.append(60); + data.append(202); + data.append(125); + data.append(26); + data.append(121); + data.append(144); + data.append(201); + data.append(176); + data.append(114); + data.append(222); + data.append(236); + data.append(76); + data.append(0); + data.append(61); + data.append(143); + data.append(202); + data.append(4); + data.append(202); + data.append(84); + data.append(166); + data.append(12); + data.append(200); + data.append(118); + data.append(112); + data.append(153); + data.append(129); + data.append(210); + data.append(202); + data.append(68); + data.append(50); + data.append(135); + data.append(25); + data.append(81); + data.append(225); + data.append(24); + data.append(179); + data.append(7); + data.append(247); + data.append(212); + data.append(144); + data.append(85); + data.append(97); + data.append(182); + data.append(111); + data.append(60); + data.append(190); + data.append(130); + data.append(221); + data.append(138); + data.append(69); + data.append(177); + data.append(190); + data.append(29); + data.append(32); + data.append(160); + data.append(120); + data.append(102); + data.append(136); + data.append(12); + data.append(48); + data.append(78); + data.append(210); + data.append(233); + data.append(45); + data.append(58); + data.append(30); + data.append(212); + data.append(140); + data.append(93); + data.append(85); + data.append(21); + data.append(30); + data.append(159); + data.append(232); + data.append(88); + data.append(108); + data.append(225); + data.append(32); + data.append(223); + data.append(170); + data.append(241); + data.append(133); + data.append(71); + data.append(169); + data.append(212); + data.append(160); + data.append(148); + data.append(206); + data.append(237); + data.append(146); + data.append(34); + data.append(250); + data.append(80); + data.append(42); + data.append(122); + data.append(26); + data.append(250); + data.append(146); + data.append(109); + data.append(149); + data.append(179); + data.append(197); + data.append(135); + data.append(77); + data.append(236); + data.append(156); + data.append(49); + data.append(120); + data.append(1); + data.append(35); + data.append(190); + data.append(183); + data.append(238); + data.append(129); + data.append(227); + data.append(31); + data.append(32); + data.append(67); + data.append(34); + data.append(126); + data.append(99); + data.append(65); + data.append(202); + data.append(72); + data.append(102); + data.append(213); + data.append(3); + data.append(250); + data.append(124); + data.append(92); + data.append(241); + data.append(240); + data.append(166); + data.append(88); + data.append(215); + data.append(48); + data.append(211); + data.append(178); + data.append(160); + data.append(249); + data.append(204); + data.append(57); + data.append(209); + data.append(193); + data.append(16); + data.append(98); + data.append(127); + data.append(165); + data.append(248); + data.append(177); + data.append(196); + data.append(182); + data.append(61); + data.append(21); + data.append(202); + data.append(140); + data.append(218); + data.append(249); + data.append(64); + data.append(26); + data.append(15); + data.append(67); + data.append(17); + data.append(221); + data.append(2); + data.append(211); + data.append(213); + data.append(74); + data.append(111); + data.append(148); + data.append(171); + data.append(172); + data.append(22); + data.append(197); + data.append(16); + data.append(132); + data.append(194); + data.append(175); + data.append(212); + data.append(92); + data.append(37); + data.append(210); + data.append(155); + data.append(113); + data.append(112); + data.append(234); + data.append(2); + data.append(215); + data.append(144); + data.append(151); + data.append(149); + data.append(31); + data.append(117); + data.append(205); + data.append(206); + data.append(24); + data.append(26); + data.append(164); + data.append(210); + data.append(14); + data.append(225); + data.append(81); + data.append(206); + data.append(175); + data.append(89); + data.append(189); + data.append(54); + data.append(28); + data.append(207); + data.append(226); + data.append(39); + data.append(6); + data.append(121); + data.append(91); + data.append(222); + data.append(13); + data.append(5); + data.append(177); + data.append(34); + data.append(111); + data.append(173); + data.append(240); + data.append(41); + data.append(22); + data.append(110); + data.append(208); + data.append(168); + data.append(128); + data.append(175); + data.append(174); + data.append(185); + data.append(226); + data.append(9); + data.append(112); + data.append(243); + data.append(111); + data.append(181); + data.append(6); + data.append(203); + data.append(76); + data.append(238); + data.append(75); + data.append(247); + data.append(8); + data.append(167); + data.append(158); + data.append(85); + data.append(132); + data.append(48); + data.append(74); + data.append(121); + data.append(65); + data.append(178); + data.append(45); + data.append(9); + data.append(139); + data.append(49); + data.append(196); + data.append(11); + data.append(37); + data.append(59); + data.append(20); + data.append(80); + data.append(138); + data.append(221); + data.append(184); + data.append(31); + data.append(39); + data.append(233); + data.append(38); + data.append(20); + data.append(7); + data.append(158); + data.append(68); + data.append(172); + data.append(56); + data.append(155); + data.append(156); + data.append(164); + data.append(168); + data.append(66); + data.append(129); + data.append(169); + data.append(187); + data.append(98); + data.append(193); + data.append(107); + data.append(148); + data.append(83); + data.append(249); + data.append(184); + data.append(86); + data.append(72); + data.append(92); + data.append(4); + data.append(84); + data.append(221); + data.append(108); + data.append(100); + data.append(22); + data.append(57); + data.append(163); + data.append(7); + data.append(238); + data.append(183); + data.append(161); + data.append(178); + data.append(146); + data.append(229); + data.append(136); + data.append(207); + data.append(186); + data.append(148); + data.append(131); + data.append(136); + data.append(253); + data.append(55); + data.append(85); + data.append(90); + data.append(114); + data.append(58); + data.append(189); + data.append(92); + data.append(204); + data.append(205); + data.append(190); + data.append(230); + data.append(139); + data.append(165); + data.append(181); + data.append(171); + data.append(77); + data.append(116); + data.append(75); + data.append(49); + data.append(136); + data.append(0); + data.append(67); + data.append(74); + data.append(169); + data.append(16); + data.append(33); + data.append(27); + data.append(239); + data.append(18); + data.append(210); + data.append(207); + data.append(42); + data.append(86); + data.append(163); + data.append(150); + data.append(76); + data.append(127); + data.append(228); + data.append(80); + data.append(75); + data.append(174); + data.append(50); + data.append(248); + data.append(108); + data.append(114); + data.append(16); + data.append(31); + data.append(53); + data.append(57); + data.append(25); + data.append(198); + data.append(51); + data.append(179); + data.append(124); + data.append(80); + data.append(183); + data.append(48); + data.append(30); + data.append(133); + data.append(122); + data.append(94); + data.append(210); + data.append(250); + data.append(202); + data.append(117); + data.append(15); + data.append(11); + data.append(239); + data.append(0); + data.append(139); + data.append(246); + data.append(93); + data.append(252); + data.append(42); + data.append(117); + data.append(18); + data.append(98); + data.append(183); + data.append(62); + data.append(79); + data.append(203); + data.append(74); + data.append(40); + data.append(129); + data.append(148); + data.append(244); + data.append(76); + data.append(199); + data.append(134); + data.append(25); + data.append(165); + data.append(203); + data.append(132); + data.append(211); + data.append(212); + data.append(35); + data.append(196); + data.append(3); + data.append(35); + data.append(223); + data.append(111); + data.append(182); + data.append(83); + data.append(138); + data.append(85); + data.append(191); + data.append(94); + data.append(237); + data.append(62); + data.append(252); + data.append(7); + data.append(197); + data.append(235); + data.append(61); + data.append(203); + data.append(202); + data.append(115); + data.append(11); + data.append(118); + data.append(58); + data.append(184); + data.append(180); + data.append(86); + data.append(207); + data.append(209); + data.append(49); + data.append(112); + data.append(15); + data.append(227); + data.append(199); + data.append(217); + data.append(220); + data.append(236); + data.append(27); + data.append(38); + data.append(6); + data.append(211); + data.append(184); + data.append(64); + data.append(63); + data.append(209); + data.append(83); + data.append(72); + data.append(254); + data.append(65); + data.append(249); + data.append(53); + data.append(19); + data.append(99); + TensorTrait::new(shape.span(), data.span()) +} \ No newline at end of file