Graph Framework
Loading...
Searching...
No Matches
register.hpp File Reference

Utilities for writting jit source code. More...

#include <concepts>
#include <cassert>
#include <map>
#include <set>
#include <sstream>
#include <complex>
#include <type_traits>
#include <limits>
#include <charconv>
#include <array>
#include <utility>

Go to the source code of this file.

Classes

class  jit::float_compare< T >
 Define a custom comparitor class. More...
 

Namespaces

namespace  jit
 Name space for JIT functions.
 

Concepts

concept  jit::complex_scalar
 Complex scalar concept.
 
concept  jit::float_scalar
 Float scalar concept.
 
concept  jit::scalar
 General scalar concept.
 
concept  jit::float_base
 float base concept.
 
concept  jit::double_base
 Double base concept.
 

Typedefs

typedef std::map< void *, std::string > jit::register_map
 Type alias for mapping node pointers to register names.
 
typedef std::map< void *, size_t > jit::register_usage
 Type alias for counting register usage.
 
typedef std::set< void * > jit::visiter_map
 Type alias for listing visited nodes.
 
typedef std::map< void *, size_t > jit::texture1d_list
 Type alias for indexing 1D textures.
 
typedef std::map< void *, std::array< size_t, 2 > > jit::texture2d_list
 Type alias for indexing 2D textures.
 

Functions

template<float_scalar T>
std::string jit::type_to_string ()
 Convert a base type to a string.
 
constexpr bool jit::use_cuda ()
 Test to use Cuda.
 
template<float_scalar T>
constexpr bool jit::use_metal ()
 Test to use metal.
 
template<float_scalar T>
constexpr bool jit::use_gpu ()
 Test to use the GPU.
 
template<float_scalar T>
std::string jit::smallest_int_type (const size_t max_size)
 Get smallest integer type.
 
template<float_scalar T>
std::string jit::get_type_string ()
 Get the type string.
 
template<float_scalar T>
void jit::add_type (std::basic_ostream< char > &stream)
 Write out the node base type to a general stream.
 
template<float_scalar T>
constexpr int jit::max_digits10 ()
 The maximum number of digits to represent a type literal.
 
template<float_scalar T>
constexpr int jit::max_base ()
 The maximum value for a base type.
 
template<scalar T>
std::string jit::format_to_string (const T value)
 Convert a value to a string while avoiding locale.
 
template<class NODE >
std::string jit::to_string (const char prefix, const NODE *pointer)
 Convert a graph::leaf_node pointer to a string.
 

Detailed Description

Utilities for writting jit source code.