#ifndef __VIENNA_RNA_PACKAGE_ALI_PLEX_H__
#define __VIENNA_RNA_PACKAGE_ALI_PLEX_H__

#include "data_structures.h"
/**
*** aliLduplexfold computes the duplexes between two alignments
**/
duplexT** aliLduplexfold( const char *s1[],
                          const char *s2[],
                          const int threshold,
                          const int extension_cost,
                          const int alignment_length,
                          const int delta,
                          const int fast,
                          const int il_a,
                          const int il_b,
                          const int b_a,
                          const int b_b);
/**
*** aliLduplexfold computes the duplexes between two alignments. It also takes the average accessibility into account
**/
duplexT** aliLduplexfold_XS(const char* s1[],
                            const char* s2[],
                            const int **access_s1,
                            const int **access_s2, 
                            const int threshold,
                            const int alignment_length,
                            const int delta,
                            const int fast,
                            const int il_a,
                            const int il_b,
                            const int b_a,
                            const int b_b);

/*
extern duplexT aliduplexfold(const char *s1[], const char *s2[], const int extension_cost);
extern duplexT aliduplexfold_XS(const char *s1[], const char *s2[],const int **access_s1, 
const int **access_s2, const int i_pos, const int j_pos, const int threshold);
*/
#endif
