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