Block-Structured AMR Software Framework
AMReX_Utility.H File Reference
#include <AMReX_Config.H>
#include <AMReX_BLassert.H>
#include <AMReX_REAL.H>
#include <AMReX_INT.H>
#include <AMReX_Array.H>
#include <AMReX_Vector.H>
#include <AMReX_Box.H>
#include <AMReX_BoxArray.H>
#include <AMReX_Demangle.H>
#include <AMReX_DistributionMapping.H>
#include <AMReX_ParallelDescriptor.H>
#include <AMReX_Random.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_FileSystem.H>
#include <AMReX_String.H>
#include <cfloat>
#include <chrono>
#include <climits>
#include <cstdlib>
#include <iostream>
#include <limits>
#include <map>
#include <sstream>
#include <string>
#include <typeinfo>
#include <type_traits>

Go to the source code of this file.

Classes

class  amrex::expect
 
class  amrex::StreamRetry
 

Namespaces

 amrex
 

Macros

#define BL_IGNORE_MAX   100000
 

Typedefs

using amrex::MaxResSteadyClock = std::conditional_t< std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock >
 

Functions

bool amrex::is_integer (const char *str)
 Useful C++ Utility Functions. More...
 
template<typename T >
bool amrex::is_it (std::string const &s, T &v)
 Return true and store value in v if string s is type T. More...
 
const std::vector< std::string > & amrex::Tokenize (const std::string &instr, const std::string &separators)
 Splits "instr" into separate pieces based on "separators". More...
 
bool amrex::UtilCreateDirectory (const std::string &path, mode_t mode, bool verbose=false)
 Creates the specified directories. path may be either a full pathname or a relative pathname. It will create all the directories in the pathname, if they don't already exist, so that on successful return the pathname refers to an existing directory. Returns true or false depending upon whether or not it was successful. Also returns true if path is NULL or "/". mode is the mode passed to mkdir() for any directories that must be created (for example: 0755). verbose will print out the directory creation steps. More...
 
void amrex::CreateDirectoryFailed (const std::string &dir)
 Output a message and abort when couldn't create the directory. More...
 
void amrex::FileOpenFailed (const std::string &file)
 Output a message and abort when couldn't open the file. More...
 
bool amrex::FileExists (const std::string &filename)
 Check if a file already exists. Return true if the filename is an existing file, directory, or link. For links, this operates on the link and not what the link points to. More...
 
std::string amrex::UniqueString ()
 Create a (probably) unique string. More...
 
void amrex::UtilCreateCleanDirectory (const std::string &path, bool callbarrier=true)
 Create a new directory, renaming the old one if it exists. More...
 
void amrex::UtilCreateDirectoryDestructive (const std::string &path, bool callbarrier=true)
 
void amrex::UtilRenameDirectoryToOld (const std::string &path, bool callbarrier=true)
 Rename a current directory if it exists. More...
 
void amrex::OutOfMemory ()
 Aborts after printing message indicating out-of-memory; i.e. operator new has failed. This is the "supported" set_new_handler() function for AMReX applications. More...
 
double amrex::InvNormDist (double p)
 This function returns an approximation of the inverse cumulative standard normal distribution function. I.e., given P, it returns an approximation to the X satisfying P = Pr{Z <= X} where Z is a random variable from the standard normal distribution. More...
 
double amrex::InvNormDistBest (double p)
 This function returns an approximation of the inverse cumulative standard normal distribution function. I.e., given P, it returns an approximation to the X satisfying P = Pr{Z <= X} where Z is a random variable from the standard normal distribution. More...
 
int amrex::CRRBetweenLevels (int fromlevel, int tolevel, const Vector< int > &refratios)
 
std::istream & amrex::operator>> (std::istream &, const expect &exp)
 
Vector< char > amrex::SerializeStringArray (const Vector< std::string > &stringArray)
 
Vector< std::string > amrex::UnSerializeStringArray (const Vector< char > &charArray)
 
void amrex::SyncStrings (const Vector< std::string > &localStrings, Vector< std::string > &syncedStrings, bool &alreadySynced)
 
template<typename T >
Long amrex::bytesOf (const std::vector< T > &v)
 
template<typename Key , typename T , class Compare >
Long amrex::bytesOf (const std::map< Key, T, Compare > &m)
 
void amrex::BroadcastBool (bool &bBool, int myLocalId, int rootId, const MPI_Comm &localComm)
 
void amrex::BroadcastString (std::string &bStr, int myLocalId, int rootId, const MPI_Comm &localComm)
 
void amrex::BroadcastStringArray (Vector< std::string > &bSA, int myLocalId, int rootId, const MPI_Comm &localComm)
 
template<class T >
void amrex::BroadcastArray (Vector< T > &aT, int myLocalId, int rootId, const MPI_Comm &localComm)
 
void amrex::Sleep (double sleepsec)
 
double amrex::second () noexcept
 
template<typename T >
void amrex::hash_combine (uint64_t &seed, const T &val) noexcept
 
template<typename T >
uint64_t amrex::hash_vector (const Vector< T > &vec, uint64_t seed=0xDEADBEEFDEADBEEF) noexcept
 
void * amrex_malloc (std::size_t size)
 
void amrex_free (void *p)
 

Variables

static const Long amrex::gcc_map_node_extra_bytes = 32L
 

Macro Definition Documentation

◆ BL_IGNORE_MAX

#define BL_IGNORE_MAX   100000

Function Documentation

◆ amrex_free()

void amrex_free ( void *  p)

◆ amrex_malloc()

void* amrex_malloc ( std::size_t  size)