/* This file was generated by scramble.py. */
#ifndef _PCODE_HEADER_GUARD_DATA_
#define _PCODE_HEADER_GUARD_DATA_
typedef struct Algo2Sample Algo2Sample;
typedef struct Algo2Class Algo2Class;
typedef struct Algo2Set Algo2Set;
#include "config.h"
#include "vector.h"
#include "mystring.h"
#include "util.h"
#include "code.h"
struct Algo2Sample
{
    char *name;
    /* Vector *features */
    /* None if features should be used instead */
    BitCode *bitcode;
};
struct Algo2Class
{
    char *name;
    Vector *training_samples;
    Vector *test_samples;
    V *per_feature_means;
    V *per_feature_vars;
    int intra_total, intra_n, intra_min, intra_max;
    int inter_total, inter_n;
};
struct Algo2Set
{
    Vector *classes;
    V *per_feature_means;
    V *per_feature_vars;
    /* We divide the matching score (0..1) into 512 bins and count the number */
    /* of inter-class and intra-class matches falling within. */
    int bins_count;
    int intra_bins[512];
    int inter_bins[512];
    /* used by algo1 matching */
    int rotation_offsets;
};
Algo2Sample * data_get_first_sample(Algo2Set *self);
Algo2Set * data_load_sets(char const *filename);
int data_test_samples_count(Algo2Set *set);
int data_training_samples_count(Algo2Set *set);
#endif
/* This file was generated by scramble.py. */
