Skip to content

Commit

Permalink
- Fixed f2c.h (2006 release of f2c fixed a 64-bit bug) and matrix.h (…
Browse files Browse the repository at this point in the history
…used long int* instead of integer* defined in f2c.h)

- 64-bit Linux can now be used to pass all testcases


git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@4406 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
sjoelund committed Oct 27, 2009
1 parent 984737a commit 50f7aa6
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 77 deletions.
8 changes: 4 additions & 4 deletions c_runtime/daux.c
@@ -1,4 +1,4 @@
/* daux.f -- translated by f2c (version 20041007).
/* daux.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
Expand Down Expand Up @@ -41,8 +41,8 @@ doublereal d1mach_(integer *idum)
/* ----------------------- END OF FUNCTION D1MACH ------------------------ */
} /* d1mach_ */

/* Subroutine */ int xerrwv_(char *msg, integer *nmes, integer *nerr, integer
*level, integer *ni, integer *i1, integer *i2, integer *nr,
/* Subroutine */ int xerrwv_(char *msg, integer *nmes, integer *nerr, integer
*level, integer *ni, integer *i1, integer *i2, integer *nr,
doublereal *r1, doublereal *r2, ftnlen msg_len)
{
/* Format strings */
Expand Down Expand Up @@ -176,7 +176,7 @@ integer i1mach_(integer *i__)
static integer sanity = 987;
static struct {
integer e_1[16];
} equiv_0 = { 5, 6, 7, 6, 32, 4, 2, 31, 2147483647, 2, 24, -125, 128,
} equiv_0 = { 5, 6, 7, 6, 32, 4, 2, 31, 2147483647, 2, 24, -125, 128,
53, -1021, 1024 };


Expand Down
84 changes: 42 additions & 42 deletions c_runtime/ddasrt.c
@@ -1,4 +1,4 @@
/* ddasrt.f -- translated by f2c (version 20041007).
/* ddasrt.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
Expand Down Expand Up @@ -97,10 +97,10 @@ static integer c__801 = 801;
static integer c__802 = 802;
static doublereal c_b588 = 1.;

/* Subroutine */ int ddasrt_(U_fp res, integer *neq, doublereal *t,
doublereal *y, doublereal *yprime, doublereal *tout, integer *info,
doublereal *rtol, doublereal *atol, integer *idid, doublereal *rwork,
integer *lrw, integer *iwork, integer *liw, doublereal *rpar, integer
/* Subroutine */ int ddasrt_(U_fp res, integer *neq, doublereal *t,
doublereal *y, doublereal *yprime, doublereal *tout, integer *info,
doublereal *rtol, doublereal *atol, integer *idid, doublereal *rwork,
integer *lrw, integer *iwork, integer *liw, doublereal *rpar, integer
*ipar, U_fp jac, U_fp g, integer *ng, integer *jroot)
{
/* System generated locals */
Expand All @@ -127,39 +127,39 @@ static doublereal c_b588 = 1.;
static integer mband, lenpd;
static doublereal atoli;
static integer msave, leniw, itemp, nzflg;
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
doublereal *, integer *);
static integer ntemp, lenrw;
static doublereal tdist;
static integer mxord;
static doublereal rtoli, tnext, tstop;
extern doublereal dlamch_(char *, ftnlen);
extern /* Subroutine */ int ddaini_(doublereal *, doublereal *,
doublereal *, integer *, U_fp, U_fp, doublereal *, doublereal *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
extern /* Subroutine */ int ddaini_(doublereal *, doublereal *,
doublereal *, integer *, U_fp, U_fp, doublereal *, doublereal *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
doublereal *, doublereal *, integer *, doublereal *, doublereal *,
integer *, integer *), drchek_(integer *, U_fp, integer *,
integer *, integer *), drchek_(integer *, U_fp, integer *,
integer *, doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, integer *, doublereal *, doublereal *
, doublereal *, integer *, integer *, doublereal *, integer *,
, doublereal *, integer *, integer *, doublereal *, integer *,
doublereal *, integer *, doublereal *, integer *);
extern doublereal ddanrm_(integer *, doublereal *, doublereal *,
extern doublereal ddanrm_(integer *, doublereal *, doublereal *,
doublereal *, integer *);
extern /* Subroutine */ int ddatrp_(doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, doublereal *,
doublereal *), ddastp_(doublereal *, doublereal *, doublereal *,
integer *, U_fp, U_fp, doublereal *, doublereal *, integer *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
extern /* Subroutine */ int ddatrp_(doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, doublereal *,
doublereal *), ddastp_(doublereal *, doublereal *, doublereal *,
integer *, U_fp, U_fp, doublereal *, doublereal *, integer *,
integer *, doublereal *, integer *, doublereal *, doublereal *,
doublereal *, doublereal *, integer *, doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, integer *, integer *, integer *, integer *, integer
*, integer *, integer *), ddawts_(integer *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, integer *, integer *, integer *, integer *, integer
*, integer *, integer *), ddawts_(integer *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, integer *);
static doublereal uround, ypnorm;
extern /* Subroutine */ int xerrwv_(char *, integer *, integer *, integer
*, integer *, integer *, integer *, integer *, doublereal *,
extern /* Subroutine */ int xerrwv_(char *, integer *, integer *, integer
*, integer *, integer *, integer *, integer *, doublereal *,
doublereal *, ftnlen);

/* ***MODIF */
Expand Down Expand Up @@ -1360,8 +1360,8 @@ static doublereal c_b588 = 1.;
goto L390;
}
drchek_(&c__1, (U_fp)g, ng, neq, t, tout, &y[1], &rwork[le], &rwork[lphi],
&rwork[29], &iwork[8], &rwork[lg0], &rwork[lg1], &rwork[lgx],
jroot, &irt, &rwork[9], &info[3], &rwork[1], &iwork[1], &rpar[1],
&rwork[29], &iwork[8], &rwork[lg0], &rwork[lg1], &rwork[lgx],
jroot, &irt, &rwork[9], &info[3], &rwork[1], &iwork[1], &rpar[1],
&ipar[1]);
if (ierode_1.iero > 0) {
return 0;
Expand Down Expand Up @@ -2027,7 +2027,7 @@ static doublereal c_b588 = 1.;
L709:
s_copy(msg, "DASSL-- INFO(4) = 1 AND TSTOP (=R1) BEHIND TOUT (=R2)", (
ftnlen)80, (ftnlen)54);
xerrwv_(msg, &c__54, &c__9, &c__0, &c__0, &c__0, &c__0, &c__2, &tstop,
xerrwv_(msg, &c__54, &c__9, &c__0, &c__0, &c__0, &c__0, &c__2, &tstop,
tout, (ftnlen)80);
goto L750;
L710:
Expand Down Expand Up @@ -2103,7 +2103,7 @@ static doublereal c_b588 = 1.;
*idid = -33;
return 0;
L760:
s_copy(msg, "DASSL-- REPEATED OCCURRENCES OF ILLEGAL INPUT", (ftnlen)80,
s_copy(msg, "DASSL-- REPEATED OCCURRENCES OF ILLEGAL INPUT", (ftnlen)80,
(ftnlen)46);
xerrwv_(msg, &c__46, &c__801, &c__0, &c__0, &c__0, &c__0, &c__0, &c_b30, &
c_b30, (ftnlen)80);
Expand All @@ -2116,10 +2116,10 @@ static doublereal c_b588 = 1.;
/* -----------END OF SUBROUTINE DDASRT------------------------------------ */
} /* ddasrt_ */

/* Subroutine */ int drchek_(integer *job, S_fp g, integer *ng, integer *neq,
doublereal *tn, doublereal *tout, doublereal *y, doublereal *yp,
doublereal *phi, doublereal *psi, integer *kold, doublereal *g0,
doublereal *g1, doublereal *gx, integer *jroot, integer *irt,
/* Subroutine */ int drchek_(integer *job, S_fp g, integer *ng, integer *neq,
doublereal *tn, doublereal *tout, doublereal *y, doublereal *yp,
doublereal *phi, doublereal *psi, integer *kold, doublereal *g0,
doublereal *g1, doublereal *gx, integer *jroot, integer *irt,
doublereal *uround, integer *info3, doublereal *rwork, integer *iwork,
doublereal *rpar, integer *ipar)
{
Expand All @@ -2136,14 +2136,14 @@ static doublereal c_b588 = 1.;
static doublereal x, t1, temp1, temp2;
static integer jflag;
static doublereal hming;
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
doublereal *, integer *);
static logical zroot;
extern /* Subroutine */ int ddatrp_(doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, doublereal *,
doublereal *), droots_(integer *, doublereal *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, integer *,
extern /* Subroutine */ int ddatrp_(doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, doublereal *,
doublereal *), droots_(integer *, doublereal *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *, integer *, integer *, integer *,
doublereal *, doublereal *);


Expand Down Expand Up @@ -2425,9 +2425,9 @@ static doublereal c_b588 = 1.;
/* ---------------------- END OF SUBROUTINE DRCHEK ----------------------- */
} /* drchek_ */

/* Subroutine */ int droots_(integer *ng, doublereal *hmin, integer *jflag,
doublereal *x0, doublereal *x1, doublereal *g0, doublereal *g1,
doublereal *gx, doublereal *x, integer *jroot, integer *imax, integer
/* Subroutine */ int droots_(integer *ng, doublereal *hmin, integer *jflag,
doublereal *x0, doublereal *x1, doublereal *g0, doublereal *g1,
doublereal *gx, doublereal *x, integer *jroot, integer *imax, integer
*last, doublereal *alpha, doublereal *x2)
{
/* Initialized data */
Expand All @@ -2444,7 +2444,7 @@ static doublereal c_b588 = 1.;
/* Local variables */
static integer i__;
static doublereal t2, tmax;
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
doublereal *, integer *);
static logical xroot, zroot, sgnchg;
static integer imxold, nxlast;
Expand Down
28 changes: 24 additions & 4 deletions c_runtime/f2c.h
Expand Up @@ -7,21 +7,35 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE

#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int integer;
typedef unsigned int uinteger;
#else
typedef long int integer;
typedef unsigned long uinteger;
typedef unsigned long int uinteger;
#endif
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;
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int logical;
#else
typedef long int logical;
#endif
typedef short int shortlogical;
typedef char logical1;
typedef char integer1;
#if 0 /* Adjust for integer*8. */
typedef long long longint; /* system-dependent */
typedef unsigned long long ulongint; /* system-dependent */
#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef long longint; /* system-dependent */
typedef unsigned long ulongint; /* system-dependent */
#else
typedef long long longint; /* system-dependent - oh yeah*/
typedef unsigned long long ulongint; /* system-dependent - oh yeah*/
#endif
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
#endif
Expand All @@ -42,10 +56,16 @@ typedef short flag;
typedef short ftnlen;
typedef short ftnint;
#else
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int flag;
typedef int ftnlen;
typedef int ftnint;
#else
typedef long int flag;
typedef long int ftnlen;
typedef long int ftnint;
#endif
#endif

/*external read, write*/
typedef struct
Expand Down
24 changes: 12 additions & 12 deletions c_runtime/hybrd.c
@@ -1,4 +1,4 @@
/* hybrd.f -- translated by f2c (version 20041007).
/* hybrd.f -- translated by f2c (version 20061008).
You must link the resulting object file with libf2c:
on Microsoft Windows system, link with libf2c.lib;
on Linux or Unix systems, link with .../path/to/libf2c.a -lm
Expand All @@ -18,10 +18,10 @@ static integer c__1 = 1;
static logical c_false = FALSE_;

/* Subroutine */ int hybrd_(S_fp fcn, integer *n, doublereal *x, doublereal *
fvec, doublereal *xtol, integer *maxfev, integer *ml, integer *mu,
fvec, doublereal *xtol, integer *maxfev, integer *ml, integer *mu,
doublereal *epsfcn, doublereal *diag, integer *mode, doublereal *
factor, integer *nprint, integer *info, integer *nfev, doublereal *
fjac, integer *ldfjac, doublereal *r__, integer *lr, doublereal *qtf,
fjac, integer *ldfjac, doublereal *r__, integer *lr, doublereal *qtf,
doublereal *wa1, doublereal *wa2, doublereal *wa3, doublereal *wa4)
{
/* Initialized data */
Expand All @@ -45,27 +45,27 @@ static logical c_false = FALSE_;
static doublereal temp;
static integer msum, iflag;
static doublereal delta;
extern /* Subroutine */ int qrfac_(integer *, integer *, doublereal *,
integer *, logical *, integer *, integer *, doublereal *,
extern /* Subroutine */ int qrfac_(integer *, integer *, doublereal *,
integer *, logical *, integer *, integer *, doublereal *,
doublereal *, doublereal *);
static logical jeval;
static integer ncsuc;
static doublereal ratio;
extern doublereal enorm_(integer *, doublereal *);
static doublereal fnorm;
extern /* Subroutine */ int qform_(integer *, integer *, doublereal *,
integer *, doublereal *), fdjac1_(S_fp, integer *, doublereal *,
doublereal *, doublereal *, integer *, integer *, integer *,
extern /* Subroutine */ int qform_(integer *, integer *, doublereal *,
integer *, doublereal *), fdjac1_(S_fp, integer *, doublereal *,
doublereal *, doublereal *, integer *, integer *, integer *,
integer *, doublereal *, doublereal *, doublereal *);
static doublereal pnorm, xnorm, fnorm1;
extern /* Subroutine */ int r1updt_(integer *, integer *, doublereal *,
extern /* Subroutine */ int r1updt_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *, doublereal *, logical *);
static integer nslow1, nslow2;
extern /* Subroutine */ int r1mpyq_(integer *, integer *, doublereal *,
extern /* Subroutine */ int r1mpyq_(integer *, integer *, doublereal *,
integer *, doublereal *, doublereal *);
static integer ncfail;
extern /* Subroutine */ int dogleg_(integer *, doublereal *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
extern /* Subroutine */ int dogleg_(integer *, doublereal *, integer *,
doublereal *, doublereal *, doublereal *, doublereal *,
doublereal *, doublereal *);
static doublereal actred, epsmch, prered;
extern doublereal dpmpar_(integer *);
Expand Down
24 changes: 22 additions & 2 deletions c_runtime/libf2c/f2c.h
Expand Up @@ -7,21 +7,35 @@
#ifndef F2C_INCLUDE
#define F2C_INCLUDE

#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int integer;
typedef unsigned int uinteger;
#else
typedef long int integer;
typedef unsigned long int uinteger;
#endif
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;
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int logical;
#else
typedef long int logical;
#endif
typedef short int shortlogical;
typedef char logical1;
typedef char integer1;
#ifdef INTEGER_STAR_8 /* Adjust for integer*8. */
typedef long long longint; /* system-dependent */
typedef unsigned long long ulongint; /* system-dependent */
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef long longint; /* system-dependent */
typedef unsigned long ulongint; /* system-dependent */
#else
typedef long long longint; /* system-dependent - oh yeah*/
typedef unsigned long long ulongint; /* system-dependent - oh yeah*/
#endif
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
#endif
Expand All @@ -42,10 +56,16 @@ typedef short flag;
typedef short ftnlen;
typedef short ftnint;
#else
#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
typedef int flag;
typedef int ftnlen;
typedef int ftnint;
#else
typedef long int flag;
typedef long int ftnlen;
typedef long int ftnint;
#endif
#endif

/*external read, write*/
typedef struct
Expand Down

0 comments on commit 50f7aa6

Please sign in to comment.