/* RngStream.h for ANSI C */ #ifndef RNGSTREAM_H #define RNGSTREAM_H #ifdef BUILD_DLL #define EXPORT __declspec(dllexport) #else #define EXPORT __declspec(dllimport) #endif #ifdef __cplusplus extern "C"{ #endif typedef struct RngStream_InfoState * RngStream; struct RngStream_InfoState { double Cg[6], Bg[6], Ig[6]; int Anti; int IncPrec; char *name; }; EXPORT int RngStream_SetPackageSeed (unsigned long seed[6]); EXPORT RngStream RngStream_CreateStream (const char name[]); EXPORT void RngStream_DeleteStream (RngStream g); EXPORT void RngStream_ResetStartStream (RngStream g); EXPORT void RngStream_ResetStartSubstream (RngStream g); EXPORT void RngStream_ResetNextSubstream (RngStream g); EXPORT void RngStream_SetAntithetic (RngStream g, int a); EXPORT void RngStream_IncreasedPrecis (RngStream g, int incp); EXPORT int RngStream_SetSeed (RngStream g, unsigned long seed[6]); EXPORT void RngStream_AdvanceState (RngStream g, long e, long c); EXPORT void RngStream_GetState (RngStream g, unsigned long seed[6]); EXPORT void RngStream_WriteState (RngStream g); EXPORT void RngStream_WriteStateFull (RngStream g); EXPORT double RngStream_RandU01 (RngStream g); EXPORT int RngStream_RandInt (RngStream g, int i, int j); #ifdef __cplusplus } #endif #endif