#ifndef _TYPES_H_
#define _TYPES_H_

typedef unsigned long long pyWord;
typedef double pyReal;

typedef struct s_MaxHeap {
    pyReal * distances;
    pyWord * indices;
    pyWord maxItems;
    pyWord size;
} MaxHeap;

typedef struct s_NbhHeaps {
    MaxHeap * heaps;
    pyReal * distances;
} NbhHeaps;

typedef struct s_SearchParams {
    const pyWord nbhSize;
    const pyWord nPoints;
    const pyWord nFeatures;
    const pyReal * data;
    pyWord * neighborhoods;
    NbhHeaps nbhHeaps;
} SearchParams;

#endif
