CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Macros
IceRevisitedRadix.cc File Reference
#include "IceRevisitedRadix.h"
#include "IceMemoryMacros.h"

Go to the source code of this file.

Macros

#define CHECK_PASS_VALIDITY(pass)
 
#define CHECK_RESIZE(n)
 
#define CREATE_HISTOGRAMS(type, buffer)
 
#define CURRENT_SIZE   (mCurrentSize & 0x7fffffff)
 
#define INVALID_RANKS   (mCurrentSize & 0x80000000)
 
#define INVALIDATE_RANKS   mCurrentSize |= 0x80000000
 
#define VALIDATE_RANKS   mCurrentSize &= 0x7fffffff
 

Macro Definition Documentation

#define CHECK_PASS_VALIDITY (   pass)
Value:
/* Shortcut to current counters */ \
udword* CurCount = &mHistogram[pass << 8]; \
\
/* Reset flag. The sorting pass is supposed to be performed. (default) */ \
bool PerformPass = true; \
\
/* Check pass validity */ \
\
/* If all values have the same byte, sorting is useless. */ \
/* It may happen when sorting bytes or words instead of dwords. */ \
/* This routine actually sorts words faster than dwords, and bytes */ \
/* faster than words. Standard running time (O(4*n))is reduced to O(2*n) */ \
/* for words and O(n) for bytes. Running time for floats depends on actual values... */ \
\
/* Get first byte */ \
ubyte UniqueVal = *(((ubyte*)input) + pass); \
\
/* Check that byte's counter */ \
if (CurCount[UniqueVal] == nb) \
PerformPass = false;
static std::string const input
Definition: EdmProvDump.cc:47
unsigned int udword
sizeof(udword) must be 4
Definition: IceTypes.h:52
if(conf_.getParameter< bool >("UseStripCablingDB"))
unsigned char ubyte
sizeof(ubyte) must be 1
Definition: IceTypes.h:48

Definition at line 161 of file IceRevisitedRadix.cc.

Referenced by RadixSort::Sort().

#define CHECK_RESIZE (   n)
Value:
if (n != mPreviousSize) { \
if (n > mCurrentSize) \
Resize(n); \
else \
ResetRanks(); \
mPreviousSize = n; \
}
if(conf_.getParameter< bool >("UseStripCablingDB"))

Definition at line 65 of file IceRevisitedRadix.cc.

#define CREATE_HISTOGRAMS (   type,
  buffer 
)

Definition at line 74 of file IceRevisitedRadix.cc.

Referenced by RadixSort::Sort().

#define CURRENT_SIZE   (mCurrentSize & 0x7fffffff)

Definition at line 62 of file IceRevisitedRadix.cc.

Referenced by RadixSort::CheckResize(), and RadixSort::GetUsedRam().

#define INVALID_RANKS   (mCurrentSize & 0x80000000)

Definition at line 63 of file IceRevisitedRadix.cc.

Referenced by RadixSort::Sort().

#define INVALIDATE_RANKS   mCurrentSize |= 0x80000000

Definition at line 60 of file IceRevisitedRadix.cc.

Referenced by RadixSort::CheckResize(), and RadixSort::RadixSort().

#define VALIDATE_RANKS   mCurrentSize &= 0x7fffffff

Definition at line 61 of file IceRevisitedRadix.cc.

Referenced by RadixSort::Sort().