Daniel Konegen / MNIST_example

Dependencies:   mbed-os

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers round.h Source File

round.h

00001 /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
00002 
00003 Licensed under the Apache License, Version 2.0 (the "License");
00004 you may not use this file except in compliance with the License.
00005 You may obtain a copy of the License at
00006 
00007     http://www.apache.org/licenses/LICENSE-2.0
00008 
00009 Unless required by applicable law or agreed to in writing, software
00010 distributed under the License is distributed on an "AS IS" BASIS,
00011 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00012 See the License for the specific language governing permissions and
00013 limitations under the License.
00014 ==============================================================================*/
00015 #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_ROUND_H_
00016 #define TENSORFLOW_LITE_KERNELS_INTERNAL_ROUND_H_
00017 
00018 #include <cmath>
00019 
00020 namespace tflite {
00021 
00022 // TODO(aselle): See if we can do this only on jdk. Also mikecase, check
00023 // if you need this for java host build.
00024 #if defined(TF_LITE_USE_GLOBAL_ROUND) || \
00025     (defined(__ANDROID__) && !defined(__NDK_MAJOR__)) || defined(ARDUINO)
00026 template <class T>
00027 inline float TfLiteRound(const float x) {
00028   return ::round(x);
00029 }
00030 inline double TfLiteRound(const double x) { return ::round(x); }
00031 #else
00032 template <class T>
00033 inline T TfLiteRound(const T x) {
00034   return std::round(x);
00035 }
00036 #endif
00037 
00038 }  // namespace tflite
00039 
00040 #endif  // TENSORFLOW_LITE_KERNELS_INTERNAL_ROUND_H_