/usr/include/puzzle.h is in libpuzzle-dev 0.11-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | #ifndef __PUZZLE_H__
#define __PUZZLE_H__ 1
#define PUZZLE_VERSION_MAJOR 0
#define PUZZLE_VERSION_MINOR 11
typedef struct PuzzleDvec_ {
size_t sizeof_vec;
size_t sizeof_compressed_vec;
double *vec;
} PuzzleDvec;
typedef struct PuzzleCvec_ {
size_t sizeof_vec;
signed char *vec;
} PuzzleCvec;
typedef struct PuzzleCompressedCvec_ {
size_t sizeof_compressed_vec;
unsigned char *vec;
} PuzzleCompressedCvec;
typedef struct PuzzleContext_ {
unsigned int puzzle_max_width;
unsigned int puzzle_max_height;
unsigned int puzzle_lambdas;
double puzzle_p_ratio;
double puzzle_noise_cutoff;
double puzzle_contrast_barrier_for_cropping;
double puzzle_max_cropping_ratio;
int puzzle_enable_autocrop;
unsigned long magic;
} PuzzleContext;
void puzzle_init_context(PuzzleContext * const context);
void puzzle_free_context(PuzzleContext * const context);
int puzzle_set_max_width(PuzzleContext * const context,
const unsigned int width);
int puzzle_set_max_height(PuzzleContext * const context,
const unsigned int height);
int puzzle_set_lambdas(PuzzleContext * const context,
const unsigned int lambdas);
int puzzle_set_noise_cutoff(PuzzleContext * const context,
const double noise_cutoff);
int puzzle_set_p_ratio(PuzzleContext * const context,
const double p_ratio);
int puzzle_set_contrast_barrier_for_cropping(PuzzleContext * const context,
const double barrier);
int puzzle_set_max_cropping_ratio(PuzzleContext * const context,
const double ratio);
int puzzle_set_autocrop(PuzzleContext * const context,
const int enable);
void puzzle_init_cvec(PuzzleContext * const context,
PuzzleCvec * const cvec);
void puzzle_init_dvec(PuzzleContext * const context,
PuzzleDvec * const dvec);
int puzzle_fill_dvec_from_file(PuzzleContext * const context,
PuzzleDvec * const dvec,
const char * const file);
int puzzle_fill_cvec_from_file(PuzzleContext * const context,
PuzzleCvec * const cvec,
const char * const file);
int puzzle_fill_cvec_from_dvec(PuzzleContext * const context,
PuzzleCvec * const cvec,
const PuzzleDvec * const dvec);
void puzzle_free_cvec(PuzzleContext * const context,
PuzzleCvec * const cvec);
void puzzle_free_dvec(PuzzleContext * const context,
PuzzleDvec * const dvec);
int puzzle_dump_cvec(PuzzleContext * const context,
const PuzzleCvec * const cvec);
int puzzle_dump_dvec(PuzzleContext * const context,
const PuzzleDvec * const dvec);
int puzzle_cvec_cksum(PuzzleContext * const context,
const PuzzleCvec * const cvec, unsigned int * const sum);
void puzzle_init_compressed_cvec(PuzzleContext * const context,
PuzzleCompressedCvec * const compressed_cvec);
void puzzle_free_compressed_cvec(PuzzleContext * const context,
PuzzleCompressedCvec * const compressed_cvec);
int puzzle_compress_cvec(PuzzleContext * const context,
PuzzleCompressedCvec * const compressed_cvec,
const PuzzleCvec * const cvec);
int puzzle_uncompress_cvec(PuzzleContext * const context,
const PuzzleCompressedCvec * const compressed_cvec,
PuzzleCvec * const cvec);
int puzzle_vector_sub(PuzzleContext * const context,
PuzzleCvec * const cvecr,
const PuzzleCvec * const cvec1,
const PuzzleCvec * const cvec2,
const int fix_for_texts);
double puzzle_vector_euclidean_length(PuzzleContext * const context,
const PuzzleCvec * const cvec);
double puzzle_vector_normalized_distance(PuzzleContext * const context,
const PuzzleCvec * const cvec1,
const PuzzleCvec * const cvec2,
const int fix_for_texts);
#define PUZZLE_CVEC_SIMILARITY_THRESHOLD 0.6
#define PUZZLE_CVEC_SIMILARITY_HIGH_THRESHOLD 0.7
#define PUZZLE_CVEC_SIMILARITY_LOW_THRESHOLD 0.3
#define PUZZLE_CVEC_SIMILARITY_LOWER_THRESHOLD 0.2
#define _COMA_ ,
#endif
|