https://github.com/cran/gstat
Tip revision: 090c26156804c676a66583e09ef829e6a7f13719 authored by Edzer J. Pebesma on 10 February 2006, 03:12:35 UTC
version 0.9-26
version 0.9-26
Tip revision: 090c261
machine.hin
/* Any machine specific stuff goes here */
/* Add details necessary for your own installation here! */
/* RCS id: $Id: machine.hin,v 1.1.1.1 2003/06/23 18:32:08 cees Exp $ */
/* Note special macros: ANSI_C (ANSI C syntax)
SEGMENTED (segmented memory machine e.g. MS-DOS)
MALLOCDECL (declared if malloc() etc have
been declared) */
#ifndef _MACHINE_H
#define _MACHINE_H 1
#undef const
#undef MALLOCDECL
#undef NOT_SEGMENTED
#undef HAVE_MEMORY_H
#undef HAVE_COMPLEX_H
#undef HAVE_MALLOC_H
#undef STDC_HEADERS
#undef HAVE_BCOPY
#undef HAVE_BZERO
#undef CHAR0ISDBL0
#undef WORDS_BIGENDIAN
#undef U_INT_DEF
#undef VARARGS
#undef HAVE_PROTOTYPES
#undef HAVE_PROTOTYPES_IN_STRUCT
/* for inclusion into C++ files */
#ifdef __cplusplus
#define ANSI_C 1
#ifndef HAVE_PROTOTYPES
#define HAVE_PROTOTYPES 1
#endif
#ifndef HAVE_PROTOTYPES_IN_STRUCT
#define HAVE_PROTOTYPES_IN_STRUCT 1
#endif
#endif /* __cplusplus */
/* example usage: VEC *PROTO(v_get,(int dim)); */
#ifdef HAVE_PROTOTYPES
#define PROTO(name,args) name args
#else
#define PROTO(name,args) name()
#endif /* HAVE_PROTOTYPES */
#ifdef HAVE_PROTOTYPES_IN_STRUCT
/* PROTO_() is to be used instead of PROTO() in struct's and typedef's */
#define PROTO_(name,args) name args
#else
#define PROTO_(name,args) name()
#endif /* HAVE_PROTOTYPES_IN_STRUCT */
/* for basic or larger versions */
#undef COMPLEX
#undef SPARSE
/* for loop unrolling */
#undef VUNROLL
#undef MUNROLL
/* for segmented memory */
#ifndef NOT_SEGMENTED
#define SEGMENTED
#endif
/* if the system has malloc.h */
#ifdef HAVE_MALLOC_H
#define MALLOCDECL 1
#include <malloc.h>
#endif
/* any compiler should have this header */
/* if not, change it */
#include <stdio.h>
#include <math.h>
/* Check for ANSI C memmove and memset */
#ifdef STDC_HEADERS
/* standard copy & zero functions */
#define MEM_COPY(from,to,size) memmove((to),(from),(size))
#define MEM_ZERO(where,size) memset((where),'\0',(size))
#ifndef ANSI_C
#define ANSI_C 1
#endif
#endif
/* standard headers */
#ifdef ANSI_C
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <float.h>
#endif
/* if have bcopy & bzero and no alternatives yet known, use them */
#ifdef HAVE_BCOPY
#ifndef MEM_COPY
/* nonstandard copy function */
#define MEM_COPY(from,to,size) bcopy((char *)(from),(char *)(to),(int)(size))
#endif
#endif
#ifdef HAVE_BZERO
#ifndef MEM_ZERO
/* nonstandard zero function */
#define MEM_ZERO(where,size) bzero((char *)(where),(int)(size))
#endif
#endif
/* if the system has complex.h */
#ifdef HAVE_COMPLEX_H
#include <complex.h>
#endif
/* If prototypes are available & ANSI_C not yet defined, then define it,
but don't include any header files as the proper ANSI C headers
aren't here */
#ifdef HAVE_PROTOTYPES
#ifndef ANSI_C
#define ANSI_C 1
#endif
#endif
/* floating point precision */
/* you can choose single, double or long double (if available) precision */
#define FLOAT 1
#define DOUBLE 2
#define LONG_DOUBLE 3
#undef REAL_FLT
#undef REAL_DBL
/* if nothing is defined, choose double precision */
#ifndef REAL_DBL
#ifndef REAL_FLT
#define REAL_DBL 1
#endif
#endif
/* single precision */
#ifdef REAL_FLT
#define Real float
#define LongReal float
#define REAL FLOAT
#define LONGREAL FLOAT
#endif
/* double precision */
#ifdef REAL_DBL
#define Real double
#define LongReal double
#define REAL DOUBLE
#define LONGREAL DOUBLE
#endif
/* machine epsilon or unit roundoff error */
/* This is correct on most IEEE Real precision systems */
#ifdef DBL_EPSILON
#if REAL == DOUBLE
#define MACHEPS DBL_EPSILON
#elif REAL == FLOAT
#define MACHEPS FLT_EPSILON
#elif REAL == LONGDOUBLE
#define MACHEPS LDBL_EPSILON
#endif
#endif
#undef F_MACHEPS
#undef D_MACHEPS
#ifndef MACHEPS
#if REAL == DOUBLE
#define MACHEPS D_MACHEPS
#elif REAL == FLOAT
#define MACHEPS F_MACHEPS
#elif REAL == LONGDOUBLE
#define MACHEPS D_MACHEPS
#endif
#endif
#undef M_MACHEPS
/********************
#ifdef DBL_EPSILON
#define MACHEPS DBL_EPSILON
#endif
#ifdef M_MACHEPS
#ifndef MACHEPS
#define MACHEPS M_MACHEPS
#endif
#endif
********************/
#undef M_MAX_INT
#ifdef M_MAX_INT
#ifndef MAX_RAND
#define MAX_RAND ((double)(M_MAX_INT))
#endif
#endif
#ifdef ANSI_C
extern int isatty(int);
#endif
#endif