Some const declarations changed to constexpr
PiperOrigin-RevId: 307629520 Change-Id: I22dcc35701417a184b77791ec3efe4a2957251bc
This commit is contained in:
parent
298b24151e
commit
c5fd4efc4c
|
@ -38,7 +38,7 @@ namespace benchmark {
|
|||
struct Options {
|
||||
// kDefaultMicros specifies the default time to run the benchmark, and is used
|
||||
// if neither max_iters nor max_micros is set.
|
||||
static const int64 kDefaultMicros = 3000000;
|
||||
static constexpr int64 kDefaultMicros = 3000000;
|
||||
|
||||
int64 max_iters = 0; // Maximum iterations to run, ignored if <= 0.
|
||||
int64 max_micros = 0; // Maximum microseconds to run, ignored if <= 0.
|
||||
|
|
|
@ -191,7 +191,7 @@ class EMBenchmarkHelper {
|
|||
|
||||
public:
|
||||
// Length of tensors. TODO(tucker): make this a variable parameter.
|
||||
static const int kTDim = 1024;
|
||||
static constexpr int kTDim = 1024;
|
||||
|
||||
int num_ops() const { return add_kernels_.size(); }
|
||||
size_t tensor_size() const {
|
||||
|
|
|
@ -694,8 +694,8 @@ class OpKernelContext {
|
|||
checkpoint::TensorSliceReaderCacheWrapper* slice_reader_cache = nullptr;
|
||||
|
||||
// Support for forwarding reservations (used by ScopedAllocator).
|
||||
static const int kNeverForward = -2;
|
||||
static const int kNoReservation = -1;
|
||||
static constexpr int kNeverForward = -2;
|
||||
static constexpr int kNoReservation = -1;
|
||||
// Values in [0,...) represent reservations for the indexed output.
|
||||
const int* forward_from_array = nullptr;
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ class ShapeInferenceTest : public ::testing::Test {
|
|||
void TestMergeHandles(bool input_not_output);
|
||||
void TestRelaxHandles(bool input_not_output);
|
||||
|
||||
static const int kVersion = 0; // used for graph-def version.
|
||||
static constexpr int kVersion = 0; // used for graph-def version.
|
||||
};
|
||||
|
||||
TEST_F(ShapeInferenceTest, InputOutputByName) {
|
||||
|
|
|
@ -103,10 +103,10 @@ class TensorShapeRep {
|
|||
|
||||
// We use the max value of uint16 or uint32 to represent unknown shapes, so
|
||||
// the maximum representable valid shape in these representations is one less.
|
||||
static const int64 kMaxRep16 = std::numeric_limits<uint16>::max() - 1;
|
||||
static const int64 kMaxRep32 = std::numeric_limits<uint32>::max() - 1;
|
||||
static const uint16 kUnknownRep16 = std::numeric_limits<uint16>::max();
|
||||
static const uint32 kUnknownRep32 = std::numeric_limits<uint32>::max();
|
||||
static constexpr int64 kMaxRep16 = std::numeric_limits<uint16>::max() - 1;
|
||||
static constexpr int64 kMaxRep32 = std::numeric_limits<uint32>::max() - 1;
|
||||
static constexpr uint16 kUnknownRep16 = std::numeric_limits<uint16>::max();
|
||||
static constexpr uint32 kUnknownRep32 = std::numeric_limits<uint32>::max();
|
||||
|
||||
Rep16* as16() { return reinterpret_cast<Rep16*>(buf()); }
|
||||
Rep32* as32() { return reinterpret_cast<Rep32*>(buf()); }
|
||||
|
@ -134,7 +134,7 @@ class TensorShapeRep {
|
|||
// We store the number of dimensions in byte 14, and the RepTag in byte 15.
|
||||
// Bytes [0..13] vary depending on the representation.
|
||||
// A value of 255 indicates unknown rank in the PartialTensorShape case.
|
||||
static const uint8 kUnknownRank = 255;
|
||||
static constexpr uint8 kUnknownRank = 255;
|
||||
uint8 ndims_byte() const { return buf()[14]; }
|
||||
void set_ndims_byte(uint8 nd) { buf()[14] = nd; }
|
||||
|
||||
|
|
|
@ -116,11 +116,11 @@ namespace internal {
|
|||
|
||||
template <typename T>
|
||||
struct is_floating_point_type {
|
||||
static const bool value = std::is_same<T, Eigen::half>::value ||
|
||||
std::is_same<T, float>::value ||
|
||||
std::is_same<T, double>::value ||
|
||||
std::is_same<T, std::complex<float>>::value ||
|
||||
std::is_same<T, std::complex<double>>::value;
|
||||
static constexpr bool value = std::is_same<T, Eigen::half>::value ||
|
||||
std::is_same<T, float>::value ||
|
||||
std::is_same<T, double>::value ||
|
||||
std::is_same<T, std::complex<float>>::value ||
|
||||
std::is_same<T, std::complex<double>>::value;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
|
|
@ -26,10 +26,10 @@ namespace tensorflow {
|
|||
|
||||
// Functions to define quantization attribute of types.
|
||||
struct true_type {
|
||||
static const bool value = true;
|
||||
static constexpr bool value = true;
|
||||
};
|
||||
struct false_type {
|
||||
static const bool value = false;
|
||||
static constexpr bool value = false;
|
||||
};
|
||||
|
||||
// Default is_quantized is false.
|
||||
|
|
|
@ -42,7 +42,7 @@ struct PartitionOptions {
|
|||
// A function that returns the incarnation of a device given the
|
||||
// device's fullname. If not found, GetIncarnationFunc should return
|
||||
// kIllegalIncarnation.
|
||||
static const uint64 kIllegalIncarnation = 0;
|
||||
static constexpr uint64 kIllegalIncarnation = 0;
|
||||
typedef std::function<uint64(const string&)> GetIncarnationFunc;
|
||||
GetIncarnationFunc get_incarnation = nullptr;
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ class SubProcess {
|
|||
string* stderr_output);
|
||||
|
||||
private:
|
||||
static const int kNFds = 3;
|
||||
static constexpr int kNFds = 3;
|
||||
static bool chan_valid(int chan) { return ((chan >= 0) && (chan < kNFds)); }
|
||||
static bool retry(int e) {
|
||||
return ((e == EINTR) || (e == EAGAIN) || (e == EWOULDBLOCK));
|
||||
|
|
|
@ -522,7 +522,7 @@ class FileStream : public ::tensorflow::protobuf::io::ZeroCopyInputStream {
|
|||
}
|
||||
|
||||
private:
|
||||
static const int kBufSize = 512 << 10;
|
||||
static constexpr int kBufSize = 512 << 10;
|
||||
|
||||
RandomAccessFile* file_;
|
||||
int64 pos_;
|
||||
|
|
|
@ -114,7 +114,7 @@ class TStringOutputStream : public protobuf::io::ZeroCopyOutputStream {
|
|||
int64_t ByteCount() const override;
|
||||
|
||||
private:
|
||||
static const int kMinimumSize = 16;
|
||||
static constexpr int kMinimumSize = 16;
|
||||
|
||||
tstring* target_;
|
||||
};
|
||||
|
|
|
@ -61,7 +61,7 @@ class TensorSliceReader {
|
|||
};
|
||||
typedef std::function<Status(const string&, Table**)> OpenTableFunction;
|
||||
|
||||
static const int kLoadAllShards = -1;
|
||||
static constexpr int kLoadAllShards = -1;
|
||||
TensorSliceReader(const string& filepattern);
|
||||
TensorSliceReader(const string& filepattern, OpenTableFunction open_function);
|
||||
TensorSliceReader(const string& filepattern, OpenTableFunction open_function,
|
||||
|
|
|
@ -68,7 +68,7 @@ class TensorSliceWriter {
|
|||
static size_t MaxBytesPerElement(DataType dt);
|
||||
|
||||
private:
|
||||
static const size_t kMaxMessageBytes = 1LL << 31;
|
||||
static constexpr size_t kMaxMessageBytes = 1LL << 31;
|
||||
// Filling in the TensorProto in a SavedSlice will add the following
|
||||
// header bytes, in addition to the data:
|
||||
// - 1 byte: TensorProto tag and wire format
|
||||
|
@ -77,7 +77,7 @@ class TensorSliceWriter {
|
|||
// - <= 5 bytes: *_val length
|
||||
// However, we add 1KB of slack, to be conservative and guard
|
||||
// against other additions to the TensorProto.
|
||||
static const size_t kTensorProtoHeaderBytes = 1 << 10;
|
||||
static constexpr size_t kTensorProtoHeaderBytes = 1 << 10;
|
||||
|
||||
const string filename_;
|
||||
const CreateBuilderFunction create_builder_;
|
||||
|
|
|
@ -26,11 +26,11 @@ struct ModelHints {
|
|||
using ModelHint = uint64_t;
|
||||
|
||||
// By default we want the fastest inference
|
||||
static const ModelHint kFastestInference = 0x00000000;
|
||||
static constexpr ModelHint kFastestInference = 0x00000000;
|
||||
// Can improve compilation time, but inference can be slower
|
||||
static const ModelHint kReduceKernelsCount = 0x00000001;
|
||||
static constexpr ModelHint kReduceKernelsCount = 0x00000001;
|
||||
// Can improve tuning time, but inference can be slower
|
||||
static const ModelHint kFastTuning = 0x00000002;
|
||||
static constexpr ModelHint kFastTuning = 0x00000002;
|
||||
|
||||
void Add(ModelHint hint) {
|
||||
if (hint == kFastestInference) {
|
||||
|
|
|
@ -1094,7 +1094,7 @@ TEST(InterpreterTensorsCapacityTest, TestExceedHeadroom) {
|
|||
}
|
||||
|
||||
struct TestExternalContext : public TfLiteExternalContext {
|
||||
static const TfLiteExternalContextType kType = kTfLiteGemmLowpContext;
|
||||
static constexpr TfLiteExternalContextType kType = kTfLiteGemmLowpContext;
|
||||
|
||||
static TestExternalContext* Get(TfLiteContext* context) {
|
||||
return reinterpret_cast<TestExternalContext*>(
|
||||
|
|
|
@ -816,40 +816,40 @@ struct TypeUnion;
|
|||
template <>
|
||||
struct TypeUnion<float> {
|
||||
public:
|
||||
static const TensorType tensor_type = TensorType::TensorType_FLOAT32;
|
||||
static const TfLiteType tflite_type = TfLiteType::kTfLiteFloat32;
|
||||
static constexpr TensorType tensor_type = TensorType::TensorType_FLOAT32;
|
||||
static constexpr TfLiteType tflite_type = TfLiteType::kTfLiteFloat32;
|
||||
typedef float ScalarType;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct TypeUnion<int32_t> {
|
||||
public:
|
||||
static const TensorType tensor_type = TensorType::TensorType_INT32;
|
||||
static const TfLiteType tflite_type = TfLiteType::kTfLiteInt32;
|
||||
static constexpr TensorType tensor_type = TensorType::TensorType_INT32;
|
||||
static constexpr TfLiteType tflite_type = TfLiteType::kTfLiteInt32;
|
||||
typedef int32_t ScalarType;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct TypeUnion<int16_t> {
|
||||
public:
|
||||
static const TensorType tensor_type = TensorType::TensorType_INT16;
|
||||
static const TfLiteType tflite_type = TfLiteType::kTfLiteInt16;
|
||||
static constexpr TensorType tensor_type = TensorType::TensorType_INT16;
|
||||
static constexpr TfLiteType tflite_type = TfLiteType::kTfLiteInt16;
|
||||
typedef int16_t ScalarType;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct TypeUnion<int8_t> {
|
||||
public:
|
||||
static const TensorType tensor_type = TensorType::TensorType_INT8;
|
||||
static const TfLiteType tflite_type = TfLiteType::kTfLiteInt8;
|
||||
static constexpr TensorType tensor_type = TensorType::TensorType_INT8;
|
||||
static constexpr TfLiteType tflite_type = TfLiteType::kTfLiteInt8;
|
||||
typedef int8_t ScalarType;
|
||||
};
|
||||
|
||||
template <>
|
||||
struct TypeUnion<uint8_t> {
|
||||
public:
|
||||
static const TensorType tensor_type = TensorType::TensorType_UINT8;
|
||||
static const TfLiteType tflite_type = TfLiteType::kTfLiteUInt8;
|
||||
static constexpr TensorType tensor_type = TensorType::TensorType_UINT8;
|
||||
static constexpr TfLiteType tflite_type = TfLiteType::kTfLiteUInt8;
|
||||
typedef uint8_t ScalarType;
|
||||
};
|
||||
|
||||
|
|
|
@ -39,19 +39,19 @@ struct DeviceOptions {
|
|||
// this flag prevents it from ever being deallocated. Potentially saves
|
||||
// thrashing the thread stack memory allocation, but at the potential cost of
|
||||
// some memory space.
|
||||
static const unsigned kDoNotReclaimStackAllocation = 0x1;
|
||||
static constexpr unsigned kDoNotReclaimStackAllocation = 0x1;
|
||||
|
||||
// The following options refer to synchronization options when
|
||||
// using SynchronizeStream or SynchronizeContext.
|
||||
|
||||
// Synchronize with spinlocks.
|
||||
static const unsigned kScheduleSpin = 0x02;
|
||||
static constexpr unsigned kScheduleSpin = 0x02;
|
||||
// Synchronize with spinlocks that also call CPU yield instructions.
|
||||
static const unsigned kScheduleYield = 0x04;
|
||||
static constexpr unsigned kScheduleYield = 0x04;
|
||||
// Synchronize with a "synchronization primitive" (e.g. mutex).
|
||||
static const unsigned kScheduleBlockingSync = 0x08;
|
||||
static constexpr unsigned kScheduleBlockingSync = 0x08;
|
||||
|
||||
static const unsigned kMask = 0xf; // Mask of all available flags.
|
||||
static constexpr unsigned kMask = 0xf; // Mask of all available flags.
|
||||
|
||||
// Constructs an or-d together set of device options.
|
||||
explicit DeviceOptions(unsigned flags) : flags_(flags) {
|
||||
|
|
|
@ -39,10 +39,10 @@ namespace stream_executor {
|
|||
// memory for cudnn convolutions.
|
||||
class RedzoneAllocator : public ScratchAllocator {
|
||||
public:
|
||||
static const int64 kDefaultMemoryLimit = 1LL << 32; // 4GB
|
||||
static const int64 kDefaultRedzoneSize =
|
||||
static constexpr int64 kDefaultMemoryLimit = 1LL << 32; // 4GB
|
||||
static constexpr int64 kDefaultRedzoneSize =
|
||||
1LL << 23; // 8MiB per side, 16MiB total.
|
||||
static const uint8 kDefaultRedzonePattern = -1;
|
||||
static constexpr uint8 kDefaultRedzonePattern = -1;
|
||||
RedzoneAllocator(Stream* stream, DeviceMemoryAllocator* memory_allocator,
|
||||
GpuAsmOpts gpu_compilation_opts_,
|
||||
int64 memory_limit = kDefaultMemoryLimit,
|
||||
|
|
|
@ -40,8 +40,8 @@ namespace rng {
|
|||
// thread-hostility.
|
||||
class RngSupport {
|
||||
public:
|
||||
static const int kMinSeedBytes = 16;
|
||||
static const int kMaxSeedBytes = INT_MAX;
|
||||
static constexpr int kMinSeedBytes = 16;
|
||||
static constexpr int kMaxSeedBytes = INT_MAX;
|
||||
|
||||
// Releases any random-number-generation resources associated with this
|
||||
// support object in the underlying platform implementation.
|
||||
|
|
|
@ -723,7 +723,7 @@ class StreamExecutor {
|
|||
|
||||
// Only one worker thread is needed; little work will be done by the
|
||||
// executor.
|
||||
static const int kNumBackgroundThreads = 1;
|
||||
static constexpr int kNumBackgroundThreads = 1;
|
||||
|
||||
// Indicates if StreamExecutor operation tracing should be performed.
|
||||
bool tracing_enabled_;
|
||||
|
|
Loading…
Reference in New Issue