parasail_result_t* ENAME( const char * const restrict _s1, const int s1Len, const char * const restrict _s2, const int s2Len, const int open, const int gap, const parasail_matrix_t *matrix) { #ifdef PARASAIL_TABLE parasail_result_t *result = parasail_result_new_table1(s1Len, s2Len); #else #ifdef PARASAIL_ROWCOL parasail_result_t *result = parasail_result_new_rowcol1(s1Len, s2Len); #else parasail_result_t *result = parasail_result_new(); #endif #endif int * const restrict s1 = parasail_memalign_int(16, s1Len); int * const restrict s2 = parasail_memalign_int(16, s2Len); int * const restrict tbl_pr = parasail_memalign_int(16, s2Len+1); int * const restrict del_pr = parasail_memalign_int(16, s2Len+1); int i = 0; int j = 0; int score = NEG_INF_32; int end_query = s1Len; int end_ref = s2Len; for (i=0; i<s1Len; ++i) { s1[i] = matrix->mapper[(unsigned char)_s1[i]]; } for (j=0; j<s2Len; ++j) { s2[j] = matrix->mapper[(unsigned char)_s2[j]]; }
parasail_result_t* ENAME( const char * const restrict _s1, const int s1Len, const char * const restrict _s2, const int s2Len, const int open, const int gap, const parasail_matrix_t *matrix) { #ifdef PARASAIL_TABLE parasail_result_t *result = parasail_result_new_table3(s1Len, s2Len); #else #ifdef PARASAIL_ROWCOL parasail_result_t *result = parasail_result_new_rowcol3(s1Len, s2Len); #else parasail_result_t *result = parasail_result_new_stats(); #endif #endif int * const restrict s1 = parasail_memalign_int(16, s1Len); int * const restrict s2 = parasail_memalign_int(16, s2Len); int * const restrict HB = parasail_memalign_int(16, s1Len+1); int * const restrict H = HB+1; int * const restrict HMB = parasail_memalign_int(16, s1Len+1); int * const restrict HM = HMB+1; int * const restrict HSB = parasail_memalign_int(16, s1Len+1); int * const restrict HS = HSB+1; int * const restrict HLB = parasail_memalign_int(16, s1Len+1); int * const restrict HL = HLB+1; int * const restrict E = parasail_memalign_int(16, s1Len); int * const restrict EM = parasail_memalign_int(16, s1Len); int * const restrict ES = parasail_memalign_int(16, s1Len); int * const restrict EL = parasail_memalign_int(16, s1Len); int * const restrict HtB= parasail_memalign_int(16, s1Len+1); int * const restrict Ht = HtB+1;
parasail_result_t* FNAME( const char * const restrict _s1, const int s1Len, const char * const restrict _s2, const int s2Len, const int open, const int gap, const parasail_matrix_t *matrix, int s1_beg, int s1_end, int s2_beg, int s2_end) { #ifdef PARASAIL_TABLE parasail_result_t *result = parasail_result_new_table1(s1Len, s2Len); #else #ifdef PARASAIL_ROWCOL parasail_result_t *result = parasail_result_new_rowcol1(s1Len, s2Len); #else parasail_result_t *result = parasail_result_new(); #endif #endif int * const restrict s1 = parasail_memalign_int(16, s1Len); int * const restrict s2 = parasail_memalign_int(16, s2Len); int * const restrict H = parasail_memalign_int(16, s2Len+1); int * const restrict F = parasail_memalign_int(16, s2Len+1); int i = 0; int j = 0; int score = NEG_INF_32; int end_query = s1Len; int end_ref = s2Len; for (i=0; i<s1Len; ++i) { s1[i] = matrix->mapper[(unsigned char)_s1[i]]; } for (j=0; j<s2Len; ++j) { s2[j] = matrix->mapper[(unsigned char)_s2[j]]; }
#define SG_SUFFIX _scan #include "sg_helper.h" #define NEG_INF_32 (INT32_MIN/2) #define MAX(a,b) ((a)>(b)?(a):(b)) #define FNAME parasail_sg_flags_trace_scan parasail_result_t* FNAME( const char * const restrict _s1, const int s1Len, const char * const restrict _s2, const int s2Len, const int open, const int gap, const parasail_matrix_t *matrix, int s1_beg, int s1_end, int s2_beg, int s2_end) { parasail_result_t *result = parasail_result_new_trace(s1Len, s2Len, 16, sizeof(int8_t)); int * const restrict s1 = parasail_memalign_int(16, s1Len); int * const restrict s2 = parasail_memalign_int(16, s2Len); int * const restrict HB = parasail_memalign_int(16, s1Len+1); int * const restrict H = HB+1; int * const restrict E = parasail_memalign_int(16, s1Len); int * const restrict HtB= parasail_memalign_int(16, s1Len+1); int * const restrict Ht = HtB+1; int8_t * const restrict HT = (int8_t* const restrict)result->trace->trace_table; int * const restrict Ex = parasail_memalign_int(16, s1Len); int i = 0; int j = 0; int score = NEG_INF_32; int end_query = s1Len; int end_ref = s2Len; for (i=0; i<s1Len; ++i) {