2 * Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
3 * Copyright 2015 The TensorFlow Authors. All Rights Reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #include "MatrixBandPart.h"
20 #include "flatbuffers/flexbuffers.h"
22 flatbuffers::Offset<void> MatrixBandPartChef::value(flatbuffers::FlatBufferBuilder &fbb) const
24 return flatbuffers::Offset<void>();
27 flatbuffers::Offset<flatbuffers::Vector<uint8_t>>
28 MatrixBandPartChef::custom_value(flatbuffers::FlatBufferBuilder &fbb) const
30 auto &operation = (*_operation);
32 assert(operation.type() == "MatrixBandPart");
35 * REGISTER_OP("MatrixBandPart")
37 .Input("num_lower: Tindex")
38 .Input("num_upper: Tindex")
41 .Attr("Tindex: {int32, int64} = DT_INT64")
42 .SetShapeFn(shape_inference::UnchangedShape);
45 auto flex_buffers = std::make_unique<flexbuffers::Builder>();
46 size_t map_start = flex_buffers->StartMap();
48 // TODO Support more data types
49 flex_buffers->Int("T", tflite::TensorType_FLOAT32);
50 flex_buffers->Int("Tindex", tflite::TensorType_INT64);
52 flex_buffers->EndMap(map_start);
53 flex_buffers->Finish();
55 auto circle_custom_options = fbb.CreateVector(flex_buffers->GetBuffer());
56 return circle_custom_options;
59 std::unique_ptr<OpChef> MatrixBandPartChefFactory::create(const tflchef::Operation *operation) const
61 return std::unique_ptr<OpChef>{new MatrixBandPartChef{operation}};