diff options
Diffstat (limited to 'deduper/libpuzzle/src/regress_2.c')
-rw-r--r-- | deduper/libpuzzle/src/regress_2.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/deduper/libpuzzle/src/regress_2.c b/deduper/libpuzzle/src/regress_2.c new file mode 100644 index 0000000..a37b626 --- /dev/null +++ b/deduper/libpuzzle/src/regress_2.c @@ -0,0 +1,72 @@ +#include "puzzle_common.h" +#include "puzzle.h" + +int main(void) +{ + PuzzleContext context; + PuzzleCvec cvec1, cvec2, cvec3, cvec4, cvec5, cvec6; + double d1, d2, d3, d4, d5, d6; + + puzzle_init_context(&context); + puzzle_init_cvec(&context, &cvec1); + puzzle_init_cvec(&context, &cvec2); + puzzle_init_cvec(&context, &cvec3); + puzzle_init_cvec(&context, &cvec4); + puzzle_init_cvec(&context, &cvec5); + puzzle_init_cvec(&context, &cvec6); + if (puzzle_fill_cvec_from_file + (&context, &cvec1, "pics/luxmarket_tshirt01.jpg") != 0) { + fprintf(stderr, "File 1 not found\n"); + exit(0); + } + if (puzzle_fill_cvec_from_file + (&context, &cvec2, "pics/luxmarket_tshirt01_black.jpg") != 0) { + fprintf(stderr, "File 2 not found\n"); + exit(0); + } + if (puzzle_fill_cvec_from_file + (&context, &cvec3, "pics/luxmarket_tshirt01_sal.jpg") != 0) { + fprintf(stderr, "File 3 not found\n"); + exit(0); + } + if (puzzle_fill_cvec_from_file + (&context, &cvec4, "pics/luxmarket_tshirt01_sheum.jpg") != 0) { + fprintf(stderr, "File 4 not found\n"); + exit(0); + } + if (puzzle_fill_cvec_from_file + (&context, &cvec5, "pics/duck.gif") != 0) { + fprintf(stderr, "File 5 not found\n"); + exit(0); + } + if (puzzle_fill_cvec_from_file + (&context, &cvec6, "pics/pic-a-0.jpg") != 0) { + fprintf(stderr, "File 6 not found\n"); + exit(0); + } + d1 = puzzle_vector_normalized_distance(&context, &cvec2, &cvec1, 1); + d2 = puzzle_vector_normalized_distance(&context, &cvec1, &cvec2, 1); + d3 = puzzle_vector_normalized_distance(&context, &cvec1, &cvec3, 1); + d4 = puzzle_vector_normalized_distance(&context, &cvec1, &cvec4, 1); + d5 = puzzle_vector_normalized_distance(&context, &cvec1, &cvec5, 1); + d6 = puzzle_vector_normalized_distance(&context, &cvec1, &cvec6, 1); + printf("%g %g %g %g %g %g\n", d1, d2, d3, d4, d5, d6); + puzzle_free_cvec(&context, &cvec1); + puzzle_free_cvec(&context, &cvec2); + puzzle_free_cvec(&context, &cvec3); + puzzle_free_cvec(&context, &cvec4); + puzzle_free_cvec(&context, &cvec5); + puzzle_free_cvec(&context, &cvec6); + puzzle_free_context(&context); + if ((int) (d1 * 100.0) != (int) (d2 * 100.0)) { + return 1; + } + if (d1 > PUZZLE_CVEC_SIMILARITY_THRESHOLD || + d3 > PUZZLE_CVEC_SIMILARITY_THRESHOLD || + d4 > PUZZLE_CVEC_SIMILARITY_THRESHOLD || + d5 < PUZZLE_CVEC_SIMILARITY_THRESHOLD || + d6 < PUZZLE_CVEC_SIMILARITY_THRESHOLD) { + return 2; + } + return 0; +} |