1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include "ParserFlatbuffersSerializeFixture.hpp" 7*89c4ff92SAndroid Build Coastguard Worker #include <armnnDeserializer/IDeserializer.hpp> 8*89c4ff92SAndroid Build Coastguard Worker 9*89c4ff92SAndroid Build Coastguard Worker #include <string> 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Deserializer_Floor") 12*89c4ff92SAndroid Build Coastguard Worker { 13*89c4ff92SAndroid Build Coastguard Worker struct FloorFixture : public ParserFlatbuffersSerializeFixture 14*89c4ff92SAndroid Build Coastguard Worker { FloorFixtureFloorFixture15*89c4ff92SAndroid Build Coastguard Worker explicit FloorFixture(const std::string& shape, 16*89c4ff92SAndroid Build Coastguard Worker const std::string& dataType) 17*89c4ff92SAndroid Build Coastguard Worker { 18*89c4ff92SAndroid Build Coastguard Worker m_JsonString = R"( 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker inputIds: [0], 21*89c4ff92SAndroid Build Coastguard Worker outputIds: [2], 22*89c4ff92SAndroid Build Coastguard Worker layers: [ 23*89c4ff92SAndroid Build Coastguard Worker { 24*89c4ff92SAndroid Build Coastguard Worker layer_type: "InputLayer", 25*89c4ff92SAndroid Build Coastguard Worker layer: { 26*89c4ff92SAndroid Build Coastguard Worker base: { 27*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 0, 28*89c4ff92SAndroid Build Coastguard Worker base: { 29*89c4ff92SAndroid Build Coastguard Worker index: 0, 30*89c4ff92SAndroid Build Coastguard Worker layerName: "InputLayer", 31*89c4ff92SAndroid Build Coastguard Worker layerType: "Input", 32*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 33*89c4ff92SAndroid Build Coastguard Worker index: 0, 34*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 35*89c4ff92SAndroid Build Coastguard Worker }], 36*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ { 37*89c4ff92SAndroid Build Coastguard Worker index: 0, 38*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 39*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + shape + R"(, 40*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 41*89c4ff92SAndroid Build Coastguard Worker }}] 42*89c4ff92SAndroid Build Coastguard Worker } 43*89c4ff92SAndroid Build Coastguard Worker }}}, 44*89c4ff92SAndroid Build Coastguard Worker { 45*89c4ff92SAndroid Build Coastguard Worker layer_type: "FloorLayer", 46*89c4ff92SAndroid Build Coastguard Worker layer: { 47*89c4ff92SAndroid Build Coastguard Worker base: { 48*89c4ff92SAndroid Build Coastguard Worker index: 1, 49*89c4ff92SAndroid Build Coastguard Worker layerName: "FloorLayer", 50*89c4ff92SAndroid Build Coastguard Worker layerType: "Floor", 51*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 52*89c4ff92SAndroid Build Coastguard Worker index: 0, 53*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:0, outputSlotIndex:0 }, 54*89c4ff92SAndroid Build Coastguard Worker }], 55*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ { 56*89c4ff92SAndroid Build Coastguard Worker index: 0, 57*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 58*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + shape + R"(, 59*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 60*89c4ff92SAndroid Build Coastguard Worker 61*89c4ff92SAndroid Build Coastguard Worker }}]}, 62*89c4ff92SAndroid Build Coastguard Worker 63*89c4ff92SAndroid Build Coastguard Worker }}, 64*89c4ff92SAndroid Build Coastguard Worker { 65*89c4ff92SAndroid Build Coastguard Worker layer_type: "OutputLayer", 66*89c4ff92SAndroid Build Coastguard Worker layer: { 67*89c4ff92SAndroid Build Coastguard Worker base:{ 68*89c4ff92SAndroid Build Coastguard Worker layerBindingId: 2, 69*89c4ff92SAndroid Build Coastguard Worker base: { 70*89c4ff92SAndroid Build Coastguard Worker index: 2, 71*89c4ff92SAndroid Build Coastguard Worker layerName: "OutputLayer", 72*89c4ff92SAndroid Build Coastguard Worker layerType: "Output", 73*89c4ff92SAndroid Build Coastguard Worker inputSlots: [{ 74*89c4ff92SAndroid Build Coastguard Worker index: 0, 75*89c4ff92SAndroid Build Coastguard Worker connection: {sourceLayerIndex:1, outputSlotIndex:0 }, 76*89c4ff92SAndroid Build Coastguard Worker }], 77*89c4ff92SAndroid Build Coastguard Worker outputSlots: [ { 78*89c4ff92SAndroid Build Coastguard Worker index: 0, 79*89c4ff92SAndroid Build Coastguard Worker tensorInfo: { 80*89c4ff92SAndroid Build Coastguard Worker dimensions: )" + shape + R"(, 81*89c4ff92SAndroid Build Coastguard Worker dataType: )" + dataType + R"( 82*89c4ff92SAndroid Build Coastguard Worker }, 83*89c4ff92SAndroid Build Coastguard Worker }], 84*89c4ff92SAndroid Build Coastguard Worker }}}, 85*89c4ff92SAndroid Build Coastguard Worker }] 86*89c4ff92SAndroid Build Coastguard Worker } 87*89c4ff92SAndroid Build Coastguard Worker )"; 88*89c4ff92SAndroid Build Coastguard Worker Setup(); 89*89c4ff92SAndroid Build Coastguard Worker } 90*89c4ff92SAndroid Build Coastguard Worker }; 91*89c4ff92SAndroid Build Coastguard Worker 92*89c4ff92SAndroid Build Coastguard Worker 93*89c4ff92SAndroid Build Coastguard Worker struct SimpleFloorFixture : FloorFixture 94*89c4ff92SAndroid Build Coastguard Worker { SimpleFloorFixtureSimpleFloorFixture95*89c4ff92SAndroid Build Coastguard Worker SimpleFloorFixture() : FloorFixture("[ 1, 3, 3, 1 ]", 96*89c4ff92SAndroid Build Coastguard Worker "Float32") {} 97*89c4ff92SAndroid Build Coastguard Worker }; 98*89c4ff92SAndroid Build Coastguard Worker 99*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(SimpleFloorFixture, "Floor") 100*89c4ff92SAndroid Build Coastguard Worker { 101*89c4ff92SAndroid Build Coastguard Worker RunTest<4, armnn::DataType::Float32>( 102*89c4ff92SAndroid Build Coastguard Worker 4, 103*89c4ff92SAndroid Build Coastguard Worker {{"InputLayer", { -37.5f, -15.2f, -8.76f, -2.0f, -1.5f, -1.3f, -0.5f, -0.4f, 0.0f}}}, 104*89c4ff92SAndroid Build Coastguard Worker {{"OutputLayer",{ -38.0f, -16.0f, -9.0f, -2.0f, -2.0f, -2.0f, -1.0f, -1.0f, 0.0f}}}); 105*89c4ff92SAndroid Build Coastguard Worker } 106*89c4ff92SAndroid Build Coastguard Worker 107*89c4ff92SAndroid Build Coastguard Worker 108*89c4ff92SAndroid Build Coastguard Worker } 109