assert(pure->inputs() == nnapi->inputs());
+ // Generate singed 32-bit integer (s32) input
+ auto s32gen = [&](int id, ::tflite::Interpreter *pure, ::tflite::Interpreter *nnapi) {
+ assert(pure->tensor(id)->type == kTfLiteInt32);
+ assert(nnapi->tensor(id)->type == kTfLiteInt32);
+
+ auto pure_view = nnfw::support::tflite::TensorView<int32_t>::make(*pure, id);
+ auto nnapi_view = nnfw::support::tflite::TensorView<int32_t>::make(*nnapi, id);
+
+ assert(pure_view.shape() == nnapi_view.shape());
+
+ int32_t value = 0;
+
+ nnfw::util::tensor::iterate(pure_view.shape()) << [&](const nnfw::util::tensor::Index &ind) {
+ // TODO Generate random values
+ ++value;
+
+ pure_view.at(ind) = value;
+ nnapi_view.at(ind) = value;
+ };
+ };
+
auto floatgen = [&](int id, ::tflite::Interpreter *pure, ::tflite::Interpreter *nnapi) {
assert(pure->tensor(id)->type == kTfLiteFloat32);
assert(nnapi->tensor(id)->type == kTfLiteFloat32);
assert(pure->tensor(id)->type == nnapi->tensor(id)->type);
switch (pure->tensor(id)->type)
{
+ case kTfLiteInt32:
+ {
+ s32gen(id, pure.get(), nnapi.get());
+ break;
+ }
case kTfLiteFloat32:
{
floatgen(id, pure.get(), nnapi.get());