ALPSCore reference
Namespaces | Classes | Typedefs | Enumerations | Functions
alps Namespace Reference

Namespaces

 accumulators
 
 alea
 Set of accumulators and statistical pre-/post-processing operations.
 
 fs
 
 gf
 
 hdf5
 
 integer_sequence_detail
 
 mpi
 
 numeric
 
 numerics
 
 params_ns
 
 testing
 

Classes

struct  average_type
 
struct  average_type< std::valarray< T > >
 
struct  average_type< std::vector< T, A > >
 
struct  bad_cast
 
struct  cast_hook
 
struct  cast_hook< bool, std::string >
 
struct  cast_hook< char, std::string >
 
struct  cast_hook< double, std::string >
 
struct  cast_hook< float, std::string >
 
struct  cast_hook< int, std::string >
 
struct  cast_hook< long double, std::string >
 
struct  cast_hook< long long, std::string >
 
struct  cast_hook< long, std::string >
 
struct  cast_hook< short, std::string >
 
struct  cast_hook< signed char, std::string >
 
struct  cast_hook< std::complex< T >, std::string >
 
struct  cast_hook< std::complex< U >, std::complex< T > >
 
struct  cast_hook< std::complex< U >, T >
 
struct  cast_hook< std::string, bool >
 
struct  cast_hook< std::string, char >
 
struct  cast_hook< std::string, double >
 
struct  cast_hook< std::string, float >
 
struct  cast_hook< std::string, int >
 
struct  cast_hook< std::string, long >
 
struct  cast_hook< std::string, long double >
 
struct  cast_hook< std::string, long long >
 
struct  cast_hook< std::string, short >
 
struct  cast_hook< std::string, signed char >
 
struct  cast_hook< std::string, std::complex< T > >
 
struct  cast_hook< std::string, unsigned char >
 
struct  cast_hook< std::string, unsigned int >
 
struct  cast_hook< std::string, unsigned long >
 
struct  cast_hook< std::string, unsigned long long >
 
struct  cast_hook< std::string, unsigned short >
 
struct  cast_hook< U, std::complex< T > >
 
struct  cast_hook< unsigned char, std::string >
 
struct  cast_hook< unsigned int, std::string >
 
struct  cast_hook< unsigned long long, std::string >
 
struct  cast_hook< unsigned long, std::string >
 
struct  cast_hook< unsigned short, std::string >
 
struct  change_value_type
 
struct  change_value_type< std::valarray< T >, V >
 
struct  change_value_type< std::vector< T, A >, V >
 
struct  change_value_type_replace_valarray
 
struct  change_value_type_replace_valarray< std::valarray< T >, V >
 
struct  covariance_type
 
struct  element_type
 
struct  element_type_recursive
 
struct  FullBinningAccumulator
 
class  gtest_par_xml_output
 Functor class to tweak (argc,argv). More...
 
struct  has_value_type
 
struct  integer_sequence
 
struct  is_complex
 
struct  is_complex< std::complex< T > >
 
struct  is_scalar
 Metafunction-predicate: returns true_type if type T is scalar. More...
 
struct  is_sequence
 
struct  is_sequence< std::complex< T > >
 
struct  is_sequence< std::string >
 
struct  is_sequence< std::valarray< T > >
 
struct  LogBinningAccumulator
 
class  mcbase
 
struct  MeanAccumulator
 
struct  NoBinningAccumulator
 
struct  parameters_type
 
struct  random01
 
struct  result_names_type
 
struct  results_type
 
class  signal
 
class  simple_time_callback
 Functor-predicate: is it time to stop? More...
 
struct  slice_index
 
struct  slice_it
 
class  stop_callback
 Functor-predicate: is it time to stop? More...
 

Typedefs

template<typename T , T N>
using make_integer_sequence = integer_sequence_detail::builder< T, N >
 
template<std::size_t... I>
using index_sequence = integer_sequence< std::size_t, I... >
 
template<size_t N>
using make_index_sequence = make_integer_sequence< size_t, N >
 
typedef accumulators::impl::wrapper_set< accumulators::wrapped::virtual_accumulator_wrapperaccumulator_set
 
typedef accumulators::impl::wrapper_set< accumulators::wrapped::virtual_result_wrapper< accumulators::wrapped::virtual_accumulator_wrapper > > result_set
 
typedef params_ns::params params
 
typedef detail::generic_check_schedule< detail::posix_wall_clock > check_schedule
 

Enumerations

enum  error_convergence { CONVERGED, MAYBE_CONVERGED, NOT_CONVERGED }
 

Functions

template<class T >
std::enable_if< is_sequence< T >::value, std::pair< typename slice_index< T >::type, typename slice_index< T >::type >>::type slices (T const &x)
 
template<class T >
std::enable_if<!is_sequence< T >::value, std::pair< typename slice_index< T >::type, typename slice_index< T >::type >>::type slices (T const &)
 
template<class ValueType >
std::enable_if< is_sequence< ValueType >::value, std::string >::type slice_name (ValueType const &, unsigned i)
 
template<class ValueType >
std::enable_if<!is_sequence< ValueType >::value, std::string >::type slice_name (ValueType const &, unsigned)
 
template<class ValueType >
std::enable_if< is_sequence< ValueType >::value, typename element_type< ValueType >::type >::type slice_value (ValueType const &x, unsigned i)
 
template<class ValueType >
std::enable_if<!is_sequence< ValueType >::value, ValueType const & >::type slice_value (ValueType const &x, unsigned)
 
template<class ValueType >
std::enable_if< is_sequence< ValueType >::value, typename element_type< ValueType >::type & >::type slice_value (ValueType &x, unsigned i)
 
template<class ValueType >
std::enable_if<!is_sequence< ValueType >::value, ValueType & >::type slice_value (ValueType &x, unsigned)
 
template<size_t Cut, typename... T, size_t... I>
auto tuple_tail_ (const std::tuple< T... > &t, index_sequence< I... > s) -> DECLTYPE(std::make_tuple(std::get< Cut+I >(t)...))
 
template<size_t Trim, size_t Count, typename T >
auto tuple_tail (T &t) -> DECLTYPE(tuple_tail_< Trim >(t, make_index_sequence< Count-Trim >()))
 
template<size_t Trim, typename... T>
auto tuple_tail (const std::tuple< T... > &t) -> DECLTYPE(tuple_tail_< Trim >(t, make_index_sequence< std::tuple_size< std::tuple< T... > >::value-Trim >()))
 iterate over the index sequence to extract a tail of Trim size More...
 
template<typename U , typename T >
cast (T const &)
 
template<typename U , typename T >
void cast (U const *src, U const *end, T *dest)
 
template<class T >
make_copy (T const &x)
 
template<typename T >
detail::short_print_proxy< T const > short_print (T const &v, std::size_t p=6)
 
template<class T >
std::enable_if<!is_sequence< T >::value, std::size_t >::type size (T const &)
 
template<class T >
std::enable_if< is_sequence< T >::value, std::size_t >::type size (T const &a)
 
std::string stacktrace ()
 
std::string temporary_filename (const std::string &prefix)
 Generate a reasonably unique file name with a given prefix. More...
 
template<typename T >
std::enable_if<!(std::is_same< typename alps::detail::remove_cvr< typename std::remove_all_extents< T >::type >::type, char >::value &&std::is_array< T >::value), hdf5::detail::make_pvp_proxy< T & > >::type make_pvp (std::string const &path, T &value)
 
template<typename T >
std::enable_if<!(std::is_same< typename alps::detail::remove_cvr< typename std::remove_all_extents< T >::type >::type, char >::value &&std::is_array< T >::value), hdf5::detail::make_pvp_proxy< T const & > >::type make_pvp (std::string const &path, T const &value)
 
template<typename T >
std::enable_if< std::is_same< typename alps::detail::remove_cvr< typename std::remove_all_extents< T >::type >::type, char >::value &&std::is_array< T >::value, hdf5::detail::make_pvp_proxy< std::string const > >::type make_pvp (std::string const &path, T const &value)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T *, std::vector< std::size_t > > > make_pvp (std::string const &path, T *value, std::size_t size)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T *, std::vector< std::size_t > > > make_pvp (std::string const &path, T *value, std::vector< std::size_t > const &size)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T *, std::vector< std::size_t > > > make_pvp (std::string const &path, boost::shared_array< T > &value, std::size_t size)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T *, std::vector< std::size_t > > > make_pvp (std::string const &path, boost::shared_array< T > &value, std::vector< std::size_t > const &size)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T const *, std::vector< std::size_t > > > make_pvp (std::string const &path, boost::shared_array< T > const &value, std::size_t size)
 
template<typename T >
hdf5::detail::make_pvp_proxy< std::pair< T const *, std::vector< std::size_t > > > make_pvp (std::string const &path, boost::shared_array< T > const &value, std::vector< std::size_t > const &size)
 
template<typename T >
std::string convergence_to_text (T)
 
std::string convergence_to_text (int c)
 
template<typename S >
result_names_type< S >::type result_names (S const &s)
 
template<typename S >
result_names_type< S >::type unsaved_result_names (S const &s)
 
template<typename S >
results_type< S >::type collect_results (S const &s)
 
template<typename S >
results_type< S >::type collect_results (S const &s, typename result_names_type< S >::type const &names)
 
template<typename S >
results_type< S >::type collect_results (S const &s, std::string const &name)
 
template<typename S >
double fraction_completed (S const &s)
 
void save_results (alps::accumulators::accumulator_set const &observables, params const &params, std::string const &filename, std::string const &path)
 
void save_results (alps::accumulators::result_set const &results, params const &params, std::string const &filename, std::string const &path)
 
template<typename C , typename P >
void broadcast (C const &c, P &p, int r=0)
 

Detailed Description

Set of auxiliary processing functions useful for implementations

Typedef Documentation

Definition at line 196 of file accumulators_.hpp.

typedef detail::generic_check_schedule<detail::posix_wall_clock> alps::check_schedule

Definition at line 131 of file check_schedule.hpp.

template<std::size_t... I>
using alps::index_sequence = typedef integer_sequence<std::size_t, I...>

Definition at line 59 of file index_sequence.hpp.

template<size_t N>
using alps::make_index_sequence = typedef make_integer_sequence<size_t, N>

Definition at line 62 of file index_sequence.hpp.

template<typename T , T N>
using alps::make_integer_sequence = typedef integer_sequence_detail::builder<T, N>

Definition at line 56 of file index_sequence.hpp.

Definition at line 358 of file params.hpp.

Definition at line 197 of file accumulators_.hpp.

Enumeration Type Documentation

Enumerator
CONVERGED 
MAYBE_CONVERGED 
NOT_CONVERGED 

Definition at line 16 of file convergence.hpp.

Function Documentation

template<typename C , typename P >
void alps::broadcast ( C const &  c,
P &  p,
int  r = 0 
)

Definition at line 56 of file api.hpp.

template<typename U , typename T >
U alps::cast ( T const &  arg)
inline

Definition at line 151 of file cast.hpp.

template<typename U , typename T >
void alps::cast ( U const *  src,
U const *  end,
T *  dest 
)
inline

Definition at line 155 of file cast.hpp.

template<typename S >
results_type<S>::type alps::collect_results ( S const &  s)

Definition at line 37 of file api.hpp.

template<typename S >
results_type<S>::type alps::collect_results ( S const &  s,
typename result_names_type< S >::type const &  names 
)

Definition at line 41 of file api.hpp.

template<typename S >
results_type<S>::type alps::collect_results ( S const &  s,
std::string const &  name 
)

Definition at line 45 of file api.hpp.

template<typename T >
std::string alps::convergence_to_text ( )
inline

Definition at line 18 of file convergence.hpp.

std::string alps::convergence_to_text ( int  c)
inline

Definition at line 23 of file convergence.hpp.

template<typename S >
double alps::fraction_completed ( S const &  s)

Definition at line 49 of file api.hpp.

template<class T >
T alps::make_copy ( T const &  x)

Definition at line 15 of file make_copy.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair<T *, std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
T *  value,
std::size_t  size 
)

Definition at line 14 of file pointer.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair<T *, std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
T *  value,
std::vector< std::size_t > const &  size 
)

Definition at line 28 of file pointer.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair< T * , std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
boost::shared_array< T > &  value,
std::size_t  size 
)

Definition at line 35 of file shared_array.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair< T * , std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
boost::shared_array< T > &  value,
std::vector< std::size_t > const &  size 
)

Definition at line 35 of file shared_array.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair< T const * , std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
boost::shared_array< T > const &  value,
std::size_t  size 
)

Definition at line 36 of file shared_array.hpp.

template<typename T >
hdf5::detail::make_pvp_proxy<std::pair< T const * , std::vector<std::size_t> > > alps::make_pvp ( std::string const &  path,
boost::shared_array< T > const &  value,
std::vector< std::size_t > const &  size 
)

Definition at line 36 of file shared_array.hpp.

template<typename T >
std::enable_if<!( std::is_same<typename alps::detail::remove_cvr<typename std::remove_all_extents<T>::type>::type, char>::value && std::is_array<T>::value) , hdf5::detail::make_pvp_proxy<T &> >::type alps::make_pvp ( std::string const &  path,
T &  value 
)

Definition at line 411 of file archive.hpp.

template<typename T >
std::enable_if<!( std::is_same<typename alps::detail::remove_cvr<typename std::remove_all_extents<T>::type>::type, char>::value && std::is_array<T>::value) , hdf5::detail::make_pvp_proxy<T const &> >::type alps::make_pvp ( std::string const &  path,
T const &  value 
)

Definition at line 417 of file archive.hpp.

template<typename T >
std::enable_if< std::is_same<typename alps::detail::remove_cvr<typename std::remove_all_extents<T>::type>::type, char>::value && std::is_array<T>::value , hdf5::detail::make_pvp_proxy<std::string const> >::type alps::make_pvp ( std::string const &  path,
T const &  value 
)

Definition at line 423 of file archive.hpp.

template<typename S >
result_names_type<S>::type alps::result_names ( S const &  s)

Definition at line 29 of file api.hpp.

void alps::save_results ( alps::accumulators::accumulator_set const &  observables,
params const &  params,
std::string const &  filename,
std::string const &  path 
)

Definition at line 26 of file api.cpp.

void alps::save_results ( alps::accumulators::result_set const &  results,
params const &  params,
std::string const &  filename,
std::string const &  path 
)

Definition at line 22 of file api.cpp.

template<typename T >
detail::short_print_proxy<T const> alps::short_print ( T const &  v,
std::size_t  p = 6 
)

Definition at line 29 of file short_print.hpp.

template<class T >
std::enable_if<!is_sequence<T>::value,std::size_t>::type alps::size ( T const &  )
inline

Definition at line 20 of file size.hpp.

template<class T >
std::enable_if<is_sequence<T>::value,std::size_t>::type alps::size ( T const &  a)
inline

Definition at line 27 of file size.hpp.

template<class ValueType >
std::enable_if<is_sequence<ValueType>::value, std::string>::type alps::slice_name ( ValueType const &  ,
unsigned  i 
)

Definition at line 45 of file slice.hpp.

template<class ValueType >
std::enable_if<!is_sequence<ValueType>::value, std::string>::type alps::slice_name ( ValueType const &  ,
unsigned   
)

Definition at line 52 of file slice.hpp.

template<class ValueType >
std::enable_if<is_sequence<ValueType>::value, typename element_type<ValueType>::type>::type alps::slice_value ( ValueType const &  x,
unsigned  i 
)

Definition at line 60 of file slice.hpp.

template<class ValueType >
std::enable_if<!is_sequence<ValueType>::value, ValueType const&>::type alps::slice_value ( ValueType const &  x,
unsigned   
)

Definition at line 68 of file slice.hpp.

template<class ValueType >
std::enable_if<is_sequence<ValueType>::value, typename element_type<ValueType>::type&>::type alps::slice_value ( ValueType &  x,
unsigned  i 
)

Definition at line 76 of file slice.hpp.

template<class ValueType >
std::enable_if<!is_sequence<ValueType>::value, ValueType&>::type alps::slice_value ( ValueType &  x,
unsigned   
)

Definition at line 84 of file slice.hpp.

template<class T >
std::enable_if<is_sequence<T>::value, std::pair<typename slice_index<T>::type,typename slice_index<T>::type >>::type alps::slices ( T const &  x)

Definition at line 29 of file slice.hpp.

template<class T >
std::enable_if<!is_sequence<T>::value, std::pair<typename slice_index<T>::type,typename slice_index<T>::type >>::type alps::slices ( T const &  )

Definition at line 38 of file slice.hpp.

std::string alps::stacktrace ( )

Definition at line 25 of file stacktrace.cpp.

std::string alps::temporary_filename ( const std::string &  prefix)

Generate a reasonably unique file name with a given prefix.

Note
If the prefix does not contain '/' the file is created in an unspecified temporary directory
There is no guarantee that the name rename unique by the time it is used.
The file is actually created (then removed), avoid generating many temporary file names in a loop.

Definition at line 11 of file temporary_filename.cpp.

template<size_t Trim, size_t Count, typename T >
auto alps::tuple_tail ( T &  t) -> DECLTYPE(tuple_tail_< Trim >(t, make_index_sequence< Count-Trim >()))

iterate over the index sequence to extract a tail of Trim size. Intel 15 is too stupid to understand size of parameter pack based on the provided tuple. So we need to provide

template<size_t Trim, typename... T>
auto alps::tuple_tail ( const std::tuple< T... > &  t) -> DECLTYPE(tuple_tail_< Trim >(t, make_index_sequence< std::tuple_size< std::tuple< T... > >::value-Trim >()))

iterate over the index sequence to extract a tail of Trim size

template<size_t Cut, typename... T, size_t... I>
auto alps::tuple_tail_ ( const std::tuple< T... > &  t,
index_sequence< I... >  s 
) -> DECLTYPE(std::make_tuple(std::get< Cut+I >(t)...))
template<typename S >
result_names_type<S>::type alps::unsaved_result_names ( S const &  s)

Definition at line 33 of file api.hpp.