NewLang Project
Yet another programm language
|
#include "warning_push.h"
#include <torch/torch.h>
#include <ATen/ATen.h>
#include "warning_pop.h"
#include <codecvt>
#include "object.h"
#include "context.h"
#include "runtime.h"
Go to the source code of this file.
Functions | |
std::string | TensorToString (const torch::Tensor &tensor) |
ObjType | fromTorchType (at::ScalarType t) |
ObjType | getSummaryTensorType (Obj *obj, ObjType start=ObjType::None) |
void | ConvertStringToTensor (const std::string &from, torch::Tensor &to, ObjType type=ObjType::None) |
void | ConvertStringToTensor (const std::wstring &from, torch::Tensor &to, ObjType type=ObjType::None) |
void | ConvertTensorToString (const torch::Tensor &from, std::string &to, std::vector< Index > *index=nullptr) |
void | ConvertTensorToString (const torch::Tensor &from, std::wstring &to, std::vector< Index > *index=nullptr) |
void | ConvertTensorToDict (const torch::Tensor &from, Obj &to, std::vector< Index > *index=nullptr) |
ObjType | GetTensorType (torch::Tensor &val) |
at::indexing::Slice | toSlice (Obj &obj) |
Index | toIndex (Obj &obj) |
ObjPtr | CreateTensor (torch::Tensor tensor) |
torch::ScalarType | toTorchType (ObjType t) |
ObjType | fromTorchType (torch::Dtype t) |
std::string | DimToString (const Dimension dim) |
std::string | IndexToString (const std::vector< Index > &index) |
std::ostream & | operator<< (std::ostream &out, newlang::Obj &var) |
std::ostream & | operator<< (std::ostream &out, newlang::ObjPtr var) |
void | TensorToString_ (const torch::Tensor &tensor, c10::IntArrayRef shape, std::vector< Index > &ind, const int64_t pos, std::stringstream &str) |
void | ShapeFromDict (const Obj *obj, std::vector< int64_t > &shape) |
template<typename T > | |
void | ConvertTensorToStringTemplate (const torch::Tensor &from, T &to, std::vector< Index > *index) |
Variables | |
static const ObjPtr | zero = Obj::CreateValue(0) |
std::string TensorToString | ( | const torch::Tensor & | tensor | ) |
Definition at line 1376 of file object.cpp.
References fromTorchType(), LOG_RUNTIME, result, TensorToString_(), and newlang::toString().
Referenced by newlang::Obj::GetValueAsString(), and newlang::Obj::toString().
ObjType fromTorchType | ( | at::ScalarType | t | ) |
Referenced by newlang::Obj::index_set_(), TensorToString(), and newlang::Obj::toType_().
Definition at line 546 of file object.cpp.
References newlang::Obj::at(), getSummaryTensorType(), newlang::Obj::is_arithmetic_type(), newlang::Obj::is_dictionary_type(), newlang::Obj::is_range(), newlang::isGenericType(), LOG_RUNTIME, newlang::Obj::m_var_type_current, newlang::Obj::m_var_type_fixed, newlang::Rational, result, newlang::Obj::size(), and newlang::Obj::toString().
Referenced by newlang::Context::Call(), newlang::Context::CreateTensor(), getSummaryTensorType(), newlang::Obj::IteratorReset(), and newlang::Obj::toType_().
void ConvertStringToTensor | ( | const std::string & | from, |
torch::Tensor & | to, | ||
ObjType | type = ObjType::None ) |
Definition at line 2151 of file object.cpp.
References LOG_RUNTIME, and toTorchType().
Referenced by newlang::Obj::toType_().
void ConvertStringToTensor | ( | const std::wstring & | from, |
torch::Tensor & | to, | ||
ObjType | type = ObjType::None ) |
Definition at line 2158 of file object.cpp.
References LOG_RUNTIME, and toTorchType().
void ConvertTensorToString | ( | const torch::Tensor & | from, |
std::string & | to, | ||
std::vector< Index > * | index = nullptr ) |
Definition at line 2211 of file object.cpp.
References ConvertTensorToStringTemplate().
Referenced by ConvertTensorToStringTemplate(), and newlang::Obj::toType_().
void ConvertTensorToString | ( | const torch::Tensor & | from, |
std::wstring & | to, | ||
std::vector< Index > * | index = nullptr ) |
Definition at line 2215 of file object.cpp.
References ConvertTensorToStringTemplate().
void ConvertTensorToDict | ( | const torch::Tensor & | from, |
Obj & | to, | ||
std::vector< Index > * | index = nullptr ) |
Definition at line 2219 of file object.cpp.
References ASSERT, ConvertTensorToDict(), CreateTensor(), newlang::Dictionary, newlang::Obj::is_dictionary_type(), newlang::Obj::m_var_is_init, newlang::Obj::m_var_type_current, newlang::None, and newlang::Obj::push_back().
Referenced by ConvertTensorToDict(), and newlang::Obj::toType_().
ObjType GetTensorType | ( | torch::Tensor & | val | ) |
Definition at line 3443 of file object.cpp.
References newlang::Bool, newlang::Complex16, newlang::Complex32, newlang::Complex64, newlang::Float16, newlang::Float32, newlang::Float64, newlang::Int16, newlang::Int32, newlang::Int64, newlang::Int8, and LOG_RUNTIME.
Referenced by CreateTensor().
at::indexing::Slice toSlice | ( | Obj & | obj | ) |
Definition at line 31 of file object.cpp.
References ASSERT, newlang::Obj::GetValueAsInteger(), newlang::Obj::is_integer(), newlang::Obj::is_range(), NL_CHECK, and newlang::Obj::size().
Referenced by toIndex().
Definition at line 3500 of file object.cpp.
References newlang::Bool, newlang::Obj::GetValueAsBoolean(), newlang::Obj::GetValueAsInteger(), newlang::Int16, newlang::Int32, newlang::Int64, newlang::Int8, newlang::Obj::is_dictionary_type(), newlang::Obj::is_ellipsis(), newlang::Obj::is_none_type(), newlang::Obj::is_range(), newlang::Obj::is_scalar(), newlang::Obj::is_tensor_type(), LOG_RUNTIME, newlang::Obj::m_tensor, newlang::Obj::m_var_type_current, newlang::Obj::toIntVector(), toSlice(), newlang::Obj::toString(), and newlang::toString().
Referenced by newlang::Obj::ConstructorSimpleType_().
ObjPtr CreateTensor | ( | torch::Tensor | tensor | ) |
Definition at line 52 of file object.cpp.
References ASSERT, newlang::Obj::CreateType(), newlang::Obj::CreateValue(), GetTensorType(), newlang::isTensor(), LOG_RUNTIME, and result.
Referenced by newlang::Obj::at(), newlang::Obj::at(), ConvertTensorToDict(), newlang::runtime::System::getsysinfo(), and newlang::Obj::index_get().
torch::ScalarType toTorchType | ( | ObjType | t | ) |
Definition at line 75 of file object.cpp.
References LOG_RUNTIME, and newlang::toString().
Referenced by ConvertStringToTensor(), ConvertStringToTensor(), newlang::Obj::op_div_ceil_(), newlang::Obj::op_equal(), newlang::Obj::testResultIntegralType(), and newlang::Obj::toType_().
ObjType fromTorchType | ( | torch::Dtype | t | ) |
Definition at line 112 of file object.cpp.
References LOG_RUNTIME.
std::string DimToString | ( | const Dimension | dim | ) |
Definition at line 145 of file object.cpp.
std::string IndexToString | ( | const std::vector< Index > & | index | ) |
Definition at line 152 of file object.cpp.
Referenced by newlang::Obj::index_get(), and newlang::Obj::index_set_().
std::ostream & operator<< | ( | std::ostream & | out, |
newlang::Obj & | var ) |
Definition at line 164 of file object.cpp.
References newlang::Obj::toString().
std::ostream & operator<< | ( | std::ostream & | out, |
newlang::ObjPtr | var ) |
Definition at line 169 of file object.cpp.
void TensorToString_ | ( | const torch::Tensor & | tensor, |
c10::IntArrayRef | shape, | ||
std::vector< Index > & | ind, | ||
const int64_t | pos, | ||
std::stringstream & | str ) |
Definition at line 1332 of file object.cpp.
References ASSERT, and TensorToString_().
Referenced by TensorToString(), and TensorToString_().
void ShapeFromDict | ( | const Obj * | obj, |
std::vector< int64_t > & | shape ) |
Definition at line 2120 of file object.cpp.
References newlang::Obj::at(), newlang::Obj::is_dictionary_type(), newlang::Obj::is_scalar(), newlang::Obj::is_tensor_type(), LOG_RUNTIME, ShapeFromDict(), and newlang::Obj::size().
Referenced by ShapeFromDict(), and newlang::TensorShapeFromDict().
void ConvertTensorToStringTemplate | ( | const torch::Tensor & | from, |
T & | to, | ||
std::vector< Index > * | index ) |
Definition at line 2171 of file object.cpp.
References ASSERT, ConvertTensorToString(), and LOG_RUNTIME.
Referenced by ConvertTensorToString(), and ConvertTensorToString().
|
static |
Definition at line 3040 of file object.cpp.
Referenced by newlang::Obj::IteratorData().