scale.h File Reference
#include "../permutation.h"
#include "../type_traits.h"
#include "cast.h"
Include dependency graph for scale.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  TiledArray::tile_interface::scale_trait< Arg, Scalar, Enabler >
 
struct  TiledArray::tile_interface::scale_trait< Arg, Scalar, typename std::enable_if< TiledArray::detail::is_type< result_of_scale_t< Arg, Scalar > >::value >::type >
 
class  TiledArray::tile_interface::Scale< Result, Arg, Scalar, Enabler >
 
class  TiledArray::tile_interface::Scale< Result, Arg, Scalar, typename std::enable_if<!std::is_same< Result, result_of_scale_t< Arg, Scalar > >::value >::type >
 
class  TiledArray::tile_interface::ScaleTo< Result, Arg, Scalar, Enabler >
 
class  TiledArray::tile_interface::ScaleTo< Result, Arg, Scalar, typename std::enable_if<!std::is_same< Result, result_of_scale_t< Arg, Scalar > >::value >::type >
 
struct  TiledArray::scale_trait< Arg, Scalar >
 Scale trait. More...
 
class  TiledArray::Scale< Result, Arg, Scalar >
 Scale tile. More...
 

Namespaces

 TiledArray
 
 TiledArray::tile_interface
 

Typedefs

template<typename... T>
using TiledArray::tile_interface::result_of_scale_t = decltype(scale(std::declval< T >()...))
 
template<typename... T>
using TiledArray::tile_interface::result_of_scale_to_t = decltype(scale_to(std::declval< T >()...))
 

Functions

template<typename Arg , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar > &&!TiledArray::detail::is_array_v< Arg >> * = nullptr>
auto TiledArray::scale (const Arg &arg, const Scalar factor)
 Scalar the tile argument. More...
 
template<typename Arg , typename Scalar , typename Perm , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar > &&TiledArray::detail::is_permutation_v< Perm >> * = nullptr>
auto TiledArray::scale (const Arg &arg, const Scalar factor, const Perm &perm)
 Scale and permute tile argument. More...
 
template<typename Result , typename Scalar , std::enable_if_t< TiledArray::detail::is_numeric_v< Scalar >> * = nullptr>
Result & TiledArray::scale_to (Result &result, const Scalar factor)
 Scale to the result tile. More...