// type definitions
// - determine what the int 64 type is

#ifndef __int64_type_h__
#define __int64_type_h__

#ifdef _MSC_VER
  // microsoft specific
  typedef __int64 int64type;
  typedef unsigned __int64 uint64type;

  #define int64fmtspec  "%I64d"
  #define uint64fmtspec "%I64u"

#else
  // assume gcc compiler
  typedef long long int64type;
  typedef unsigned long long uint64type;

  #define int64fmtspec  "%lld"
  #define uint64fmtspec "%llu"

#endif

// convert int 64 to string
// - be careful: use a static return buffer
char* toString(int64type pNum);
char* toString(uint64type pNum);

#endif // __int64_type_h__

