#include "tensorflow/lite/kernels/internal/reference/pad.h"
#include <stdint.h>
#include <limits>
#include <type_traits>
#include "tensorflow/lite/core/c/common.h"
#include "tensorflow/lite/kernels/internal/compatibility.h"
#include "tensorflow/lite/kernels/internal/optimized/optimized_ops.h"
#include "tensorflow/lite/kernels/internal/reference/reference_ops.h"
#include "tensorflow/lite/kernels/internal/tensor.h"
#include "tensorflow/lite/kernels/internal/tensor_ctypes.h"
#include "tensorflow/lite/kernels/internal/types.h"
#include "tensorflow/lite/kernels/kernel_util.h"
namespace tflite {
namespace ops {
namespace builtin {
namespace pad {
enum KernelType { … };
struct PadContext { … };
bool CheckPaddingOverflow(PadContext* op_context) { … }
template <typename PaddingIntegerType>
TfLiteStatus ResizeOutputTensor(TfLiteContext* context,
PadContext* op_context) { … }
TfLiteStatus ResizeOutputTensor(TfLiteContext* context,
PadContext* op_context) { … }
template <typename PaddingIntegerType>
tflite::PadParams GetPadParams(TfLiteContext* context,
const PadContext& op_context) { … }
tflite::PadParams GetPadParams(TfLiteContext* context,
const PadContext& op_context) { … }
TfLiteStatus Prepare(TfLiteContext* context, TfLiteNode* node) { … }
template <typename integer_type>
TfLiteStatus EvalInt(TfLiteContext* context, const PadContext& op_context,
const tflite::PadParams& op_params) { … }
template <KernelType kernel_type>
TfLiteStatus Eval(TfLiteContext* context, TfLiteNode* node) { … }
}
TfLiteRegistration* Register_PAD_REF() { … }
TfLiteRegistration* Register_PAD_GENERIC_OPT() { … }
TfLiteRegistration* Register_PAD() { … }
TfLiteRegistration* Register_PADV2_REF() { … }
TfLiteRegistration* Register_PADV2_GENERIC_OPT() { … }
TfLiteRegistration* Register_PADV2() { … }
}
}
}