mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
This PR continues to fix clang-tidy warnings for headers in c10/core and c10/util. Pull Request resolved: https://github.com/pytorch/pytorch/pull/115354 Approved by: https://github.com/Skylion007
46 lines
1.0 KiB
C++
46 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include <c10/core/Device.h>
|
|
#include <c10/core/DeviceType.h>
|
|
#include <c10/core/Layout.h>
|
|
#include <c10/core/ScalarType.h>
|
|
#include <c10/util/typeid.h>
|
|
|
|
namespace c10 {
|
|
|
|
struct TensorOptions;
|
|
|
|
/// Like TensorOptions, but all fields are guaranteed to be filled.
|
|
struct DefaultTensorOptions {
|
|
DefaultTensorOptions() = default;
|
|
|
|
caffe2::TypeMeta dtype() const noexcept {
|
|
return dtype_;
|
|
}
|
|
Device device() const noexcept {
|
|
return device_;
|
|
}
|
|
Layout layout() const noexcept {
|
|
return layout_;
|
|
}
|
|
bool requires_grad() const noexcept {
|
|
return requires_grad_;
|
|
}
|
|
|
|
// Defined in TensorOptions.h
|
|
inline DefaultTensorOptions& merge(const TensorOptions& options);
|
|
|
|
private:
|
|
caffe2::TypeMeta dtype_ = caffe2::TypeMeta::Make<float>(); // 64-bit
|
|
Device device_ = at::kCPU; // 32-bit
|
|
Layout layout_ = at::kStrided; // 8-bit
|
|
bool requires_grad_ = false; // 8-bit
|
|
};
|
|
|
|
inline const DefaultTensorOptions& getDefaultTensorOptions() {
|
|
static const auto options = DefaultTensorOptions();
|
|
return options;
|
|
}
|
|
|
|
} // namespace c10
|