aboutsummaryrefslogtreecommitdiff
path: root/deduper/libpuzzle/src/regress_2.c
diff options
context:
space:
mode:
Diffstat (limited to 'deduper/libpuzzle/src/regress_2.c')
-rw-r--r--deduper/libpuzzle/src/regress_2.c72
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;
+}