Mantid
Loading...
Searching...
No Matches
Namespaces | Functions
Utils.h File Reference
#include "MantidKernel/DllConfig.h"
#include <cmath>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  Mantid
 Helper class which provides the Collimation Length for SANS instruments.
 
namespace  Mantid::Kernel
 
namespace  Mantid::Kernel::Utils
 Utils: General-purpose utility functions that do not belong anywhere else.
 
namespace  Mantid::Kernel::Utils::NestedForLoop
 

Functions

std::vector< size_t > Mantid::Kernel::Utils::getIndicesFromLinearIndex (const size_t linear_index, const std::vector< size_t > &num_bins)
 Convert an linear index in nDim workspace into vector of loop indexes of nDim depth loop. More...
 
void Mantid::Kernel::Utils::getIndicesFromLinearIndex (const size_t linear_index, size_t const *const numBins, const size_t numDims, size_t *const out_indices)
 Convert an linear index in nDim workspace into vector of loop indexes of nDim depth loop Unsafe (pointers) version, used by safe vectors version. More...
 
void Mantid::Kernel::Utils::NestedForLoop::GetIndicesFromLinearIndex (const size_t numDims, const size_t linear_index, const size_t *index_maker, const size_t *index_max, size_t *out_indices)
 Set up a nested for loop by creating an array of counters. More...
 
size_t Mantid::Kernel::Utils::NestedForLoop::GetLinearIndex (const size_t numDims, size_t *index, size_t *index_maker)
 Return a linear index from dimensional indices of a nested for loop. More...
 
bool Mantid::Kernel::Utils::NestedForLoop::Increment (const size_t numDims, size_t *index, size_t *index_max)
 Utility function for performing arbitrarily nested for loops in a serial way. More...
 
bool Mantid::Kernel::Utils::NestedForLoop::Increment (const size_t numDims, size_t *index, size_t *index_max, size_t *index_min)
 Utility function for performing arbitrarily nested for loops in a serial way. More...
 
bool Mantid::Kernel::Utils::isNeighbourOfSubject (const size_t ndims, const size_t neighbour_linear_index, const size_t *subject_indices, const size_t *num_bins, const size_t *index_max, const std::vector< int > &widths)
 Determine, using an any-vertex touching type approach, whether the neighbour linear index corresponds to a true neighbour of the subject, which is already decomposed into it's constituent dimension indices. More...
 
long Mantid::Kernel::Utils::round (double x)
 Custom rounding method for a double->long because none is portable in C++ (!) More...
 
double Mantid::Kernel::Utils::rounddbl (double r)
 Custom rounding method for a double->double because none is portable in C++ (!) More...
 
double Mantid::Kernel::Utils::roundToDP (double r, int d)
 Custom rounding method for a double->double because none is portable in C++ (!) More...
 
double Mantid::Kernel::Utils::roundToSF (double r, int f)
 Custom rounding method for a double->double because none is portable in C++ (!) More...
 
void Mantid::Kernel::Utils::NestedForLoop::SetUp (const size_t numDims, size_t *out, const size_t value=0)
 Set up a nested for loop by setting an array of counters. More...
 
void Mantid::Kernel::Utils::NestedForLoop::SetUpIndexMaker (const size_t numDims, size_t *out, const size_t *index_max)
 Set up an "index maker" for a nested for loop. More...