casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | Static Private Member Functions | Static Private Attributes | List of all members
casacore::Combinatorics Class Reference

Combinatorics related functions. More...

#include <Combinatorics.h>

Static Public Member Functions

static uInt factorial (const uInt n)
 Get n! More...
 
static uInt choose (const uInt n, const uInt k)
 "n choose k" = n!/(k!(n-k)!) Exception is thrown if k > n. More...
 

Static Private Member Functions

static void fillCache (const uInt n)
 

Static Private Attributes

static Vector< uInt_factorialCache
 
static volatile uInt _factorialCacheSize
 
static std::mutex theirMutex
 

Detailed Description

Combinatorics related functions.

Intended use:

Public interface

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

self-explanatory

Synopsis

Various factorial and combinatorical functions.

Motivation

Binomial coefficients needed for Images/ImageProfileFitter

Definition at line 68 of file Combinatorics.h.

Member Function Documentation

static uInt casacore::Combinatorics::choose ( const uInt  n,
const uInt  k 
)
static

"n choose k" = n!/(k!(n-k)!) Exception is thrown if k > n.

static uInt casacore::Combinatorics::factorial ( const uInt  n)
inlinestatic

Get n!

Definition at line 73 of file Combinatorics.h.

References _factorialCache, and fillCache().

static void casacore::Combinatorics::fillCache ( const uInt  n)
staticprivate

Referenced by factorial().

Member Data Documentation

Vector<uInt> casacore::Combinatorics::_factorialCache
staticprivate

Definition at line 86 of file Combinatorics.h.

Referenced by factorial().

volatile uInt casacore::Combinatorics::_factorialCacheSize
staticprivate

Definition at line 87 of file Combinatorics.h.

std::mutex casacore::Combinatorics::theirMutex
staticprivate

Definition at line 88 of file Combinatorics.h.


The documentation for this class was generated from the following file: