Skip to content

Commit 6b2bef2

Browse files
joannapnglmoneta
authored andcommitted
Fixed bugs in Slice SOFIE Operator, added slice gtests
1 parent f0cb4e9 commit 6b2bef2

File tree

11 files changed

+122
-13
lines changed

11 files changed

+122
-13
lines changed

tmva/sofie/inc/TMVA/ROperator_Slice.hxx

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include <cassert>
99
#include <sstream>
10+
#include <numeric>
1011

1112
namespace TMVA{
1213
namespace Experimental{
@@ -47,11 +48,15 @@ public:
4748
for (size_t i = 0; i < names.size(); ++i) {
4849
fNames[i] = UTILITY::Clean_name(names[i]);
4950
}
50-
// case names size is 3 check if steps is provided
51-
// instead of axis. Keep in fNames always the same order
52-
if (names.size() == 3 && names[2] != "axes") {
53-
fNames[3] = fNames[2];
54-
fNames[2] = "";
51+
52+
if (names.size() == 3) {
53+
if (names[2] != "axes") { //steps provided instead of axis
54+
fNames[3] = fNames[2];
55+
fNames[2] = "";
56+
}
57+
else { // steps not provided
58+
fNames[3] = "";
59+
}
5560
}
5661
}
5762
// ctor for versions < 10
@@ -76,7 +81,7 @@ public:
7681
// assume dimension of output shape is SAME AS INPUT !
7782
std::vector<std::vector<size_t>> ret(1, input_shape);
7883
auto & output_shape = ret[0];
79-
for (size_t i = 0; i < input_shape.size(); i++) {
84+
for (size_t i = 0; i < input_shape.size(); i++) {
8085
output_shape[i] = (fEnd[i]-fStart[i])/ fSteps[i];
8186
}
8287
return ret;
@@ -97,13 +102,26 @@ public:
97102
// loop on the extra 2 or 3 or 4 inputs
98103
for (size_t i = 0; i < fNames.size(); ++i) {
99104
if (!fNames[i].empty()) {
100-
std::cout << " i " << i << " getting data for tensor " << fNames[i] << std::endl;
105+
// std::cout << " i " << i << " getting data for tensor " << fNames[i] << std::endl;
101106
auto dptr = model.GetInitializedTensorData(fNames[i]);
102107
auto tensor = static_cast<IType *>(dptr.get());
103108
auto vec = model.GetTensorShape(fNames[i]);
104109
assert(vec.size() == 1);
105110
itensors[i] = std::vector<IType>(tensor, tensor + vec[0]);
106111
}
112+
else {
113+
switch (i)
114+
{
115+
case 2: // missing axes
116+
itensors[2] = std::vector<IType>(fShapeInput.size());
117+
std::iota(itensors[2].begin(), itensors[2].end(), 0);
118+
break;
119+
case 3: // missing steps
120+
itensors[3] = std::vector<IType>(itensors[0].size(), 1);
121+
default:
122+
break;
123+
}
124+
}
107125
}
108126
} else {
109127
assert (fAttributes.size() > 1);
@@ -132,17 +150,17 @@ public:
132150
assert(jaxis < dim - 1);
133151
size_t imax = fShapeInput[jaxis];
134152
// find start/end/step for given axis
135-
IType start = (istart[i] > 0) ? istart[i] : imax + istart[i];
153+
IType start = (istart[i] >= 0) ? istart[i] : imax + istart[i];
136154
if (start < 0) start = 0;
137155
if (start > static_cast<IType>(imax))
138156
start = imax;
139157
fStart[jaxis] = start;
140-
IType ie = (iend[i] > 0) ? iend[i] : imax + iend[i];
158+
IType ie = (iend[i] >= 0) ? iend[i] : imax + iend[i];
141159
if (ie < 0) ie = 0;
142160
if (ie > static_cast<IType>(imax))
143161
ie = imax;
144162
fEnd[jaxis] = ie;
145-
//std::cout << " iaxis " << jaxis << " start " << start << " end " << ie << std::endl;
163+
146164
if (isteps.size() > 0) {
147165
if (isteps[i] < 0) {
148166
// to be done
@@ -187,7 +205,7 @@ public:
187205
for (size_t idim = 0; idim < ndim-1; idim++) out << " stride" << idim << " + ";
188206
// here should be step size ?
189207
out << "i" << ndim-1 << ";\n";
190-
out << MSP << "fTensor_" << fNOutput << "[iOut++] = fTensor_" <<fNData << "[iInput];\n";
208+
out << MSP << "tensor_" << fNOutput << "[iOut++] = tensor_" <<fNData << "[iInput];\n";
191209
for (size_t idim = 0; idim < ndim; idim++) {
192210
MSP = MSP.replace(0,SP.length(),"");
193211
out << MSP << "}\n";
@@ -196,7 +214,6 @@ public:
196214
return out.str();
197215
}
198216

199-
200217
};
201218

202219
}//SOFIE

tmva/sofie/test/TestCustomModelsFromONNX.cxx

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,18 @@
242242
#include "GatherNegativeIndices_FromONNX.hxx"
243243
#include "input_models/references/GatherNegativeIndices.ref.hxx"
244244

245+
#include "Slice_FromONNX.hxx"
246+
#include "input_models/references/Slice.ref.hxx"
247+
248+
#include "Slice_Default_Axis_FromONNX.hxx"
249+
#include "input_models/references/Slice_Default_Axis.ref.hxx"
250+
251+
#include "Slice_Default_Steps_FromONNX.hxx"
252+
#include "input_models/references/Slice_Default_Steps.ref.hxx"
253+
254+
#include "Slice_Neg_FromONNX.hxx"
255+
#include "input_models/references/Slice_Neg.ref.hxx"
256+
245257
#include "gtest/gtest.h"
246258

247259
constexpr float DEFAULT_TOLERANCE = 1e-3f;
@@ -2353,3 +2365,67 @@ TEST(ONNX, GatherNegativeIndices) {
23532365
EXPECT_LE(std::abs(output[i] - correct[i]), TOLERANCE);
23542366
}
23552367
}
2368+
2369+
TEST(ONNX, Slice) {
2370+
constexpr float TOLERANCE = DEFAULT_TOLERANCE;
2371+
2372+
std::vector<float> input = Slice::input;
2373+
TMVA_SOFIE_Slice::Session s("Slice.dat");
2374+
std::vector<float> output(s.infer(input.data()));
2375+
2376+
EXPECT_EQ(output.size(), sizeof(Slice::output) / sizeof(float));
2377+
float *correct = Slice::output;
2378+
2379+
for (size_t i=0; i<output.size(); i++) {
2380+
EXPECT_LE(std::abs(output[i] - correct[i]), TOLERANCE);
2381+
}
2382+
2383+
}
2384+
2385+
TEST(ONNX, Slice_Default_Axis) {
2386+
constexpr float TOLERANCE = DEFAULT_TOLERANCE;
2387+
2388+
std::vector<float> input = Slice_Default_Axis::input;
2389+
TMVA_SOFIE_Slice_Default_Axis::Session s("Slice_Default_Axis.dat");
2390+
std::vector<float> output(s.infer(input.data()));
2391+
2392+
EXPECT_EQ(output.size(), sizeof(Slice_Default_Axis::output) / sizeof(float));
2393+
float *correct = Slice_Default_Axis::output;
2394+
2395+
for (size_t i=0; i<output.size(); i++) {
2396+
EXPECT_LE(std::abs(output[i] - correct[i]), TOLERANCE);
2397+
}
2398+
2399+
}
2400+
2401+
TEST(ONNX, Slice_Default_Steps) {
2402+
constexpr float TOLERANCE = DEFAULT_TOLERANCE;
2403+
2404+
std::vector<float> input = Slice_Default_Steps::input;
2405+
TMVA_SOFIE_Slice_Default_Steps::Session s("Slice_Default_Steps.dat");
2406+
std::vector<float> output(s.infer(input.data()));
2407+
2408+
EXPECT_EQ(output.size(), sizeof(Slice_Default_Steps::output) / sizeof(float));
2409+
float *correct = Slice_Default_Steps::output;
2410+
2411+
for (size_t i=0; i<output.size(); i++) {
2412+
EXPECT_LE(std::abs(output[i] - correct[i]), TOLERANCE);
2413+
}
2414+
2415+
}
2416+
2417+
TEST(ONNX, Slice_Neg) {
2418+
constexpr float TOLERANCE = DEFAULT_TOLERANCE;
2419+
2420+
std::vector<float> input = Slice_Neg::input;
2421+
TMVA_SOFIE_Slice_Neg::Session s("Slice_Neg.dat");
2422+
std::vector<float> output(s.infer(input.data()));
2423+
2424+
EXPECT_EQ(output.size(), sizeof(Slice_Neg::output) / sizeof(float));
2425+
float *correct = Slice_Neg::output;
2426+
2427+
for (size_t i=0; i<output.size(); i++) {
2428+
EXPECT_LE(std::abs(output[i] - correct[i]), TOLERANCE);
2429+
}
2430+
2431+
}
238 Bytes
Binary file not shown.
193 Bytes
Binary file not shown.
238 Bytes
Binary file not shown.
210 Bytes
Binary file not shown.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
namespace Slice{
2+
std::vector<float> input = {0.16892381, -0.92159724, 0.64389044, 1.8697567, -0.8018371, -1.2693683, -2.093365, 1.8541908, -0.26340157, 0.9572909, 0.34671152, -1.7053558, -0.36417124, -2.3248599, -0.13200487, 2.3006496, 0.46386284, -2.1614797, -1.3742889, -0.40108228, -0.5511143, 0.35275838, -0.70952916, -0.41565117, 0.15577549, -0.8660324, -0.31523043, -1.43095, -0.62599516, -1.2735285, 0.74245137, 0.5401528, 1.2080778, 1.9445739, 0.5149316, 0.5683389, 1.6830992, -1.5869702, -0.9276118, -1.8208988, -0.52550256, 0.082054906, -1.0242202, 0.640871, -0.50823563, -0.13035983, -0.7713898, -1.1191769, 0.59570795, -0.06568418, -1.1858853, -0.085937336, 1.0237325, 0.32681447, -1.3751194, -0.28284678, -2.5314686, -0.36053106, 1.3408105, 0.46642232, -0.7184956, -0.5716407, -0.29177785, -0.29941186, -0.08443816, 0.054849386, -0.582217, 0.5512954, -1.2351213, 1.0514443, 0.2601373, 0.2979866, 1.1088992, -0.41123372, 1.2637646, 0.18790472, -0.16448955, -0.61922485, 0.72030956, -1.8054826, 2.739959, 1.515231, -1.1871477, -0.72046477, -0.49725538, -0.3599622, -2.4750538, -0.11285576, -1.1877617, -0.28629062, -0.5285716, 1.9786791, 2.2289317, -1.2789943, 1.3801973, -1.2113228, 0.16036053, -0.4714372, -1.1011868, 1.4348198, -0.15923952, 1.4626329, -0.7119883, 0.7440471, -1.8418623, 0.2772118, -1.2898343, 0.8006727, -0.47921824, 0.35204977, -0.23730946, -0.9184093, -0.44745374, 1.7422614, -1.2565724, 2.1967077, 0.31261623, -0.89821947, 1.8867549, 0.45231855, 0.8269342, 0.032707807, 0.025322068, 1.1288303, -1.4889454, 1.3964689, -1.5560274, -2.1302202, 0.7437271, 1.5007018, -1.3589836, -0.955504, 0.32147405, -1.4642475, -0.12817268, -0.030474393, 1.7738372, -0.38548046, -1.0957392, 1.3144948, 0.2697103, 1.8592813, 0.4777307, -0.6822411, 1.0501494, -0.87983644, -1.7267572, -0.3565207, -1.1379921, 0.7837413, 0.43398347, -0.30728853, -0.00026109006, -2.0815682, -1.1233135, 1.200373, 1.1735791, 0.80191934, -0.40204743, 0.60110134, 1.0514777, 0.71647906, 1.6119534, -0.7692411, -0.13165821, 1.076266, -0.58777434, 2.1273491, 0.5979284, -0.74737847, -0.16932407, -2.6000056, -0.18568534, -1.7186687, 0.38444906, -1.2328393, -1.166593, -0.749837, 0.6540508, -0.48843417, 0.105534576, -0.19924901, 0.39926815, 0.5520011, 0.78686863, -0.88527286, -0.39068756, 0.800181, 1.0539882, 0.82253766, -0.29349077, -0.95323867, -0.7239985, 0.4156427, 0.054603174, 0.46671128, 0.12290481, -0.9419718, -0.9518065, 0.6800318, 0.7334219, -1.4501665, 0.72601205, -0.009272683, -1.5702912, 2.6023812, -2.550537, 0.41290838, -0.0004515256, 0.7949585, 0.10386975, 1.9759881, -0.88904214, -0.20765586, 0.15403232, 0.090678096, -0.20895411, 0.9813557, 1.4583536, 0.08779892, 1.2651963, 0.34579468, 0.70687234, -1.1209601, 1.0646888, 0.20993355, 0.8882366, -0.4729274, -0.84709066, 0.2017297, -1.216628, 0.13039826, -0.61262065, 1.6169266, -0.1344048, -0.62242454, -0.6336179, 0.39012757, -0.826561, 0.008478365, 1.0602465, -1.0957131, -1.5973436, 1.2533009, 1.632353, -1.3100505, 0.51999503, -0.93459845, -1.1390812, 1.7102306, 0.08346745, 1.533848, -0.14334835, -1.1145127, -0.3083682, 0.08911435, 0.8270216, 0.66675997, -1.434103, 0.055906765, 0.18895805, -0.12091928, -0.07631843, -1.1277905, 0.56415355, -0.42068058, -0.43619972, -0.33488145, 0.46014947, 0.060450263, 0.6036779, 2.9487398, 0.14211768, -1.0608279, -0.5405822, 0.6854363, 0.051226616, -0.006617631, 0.27221313, 0.8168545, -1.4345047, 0.15883587, -1.0407009, -1.0776329, -1.4761366, 0.5077002, -0.18065284, -1.3203033, 1.2343279, 1.0788544, 0.95910555, -0.45996368, -1.1551211, -1.0516672, 0.75456, 0.5729106, 2.0468712, 0.95701927, -0.39028248, 0.7682253, -0.32310373, -0.25830054, 0.79827476, 0.64777404, -0.7693852, 0.13818592, -0.21603993, -0.13035135, 0.36271432, -1.3548849, 0.631066, -0.35979733, 2.012173, 0.5632781, -1.5559843, -1.0903429, -1.7130791, 0.6116188, -0.08399546, -0.28317407, 1.5286123, 0.34003162, 0.13574599, 1.8278462, 0.68333685, 1.5154774, 1.0113451, 2.3652873, -0.48571086, 0.16396068, 0.7627067, 0.64387697, 1.0480355, -1.8542932, 0.3824617, 0.2613266, -0.99953574, -0.51782006, -0.6157211, 1.3795184, 0.7554518, 0.95089144, -0.4212272, -1.2846807, -1.3833915, 0.4969849, 0.43599954, 0.83426636, -0.24071422, -0.41247413, 0.1387651, -0.4410387, -1.0201113, -1.0151287, -0.30920383, -0.8524633, -0.78186303, 1.4333282, -0.14950007, -0.089015275, -0.08387725, 1.1056882, -0.1740884, -1.9291706, 0.38982868, 0.6995906, 1.4180859, 0.75444674, -0.95499, 1.1255932, 0.84249365, 0.3965257, -0.91656125, 0.30407417, 0.04821479, -1.7198461, 0.2624329, -0.4283524, -1.4282044, -0.06547159, 0.80487037, 1.1919813, -1.157512, 0.82863224, -0.42936045, -0.28821445, 1.4708856, -1.4182036, 1.0695099, -0.98250604, -0.2871269, -0.30628875, 1.0268122, 0.1077968, 0.3942135, 2.5741844, -0.22341488, -1.2882922, -0.92537004, -0.29827946, -0.8657189, -1.3523725, 1.2271954, -0.97767305, -1.5279788, -2.1684647, -0.8809741, -1.7020837, -0.77671313, -0.30759412, 0.95844865, 0.1201042, -0.35956126, -0.6732596, -0.66489315, -0.23282625, -2.199095, 0.015637554, 0.9093451, 0.6256771, -1.0440992, -1.2953913, -1.1988038, 0.57272595, 1.3343319, 1.5685514, 0.79896367, -0.33781642, 0.108379155, 0.69055647, -0.17776953, 1.1198257, 1.4672221, -0.25398532, -0.1565034, 1.6918836, -0.8700688, -1.1308992, -1.1974417, -1.1137329, 0.83902305, -0.21537443, -0.3621372, -0.56612146, -0.23607141, 0.06558742, 1.5528702, 0.6764845, -0.9899203, -0.24187809, -0.43976098, -0.17901607, 0.39272916, 0.6076459, -0.7449423, -1.1412064, -0.600098, 0.1454072, 0.68503654, 0.5873987, 0.7652769, 0.912399, -0.58995295, -0.07652284, -0.5957174, 0.1472433, 0.5542278, -1.115277, 0.44539738, -0.039799254, -1.5118825, -0.23560798, 1.2844542, -0.02893157, -1.1343006, -0.3527552, -0.9586529, 0.7139522, -1.7368245, 0.2557312, -0.70883536, -0.41837376, -1.4177307, -1.2666334, 0.59642404, -1.461725, 0.029051205, 1.4515164, 1.2521093, 1.2121066, -0.46119824, -0.42757216, 0.21424922, 0.34615174, -0.4361925, 0.90037245, -0.8620516, 0.37771982, 1.0740494, -0.35472628, -1.7184305, -0.10192693, -0.49839312, -1.2606971, 0.898541, 1.611125, -1.8196648, 1.1042156, -0.90353936, -0.042169813, 0.88219213, -1.8153738, 1.0310693, -1.8895094, -0.3627731, 0.73769325, -0.29475728, 0.20184469, -1.0428863, 0.60270995, 1.2704183, -0.061668225, -0.29045984, -0.1823551, 0.26992062, 0.55780077, 0.03529894, -0.7468571, 0.9940811, -0.61718744, -0.8993642, -0.4772598, 0.58771855, -0.8835732, -1.031474, -0.7897231, 0.99002546, -1.3488675, -0.08344488, -1.6553906, -0.49131376, 0.046392173, -0.5849192, -0.93096536, 0.34290412, 0.056457043, 1.3271558, 0.16145127, -1.6025941, 0.8305644, 0.015047411, -0.7772031, 2.4478736, 1.360108, 0.9110892, 1.506102, -0.45487866, -0.060103003, -0.15757999, -0.3803988, 1.4101455, -0.30708334, 1.0538982, -0.8294986, 0.047576066, -1.3256047, 0.45925236, 1.080683, -0.40040824, 1.111924, 0.5593369, -1.3896682, 1.9023105, 0.39116186, -1.1850232, -2.5139296, 1.7266207, -0.25787568, 0.8259598, 0.18016069, -0.49573916, -0.04785415, -0.04976653, 0.18465424, 0.7601481, 0.11443199, 1.3491508, 1.0334013, 0.51608413, -0.54822063, 1.0440209, 0.95839494, 0.35903192, 1.0515867, -0.69485205, 0.1259807, 0.5945902, 0.93981904, 0.8042134, 0.15225424, -1.1134514, -0.14319238, -0.3946564, 1.5849768, 0.32735464, -1.6741558, -1.2463093, -0.53212994, -0.5394611, 0.96027434, -0.03620187, -1.0707031, 0.0770781, 0.73527884, -0.2964921, -0.9622408, 2.6329126, 0.3759397, -0.6592005, 1.1139793, -0.14716254, -0.045174014, -0.6791271, 0.03255666, -1.0424751, 0.9587916, -0.08317592, 0.31456205, 0.1654861, 0.7260626, -0.58481413, 2.1518521, -0.09424311, -0.341701, -1.6353136, -0.17042917, 0.40579286, -0.019979922, -1.0232186, -0.35566926, 1.1416146, 1.2195485, 2.077471, -0.43837976, -0.540069, 0.7379818, -0.19262947, -1.4484813, 0.83212805, -0.74113214, -0.9538223, -0.05834837, 0.44041303, -0.745651, -0.17320694, 0.49808195, -1.5061892, -1.4944872, 0.8008681, -0.9398744, -0.6182817, -0.30942512, 0.36129692, -2.318599, 0.54687035, 0.56182396, -0.06872349, -1.4240448, -0.9996982, 2.5200498, -2.1654541, 0.47496814, 0.39391482, 0.1450314, 1.4216573, -0.04379695, 0.26455754, -1.5143254, -0.85161084, 1.3674622, 0.070562564, -0.07321006, 0.29007795, -1.1730325, 0.7077345, 0.17599413, -1.507193, 0.033037208, 0.6345246, -0.026505666, -1.3673415, -1.175768, -1.11894, -1.1722083, 0.650109, 0.32472748, 0.77097934, -0.91142863, -1.6627023, 0.23963581, -0.34835646, 1.4858739, -0.17808837, -1.4222599, 0.42851982, 0.91185176, -3.1663878, -1.9458324, 0.17138235, 2.7273235, 0.48435047, 1.4257667, -0.39429623, -0.25928524, -0.6969385, 0.27237153, 0.9719653, -0.94499624, -0.93431616, 0.3313879, 0.5322593, -1.0736529, 1.0660676, -0.3857444, 0.24826482, 1.3510975, -0.29179078, -0.48444024, 0.754738, 0.0317517, 0.88101363, -1.43013, 0.19301237, 0.62407196, 2.5889156, -0.35503194, -1.3965347, 1.492098, 1.0243834, 0.2891013, 0.7667233, 1.203408, -0.3896164, 1.1657643, 2.0440407, -0.03122957, -0.44319737, -0.11672504, -0.41915283, 1.3281194, 0.685727, 0.75879604, -0.073904574, -0.33132726, 1.257834, -0.45057672, -0.6296975, -0.9192257, 1.0221746, 0.9291648, -0.94363177, 1.5092527, 0.34648833, -1.2825301, -1.0486758, 1.5055352, 1.8865529, -0.6334556, -0.024593918, -1.1252753, 0.5185867, 0.6124192, -0.037293382, -1.1181691, -2.355505, 0.63034916, -1.0368301, 0.036144637, -1.3204461, -0.8474016, -0.48407465, 0.87706107, -1.6368544, -0.59363234, -0.27536315, -1.3947005, 0.6367079, 0.080906734, 1.6612034, -1.1942811, -1.3962767, -0.3492455, -0.3317619, 0.8585051, -0.6099857, 0.9731934, -0.33863986, -1.1859555, 2.1923492, -0.20945679, -0.019335553, -0.43917775, 0.17868017, 0.0638598, 0.6821277, -0.52001894, 0.29006997, 1.3569279, 0.04126053, -0.3513845, 1.2705727, 0.61468333, -0.51229066, -0.943082, 0.123694554, 0.08704179, -0.85914665, -1.2665237, 0.120996974, 0.5872544, -0.6498738, -0.7558008, 2.0874078, -1.0826503, 1.2161089, -1.1158899, -0.6995301, 1.5182605, 0.9212444, 0.19732377, -0.49805963, 1.5307648, -0.09824258, -0.17579414, 0.3059942, 0.29013804, 1.6369693, 0.68866324, -0.41122213, 1.6944041, 0.84453344, 0.3998347, -0.632812, 0.09177586, -0.7140142, -0.25561154, 0.6781396, 1.4335965, -0.92604005, 0.47844896, -0.48447236, -0.26535156, 0.5610667, -1.5414823, -1.1018133, 0.45464283, 0.8867224, 0.46265063, 0.13983822, 0.62714416, -0.47083634, -0.582377, -0.95651495, 1.4113004, -1.5234841, -0.54477, 1.0616144, 0.86381114, 0.03474352, 0.8896466, -0.76275426, -0.52808905, 1.6884556, 1.2545907, -0.44361708, 0.049262527, 1.7879602, -0.48884976, 0.62784165, 2.0904067, 0.6360781, -0.24506103, 1.8339422, -0.24874923, 0.31993455, 1.6265831, -0.5266883, 1.8444152, 1.0903536, -0.18320195, -0.67846495, 0.27813777, -1.0786334, 0.36553434, 0.18099804, -0.4765761, -0.47241208, -1.6986724, 0.3840502, 1.0583769, 0.9158794, -0.36690733, 1.0359205, 1.5035034, -1.8313702, 1.0422257, -0.0002647597, 1.6137222, -0.8129771, 1.7378803, 1.3767345, -3.097059, -0.23142079, -0.49518618, 0.07198295, -0.47360966, -0.14493094, -0.903153, -0.8566985, 0.35070956, 0.07519327, -0.8176252, -0.5011129, -2.0338905, 2.0791926, -0.9524556, -0.35013407, 0.69216543, 1.8425413, -0.7101777, 0.9166597, 1.373442, 0.8864508, -0.69209445, 0.722764, 1.6853193, 0.43362904, 0.15304323, 1.2292317, 0.571318, -0.03697805, 1.0155749, 0.017713238, 0.61617565, 0.6086641, 0.17308934, -1.0802362, -1.0679781, -0.17226323, -1.079547, 0.36464852, 2.0566635, -1.5955839, -0.708551, 1.0764654, 1.3606769, -2.1782458, 0.12521815, -1.4049494, -1.893154, -0.9671274, 0.20998928, -0.39094374, 0.41292644, 1.0094323, 0.7236309, 0.729022, -0.093239464, 1.331729, 0.12037584, -0.91795444, -2.681229, -0.06648174, 0.32202816, 0.25560144, -1.2391394, -0.5821641, -0.92049783, 0.08570945, -0.024655689, -1.1845642, 1.3647254, 0.90066713, -0.7882246, 0.11265421, -1.1675286, -1.4266101, 0.07994837, 0.22534218, -0.13602129, -0.37254322, -2.8944714, -0.091046974, -0.15506679, 0.5082102, -1.5789851, -0.2162176, -0.51339483, 0.5204938, 0.11788538};
3+
float output[] = {0.16892381, -0.92159724, 0.64389044, 1.8697567, -0.8018371, -1.2693683, -2.093365, 1.8541908, -0.26340157, 0.9572909, 0.34671152, -1.7053558, -0.36417124, -2.3248599, -0.13200487, 2.3006496, 0.46386284, -2.1614797, -1.3742889, -0.40108228, -0.5511143, 0.35275838, -0.70952916, -0.41565117, 0.15577549, -0.8660324, -0.31523043, -1.43095, -0.62599516, -1.2735285, 0.74245137, 0.5401528, 1.2080778, 1.9445739, 0.5149316, 0.5683389, 1.6830992, -1.5869702, -0.9276118, -1.8208988, -0.52550256, 0.082054906, -1.0242202, 0.640871, -0.50823563, -0.13035983, -0.7713898, -1.1191769, 0.59570795, -0.06568418, -1.1858853, -0.085937336, 1.0237325, 0.32681447, -1.3751194, -0.28284678, -2.5314686, -0.36053106, 1.3408105, 0.46642232, -0.7184956, -0.5716407, -0.29177785, -0.29941186, -0.08443816, 0.054849386, -0.582217, 0.5512954, -1.2351213, 1.0514443, 0.2601373, 0.2979866, 1.1088992, -0.41123372, 1.2637646, 0.18790472, -0.16448955, -0.61922485, 0.72030956, -1.8054826, 2.739959, 1.515231, -1.1871477, -0.72046477, -0.49725538, -0.3599622, -2.4750538, -0.11285576, -1.1877617, -0.28629062, -0.5285716, 1.9786791, 2.2289317, -1.2789943, 1.3801973, -1.2113228, 0.16036053, -0.4714372, -1.1011868, 1.4348198, -0.15923952, 1.4626329, -0.7119883, 0.7440471, -1.8418623, 0.2772118, -1.2898343, 0.8006727, -0.47921824, 0.35204977, -0.23730946, -0.9184093, -0.44745374, 1.7422614, -1.2565724, 2.1967077, 0.31261623, -0.89821947, 1.8867549, 0.45231855, 0.8269342, 0.032707807, 0.025322068, 1.1288303, -1.4889454, 1.3964689, -1.5560274, -2.1302202, 0.7437271, 1.5007018, -1.3589836, -0.955504, 0.32147405, -1.4642475, -0.12817268, -0.030474393, 1.7738372, -0.38548046, -1.0957392, 1.3144948, 0.2697103, 1.8592813, 0.4777307, -0.6822411, 1.0501494, -0.87983644, -1.7267572, -0.3565207, -1.1379921, 0.7837413};
4+
}

0 commit comments

Comments
 (0)