70 #if defined(REFPAR) || defined(HITPAR)
74 #define MPI_AA MPI_SHORT
76 #define MPI_H MPI_DOUBLE
89 #define DEFAULT_SIZE 8
91 #define DEFAULT_GAPPENALTY -1.0
93 #define DEFAULT_ITERATIONS 1
111 #if defined(REFPAR) || defined(HITPAR)
118 #else // defined(REFSEQ) || defined(HITSEQ)
123 #define is_root() (1)
135 #define printfroot(...) if( is_root() ) { printf(__VA_ARGS__); }
140 #define fprintfroot(...) if( is_root() ) { fprintf(__VA_ARGS__); }
181 #define pam(a,b) (pam_matrix.data[(a)*(pam_matrix.num_aa)+(b)])
239 #define NOTFOUND_AA -2
241 #define NOTFOUND_CHAR '!'
243 #define GAP_AA MAX_NUM_AA
254 static inline aa_t char2AA(
char c){
return aa_names.
char2AA[(int)c]; }
260 static inline char AA2char(
aa_t aa){
return aa_names.
AA2char[aa]; }
271 #define NOT_USED(p) ((void)(p))
275 #define CHECK_NULL(check){\
277 exit_error("Null Pointer allocating memory\n");\
359 #if defined(REFPAR) || defined(HITPAR)
375 MPI_Datatype MPI_DOUBLE_3INT;
381 void HMaxLoc(
void * in,
void * inout,
int *len, MPI_Datatype * dptr);
406 #define ALL_SEQUENTIAL_BEGIN(var) \
407 struct timespec var ## ts = {0,1000000}; \
410 for(var=-1;var<nProcs+1;var++){ \
413 #define ALL_SEQUENTIAL_END(var) \
415 nanosleep(&(var ## ts),NULL); \
421 #elif defined(HITPAR)
424 #define ALL_SEQUENTIAL_BEGIN(var) \
425 struct timespec var ## ts = {0,1000000}; \
428 for(var=-1;var<hit_NProcs+1;var++){ \
431 #define ALL_SEQUENTIAL_END(var) \
433 nanosleep(&(var ## ts),NULL); \
436 MPI_Barrier(MPI_COMM_WORLD); \
446 #endif // _SW_COMMON_
void closeProtein(ProteinFile *fprotein)
void openProtein(ProteinFile *fprotein, char *filename)
void exit_error(const char *s)
void input_parameters(int argc, char *argv[])
void initPAM(char *filename)
char AA2char[MAX_NUM_AA+1]