Skip to content
Snippets Groups Projects
test_FindOptimalPathMatching.c 1.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • #include "Options.h"
    #include "MatchMatchers.h"
    
    #define LENGTH 4
    
    int main(int argc, char **argv) {
        long *PathMatchings[3];
        double *PathWeights;
        long Size;
        long t;
        
        for (t = 0; t < 3; t++) PathMatchings[t] = (long *)malloc(LENGTH*sizeof(long));
        PathWeights = (double *)malloc(LENGTH*sizeof(double));
    
        printf("Test FindOptimalPathMatching: ");
        
        /* Solution *=*-*=*-* */
        for (t = 0; t < LENGTH; t++) PathMatchings[2][t] = -1;
        PathWeights[0] = 2.0;
        PathWeights[1] = 1.9;
        PathWeights[2] = 0.5;
        PathWeights[3] = 0.4;
        
        Size = FindOptimalPathMatching(PathMatchings, PathWeights, LENGTH + 1);
        
        if (Size != 2 || PathMatchings[2][0] != 0 || PathMatchings[2][1] != 2) {
            printf("Error\n");
            exit(1);
        }
    
        /* Solution *-*=*-*=* */
        for (t = 0; t < LENGTH; t++) PathMatchings[2][t] = -1;
        PathWeights[0] = 1.9;
        PathWeights[1] = 2.0;
        PathWeights[2] = 0.5;
        PathWeights[3] = 0.5;
        
        Size = FindOptimalPathMatching(PathMatchings, PathWeights, LENGTH + 1);
        
        if (Size != 2 || PathMatchings[2][0] != 1 || PathMatchings[2][1] != 3) {
            printf("Error\n");
            exit(1);
        }
    
        /* Solution *=*-*-*=* */
        for (t = 0; t < LENGTH; t++) PathMatchings[2][t] = -1;
        PathWeights[0] = 2.0;
        PathWeights[1] = 1.9;
        PathWeights[2] = 0.5;
        PathWeights[3] = 0.6;
        
        Size = FindOptimalPathMatching(PathMatchings, PathWeights, LENGTH + 1);
        
        if (Size != 2 || PathMatchings[2][0] != 0 || PathMatchings[2][1] != 3) {
            printf("Error\n");
            exit(1);
        }
    
        printf("OK\n");
        exit(0);
    
    } /* end main */