COMBINATORIAL_BLAS  1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Static Public Member Functions
SpHelper Class Reference

#include <SpHelper.h>

List of all members.

Static Public Member Functions

template<typename T >
static const T * p2a (const std::vector< T > &v)
template<typename T >
static T * p2a (std::vector< T > &v)
template<typename _ForwardIterator >
static bool is_sorted (_ForwardIterator __first, _ForwardIterator __last)
template<typename _ForwardIterator , typename _StrictWeakOrdering >
static bool is_sorted (_ForwardIterator __first, _ForwardIterator __last, _StrictWeakOrdering __comp)
template<typename _ForwardIter , typename T >
static void iota (_ForwardIter __first, _ForwardIter __last, T __val)
template<typename In , typename Out , typename UnPred >
static Out copyIf (In first, In last, Out result, UnPred pred)
template<typename T , typename I1 , typename I2 >
static T ** allocate2D (I1 m, I2 n)
template<typename T , typename I >
static void deallocate2D (T **array, I m)
template<typename SR , typename NT1 , typename NT2 , typename IT , typename OVT >
static IT Popping (NT1 *numA, NT2 *numB, StackEntry< OVT, pair< IT, IT > > *multstack, IT &cnz, KNHeap< pair< IT, IT >, IT > &sHeap, Isect< IT > *isect1, Isect< IT > *isect2)
template<typename IT , typename NT1 , typename NT2 >
static void SpIntersect (const Dcsc< IT, NT1 > &Adcsc, const Dcsc< IT, NT2 > &Bdcsc, Isect< IT > *&cols, Isect< IT > *&rows, Isect< IT > *&isect1, Isect< IT > *&isect2, Isect< IT > *&itr1, Isect< IT > *&itr2)
template<typename SR , typename IT , typename NT1 , typename NT2 , typename OVT >
static IT SpCartesian (const Dcsc< IT, NT1 > &Adcsc, const Dcsc< IT, NT2 > &Bdcsc, IT kisect, Isect< IT > *isect1, Isect< IT > *isect2, StackEntry< OVT, pair< IT, IT > > *&multstack)
template<typename SR , typename IT , typename NT1 , typename NT2 , typename OVT >
static IT SpColByCol (const Dcsc< IT, NT1 > &Adcsc, const Dcsc< IT, NT2 > &Bdcsc, IT nA, StackEntry< OVT, pair< IT, IT > > *&multstack)
template<typename NT , typename IT >
static void ShrinkArray (NT *&array, IT newsize)
template<typename NT , typename IT >
static void DoubleStack (StackEntry< NT, pair< IT, IT > > *&multstack, IT &cnzmax, IT add)
template<typename IT >
static bool first_compare (pair< IT, IT > pair1, pair< IT, IT > pair2)

Detailed Description

Definition at line 46 of file SpHelper.h.


Member Function Documentation

template<typename T , typename I1 , typename I2 >
static T** SpHelper::allocate2D ( I1  m,
I2  n 
)
inlinestatic

Definition at line 104 of file SpHelper.h.

template<typename In , typename Out , typename UnPred >
static Out SpHelper::copyIf ( In  first,
In  last,
Out  result,
UnPred  pred 
)
inlinestatic

Definition at line 95 of file SpHelper.h.

template<typename T , typename I >
static void SpHelper::deallocate2D ( T **  array,
m 
)
inlinestatic

Definition at line 112 of file SpHelper.h.

template<typename NT , typename IT >
static void SpHelper::DoubleStack ( StackEntry< NT, pair< IT, IT > > *&  multstack,
IT &  cnzmax,
IT  add 
)
inlinestatic

Definition at line 147 of file SpHelper.h.

template<typename IT >
static bool SpHelper::first_compare ( pair< IT, IT >  pair1,
pair< IT, IT >  pair2 
)
inlinestatic

Definition at line 158 of file SpHelper.h.

template<typename _ForwardIter , typename T >
static void SpHelper::iota ( _ForwardIter  __first,
_ForwardIter  __last,
__val 
)
inlinestatic

Definition at line 89 of file SpHelper.h.

template<typename _ForwardIterator >
static bool SpHelper::is_sorted ( _ForwardIterator  __first,
_ForwardIterator  __last 
)
inlinestatic

Definition at line 65 of file SpHelper.h.

template<typename _ForwardIterator , typename _StrictWeakOrdering >
static bool SpHelper::is_sorted ( _ForwardIterator  __first,
_ForwardIterator  __last,
_StrictWeakOrdering  __comp 
)
inlinestatic

Definition at line 77 of file SpHelper.h.

template<typename T >
static const T* SpHelper::p2a ( const std::vector< T > &  v)
inlinestatic

Definition at line 50 of file SpHelper.h.

template<typename T >
static T* SpHelper::p2a ( std::vector< T > &  v)
inlinestatic

Definition at line 57 of file SpHelper.h.

template<typename SR , typename NT1 , typename NT2 , typename IT , typename OVT >
IT SpHelper::Popping ( NT1 *  numA,
NT2 *  numB,
StackEntry< OVT, pair< IT, IT > > *  multstack,
IT &  cnz,
KNHeap< pair< IT, IT >, IT > &  sHeap,
Isect< IT > *  isect1,
Isect< IT > *  isect2 
)
static

Pop an element, do the numerical semiring multiplication & insert the result into multstack

Definition at line 169 of file SpHelper.h.

template<typename NT , typename IT >
static void SpHelper::ShrinkArray ( NT *&  array,
IT  newsize 
)
inlinestatic

Definition at line 137 of file SpHelper.h.

template<typename SR , typename IT , typename NT1 , typename NT2 , typename OVT >
IT SpHelper::SpCartesian ( const Dcsc< IT, NT1 > &  Adcsc,
const Dcsc< IT, NT2 > &  Bdcsc,
IT  kisect,
Isect< IT > *  isect1,
Isect< IT > *  isect2,
StackEntry< OVT, pair< IT, IT > > *&  multstack 
)
static

Performs cartesian product on the dcsc structures. Indices to perform the product are given by isect1 and isect2 arrays Returns the "actual" number of elements in the merged stack Bdcsc is "already transposed" (i.e. Bdcsc->ir gives column indices, and Bdcsc->jc gives row indices)

Definition at line 248 of file SpHelper.h.

template<typename SR , typename IT , typename NT1 , typename NT2 , typename OVT >
IT SpHelper::SpColByCol ( const Dcsc< IT, NT1 > &  Adcsc,
const Dcsc< IT, NT2 > &  Bdcsc,
IT  nA,
StackEntry< OVT, pair< IT, IT > > *&  multstack 
)
static

Definition at line 311 of file SpHelper.h.

template<typename IT , typename NT1 , typename NT2 >
void SpHelper::SpIntersect ( const Dcsc< IT, NT1 > &  Adcsc,
const Dcsc< IT, NT2 > &  Bdcsc,
Isect< IT > *&  cols,
Isect< IT > *&  rows,
Isect< IT > *&  isect1,
Isect< IT > *&  isect2,
Isect< IT > *&  itr1,
Isect< IT > *&  itr2 
)
static

Finds the intersecting row indices of Adcsc and col indices of Bdcsc

Parameters:
IT]Bdcsc {the transpose of the dcsc structure of matrix B}
IT]Adcsc {the dcsc structure of matrix A}

Definition at line 208 of file SpHelper.h.


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