Sha256: 3008a23ade8df606c9d4d040f12b0ce4001bfaef2094b10b668f406451c2a5a6
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
#pragma once #include <torch/torch.h> #include <rice/rice.hpp> #include <rice/stl.hpp> static_assert( TORCH_VERSION_MAJOR == 1 && TORCH_VERSION_MINOR == 12, "Incompatible LibTorch version" ); // TODO find better place inline void handle_error(torch::Error const & ex) { throw Rice::Exception(rb_eRuntimeError, ex.what_without_backtrace()); } // keep THP prefix for now to make it easier to compare code extern VALUE THPVariableClass; inline VALUE THPUtils_internSymbol(const std::string& str) { return Rice::Symbol(str); } inline std::string THPUtils_unpackString(VALUE obj) { Check_Type(obj, T_STRING); return std::string(RSTRING_PTR(obj), RSTRING_LEN(obj)); } inline bool THPUtils_checkSymbol(VALUE obj) { return SYMBOL_P(obj); } inline bool THPUtils_checkIndex(VALUE obj) { return FIXNUM_P(obj); } inline bool THPUtils_checkScalar(VALUE obj) { return FIXNUM_P(obj) || RB_FLOAT_TYPE_P(obj) || RB_TYPE_P(obj, T_COMPLEX); } inline bool THPVariable_Check(VALUE obj) { return rb_obj_is_kind_of(obj, THPVariableClass); } inline bool THPVariable_CheckExact(VALUE obj) { return rb_obj_is_instance_of(obj, THPVariableClass); }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
torch-rb-0.11.2 | ext/torch/utils.h |
torch-rb-0.11.1 | ext/torch/utils.h |
torch-rb-0.11.0 | ext/torch/utils.h |