/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
torch
/
include
/
torch
/
csrc
/
utils
/
/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/utils
mkdir
upload
Name
Size
Mode
Actions
auto_gil.h
1034
0644
edit
dl
rm
byte_order.h
2484
0644
edit
dl
rm
crash_handler.h
1146
0644
edit
dl
rm
cuda_enabled.h
154
0644
edit
dl
rm
cuda_lazy_init.h
974
0644
edit
dl
rm
disable_torch_function.h
863
0644
edit
dl
rm
disallow_copy.h
103
0644
edit
dl
rm
init.h
324
0644
edit
dl
rm
invalid_arguments.h
302
0644
edit
dl
rm
memory.h
1173
0644
edit
dl
rm
numpy_stub.h
399
0644
edit
dl
rm
object_ptr.h
1329
0644
edit
dl
rm
out_types.h
294
0644
edit
dl
rm
pybind.h
7966
0644
edit
dl
rm
pycfunction_helpers.h
209
0644
edit
dl
rm
python_arg_parser.h
30753
0644
edit
dl
rm
python_compat.h
2904
0644
edit
dl
rm
python_dispatch.h
174
0644
edit
dl
rm
python_numbers.h
5064
0644
edit
dl
rm
python_scalars.h
2928
0644
edit
dl
rm
python_strings.h
4592
0644
edit
dl
rm
python_stub.h
56
0644
edit
dl
rm
python_tuples.h
684
0644
edit
dl
rm
six.h
1425
0644
edit
dl
rm
structseq.h
153
0644
edit
dl
rm
tensor_apply.h
431
0644
edit
dl
rm
tensor_dtypes.h
244
0644
edit
dl
rm
tensor_flatten.h
2780
0644
edit
dl
rm
tensor_layouts.h
107
0644
edit
dl
rm
tensor_list.h
196
0644
edit
dl
rm
tensor_memoryformats.h
113
0644
edit
dl
rm
tensor_new.h
1807
0644
edit
dl
rm
tensor_numpy.h
542
0644
edit
dl
rm
tensor_qschemes.h
186
0644
edit
dl
rm
tensor_types.h
491
0644
edit
dl
rm
throughput_benchmark-inl.h
5210
0644
edit
dl
rm
throughput_benchmark.h
6868
0644
edit
dl
rm
variadic.h
4394
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/utils/python_scalars.h
(2928B)
#pragma once #include <ATen/ATen.h> #include <torch/csrc/python_headers.h> #include <torch/csrc/utils/python_numbers.h> #include <torch/csrc/Exceptions.h> namespace torch { namespace utils { inline void store_scalar(void* data, at::ScalarType scalarType, PyObject* obj) { switch (scalarType) { case at::kByte: *(uint8_t*)data = (uint8_t)THPUtils_unpackLong(obj); break; case at::kChar: *(int8_t*)data = (int8_t)THPUtils_unpackLong(obj); break; case at::kShort: *(int16_t*)data = (int16_t)THPUtils_unpackLong(obj); break; case at::kInt: *(int32_t*)data = (int32_t)THPUtils_unpackLong(obj); break; case at::kLong: *(int64_t*)data = THPUtils_unpackLong(obj); break; case at::kHalf: *(at::Half*)data = at::convert<at::Half, double>(THPUtils_unpackDouble(obj)); break; case at::kFloat: *(float*)data = (float)THPUtils_unpackDouble(obj); break; case at::kDouble: *(double*)data = THPUtils_unpackDouble(obj); break; case at::kComplexHalf: *(c10::complex<at::Half>*)data = (c10::complex<at::Half>)THPUtils_unpackComplexDouble(obj); break; case at::kComplexFloat: *(c10::complex<float>*)data = (c10::complex<float>)THPUtils_unpackComplexDouble(obj); break; case at::kComplexDouble: *(c10::complex<double>*)data = THPUtils_unpackComplexDouble(obj); break; case at::kBool: *(bool*)data = THPUtils_unpackNumberAsBool(obj); break; case at::kBFloat16: *(at::BFloat16*)data = at::convert<at::BFloat16, double>(THPUtils_unpackDouble(obj)); break; default: throw std::runtime_error("invalid type"); } } inline PyObject* load_scalar(void* data, at::ScalarType scalarType) { switch (scalarType) { case at::kByte: return THPUtils_packInt64(*(uint8_t*)data); case at::kChar: return THPUtils_packInt64(*(int8_t*)data); case at::kShort: return THPUtils_packInt64(*(int16_t*)data); case at::kInt: return THPUtils_packInt64(*(int32_t*)data); case at::kLong: return THPUtils_packInt64(*(int64_t*)data); case at::kHalf: return PyFloat_FromDouble(at::convert<double, at::Half>(*(at::Half*)data)); case at::kFloat: return PyFloat_FromDouble(*(float*)data); case at::kDouble: return PyFloat_FromDouble(*(double*)data); case at::kComplexHalf: { auto data_ = reinterpret_cast<c10::complex<at::Half>*>(data); return PyComplex_FromDoubles(data_->real(), data_->imag()); } case at::kComplexFloat: { auto data_ = reinterpret_cast<c10::complex<float>*>(data); return PyComplex_FromDoubles(data_->real(), data_->imag()); } case at::kComplexDouble: return PyComplex_FromCComplex(*reinterpret_cast<Py_complex *>((c10::complex<double>*)data)); case at::kBool: return PyBool_FromLong(*(bool*)data); case at::kBFloat16: return PyFloat_FromDouble(at::convert<double, at::BFloat16>(*(at::BFloat16*)data)); default: throw std::runtime_error("invalid type"); } } }} // namespace torch::utils
Save
cmd:
run