| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ==============================================================================*/
- #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_COMPATIBILITY_H_
- #define TENSORFLOW_LITE_KERNELS_INTERNAL_COMPATIBILITY_H_
- #include <cstdint>
- #include "tensorflow/lite/kernels/op_macros.h"
- #ifndef TFLITE_DCHECK
- #define TFLITE_DCHECK(condition) (condition) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_EQ
- #define TFLITE_DCHECK_EQ(x, y) ((x) == (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_NE
- #define TFLITE_DCHECK_NE(x, y) ((x) != (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_GE
- #define TFLITE_DCHECK_GE(x, y) ((x) >= (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_GT
- #define TFLITE_DCHECK_GT(x, y) ((x) > (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_LE
- #define TFLITE_DCHECK_LE(x, y) ((x) <= (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- #ifndef TFLITE_DCHECK_LT
- #define TFLITE_DCHECK_LT(x, y) ((x) < (y)) ? (void)0 : TFLITE_ASSERT_FALSE
- #endif
- // TODO(ahentz): Clean up: We should stick to the DCHECK versions.
- #ifndef TFLITE_CHECK
- #define TFLITE_CHECK(condition) (condition) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_EQ
- #define TFLITE_CHECK_EQ(x, y) ((x) == (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_NE
- #define TFLITE_CHECK_NE(x, y) ((x) != (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_GE
- #define TFLITE_CHECK_GE(x, y) ((x) >= (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_GT
- #define TFLITE_CHECK_GT(x, y) ((x) > (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_LE
- #define TFLITE_CHECK_LE(x, y) ((x) <= (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TFLITE_CHECK_LT
- #define TFLITE_CHECK_LT(x, y) ((x) < (y)) ? (void)0 : TFLITE_ABORT
- #endif
- #ifndef TF_LITE_STATIC_MEMORY
- // TODO(b/162019032): Consider removing these type-aliases.
- using int8 = std::int8_t;
- using uint8 = std::uint8_t;
- using int16 = std::int16_t;
- using uint16 = std::uint16_t;
- using int32 = std::int32_t;
- using uint32 = std::uint32_t;
- #endif // !defined(TF_LITE_STATIC_MEMORY)
- // TFLITE_DEPRECATED()
- //
- // Duplicated from absl/base/macros.h to avoid pulling in that library.
- // Marks a deprecated class, struct, enum, function, method and variable
- // declarations. The macro argument is used as a custom diagnostic message (e.g.
- // suggestion of a better alternative).
- //
- // Example:
- //
- // class TFLITE_DEPRECATED("Use Bar instead") Foo {...};
- // TFLITE_DEPRECATED("Use Baz instead") void Bar() {...}
- //
- // Every usage of a deprecated entity will trigger a warning when compiled with
- // clang's `-Wdeprecated-declarations` option. This option is turned off by
- // default, but the warnings will be reported by clang-tidy.
- #if defined(__clang__) && __cplusplus >= 201103L
- #define TFLITE_DEPRECATED(message) __attribute__((deprecated(message)))
- #endif
- #ifndef TFLITE_DEPRECATED
- #define TFLITE_DEPRECATED(message)
- #endif
- #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_COMPATIBILITY_H_
|