#ifndef _pickobject_h_
#define _pickobject_h_

#include<stdlib.h>
#include<string.h>
#include<math.h>

struct AttrValPairStruct
{
  int mAttr;
  int *mAttrVal;
  int mSize;
};
typedef struct AttrValPairStruct AttrValPair;

struct PickObjectStruct
{
  AttrValPair *mPicked;
  float mScore;
  float mEffort, mPD, mPF;
  int mSize;
  int mSupport;
};
typedef struct PickObjectStruct PickObject;

int compareInts( const int *i, const int *j );
int findAttr( int val, AttrValPair *avp, int size );
int findAttrVal( int val, int *avs, int size );
void *setupPickObject( void *t );
void deletePickObject( void *t );
float comparePickObject( void *i, void *j );
float getScorePickObject( void *t );
float scorePickObject( void *i );
void *combinePickObject( void* i, void *j  );

#endif
