/* funobj.f -- translated by f2c (version 20000817). You must link the resulting object file with the libraries: -lf2c -lm (in that order) */ #include "f2c.h" #include "blaswrap.h" /* Common Block Declarations */ struct { doublereal gmod[200], hmod[40000] /* was [200][200] */; } mdlpar_; #define mdlpar_1 mdlpar_ /* Copyright (C) 2000, International Business Machines */ /* Corporation and others. All Rights Reserved. */ /* Subroutine */ int funobj_(mode, n, x, objf, objgrd, nstate) integer *mode, *n; doublereal *x, *objf, *objgrd; integer *nstate; { /* System generated locals */ integer i__1, i__2; /* Local variables */ static integer i__, j; /* Parameter adjustments */ --objgrd; --x; /* Function Body */ if (*mode == 1 || *mode == 2) { i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { objgrd[i__] = mdlpar_1.gmod[i__ - 1]; i__2 = *n; for (j = 1; j <= i__2; ++j) { objgrd[i__] += mdlpar_1.hmod[i__ + j * 200 - 201] * x[j]; /* L40: */ } /* L30: */ } } if (*mode == 0 || *mode == 2) { *objf = 0.; i__1 = *n; for (i__ = 1; i__ <= i__1; ++i__) { *objf += mdlpar_1.gmod[i__ - 1] * x[i__]; i__2 = *n; for (j = 1; j <= i__2; ++j) { *objf += mdlpar_1.hmod[i__ + j * 200 - 201] * .5 * x[j] * x[ i__]; /* L60: */ } /* L50: */ } } return 0; } /* funobj_ */