From a4059279f1735d835d6d56ffa48baeb245b317b8 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Tue, 15 Aug 2006 23:36:47 +0000 Subject: [PATCH] Made these two files compatible, so that there would be no confusion. Changed the logical definition, which wasn't being used, to int from long int. --- ext/f2c_libs/f2c.h | 3 ++- ext/f2c_libs/f2c.h0 | 38 ++++++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/ext/f2c_libs/f2c.h b/ext/f2c_libs/f2c.h index 47e3157d5..2d21339ee 100644 --- a/ext/f2c_libs/f2c.h +++ b/ext/f2c_libs/f2c.h @@ -33,7 +33,8 @@ typedef float real; typedef double doublereal; typedef struct { real r, i; } complex; typedef struct { doublereal r, i; } doublecomplex; -typedef long int logical; +//typedef long int logical; +typedef int logical; typedef short int shortlogical; typedef char logical1; typedef char integer1; diff --git a/ext/f2c_libs/f2c.h0 b/ext/f2c_libs/f2c.h0 index b94ee7c8e..02751d051 100644 --- a/ext/f2c_libs/f2c.h0 +++ b/ext/f2c_libs/f2c.h0 @@ -7,15 +7,34 @@ #ifndef F2C_INCLUDE #define F2C_INCLUDE -typedef long int integer; -typedef unsigned long int uinteger; +#ifdef _WIN32 +#include /* for real isatty() */ +/* + * Need the following definition so that MS math.h doesn't redefine the structure + * complex to be two doubles. f2c defines the structure complex to be 2 reals, + * and the structure doublecomplex to be 2 doubles. + */ +#define _COMPLEX_DEFINED +typedef __int64 longint; +typedef __int64 ulongint; /* HACK ALERT */ +// warning C4244: 'xoperx' : conversion from 'xxx ' to 'xxx ', possible loss of data +// warning C4101: 'xxx' : unreferenced local variable +#pragma warning(disable:4244) +#pragma warning(disable:4101) +#endif + +//typedef long int integer; +typedef int integer; +//typedef unsigned long int uinteger; +typedef unsigned int uinteger; typedef char *address; typedef short int shortint; typedef float real; typedef double doublereal; typedef struct { real r, i; } complex; typedef struct { doublereal r, i; } doublecomplex; -typedef long int logical; +//typedef long int logical; +typedef int logical; typedef short int shortlogical; typedef char logical1; typedef char integer1; @@ -42,9 +61,12 @@ typedef short flag; typedef short ftnlen; typedef short ftnint; #else -typedef long int flag; -typedef long int ftnlen; -typedef long int ftnint; +//typedef long int flag; +//typedef long int ftnlen; +//typedef long int ftnint; +typedef int flag; +typedef int ftnlen; +typedef int ftnint; #endif /*external read, write*/ @@ -156,8 +178,12 @@ typedef struct Namelist Namelist; #define abs(x) ((x) >= 0 ? (x) : -(x)) #define dabs(x) (doublereal)abs(x) +#ifndef min #define min(a,b) ((a) <= (b) ? (a) : (b)) +#endif +#ifndef max #define max(a,b) ((a) >= (b) ? (a) : (b)) +#endif #define dmin(a,b) (doublereal)min(a,b) #define dmax(a,b) (doublereal)max(a,b) #define bit_test(a,b) ((a) >> (b) & 1)