ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Classes | Macros | Typedefs | Enumerations | Functions
fastcluster_dm.cxx File Reference
#include <fenv.h>
#include <algorithm>
#include <cfloat>
#include <cmath>
#include <cstddef>
#include <limits>
#include <stdexcept>
#include <string>
#include <climits>
#include <stdint.h>
Include dependency graph for fastcluster_dm.cxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  auto_array_ptr< type >
 
struct  node
 
class  cluster_result
 
class  doubly_linked_list
 
class  union_find
 
class  nan_error
 
class  binary_min_heap
 

Macros

#define T_FLOAt_MANT_DIG   DBL_MANT_DIG
 
#define __STDC_LIMIT_MACROS
 
#define FILL_N   std::fill_n
 
#define MAX_INDEX   0x7fffffffL
 
#define my_pow   std::pow
 
#define D_(r_, c_)   (D[(static_cast<std::ptrdiff_t>(2 * N - 3 - (r_)) * (r_) >> 1) + (c_)-1])
 
#define Z_(_r, _c)   (Z[(_r)*4 + (_c)])
 

Typedefs

typedef int_fast32_t t_index
 
typedef double t_float
 

Enumerations

enum  method_codes {
  METHOD_METR_SINGLE = 0, METHOD_METR_COMPLETE = 1, METHOD_METR_AVERAGE = 2, METHOD_METR_WEIGHTED = 3,
  METHOD_METR_WARD = 4, METHOD_METR_WARD_D = METHOD_METR_WARD, METHOD_METR_CENTROID = 5, METHOD_METR_MEDIAN = 6,
  METHOD_METR_WARD_D2 = 7, MIN_METHOD_CODE = 0, MAX_METHOD_CODE = 7, METHOD_METR_SINGLE = 0,
  METHOD_METR_COMPLETE = 1, METHOD_METR_AVERAGE = 2, METHOD_METR_WEIGHTED = 3, METHOD_METR_WARD = 4,
  METHOD_METR_WARD_D = METHOD_METR_WARD, METHOD_METR_CENTROID = 5, METHOD_METR_MEDIAN = 6, METHOD_METR_WARD_D2 = 7,
  MIN_METHOD_CODE = 0, MAX_METHOD_CODE = 7
}
 
enum  method_codes_vector {
  METHOD_VECTOR_SINGLE = 0, METHOD_VECTOR_WARD = 1, METHOD_VECTOR_CENTROID = 2, METHOD_VECTOR_MEDIAN = 3,
  MIN_METHOD_VECTOR_CODE = 0, MAX_METHOD_VECTOR_CODE = 3, METHOD_VECTOR_SINGLE = 0, METHOD_VECTOR_WARD = 1,
  METHOD_VECTOR_CENTROID = 2, METHOD_VECTOR_MEDIAN = 3, MIN_METHOD_VECTOR_CODE = 0, MAX_METHOD_VECTOR_CODE = 3
}
 

Functions

bool operator< (const node a, const node b)
 

Macro Definition Documentation

◆ __STDC_LIMIT_MACROS

#define __STDC_LIMIT_MACROS

Definition at line 90 of file fastcluster_dm.cxx.

◆ D_

#define D_ (   r_,
  c_ 
)    (D[(static_cast<std::ptrdiff_t>(2 * N - 3 - (r_)) * (r_) >> 1) + (c_)-1])

Definition at line 344 of file fastcluster_dm.cxx.

◆ FILL_N

#define FILL_N   std::fill_n

Definition at line 95 of file fastcluster_dm.cxx.

◆ MAX_INDEX

#define MAX_INDEX   0x7fffffffL

Definition at line 132 of file fastcluster_dm.cxx.

◆ my_pow

#define my_pow   std::pow

Definition at line 267 of file fastcluster_dm.cxx.

◆ T_FLOAt_MANT_DIG

#define T_FLOAt_MANT_DIG   DBL_MANT_DIG

Definition at line 68 of file fastcluster_dm.cxx.

◆ Z_

#define Z_ (   _r,
  _c 
)    (Z[(_r)*4 + (_c)])

Definition at line 346 of file fastcluster_dm.cxx.

Typedef Documentation

◆ t_float

typedef double t_float

Definition at line 141 of file fastcluster_dm.cxx.

◆ t_index

typedef int_fast32_t t_index

Definition at line 129 of file fastcluster_dm.cxx.

Enumeration Type Documentation

◆ method_codes

Enumerator
METHOD_METR_SINGLE 
METHOD_METR_COMPLETE 
METHOD_METR_AVERAGE 
METHOD_METR_WEIGHTED 
METHOD_METR_WARD 
METHOD_METR_WARD_D 
METHOD_METR_CENTROID 
METHOD_METR_MEDIAN 
METHOD_METR_WARD_D2 
MIN_METHOD_CODE 
MAX_METHOD_CODE 
METHOD_METR_SINGLE 
METHOD_METR_COMPLETE 
METHOD_METR_AVERAGE 
METHOD_METR_WEIGHTED 
METHOD_METR_WARD 
METHOD_METR_WARD_D 
METHOD_METR_CENTROID 
METHOD_METR_MEDIAN 
METHOD_METR_WARD_D2 
MIN_METHOD_CODE 
MAX_METHOD_CODE 

Definition at line 148 of file fastcluster_dm.cxx.

◆ method_codes_vector

Enumerator
METHOD_VECTOR_SINGLE 
METHOD_VECTOR_WARD 
METHOD_VECTOR_CENTROID 
METHOD_VECTOR_MEDIAN 
MIN_METHOD_VECTOR_CODE 
MAX_METHOD_VECTOR_CODE 
METHOD_VECTOR_SINGLE 
METHOD_VECTOR_WARD 
METHOD_VECTOR_CENTROID 
METHOD_VECTOR_MEDIAN 
MIN_METHOD_VECTOR_CODE 
MAX_METHOD_VECTOR_CODE 

Definition at line 164 of file fastcluster_dm.cxx.

Function Documentation

◆ operator<()

bool operator< ( const node  a,
const node  b 
)
inline

Definition at line 218 of file fastcluster_dm.cxx.