FreeTensor
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
data_type.h File Reference
#include <array>
#include <functional>
#include <container_utils.h>
#include <except.h>
#include <serialize/to_string.h>
Include dependency graph for data_type.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  freetensor::DataType
 
class  std::hash< freetensor::DataType >
 

Namespaces

namespace  freetensor
 
namespace  freetensor::detail
 
namespace  std
 STL namespace.
 

Enumerations

enum class  freetensor::BaseDataType : size_t {
  freetensor::Void = 0 , freetensor::Float16 , freetensor::Float32 , freetensor::Float64 ,
  freetensor::Int32 , freetensor::Int64 , freetensor::Bool , freetensor::Custom ,
  freetensor::Never , freetensor::NumTypes
}
 
enum class  freetensor::SignDataType : size_t {
  freetensor::Any = 0 , freetensor::GT0 , freetensor::GE0 , freetensor::LT0 ,
  freetensor::LE0 , freetensor::NE0 , freetensor::EQ0 , freetensor::Never ,
  freetensor::NumTypes
}
 

Functions

template<typename T , T... i>
constexpr auto freetensor::detail::createAllBaseDataTypes (std::integer_sequence< T, i... >)
 
std::ostream & freetensor::operator<< (std::ostream &os, BaseDataType dtype)
 
BaseDataType freetensor::parseBaseDataType (const std::string &_str)
 
template<typename T , T... i>
constexpr auto freetensor::detail::createAllSignDataTypes (std::integer_sequence< T, i... >)
 
std::ostream & freetensor::operator<< (std::ostream &os, SignDataType dtype)
 
SignDataType freetensor::parseSignDataType (const std::string &str)
 
std::ostream & freetensor::operator<< (std::ostream &os, const DataType &dtype)
 
DataType freetensor::parseDType (const std::string &str)
 
size_t freetensor::sizeOf (BaseDataType dtype)
 
size_t freetensor::sizeOf (const DataType &dtype)
 
bool freetensor::isInt (BaseDataType dtype)
 
bool freetensor::isInt (const DataType &dtype)
 
bool freetensor::isFloat (BaseDataType dtype)
 
bool freetensor::isFloat (const DataType &dtype)
 
bool freetensor::isNumber (BaseDataType dtype)
 
bool freetensor::isNumber (const DataType &dtype)
 
bool freetensor::isBool (BaseDataType dtype)
 
bool freetensor::isBool (const DataType &dtype)
 
bool freetensor::isGT0 (SignDataType dtype)
 
bool freetensor::isGT0 (const DataType &dtype)
 
bool freetensor::isGE0 (SignDataType dtype)
 
bool freetensor::isGE0 (const DataType &dtype)
 
bool freetensor::isLT0 (SignDataType dtype)
 
bool freetensor::isLT0 (const DataType &dtype)
 
bool freetensor::isLE0 (SignDataType dtype)
 
bool freetensor::isLE0 (const DataType &dtype)
 
bool freetensor::isNE0 (SignDataType dtype)
 
bool freetensor::isNE0 (const DataType &dtype)
 
bool freetensor::isEQ0 (SignDataType dtype)
 
bool freetensor::isEQ0 (const DataType &dtype)
 
BaseDataType freetensor::downCast (BaseDataType lhs, BaseDataType rhs)
 
SignDataType freetensor::downCast (SignDataType lhs, SignDataType rhs)
 
DataType freetensor::downCast (const DataType &lhs, const DataType &rhs)
 
BaseDataType freetensor::upCast (BaseDataType lhs, BaseDataType rhs)
 
SignDataType freetensor::upCast (SignDataType lhs, SignDataType rhs)
 
DataType freetensor::upCast (const DataType &lhs, const DataType &rhs)
 

Variables

constexpr std::array freetensor::baseDataTypeNames
 
constexpr auto freetensor::allBaseDataTypes
 
constexpr std::array freetensor::signDataTypeNames
 
constexpr auto freetensor::allSignDataTypes