3 #ifndef __INT_SYM_INDICES_H__     4 #define __INT_SYM_INDICES_H__     8 template<
typename RAIterator>
     9 int relativeSign(RAIterator s1b, RAIterator s1e, RAIterator s2b, RAIterator s2e)
    12     assert(sz == (
int)(s2e-s2b));
    15     std::vector<bool> seen(sz);
    17     for (i = 0;i < sz;i++) seen[i] = 
false;
    19     for (i = 0;i < sz;i++)
    21         if (seen[i]) 
continue;
    25             for (k = 0;k < sz && (!(*(s1b+k) == *(s2b+j)) || seen[k]);k++);
    40     return relativeSign(s1.begin(), s1.end(), s2.begin(), s2.end());
    45                             int order_B, T& idx_B, 
const int* sym_B);
    49                             int order_B, T& idx_B, 
const int* sym_B,
    50                             int order_C, T& idx_C, 
const int* sym_C);
    54                         int order_B, 
const T& idx_B, 
const int* sym_B,
    55                         int order_C, 
const T& idx_C, 
const int* sym_C);
    59                         int order_B, 
const T& idx_B, 
const int* sym_B);
 
int align_symmetric_indices(int order_A, T &idx_A, const int *sym_A, int order_B, T &idx_B, const int *sym_B)
int relativeSign(RAIterator s1b, RAIterator s1e, RAIterator s2b, RAIterator s2e)
int overcounting_factor(int order_A, const T &idx_A, const int *sym_A, int order_B, const T &idx_B, const int *sym_B, int order_C, const T &idx_C, const int *sym_C)