// ================================================================
// $Id: configh.h,v 1.2 2002/11/13 12:30:01 havran Exp $
//
// configh.h
//      Global configuration things for header files.
//
// This file must be first included into each headerfile.h !!!!!!!!!
//
// Licence and usage conditions in November 2003:
// This file can be used and modified only with written permission of
// Vlastimil Havran, Pohodli 27, 57001 Litomysl, the Czech Republic.
// This library is granted to be used by Polina Kondratieva within
// her MPI HIWI job working on BRDFLIB library. The usage condition
// may change in the next version of the library. At the moment,
// the library development is supported by Max-Planck-Institut for
// Informatik, Stuhlsatzenhausweg 85, 66123 Saarbruecken Germany
// See WWW: http://www.mpi-sb.mpg.de
// REPLACEMENT_STRING
//
// Initial coding by Vlastimil Havran, 2000.
//
// Given to BRDFLIB project for the Polina Kondratieva's
// HIWI JOB assignment in November 2003.

#ifndef __CONFIGH2_H__
#define __CONFIGH2_H__

#ifndef USE_BRDFLIB_NAMESPACE
// without namespaces
#define  __BEGIN_BRDFLIB_HEADER
#define  __END_BRDFLIB_HEADER
#else
// with namespace 
#define NAMESPACEDEF     BRDFLIBLIB
// use of namespace commands inside the library sources
#define  __BEGIN_BRDFLIB_HEADER namespace NAMESPACEDEF { using namespace NAMESPACEDEF;
#define  __END_BRDFLIB_HEADER };
#endif


__BEGIN_BRDFLIB_HEADER

using namespace std;

// definition of numeric data types in the library

// floating point type (min. 4 bytes, IEEE754 single)
typedef float float4;
// floating point type (min.  8 bytes, IEEE754 double)
typedef double float8;
// floating point type (min. 12 bytes, IEEE854 extended)
typedef long double float12;

// unsigned byte type (exactly 1 byte)
typedef unsigned char byte;
// unsigned integer type (min. 1 byte)
typedef unsigned char uint1;
// signed integer type (min. 1 byte)
typedef signed char int1;

// unsigned integer type (min. 2 bytes)
typedef unsigned short int uint2;
// signed integer type (min. 2 bytes)
typedef signed short int int2;

// unsigned integer type (min. 4 bytes)
typedef unsigned int uint4;
// signed integer type (min. 4 bytes)
typedef signed int int4;

// signed integer type (min. 8 bytes)
// -- see file int8.h
 
#ifndef _EXPORT_
#if defined(_MSC_VER)
#define _EXPORT_  __declspec(dllexport)
#else
#define _EXPORT_ 
#endif
#endif
 
__END_BRDFLIB_HEADER

#endif // __CONFIGH2_H__

