#include "NDTSEnums.h"

#include <assert.h>

#ifndef RQCONSTANTS_H
#define RQCONSTANTS_H

#ifdef RQ_EXPORTS
	#define RQ_API __declspec(dllexport)
#else
	#define RQ_API __declspec(dllimport)
#endif
 
#ifdef STDCALL
	#define CALL_CONV __stdcall
#else
	#define CALL_CONV
#endif


#define RQ_MAXIMUM_NUMBER_OF_STEPS					32  // This must be less than or equal to RQ_MAXIMUM_NUMBER_OF_ELEMENTS
#define RQ_MAXIMUM_NUMBER_OF_ELEMENTS				128
#define RQ_MAXIMUM_NUMBER_OF_GATES_NON_SEQUENCED	8
#define RQ_MAXIMUM_NUMBER_OF_GATES_SEQUENCED		6
#define RQ_MAXIMUM_NUMBER_OF_GATES_COMPILE_TIME		RQ_MAXIMUM_NUMBER_OF_GATES_NON_SEQUENCED  // Only use this for allocating memory at compile time - otherwise use RQ_ReturnMaximumNumberOfGates() which takes into account sequenced or non sequenced
#define RQ_MAXIMUM_NUMBER_OF_CARDS					8
#define RQ_MAXIMUM_NUMBER_OF_SAMPLE_POINTS			65536 // was 32768 but latest FPGAs support 64k
#define RQ_NUMBER_OF_ENCODERS						6

#define RQ_FRACTIONAL_BSCAN_CLICKS_UNITY_SHIFT		8

#define NUMBER_OF_DIAGNOSTIC_STRINGS				5
#define DIAGNOSTIC_STRING_SIZE						50


#endif
