#ifndef TH_GENERIC_FILE #define TH_GENERIC_FILE "generic/utils.h" #else struct THPStorage; struct THPTensor; struct THSPTensor; typedef class THPPointer THStoragePtr; typedef class THPPointer THTensorPtr; typedef class THPPointer THPStoragePtr; typedef class THPPointer THPTensorPtr; typedef class THPPointer THSTensorPtr; typedef class THPPointer THSPTensorPtr; #if !defined(THC_GENERIC_FILE) || defined(THC_REAL_IS_HALF) template<> struct THPUtils_typeTraits { #if defined(TH_REAL_IS_FLOAT) || defined(TH_REAL_IS_DOUBLE) || \ defined(THC_REAL_IS_FLOAT) || defined(THC_REAL_IS_DOUBLE) || \ defined(THC_REAL_IS_HALF) static constexpr char *python_type_str = "float"; #else static constexpr char *python_type_str = "int"; #endif }; #endif #endif