wolffd@0: /* divide_by_sparse_table.c ../potential/tables*/ wolffd@0: wolffd@0: /******************************************/ wolffd@0: /* 6 input & 1 output */ wolffd@0: /* Big table [0] */ wolffd@0: /* Big domain [1] */ wolffd@0: /* big sizes [2] */ wolffd@0: /* Small table [3] */ wolffd@0: /* small domain [4] */ wolffd@0: /* small sizes [5] */ wolffd@0: /* */ wolffd@0: /* New big table[0] */ wolffd@0: /******************************************/ wolffd@0: wolffd@0: #include wolffd@0: #include wolffd@0: #include "mex.h" wolffd@0: wolffd@0: int compare(const void* src1, const void* src2){ wolffd@0: int i1 = *(int*)src1 ; wolffd@0: int i2 = *(int*)src2 ; wolffd@0: return i1-i2 ; wolffd@0: } wolffd@0: wolffd@0: void ind_subv(int index, const int *cumprod, int n, int *bsubv){ wolffd@0: int i; wolffd@0: wolffd@0: for (i = n-1; i >= 0; i--) { wolffd@0: bsubv[i] = ((int)floor(index / cumprod[i])); wolffd@0: index = index % cumprod[i]; wolffd@0: } wolffd@0: } wolffd@0: wolffd@0: int subv_ind(const int n, const int *cumprod, const int *subv){ wolffd@0: int i, index=0; wolffd@0: wolffd@0: for(i=0; i