From efbfd8f67df36ef08c4b4a4e5244850cd18689c6 Mon Sep 17 00:00:00 2001 From: nimgould Date: Thu, 18 Jan 2024 13:47:26 +0000 Subject: [PATCH] 64bit integer compilation of tools and tests enabled --- include/cutest.h | 8 +- include/cutest_modules.h | 57 +++-- src/makedefs/definitions | 30 ++- src/makemaster | 454 ++++++++++++++++++++++----------------- src/test/makemaster | 27 ++- src/test/test_main.F90 | 6 +- src/tools/cdh.F90 | 4 +- src/tools/cdhc.F90 | 4 +- src/tools/cdhj.F90 | 4 +- src/tools/ceh.F90 | 7 +- src/tools/cgrdh.F90 | 4 +- src/tools/cidh.F90 | 4 +- src/tools/cifn.F90 | 4 +- src/tools/cigr.F90 | 8 +- src/tools/cisgr.F90 | 8 +- src/tools/cish.F90 | 4 +- src/tools/csetup.F90 | 2 +- src/tools/csgreh.F90 | 4 +- src/tools/csgrsh.F90 | 4 +- src/tools/csgrshp.F90 | 2 +- src/tools/csh.F90 | 4 +- src/tools/cshc.F90 | 4 +- src/tools/cshcprod.F90 | 6 +- src/tools/cshj.F90 | 4 +- src/tools/cshp.F90 | 2 +- src/tools/cshprod.F90 | 6 +- src/tools/kinds.F90 | 46 ++-- src/tools/lqp.F90 | 72 +++---- src/tools/makemaster | 184 +++++++++++++--- src/tools/ubandh.F90 | 3 +- src/tools/udh.F90 | 2 +- src/tools/ueh.F90 | 2 +- src/tools/ugrdh.F90 | 2 +- src/tools/ugreh.F90 | 2 +- src/tools/ugrsh.F90 | 2 +- src/tools/usetup.F90 | 2 +- src/tools/ush.F90 | 2 +- src/tools/ushp.F90 | 2 +- src/tools/ushprod.F90 | 4 +- 39 files changed, 606 insertions(+), 390 deletions(-) diff --git a/include/cutest.h b/include/cutest.h index e567ae4..16b0857 100644 --- a/include/cutest.h +++ b/include/cutest.h @@ -13,7 +13,7 @@ * Boolean logicals provided, August 21 2013 * fortran intent(in) variables defined as const, Dec 2 2015 * - * this version 2023-11-16 + * this version 2024-01-18 * * ====================================================================== */ @@ -68,7 +68,7 @@ typedef double rp_; typedef double rpc_; #endif -#ifdef CUTEST_LONG +#ifdef CUTEST_64BIT_INTEGER typedef long long ip_; typedef long long ipc_; #else @@ -320,6 +320,7 @@ void CUTEST_cdimsg ( integer *status, integer *nnzg ); void CUTEST_cdimsj ( integer *status, integer *nnzj ); void CUTEST_cdimsh ( integer *status, integer *nnzh ); void CUTEST_cdimcop ( integer *status, integer *nnzohp ); +void CUTEST_cdimohp ( integer *status, integer *nnzohp ); void CUTEST_cdimchp ( integer *status, integer *nnzchp ); void CUTEST_cdimse ( integer *status, integer *ne, integer *nzh, integer *nzirnh ); @@ -431,7 +432,7 @@ void CUTEST_cdhc ( integer *status, const integer *n, const integer *m, const integer *lh1, doublereal *h ); void CUTEST_cdhj ( integer *status, const integer *n, const integer *m, const doublereal *x, const doublereal *y0, - const doublereal *y, const integer *lh1, + const doublereal *y, const integer *lh1, doublereal *h ); void CUTEST_cshp ( integer *status, const integer *n, integer *nnzh, const integer *lh, integer *irnh, integer *icnh ); @@ -567,6 +568,7 @@ void CUTEST_cdimsg_s ( integer *status, integer *nnzg ); void CUTEST_cdimsj_s ( integer *status, integer *nnzj ); void CUTEST_cdimsh_s ( integer *status, integer *nnzh ); void CUTEST_cdimcop_s ( integer *status, integer *nnzohp ); +void CUTEST_cdimohp_s ( integer *status, integer *nnzohp ); void CUTEST_cdimchp_s ( integer *status, integer *nnzchp ); void CUTEST_cdimse_s ( integer *status, integer *ne, integer *nzh, integer *nzirnh ); diff --git a/include/cutest_modules.h b/include/cutest_modules.h index c3e869d..26f9be9 100644 --- a/include/cutest_modules.h +++ b/include/cutest_modules.h @@ -2,27 +2,26 @@ /* * assign names for each CUTEst package using the C pre-processor. - * possibilities are long (i8) and normal (i4, default) integers and + * possibilities are 64 bit (i8) and normal (32 bit) (i4, default) integers and * half (r2), single (r4), double (r8, default) and quadruple (r16) reals * * Nick Gould for CUTEst * initial version, 2023-11-02 - * this version 2023-11-02 + * this version 2024-01-18 */ - -#ifdef CUTEST_LONG -#define CUTEST_KINDS_integer CUTEST_KINDS_long +#ifdef CUTEST_64BIT_INTEGER +#define CUTEST_KINDS_integer CUTEST_KINDS_64 #else #define CUTEST_KINDS_integer CUTEST_KINDS_int #endif #if defined CUTEST_HALF -#ifdef CUTEST_LONG -#define CUTEST_KINDS_precision CUTEST_KINDS_half_long -#define CUTEST_precision CUTEST_half_long -#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_half_long -#define CUTEST_iNTERFACE_precision CUTEST_INTERFACE_half_long -#define CUTEST_LQP_precision CUTEST_LQP_half_long +#ifdef CUTEST_64BIT_INTEGER +#define CUTEST_KINDS_precision CUTEST_KINDS_half_64 +#define CUTEST_precision CUTEST_half_64 +#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_half_64 +#define CUTEST_iNTERFACE_precision CUTEST_INTERFACE_half_64 +#define CUTEST_LQP_precision CUTEST_LQP_half_64 #else #define CUTEST_KINDS_precision CUTEST_KINDS_half #define CUTEST_precision CUTEST_half @@ -31,12 +30,12 @@ #define CUTEST_LQP_precision CUTEST_LQP_half #endif #elif defined CUTEST_SINGLE -#ifdef CUTEST_LONG -#define CUTEST_KINDS_precision CUTEST_KINDS_single_long -#define CUTEST_precision CUTEST_single_long -#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_single_long -#define CUTEST_INTERFACE_precision CUTEST_INTERFACE_single_long -#define CUTEST_LQP_precision CUTEST_LQP_single_long +#ifdef CUTEST_64BIT_INTEGER +#define CUTEST_KINDS_precision CUTEST_KINDS_single_64 +#define CUTEST_precision CUTEST_single_64 +#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_single_64 +#define CUTEST_INTERFACE_precision CUTEST_INTERFACE_single_64 +#define CUTEST_LQP_precision CUTEST_LQP_single_64 #else #define CUTEST_KINDS_precision CUTEST_KINDS_single #define CUTEST_precision CUTEST_single @@ -45,12 +44,12 @@ #define CUTEST_LQP_precision CUTEST_LQP_single #endif #elif defined CUTEST_QUAD -#ifdef CUTEST_LONG -#define CUTEST_KINDS_precision CUTEST_KINDS_quadruple_long -#define CUTEST_precision CUTEST_quadruple_long -#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_quadruple_long -#define CUTEST_INTERFACE_precision CUTEST_INTERFACE_quadruple_long -#define CUTEST_LQP_precision CUTEST_LQP_quadruple_long +#ifdef CUTEST_64BIT_INTEGER +#define CUTEST_KINDS_precision CUTEST_KINDS_quadruple_64 +#define CUTEST_precision CUTEST_quadruple_64 +#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_quadruple_64 +#define CUTEST_INTERFACE_precision CUTEST_INTERFACE_quadruple_64 +#define CUTEST_LQP_precision CUTEST_LQP_quadruple_64 #else #define CUTEST_KINDS_precision CUTEST_KINDS_quadruple #define CUTEST_precision CUTEST_quadruple @@ -59,12 +58,12 @@ #define CUTEST_LQP_precision CUTEST_LQP_quadruple #endif #else -#ifdef CUTEST_LONG -#define CUTEST_KINDS_precision CUTEST_KINDS_double_long -#define CUTEST_precision CUTEST_double_long -#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_double_long -#define CUTEST_iNTERFACE_precision CUTEST_INTERFACE_double_long -#define CUTEST_LQP_precision CUTEST_LQP_double_long +#ifdef CUTEST_64BIT_INTEGER +#define CUTEST_KINDS_precision CUTEST_KINDS_double_64 +#define CUTEST_precision CUTEST_double_64 +#define CUTEST_PROBLEM_precision CUTEST_PROBLEM_double_64 +#define CUTEST_iNTERFACE_precision CUTEST_INTERFACE_double_64 +#define CUTEST_LQP_precision CUTEST_LQP_double_64 #else #define CUTEST_KINDS_precision CUTEST_KINDS_double #define CUTEST_precision CUTEST_double diff --git a/src/makedefs/definitions b/src/makedefs/definitions index 7127d97..ce89739 100644 --- a/src/makedefs/definitions +++ b/src/makedefs/definitions @@ -1,16 +1,28 @@ # Standard CUTEst makefile definitions # Nick Gould, for GALAHAD production -# This version: 2023-11-22 +# This version: 2024-01-18 # makefile shell SHELL = /bin/$(BINSHELL) ifeq "$(PRECIS)" "single" - DPREC = -DCUTEST_SINGLE + ifeq "$(INTEGER)" "64bit" + DPREC = -DCUTEST_SINGLE -DCUTEST_64BIT_INTEGER + HSL_PRECIS = s + else + DPREC = -DCUTEST_SINGLE + HSL_PRECIS = s + endif else - DPREC = -DCUTEST_DOUBLE + ifeq "$(INTEGER)" "64bit" + DPREC = -DCUTEST_DOUBLE -DCUTEST_64BIT_INTEGER + HSL_PRECIS = d + else + DPREC = -DCUTEST_DOUBLE + HSL_PRECIS = d + endif endif # compiler flags @@ -41,26 +53,38 @@ CRUNFFLAGS = $(OPTIMIZATION) $(CCDEBUG) \ LC = $(OBJ)/libcutest.a LCS = $(OBJS)/libcutest.a LCD = $(OBJD)/libcutest.a +LCS64 = $(OBJS64)/libcutest.a +LCD64 = $(OBJD64)/libcutest.a BLC = $(OBJ)/libcutest_blas.a BLCS = $(OBJS)/libcutest_blas.a BLCD = $(OBJD)/libcutest_blas.a +BLCS64 = $(OBJS64)/libcutest_blas.a +BLCD64 = $(OBJD64)/libcutest_blas.a DLC = $(OBJ)/libcutest_dummy.a DLCS = $(OBJS)/libcutest_dummy.a DLCD = $(OBJD)/libcutest_dummy.a +DLCS64 = $(OBJS64)/libcutest_dummy.a +DLCD64 = $(OBJD64)/libcutest_dummy.a LLC = $(OBJ)/libcutest_lapack.a LLCS = $(OBJS)/libcutest_lapack.a LLCD = $(OBJD)/libcutest_lapack.a +LLCS64 = $(OBJS64)/libcutest_lapack.a +LLCD64 = $(OBJD64)/libcutest_lapack.a MLC = $(OBJ)/libcutest_matlab.a MLCS = $(OBJS)/libcutest_matlab.a MLCD = $(OBJD)/libcutest_matlab.a +MLCS64 = $(OBJS64)/libcutest_matlab.a +MLCD64 = $(OBJD64)/libcutest_matlab.a OLC = $(OBJ)/libcutest_octave.a OLCS = $(OBJS)/libcutest_octave.a OLCD = $(OBJD)/libcutest_octave.a +OLCS64 = $(OBJS64)/libcutest_octave.a +OLCD64 = $(OBJD64)/libcutest_octave.a # Libraries used diff --git a/src/makemaster b/src/makemaster index 4bb280f..21023ec 100644 --- a/src/makemaster +++ b/src/makemaster @@ -1,472 +1,532 @@ # Main body of the installation makefile for the CUTEST packages # N. Gould, D. Orban and Ph. L. Toint. -# This version: 05 July 2023 +# This version: 18 January 2024 SHELL = /bin/$(BINSHELL) +# shorthands for real precision and integer lengths control + +S32 = PRECIS=single +D32 = PRECIS=double +S64 = PRECIS=single_64 INTEGER=64bit +D64 = PRECIS=double_64 INTEGER=64bit + # main compilations and runs # all tools and interfaces +# for the time being, only process 64bit tools and tests, not interfaces all: all_$(PRECIS) all_single: tools_single ( cd algencan ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - algencan PRECIS=single PWD=$(PWD)/algencan ) + algencan $(S32) PWD=$(PWD)/algencan ) ( cd bobyqa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - bobyqa PRECIS=single PWD=$(PWD)/bobyqa ) + bobyqa $(S32) PWD=$(PWD)/bobyqa ) ( cd cg_descent ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cg_descent PRECIS=single PWD=$(PWD)/cg_descent ) + cg_descent $(S32) PWD=$(PWD)/cg_descent ) ( cd cgplus ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cgplus PRECIS=single PWD=$(PWD)/cgplus ) + cgplus $(S32) PWD=$(PWD)/cgplus ) ( cd cobyla ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cobyla PRECIS=single PWD=$(PWD)/cobyla ) + cobyla $(S32) PWD=$(PWD)/cobyla ) ( cd derchk ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - derchk PRECIS=single PWD=$(PWD)/derchk ) + derchk $(S32) PWD=$(PWD)/derchk ) ( cd dfo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - dfo PRECIS=single PWD=$(PWD)/dfo ) + dfo $(S32) PWD=$(PWD)/dfo ) ( cd directsearch ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - directsearch PRECIS=single PWD=$(PWD)/directsearch ) + directsearch $(S32) PWD=$(PWD)/directsearch ) ( cd e04nqf ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - e04nqf PRECIS=single PWD=$(PWD)/e04nqf ) + e04nqf $(S32) PWD=$(PWD)/e04nqf ) ( cd filtersd ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - filtersd PRECIS=single PWD=$(PWD)/filtersd ) + filtersd $(S32) PWD=$(PWD)/filtersd ) ( cd filtersqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - filtersqp PRECIS=single PWD=$(PWD)/filtersqp ) + filtersqp $(S32) PWD=$(PWD)/filtersqp ) ( cd gen77 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gen77 PRECIS=single PWD=$(PWD)/gen77 ) + gen77 $(S32) PWD=$(PWD)/gen77 ) ( cd gen90 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gen90 PRECIS=single PWD=$(PWD)/gen90 ) + gen90 $(S32) PWD=$(PWD)/gen90 ) ( cd genc ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - genc PRECIS=single PWD=$(PWD)/genc ) + genc $(S32) PWD=$(PWD)/genc ) ( cd hrb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - hrb PRECIS=single PWD=$(PWD)/hrb ) + hrb $(S32) PWD=$(PWD)/hrb ) ( cd ipopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ipopt PRECIS=single PWD=$(PWD)/ipopt ) + ipopt $(S32) PWD=$(PWD)/ipopt ) # ( cd knitro ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# knitro PRECIS=single PWD=$(PWD)/knitro ) +# knitro $(S32) PWD=$(PWD)/knitro ) ( cd la04 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - la04 PRECIS=single PWD=$(PWD)/la04 ) + la04 $(S32) PWD=$(PWD)/la04 ) ( cd lbfgs ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lbfgs PRECIS=single PWD=$(PWD)/lbfgs ) + lbfgs $(S32) PWD=$(PWD)/lbfgs ) ( cd lbfgsb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lbfgsb PRECIS=single PWD=$(PWD)/lbfgsb ) + lbfgsb $(S32) PWD=$(PWD)/lbfgsb ) ( cd lincoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lincoa PRECIS=single PWD=$(PWD)/lincoa ) + lincoa $(S32) PWD=$(PWD)/lincoa ) # ( cd loqo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# loqo PRECIS=single PWD=$(PWD)/loqo ) +# loqo $(S32) PWD=$(PWD)/loqo ) ( cd minos ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - minos PRECIS=single PWD=$(PWD)/minos ) + minos $(S32) PWD=$(PWD)/minos ) ( cd newuoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - newuoa PRECIS=single PWD=$(PWD)/newuoa ) + newuoa $(S32) PWD=$(PWD)/newuoa ) ( cd nitsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - nitsol PRECIS=single PWD=$(PWD)/nitsol ) + nitsol $(S32) PWD=$(PWD)/nitsol ) ( cd nlpqlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - nlpqlp PRECIS=single PWD=$(PWD)/nlpqlp ) + nlpqlp $(S32) PWD=$(PWD)/nlpqlp ) ( cd npsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - npsol PRECIS=single PWD=$(PWD)/npsol ) + npsol $(S32) PWD=$(PWD)/npsol ) ( cd osqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - osqp PRECIS=single PWD=$(PWD)/osqp ) + osqp $(S32) PWD=$(PWD)/osqp ) ( cd pds ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - pds PRECIS=single PWD=$(PWD)/pds ) + pds $(S32) PWD=$(PWD)/pds ) ( cd pennlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - pennlp PRECIS=single PWD=$(PWD)/pennlp ) + pennlp $(S32) PWD=$(PWD)/pennlp ) ( cd praxis ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - praxis PRECIS=single PWD=$(PWD)/praxis ) + praxis $(S32) PWD=$(PWD)/praxis ) ( cd ql ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ql PRECIS=single PWD=$(PWD)/ql ) + ql $(S32) PWD=$(PWD)/ql ) # ( cd qplib ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# qplib PRECIS=single PWD=$(PWD)/qplib ) +# qplib $(S32) PWD=$(PWD)/qplib ) ( cd snopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - snopt PRECIS=single PWD=$(PWD)/snopt ) + snopt $(S32) PWD=$(PWD)/snopt ) ( cd spg ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - spg PRECIS=single PWD=$(PWD)/spg ) + spg $(S32) PWD=$(PWD)/spg ) ( cd stats ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - stats PRECIS=single PWD=$(PWD)/stats ) + stats $(S32) PWD=$(PWD)/stats ) ( cd stenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - stenmin PRECIS=single PWD=$(PWD)/stenmin ) + stenmin $(S32) PWD=$(PWD)/stenmin ) ( cd tenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tenmin PRECIS=single PWD=$(PWD)/tenmin ) + tenmin $(S32) PWD=$(PWD)/tenmin ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test PRECIS=single PWD=$(PWD)/test ) + test $(S32) PWD=$(PWD)/test ) ( cd tron ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tron PRECIS=single PWD=$(PWD)/tron ) + tron $(S32) PWD=$(PWD)/tron ) ( cd uncmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - uncmin PRECIS=single PWD=$(PWD)/uncmin ) + uncmin $(S32) PWD=$(PWD)/uncmin ) ( cd vf13 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - vf13 PRECIS=single PWD=$(PWD)/vf13 ) + vf13 $(S32) PWD=$(PWD)/vf13 ) # ( cd worhp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# worhp PRECIS=single PWD=$(PWD)/worhp ) +# worhp $(S32) PWD=$(PWD)/worhp ) all_double: tools_double ( cd algencan ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - algencan PRECIS=double PWD=$(PWD)/algencan ) + algencan $(D32) PWD=$(PWD)/algencan ) ( cd bobyqa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - bobyqa PRECIS=double PWD=$(PWD)/bobyqa ) + bobyqa $(D32) PWD=$(PWD)/bobyqa ) ( cd cg_descent ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cg_descent PRECIS=double PWD=$(PWD)/cg_descent ) + cg_descent $(D32) PWD=$(PWD)/cg_descent ) ( cd cgplus ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cgplus PRECIS=double PWD=$(PWD)/cgplus ) + cgplus $(D32) PWD=$(PWD)/cgplus ) ( cd cobyla ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cobyla PRECIS=double PWD=$(PWD)/cobyla ) + cobyla $(D32) PWD=$(PWD)/cobyla ) ( cd derchk ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - derchk PRECIS=double PWD=$(PWD)/derchk ) + derchk $(D32) PWD=$(PWD)/derchk ) ( cd dfo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - dfo PRECIS=double PWD=$(PWD)/dfo ) + dfo $(D32) PWD=$(PWD)/dfo ) ( cd directsearch ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - directsearch PRECIS=double PWD=$(PWD)/directsearch ) + directsearch $(D32) PWD=$(PWD)/directsearch ) ( cd e04nqf ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - e04nqf PRECIS=double PWD=$(PWD)/e04nqf ) + e04nqf $(D32) PWD=$(PWD)/e04nqf ) ( cd filtersd ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - filtersd PRECIS=double PWD=$(PWD)/filtersd ) + filtersd $(D32) PWD=$(PWD)/filtersd ) ( cd filtersqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - filtersqp PRECIS=double PWD=$(PWD)/filtersqp ) + filtersqp $(D32) PWD=$(PWD)/filtersqp ) ( cd gen77 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gen77 PRECIS=double PWD=$(PWD)/gen77 ) + gen77 $(D32) PWD=$(PWD)/gen77 ) ( cd gen90 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gen90 PRECIS=double PWD=$(PWD)/gen90 ) + gen90 $(D32) PWD=$(PWD)/gen90 ) ( cd genc ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - genc PRECIS=double PWD=$(PWD)/genc ) + genc $(D32) PWD=$(PWD)/genc ) ( cd hrb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - hrb PRECIS=double PWD=$(PWD)/hrb ) + hrb $(D32) PWD=$(PWD)/hrb ) ( cd ipopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ipopt PRECIS=double PWD=$(PWD)/ipopt ) + ipopt $(D32) PWD=$(PWD)/ipopt ) ( cd knitro ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - knitro PRECIS=double PWD=$(PWD)/knitro ) + knitro $(D32) PWD=$(PWD)/knitro ) ( cd la04 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - la04 PRECIS=double PWD=$(PWD)/la04 ) + la04 $(D32) PWD=$(PWD)/la04 ) ( cd lbfgs ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lbfgs PRECIS=double PWD=$(PWD)/lbfgs ) + lbfgs $(D32) PWD=$(PWD)/lbfgs ) ( cd lbfgsb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lbfgsb PRECIS=double PWD=$(PWD)/lbfgsb ) + lbfgsb $(D32) PWD=$(PWD)/lbfgsb ) ( cd lincoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - lincoa PRECIS=double PWD=$(PWD)/lincoa ) + lincoa $(D32) PWD=$(PWD)/lincoa ) ( cd loqo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - loqo PRECIS=double PWD=$(PWD)/loqo ) + loqo $(D32) PWD=$(PWD)/loqo ) ( cd minos ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - minos PRECIS=double PWD=$(PWD)/minos ) + minos $(D32) PWD=$(PWD)/minos ) ( cd newuoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - newuoa PRECIS=double PWD=$(PWD)/newuoa ) + newuoa $(D32) PWD=$(PWD)/newuoa ) ( cd nitsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - nitsol PRECIS=double PWD=$(PWD)/nitsol ) + nitsol $(D32) PWD=$(PWD)/nitsol ) ( cd nlpqlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - nlpqlp PRECIS=double PWD=$(PWD)/nlpqlp ) + nlpqlp $(D32) PWD=$(PWD)/nlpqlp ) ( cd npsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - npsol PRECIS=double PWD=$(PWD)/npsol ) + npsol $(D32) PWD=$(PWD)/npsol ) ( cd osqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - osqp PRECIS=double PWD=$(PWD)/osqp ) + osqp $(D32) PWD=$(PWD)/osqp ) ( cd pds ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - pds PRECIS=double PWD=$(PWD)/pds ) + pds $(D32) PWD=$(PWD)/pds ) ( cd pennlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - pennlp PRECIS=double PWD=$(PWD)/pennlp ) + pennlp $(D32) PWD=$(PWD)/pennlp ) ( cd praxis ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - praxis PRECIS=double PWD=$(PWD)/praxis ) + praxis $(D32) PWD=$(PWD)/praxis ) ( cd ql ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ql PRECIS=double PWD=$(PWD)/ql ) + ql $(D32) PWD=$(PWD)/ql ) ( cd qplib ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - qplib PRECIS=double PWD=$(PWD)/qplib ) + qplib $(D32) PWD=$(PWD)/qplib ) ( cd snopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - snopt PRECIS=double PWD=$(PWD)/snopt ) + snopt $(D32) PWD=$(PWD)/snopt ) ( cd spg ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - spg PRECIS=double PWD=$(PWD)/spg ) + spg $(D32) PWD=$(PWD)/spg ) ( cd stats ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - stats PRECIS=double PWD=$(PWD)/stats ) + stats $(D32) PWD=$(PWD)/stats ) ( cd stenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - stenmin PRECIS=double PWD=$(PWD)/stenmin ) + stenmin $(D32) PWD=$(PWD)/stenmin ) ( cd tenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tenmin PRECIS=double PWD=$(PWD)/tenmin ) + tenmin $(D32) PWD=$(PWD)/tenmin ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test PRECIS=double PWD=$(PWD)/test ) + test $(D32) PWD=$(PWD)/test ) ( cd tron ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tron PRECIS=double PWD=$(PWD)/tron ) + tron $(D32) PWD=$(PWD)/tron ) ( cd uncmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - uncmin PRECIS=double PWD=$(PWD)/uncmin ) + uncmin $(D32) PWD=$(PWD)/uncmin ) ( cd vf13 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - vf13 PRECIS=double PWD=$(PWD)/vf13 ) + vf13 $(D32) PWD=$(PWD)/vf13 ) ( cd worhp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - worhp PRECIS=double PWD=$(PWD)/worhp ) + worhp $(D32) PWD=$(PWD)/worhp ) +all_single_64: tools_single_64 + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test $(S64) PWD=$(PWD)/test ) +all_double_64: tools_double_64 + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test $(D64) PWD=$(PWD)/test ) # all tools (including fortran 2008) and interfaces all_2008: all_2008_$(PRECIS) all_2008_single: all_single ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ral_nlls PRECIS=single PWD=$(PWD)/ral_nlls ) + ral_nlls $(S32) PWD=$(PWD)/ral_nlls ) ( cd sqic ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - sqic PRECIS=single PWD=$(PWD)/sqic ) + sqic $(S32) PWD=$(PWD)/sqic ) all_2008_double: all_double ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - ral_nlls PRECIS=double PWD=$(PWD)/ral_nlls ) + ral_nlls $(D32) PWD=$(PWD)/ral_nlls ) ( cd sqic ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - sqic PRECIS=double PWD=$(PWD)/sqic ) + sqic $(D32) PWD=$(PWD)/sqic ) +all_2008_single_64: all_single_64 +all_2008_double_64: all_double_64 # all tools (including gsl) and interfaces all_with_gsl: all_with_gsl_$(PRECIS) all_with_gsl_single: all_single ( cd gsl ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gsl PRECIS=single PWD=$(PWD)/gsl ) + gsl $(S32) PWD=$(PWD)/gsl ) all_with_gsl_double: all_double ( cd gsl ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - gsl PRECIS=double PWD=$(PWD)/gsl ) + gsl $(D32) PWD=$(PWD)/gsl ) +all_with_gsl_single_64: all_single_64 +all_with_gsl_double_64: all_double_64 # all tools (including tao) and interfaces all_with_tao: all_with_tao_$(PRECIS) all_with_tao_single: all_single ( cd tao ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tao PRECIS=single PWD=$(PWD)/tao ) + tao $(S32) PWD=$(PWD)/tao ) all_with_tao_double: all_double ( cd tao ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - tao PRECIS=double PWD=$(PWD)/tao ) + tao $(D32) PWD=$(PWD)/tao ) +all_with_tao_single_64: all_single_64 +all_with_tao_double_64: all_double_64 # all tools tools: tools_$(PRECIS) tools_single: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest PRECIS=single PWD=$(PWD)/tools ) + cutest $(S32) PWD=$(PWD)/tools ) tools_double: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest PRECIS=double PWD=$(PWD)/tools ) + cutest $(D32) PWD=$(PWD)/tools ) +tools_single_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest $(S64) PWD=$(PWD)/tools ) +tools_double_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest $(D64) PWD=$(PWD)/tools ) # all tools and their matlab interface all_matlab: all_matlab_$(PRECIS) all_matlab_single: tools_single ( cd matlab ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - all PRECIS=single PWD=$(PWD)/matlab ) + all $(S32) PWD=$(PWD)/matlab ) all_matlab_double: tools_double ( cd matlab ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - all PRECIS=double PWD=$(PWD)/matlab ) + all $(D32) PWD=$(PWD)/matlab ) +all_matlab_single_64: tools_single_64 +all_matlab_double_64: tools_double_64 # all tools and their octave interface all_octave: all_octave_$(PRECIS) all_octave_single: tools_single ( cd octave ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - all PRECIS=single PWD=$(PWD)/octave ) + all $(S32) PWD=$(PWD)/octave ) all_octave_double: tools_double ( cd octave ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - all PRECIS=double PWD=$(PWD)/octave ) + all $(D32) PWD=$(PWD)/octave ) +all_octave_single_64: tools_single_64 +all_octave_double_64: tools_double_64 # all interface tests test: test_$(PRECIS) test_single: ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest PRECIS=single PWD=$(PWD)/test ) + test_cutest $(S32) PWD=$(PWD)/test ) test_double: ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest PRECIS=double PWD=$(PWD)/test ) + test_cutest $(D32) PWD=$(PWD)/test ) +test_single_64: + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest $(S64) PWD=$(PWD)/test ) +test_double_64: + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest $(D64) PWD=$(PWD)/test ) # all unconstrained tools and interface tests all_unconstrained: all_unconstrained_$(PRECIS) all_unconstrained_single: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_unconstrained PRECIS=single PWD=$(PWD)/tools ) + cutest_unconstrained $(S32) PWD=$(PWD)/tools ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest_unconstrained PRECIS=single PWD=$(PWD)/test ) + test_cutest_unconstrained $(S32) PWD=$(PWD)/test ) all_unconstrained_double: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_unconstrained PRECIS=double PWD=$(PWD)/tools ) + cutest_unconstrained $(D32) PWD=$(PWD)/tools ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest_unconstrained PRECIS=double PWD=$(PWD)/test ) + test_cutest_unconstrained $(D32) PWD=$(PWD)/test ) +all_unconstrained_single_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest_unconstrained $(S64) PWD=$(PWD)/tools ) + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest_unconstrained $(S64) PWD=$(PWD)/test ) +all_unconstrained_double_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest_unconstrained $(D64) PWD=$(PWD)/tools ) + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest_unconstrained $(D64) PWD=$(PWD)/test ) # all constrained tools and interface tests all_constrained: all_constrained_$(PRECIS) all_constrained_single: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_constrained PRECIS=single PWD=$(PWD)/tools ) + cutest_constrained $(S32) PWD=$(PWD)/tools ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest_constrained PRECIS=single PWD=$(PWD)/test ) + test_cutest_constrained $(S32) PWD=$(PWD)/test ) all_constrained_double: ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_constrained PRECIS=double PWD=$(PWD)/tools ) + cutest_constrained $(D32) PWD=$(PWD)/tools ) + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest_constrained $(D32) PWD=$(PWD)/test ) +all_constrained_single_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest_constrained $(S64) PWD=$(PWD)/tools ) + ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + test_cutest_constrained $(S64) PWD=$(PWD)/test ) +all_constrained_double_64: + ( cd tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + cutest_constrained $(D64) PWD=$(PWD)/tools ) ( cd test ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - test_cutest_constrained PRECIS=double PWD=$(PWD)/test ) + test_cutest_constrained $(D64) PWD=$(PWD)/test ) # all tests run_test: run_test_$(PRECIS) run_test_single: tools_single test_single ( cd algencan ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/algencan ) + run_test $(S32) PWD=$(PWD)/algencan ) ( cd bobyqa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/bobyqa ) + run_test $(S32) PWD=$(PWD)/bobyqa ) ( cd cg_descent ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/cg_descent ) + run_test $(S32) PWD=$(PWD)/cg_descent ) ( cd cgplus ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/cgplus ) + run_test $(S32) PWD=$(PWD)/cgplus ) ( cd cobyla ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/cobyla ) + run_test $(S32) PWD=$(PWD)/cobyla ) ( cd derchk ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/derchk ) + run_test $(S32) PWD=$(PWD)/derchk ) ( cd dfo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/dfo ) + run_test $(S32) PWD=$(PWD)/dfo ) ( cd e04nqf ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/e04nqf ) + run_test $(S32) PWD=$(PWD)/e04nqf ) ( cd filtersd ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/filtersd ) + run_test $(S32) PWD=$(PWD)/filtersd ) ( cd filtersqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/filtersqp ) + run_test $(S32) PWD=$(PWD)/filtersqp ) ( cd gen77 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/gen77 ) + run_test $(S32) PWD=$(PWD)/gen77 ) ( cd gen90 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/gen90 ) + run_test $(S32) PWD=$(PWD)/gen90 ) ( cd genc ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/genc ) + run_test $(S32) PWD=$(PWD)/genc ) # ( cd gsl ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=single PWD=$(PWD)/gsl ) +# run_test $(S32) PWD=$(PWD)/gsl ) ( cd hrb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/hrb ) + run_test $(S32) PWD=$(PWD)/hrb ) ( cd ipopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/ipopt ) + run_test $(S32) PWD=$(PWD)/ipopt ) # ( cd knitro ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=single PWD=$(PWD)/knitro ) +# run_test $(S32) PWD=$(PWD)/knitro ) ( cd la04 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/la04 ) + run_test $(S32) PWD=$(PWD)/la04 ) ( cd lbfgs ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/lbfgs ) + run_test $(S32) PWD=$(PWD)/lbfgs ) ( cd lbfgsb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/lbfgsb ) + run_test $(S32) PWD=$(PWD)/lbfgsb ) ( cd lincoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/lincoa ) + run_test $(S32) PWD=$(PWD)/lincoa ) ( cd minos ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/minos ) + run_test $(S32) PWD=$(PWD)/minos ) ( cd newuoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/newuoa ) + run_test $(S32) PWD=$(PWD)/newuoa ) ( cd nitsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/nitsol ) + run_test $(S32) PWD=$(PWD)/nitsol ) ( cd nlpqlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/nlpqlp ) + run_test $(S32) PWD=$(PWD)/nlpqlp ) ( cd npsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/npsol ) + run_test $(S32) PWD=$(PWD)/npsol ) ( cd osqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/osqp ) + run_test $(S32) PWD=$(PWD)/osqp ) ( cd pds ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/pds ) + run_test $(S32) PWD=$(PWD)/pds ) ( cd pennlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/pennlp ) + run_test $(S32) PWD=$(PWD)/pennlp ) ( cd praxis ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/praxis ) + run_test $(S32) PWD=$(PWD)/praxis ) ( cd ql ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/ql ) + run_test $(S32) PWD=$(PWD)/ql ) ( cd snopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/snopt ) + run_test $(S32) PWD=$(PWD)/snopt ) ( cd spg ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/spg ) + run_test $(S32) PWD=$(PWD)/spg ) ( cd stats ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/stats ) + run_test $(S32) PWD=$(PWD)/stats ) ( cd stenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/stenmin ) + run_test $(S32) PWD=$(PWD)/stenmin ) ( cd tenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/tenmin ) + run_test $(S32) PWD=$(PWD)/tenmin ) ( cd tron ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/tron ) + run_test $(S32) PWD=$(PWD)/tron ) ( cd uncmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/uncmin ) + run_test $(S32) PWD=$(PWD)/uncmin ) ( cd vf13 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=single PWD=$(PWD)/vf13 ) + run_test $(S32) PWD=$(PWD)/vf13 ) # ( cd worhp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=single PWD=$(PWD)/worhp ) +# run_test $(S32) PWD=$(PWD)/worhp ) run_test_double: tools_double test_double ( cd algencan ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/algencan ) + run_test $(D32) PWD=$(PWD)/algencan ) ( cd bobyqa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/bobyqa ) + run_test $(D32) PWD=$(PWD)/bobyqa ) ( cd cg_descent ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/cg_descent ) + run_test $(D32) PWD=$(PWD)/cg_descent ) ( cd cgplus ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/cgplus ) + run_test $(D32) PWD=$(PWD)/cgplus ) ( cd cobyla ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/cobyla ) + run_test $(D32) PWD=$(PWD)/cobyla ) ( cd derchk ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/derchk ) + run_test $(D32) PWD=$(PWD)/derchk ) ( cd dfo ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/dfo ) + run_test $(D32) PWD=$(PWD)/dfo ) ( cd e04nqf ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/e04nqf ) + run_test $(D32) PWD=$(PWD)/e04nqf ) ( cd filtersd ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/filtersd ) + run_test $(D32) PWD=$(PWD)/filtersd ) ( cd filtersqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/filtersqp ) + run_test $(D32) PWD=$(PWD)/filtersqp ) ( cd gen77 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/gen77 ) + run_test $(D32) PWD=$(PWD)/gen77 ) ( cd gen90 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/gen90 ) + run_test $(D32) PWD=$(PWD)/gen90 ) ( cd genc ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/genc ) + run_test $(D32) PWD=$(PWD)/genc ) # ( cd gsl ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=double PWD=$(PWD)/gsl ) +# run_test $(D32) PWD=$(PWD)/gsl ) ( cd hrb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/hrb ) + run_test $(D32) PWD=$(PWD)/hrb ) ( cd ipopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/ipopt ) + run_test $(D32) PWD=$(PWD)/ipopt ) ( cd knitro ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/knitro ) + run_test $(D32) PWD=$(PWD)/knitro ) ( cd la04 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/la04 ) + run_test $(D32) PWD=$(PWD)/la04 ) ( cd lbfgs ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/lbfgs ) + run_test $(D32) PWD=$(PWD)/lbfgs ) ( cd lbfgsb ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/lbfgsb ) + run_test $(D32) PWD=$(PWD)/lbfgsb ) ( cd lincoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/lincoa ) + run_test $(D32) PWD=$(PWD)/lincoa ) ( cd minos ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/minos ) + run_test $(D32) PWD=$(PWD)/minos ) ( cd newuoa ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/newuoa ) + run_test $(D32) PWD=$(PWD)/newuoa ) ( cd nitsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/nitsol ) + run_test $(D32) PWD=$(PWD)/nitsol ) ( cd nlpqlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/nlpqlp ) + run_test $(D32) PWD=$(PWD)/nlpqlp ) ( cd npsol ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/npsol ) + run_test $(D32) PWD=$(PWD)/npsol ) ( cd osqp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/osqp ) + run_test $(D32) PWD=$(PWD)/osqp ) ( cd pds ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/pds ) + run_test $(D32) PWD=$(PWD)/pds ) ( cd pennlp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/pennlp ) + run_test $(D32) PWD=$(PWD)/pennlp ) ( cd praxis ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/praxis ) + run_test $(D32) PWD=$(PWD)/praxis ) ( cd ql ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/ql ) + run_test $(D32) PWD=$(PWD)/ql ) ( cd snopt ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/snopt ) + run_test $(D32) PWD=$(PWD)/snopt ) ( cd spg ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/spg ) + run_test $(D32) PWD=$(PWD)/spg ) ( cd stats ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/stats ) + run_test $(D32) PWD=$(PWD)/stats ) ( cd stenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/stenmin ) + run_test $(D32) PWD=$(PWD)/stenmin ) ( cd tenmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/tenmin ) + run_test $(D32) PWD=$(PWD)/tenmin ) ( cd tron ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/tron ) + run_test $(D32) PWD=$(PWD)/tron ) ( cd uncmin ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/uncmin ) + run_test $(D32) PWD=$(PWD)/uncmin ) ( cd vf13 ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/vf13 ) + run_test $(D32) PWD=$(PWD)/vf13 ) # ( cd worhp ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=double PWD=$(PWD)/worhp ) +# run_test $(D32) PWD=$(PWD)/worhp ) +run_test_single_64: tools_single_64 test_single_64 +run_test_double_64: tools_double_64 test_double_64 # all tools (including fortran 2008) and interfaces run_test_2008: run_test_2008_$(PRECIS) run_test_2008_single: run_test_single -# ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=single PWD=$(PWD)/ral_nlls ) +# ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ +# run_test $(S32) PWD=$(PWD)/ral_nlls ) # ( cd sqic ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ -# run_test PRECIS=single PWD=$(PWD)/sqic ) +# run_test $(S32) PWD=$(PWD)/sqic ) run_test_2008_double: run_test_double - ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/ral_nlls ) + ( cd ral_nlls ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ + run_test $(D32) PWD=$(PWD)/ral_nlls ) ( cd sqic ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - run_test PRECIS=double PWD=$(PWD)/sqic ) + run_test $(D32) PWD=$(PWD)/sqic ) +run_test_2008_single_64: run_test_single_64 +run_test_2008_double_64: run_test_double_64 # book keeping diff --git a/src/test/makemaster b/src/test/makemaster index 61871ec..571bf54 100644 --- a/src/test/makemaster +++ b/src/test/makemaster @@ -1,7 +1,7 @@ # Main body of the installation makefile for CUTEST test programs # Nick Gould, for GALAHAD productions -# This version: 2023-11-21 +# This version: 2024-01-18 # include standard CUTEst makefile defaults before package-specifics @@ -11,7 +11,7 @@ include $(CUTEST)/src/makedefs/defaults # ==================== package-dependent parts ============================ # =========================================================================== -# package name +# package name PACKAGE = TEST package = test @@ -32,8 +32,10 @@ all: $(package) $(package): $(package)_$(PRECIS) @printf ' %-21s\n' "CUTEst: $(package) ($(PRECIS) $(SUCC)" -$(package)_single: $(OBJ)/$(package)_main.o -$(package)_double: $(OBJ)/$(package)_main.o +$(package)_single: $(OBJS)/$(package)_main.o +$(package)_double: $(OBJD)/$(package)_main.o +$(package)_single_64: $(OBJS64)/$(package)_main.o +$(package)_double_64: $(OBJD64)/$(package)_main.o test_cutest: test_cutest_$(PRECIS) @printf ' %-21s\n' "CUTEST: tests ($(PRECIS) $(SUCC)" @@ -41,11 +43,17 @@ test_cutest_single: test_cutest_unconstrained_single \ test_cutest_constrained_single test_cutest_double: test_cutest_unconstrained_double \ test_cutest_constrained_double +test_cutest_single_64: test_cutest_unconstrained_single_64 \ + test_cutest_constrained_single_64 +test_cutest_double_64: test_cutest_unconstrained_double_64 \ + test_cutest_constrained_double_64 test_cutest_unconstrained: test_cutest_unconstrained_$(PRECIS) @printf ' %-21s\n' "CUTEST: unconstrained tests ($(PRECIS) $(SUCC)" test_cutest_unconstrained_single: $(U_TEST) test_cutest_unconstrained_double: $(U_TEST) +test_cutest_unconstrained_single_64: $(U_TEST) +test_cutest_unconstrained_double_64: $(U_TEST) test_cutest_constrained: test_cutest_constrained_$(PRECIS) @printf ' %-21s\n' "CUTEST: constrained tests ($(PRECIS) $(SUCC)" @@ -56,6 +64,8 @@ test_cutest_quadratic: test_cutest_quadratic_$(PRECIS) @printf ' %-21s\n' "CUTEST: quadratic tests ($(PRECIS) $(SUCC)" test_cutest_quadratic_single: $(Q_TEST) test_cutest_quadratic_double: $(Q_TEST) +test_cutest_quadratic_single_64: $(Q_TEST) +test_cutest_quadratic_double_64: $(Q_TEST) # run example tests @@ -161,13 +171,16 @@ run_debug_cutest_constrained: ctools test_cutest_constrained tools: ( cd ../tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest PRECIS=$(PRECIS) PWD=$(PWD)/../tools ) + cutest PRECIS=$(PRECIS) INTEGER=$(INTEGER) \ + PWD=$(PWD)/../tools ) utools: ( cd ../tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_unconstrained PRECIS=$(PRECIS) PWD=$(PWD)/../tools ) + cutest_unconstrained PRECIS=$(PRECIS) INTEGER=$(INTEGER) \ + PWD=$(PWD)/../tools ) ctools: ( cd ../tools ; $(MAKE) -f $(CUTEST)/makefiles/$(VERSION) \ - cutest_constrained PRECIS=$(PRECIS) PWD=$(PWD)/../tools ) + cutest_constrained PRECIS=$(PRECIS) INTEGER=$(INTEGER) \ + PWD=$(PWD)/../tools ) # individual compilations diff --git a/src/test/test_main.F90 b/src/test/test_main.F90 index 413fcbf..af4fbcc 100644 --- a/src/test/test_main.F90 +++ b/src/test/test_main.F90 @@ -77,6 +77,7 @@ PROGRAM CUTEST_test_main ELSE ! only_print_small = .TRUE. only_print_small = n <= 5 .AND. m <= 5 +! only_print_small = n <= 100 .AND. m <= 100 END IF IF ( m == 0 ) THEN @@ -413,7 +414,7 @@ PROGRAM CUTEST_test_main WRITE( out, "( ' CALL CUTEST_csetup ' )" ) CALL CUTEST_csetup_r( status, input, out, buffer, n, m, X, X_l, X_u, & - Y, C_l, C_u, EQUATION, LINEAR, 1, 1, 1 ) + Y, C_l, C_u, EQUATION, LINEAR, 1_ip_, 1_ip_, 1_ip_ ) IF ( status /= 0 ) GO to 900 IF ( only_print_small ) & CALL WRITE_X( out, n, X, X_l, X_u ) @@ -1286,7 +1287,8 @@ PROGRAM CUTEST_test_main WRITE( out, "( ' CALL CUTEST_csetup ' )" ) CALL CUTEST_csetup_r( status, input, out, buffer, n, m, X, X_l, X_u, & - Y, C_l, C_u, EQUATION, LINEAR, 1, 1, 1 ) + Y, C_l, C_u, EQUATION, LINEAR, & + 1_ip_, 1_ip_, 1_ip_ ) IF ( status /= 0 ) GO to 900 ! ... and terminal exit diff --git a/src/tools/cdh.F90 b/src/tools/cdh.F90 index 154cc45..9e95101 100644 --- a/src/tools/cdh.F90 +++ b/src/tools/cdh.F90 @@ -252,7 +252,7 @@ SUBROUTINE CUTEST_cdh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -269,7 +269,7 @@ SUBROUTINE CUTEST_cdh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cdhc.F90 b/src/tools/cdhc.F90 index 21866fb..d16bc25 100644 --- a/src/tools/cdhc.F90 +++ b/src/tools/cdhc.F90 @@ -252,7 +252,7 @@ SUBROUTINE CUTEST_cdhc_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -269,7 +269,7 @@ SUBROUTINE CUTEST_cdhc_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cdhj.F90 b/src/tools/cdhj.F90 index c844f47..535f96c 100644 --- a/src/tools/cdhj.F90 +++ b/src/tools/cdhj.F90 @@ -256,7 +256,7 @@ SUBROUTINE CUTEST_cdhj_threadsafe_r( data, work, status, n, m, X, y0, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -273,7 +273,7 @@ SUBROUTINE CUTEST_cdhj_threadsafe_r( data, work, status, n, m, X, y0, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/ceh.F90 b/src/tools/ceh.F90 index a21d49a..ede8613 100644 --- a/src/tools/ceh.F90 +++ b/src/tools/ceh.F90 @@ -413,7 +413,7 @@ SUBROUTINE CUTEST_ceh_threadsafe_r( data, work, status, n, m, X, Y, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) ELSE CALL CUTEST_assemble_element_hessian( & @@ -430,7 +430,7 @@ SUBROUTINE CUTEST_ceh_threadsafe_r( data, work, status, n, m, X, Y, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) END IF @@ -487,6 +487,3 @@ SUBROUTINE CUTEST_ceh_threadsafe_r( data, work, status, n, m, X, Y, & ! end of subroutine CUTEST_ceh_threadsafe_r END SUBROUTINE CUTEST_ceh_threadsafe_r - - - diff --git a/src/tools/cgrdh.F90 b/src/tools/cgrdh.F90 index 07ac4e1..fbf4691 100644 --- a/src/tools/cgrdh.F90 +++ b/src/tools/cgrdh.F90 @@ -560,7 +560,7 @@ SUBROUTINE CUTEST_cgrdh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -577,7 +577,7 @@ SUBROUTINE CUTEST_cgrdh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cidh.F90 b/src/tools/cidh.F90 index de14193..13bbb13 100644 --- a/src/tools/cidh.F90 +++ b/src/tools/cidh.F90 @@ -328,7 +328,7 @@ SUBROUTINE CUTEST_cidh_threadsafe_r( data, work, status, n, X, iprob, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -345,7 +345,7 @@ SUBROUTINE CUTEST_cidh_threadsafe_r( data, work, status, n, X, iprob, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cifn.F90 b/src/tools/cifn.F90 index f804edc..d1a3d9d 100644 --- a/src/tools/cifn.F90 +++ b/src/tools/cifn.F90 @@ -226,9 +226,9 @@ SUBROUTINE CUTEST_cifn_threadsafe_r( data, work, & ELSE ICALCG( 1 ) = ig - CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1, & + CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1_ip_, & data%ITYPEG, data%ISTGP, ICALCG, data%ltypeg, & - data%lstgp, 1, data%lcalcg, data%lgpvlu, & + data%lstgp, 1_ip_, data%lcalcg, data%lgpvlu, & .FALSE., igstat ) IF ( igstat /= 0 ) GO TO 930 END IF diff --git a/src/tools/cigr.F90 b/src/tools/cigr.F90 index 2b13bdb..059d42c 100644 --- a/src/tools/cigr.F90 +++ b/src/tools/cigr.F90 @@ -255,17 +255,17 @@ SUBROUTINE CUTEST_cigr_threadsafe_r( data, work, status, n, iprob, X, GR ) ELSE ICALCG( 1 ) = ig - CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1, & + CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1_ip_, & data%ITYPEG, data%ISTGP, ICALCG, data%ltypeg, & - data%lstgp, 1, data%lcalcg, data%lgpvlu, & + data%lstgp, 1_ip_, data%lcalcg, data%lgpvlu, & .FALSE., igstat ) IF ( igstat /= 0 ) GO TO 930 ! evaluate the group derivative - CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1, & + CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1_ip_, & data%ITYPEG, data%ISTGP, ICALCG, data%ltypeg, & - data%lstgp, 1, data%lcalcg, data%lgpvlu, & + data%lstgp, 1_ip_, data%lcalcg, data%lgpvlu, & .TRUE., igstat ) IF ( igstat /= 0 ) GO TO 930 END IF diff --git a/src/tools/cisgr.F90 b/src/tools/cisgr.F90 index 679b02c..f456543 100644 --- a/src/tools/cisgr.F90 +++ b/src/tools/cisgr.F90 @@ -269,17 +269,17 @@ SUBROUTINE CUTEST_cisgr_threadsafe_r( data, work, status, n, iprob, X, & ELSE ICALCG( 1 ) = ig - CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1, & + CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1_ip_, & data%ITYPEG, data%ISTGP, ICALCG, data%ltypeg, & - data%lstgp, 1, data%lcalcg, data%lgpvlu, & + data%lstgp, 1_ip_, data%lcalcg, data%lgpvlu, & .FALSE., igstat ) IF ( igstat /= 0 ) GO TO 930 ! evaluate the group derivative - CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1, & + CALL GROUP_r( work%GVALS, data%ng, work%FT, data%GPVALU, 1_ip_, & data%ITYPEG, data%ISTGP, ICALCG, data%ltypeg, & - data%lstgp, 1, data%lcalcg, data%lgpvlu, & + data%lstgp, 1_ip_, data%lcalcg, data%lgpvlu, & .TRUE., igstat ) IF ( igstat /= 0 ) GO TO 930 END IF diff --git a/src/tools/cish.F90 b/src/tools/cish.F90 index c04c189..119586a 100644 --- a/src/tools/cish.F90 +++ b/src/tools/cish.F90 @@ -328,7 +328,7 @@ SUBROUTINE CUTEST_cish_threadsafe_r( data, work, status, n, X, iprob, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -345,7 +345,7 @@ SUBROUTINE CUTEST_cish_threadsafe_r( data, work, status, n, X, iprob, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/csetup.F90 b/src/tools/csetup.F90 index caf1274..60f227b 100644 --- a/src/tools/csetup.F90 +++ b/src/tools/csetup.F90 @@ -1048,7 +1048,7 @@ SUBROUTINE CUTEST_csetup_threadsafe_r( data, work, status, input, out, & data%INTVAR, data%ISTADH, data%ICNA, data%ISTADA, & data%GXEQX, data%alllin, data%altriv, data%lfxi, data%lgxi, & data%lhxi, data%lggfx, data%ldx, data%lgrjac, data%lnguvl, & - data%lnhuvl, data%ntotin, data%maxsel, data%maxsin, 0, & + data%lnhuvl, data%ntotin, data%maxsel, data%maxsin, 0_ip_, & out, work%io_buffer, data%l_link_e_u_v, work%nbprod, & work%FUVALS, data%lfuval, data%LINK_elem_uses_var, & work%ISWKSP, work%IUSED, work%ISTAJC, data%ISTAGV, data%ISVGRP, & diff --git a/src/tools/csgreh.F90 b/src/tools/csgreh.F90 index aebcae8..ec5341e 100644 --- a/src/tools/csgreh.F90 +++ b/src/tools/csgreh.F90 @@ -631,7 +631,7 @@ SUBROUTINE CUTEST_csgreh_threadsafe_r( data, work, status, n, m, X, Y, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) ELSE CALL CUTEST_assemble_element_hessian( & @@ -648,7 +648,7 @@ SUBROUTINE CUTEST_csgreh_threadsafe_r( data, work, status, n, m, X, Y, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) END IF diff --git a/src/tools/csgrsh.F90 b/src/tools/csgrsh.F90 index 42f4651..f9ab2e4 100644 --- a/src/tools/csgrsh.F90 +++ b/src/tools/csgrsh.F90 @@ -556,7 +556,7 @@ SUBROUTINE CUTEST_csgrsh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -573,7 +573,7 @@ SUBROUTINE CUTEST_csgrsh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/csgrshp.F90 b/src/tools/csgrshp.F90 index 4c9d96b..1e24595 100644 --- a/src/tools/csgrshp.F90 +++ b/src/tools/csgrshp.F90 @@ -143,7 +143,7 @@ SUBROUTINE CUTEST_csgrshp_threadsafe_r( data, work, status, n, & n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & data%IELVAR, data%IELING, data%ISTADG, & data%ISTAEV, data%ISTAGV, data%ISVGRP, data%GXEQX, & - 0, data%out, data%out, status, alloc_status, bad_alloc, & + 0_ip_, data%out, data%out, status, alloc_status, bad_alloc, & work%hessian_setup_complete, work%lh_row, work%lh_col, & work%H_row, work%H_col, work%ROW_start, work%POS_in_H, work%USED, & work%FILLED, work%lrowst, work%lpos, work%lused, work%lfilled, & diff --git a/src/tools/csh.F90 b/src/tools/csh.F90 index c15e16a..f5590c7 100644 --- a/src/tools/csh.F90 +++ b/src/tools/csh.F90 @@ -248,7 +248,7 @@ SUBROUTINE CUTEST_csh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -265,7 +265,7 @@ SUBROUTINE CUTEST_csh_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cshc.F90 b/src/tools/cshc.F90 index fdf6b87..047781d 100644 --- a/src/tools/cshc.F90 +++ b/src/tools/cshc.F90 @@ -254,7 +254,7 @@ SUBROUTINE CUTEST_cshc_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -271,7 +271,7 @@ SUBROUTINE CUTEST_cshc_threadsafe_r( data, work, status, n, m, X, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cshcprod.F90 b/src/tools/cshcprod.F90 index b315718..1d60272 100644 --- a/src/tools/cshcprod.F90 +++ b/src/tools/cshcprod.F90 @@ -325,7 +325,7 @@ SUBROUTINE CUTEST_cshcprod_threadsafe_r( data, work, status, n, m, goth, & IF ( data%numcon > 0 ) THEN CALL CUTEST_hessian_times_sp_vector( & data%n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & - 1, nnz_vector, nnz_result, work%nbprod, data%alllin, & + 1_ip_, nnz_vector, nnz_result, work%nbprod, data%alllin, & INDEX_nz_vector, data%ISTAEV, data%ISTADH, data%INTVAR, & data%IELING, data%IELVAR, work%ISWKSP, INDEX_nz_result, & VECTOR, RESULT, work%GVALS( : , 2 ) , work%GVALS( : , 3 ), & @@ -338,7 +338,7 @@ SUBROUTINE CUTEST_cshcprod_threadsafe_r( data, work, status, n, m, goth, & ELSE CALL CUTEST_hessian_times_sp_vector( & data%n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & - 1, nnz_vector, nnz_result, work%nbprod, data%alllin, & + 1_ip_, nnz_vector, nnz_result, work%nbprod, data%alllin, & INDEX_nz_vector, data%ISTAEV, data%ISTADH, data%INTVAR, & data%IELING, data%IELVAR, work%ISWKSP, INDEX_nz_result, & VECTOR, RESULT, work%GVALS( : , 2 ) , work%GVALS( : , 3 ), & @@ -379,5 +379,3 @@ SUBROUTINE CUTEST_cshcprod_threadsafe_r( data, work, status, n, m, goth, & ! end of subroutine CUTEST_cshcprod_threadsafe_r END SUBROUTINE CUTEST_cshcprod_threadsafe_r - - diff --git a/src/tools/cshj.F90 b/src/tools/cshj.F90 index 7911492..f08d890 100644 --- a/src/tools/cshj.F90 +++ b/src/tools/cshj.F90 @@ -251,7 +251,7 @@ SUBROUTINE CUTEST_cshj_threadsafe_r( data, work, status, n, m, X, y0, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), work%GSCALE_used, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -268,7 +268,7 @@ SUBROUTINE CUTEST_cshj_threadsafe_r( data, work, status, n, m, X, y0, Y, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/cshp.F90 b/src/tools/cshp.F90 index 716a2bf..4fcf24d 100644 --- a/src/tools/cshp.F90 +++ b/src/tools/cshp.F90 @@ -79,7 +79,7 @@ SUBROUTINE CUTEST_cshp_threadsafe_r( data, work, status, n, & n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & data%IELVAR, data%IELING, data%ISTADG, & data%ISTAEV, data%ISTAGV, data%ISVGRP, data%GXEQX, & - 0, data%out, data%out, status, alloc_status, bad_alloc, & + 0_ip_, data%out, data%out, status, alloc_status, bad_alloc, & work%hessian_setup_complete, work%lh_row, work%lh_col, & work%H_row, work%H_col, work%ROW_start, work%POS_in_H, work%USED, & work%FILLED, work%lrowst, work%lpos, work%lused, work%lfilled, & diff --git a/src/tools/cshprod.F90 b/src/tools/cshprod.F90 index 78826e1..95c351a 100644 --- a/src/tools/cshprod.F90 +++ b/src/tools/cshprod.F90 @@ -324,7 +324,7 @@ SUBROUTINE CUTEST_cshprod_threadsafe_r( data, work, status, n, m, goth, & IF ( data%numcon > 0 ) THEN CALL CUTEST_hessian_times_sp_vector( & data%n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & - 1, nnz_vector, nnz_result, work%nbprod, data%alllin, & + 1_ip_, nnz_vector, nnz_result, work%nbprod, data%alllin, & INDEX_nz_vector, data%ISTAEV, data%ISTADH, data%INTVAR, & data%IELING, data%IELVAR, work%ISWKSP, INDEX_nz_result, & VECTOR, RESULT, work%GVALS( : , 2 ) , work%GVALS( : , 3 ), & @@ -337,7 +337,7 @@ SUBROUTINE CUTEST_cshprod_threadsafe_r( data, work, status, n, m, goth, & ELSE CALL CUTEST_hessian_times_sp_vector( & data%n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & - 1, nnz_vector, nnz_result, work%nbprod, data%alllin, & + 1_ip_, nnz_vector, nnz_result, work%nbprod, data%alllin, & INDEX_nz_vector, data%ISTAEV, data%ISTADH, data%INTVAR, & data%IELING, data%IELVAR, work%ISWKSP, INDEX_nz_result, & VECTOR, RESULT, work%GVALS( : , 2 ) , work%GVALS( : , 3 ), & @@ -378,5 +378,3 @@ SUBROUTINE CUTEST_cshprod_threadsafe_r( data, work, status, n, m, goth, & ! end of subroutine CUTEST_cshprod_threadsafe_r END SUBROUTINE CUTEST_cshprod_threadsafe_r - - diff --git a/src/tools/kinds.F90 b/src/tools/kinds.F90 index f491110..26337e6 100644 --- a/src/tools/kinds.F90 +++ b/src/tools/kinds.F90 @@ -1,4 +1,4 @@ -! THIS VERSION: CUTEST 2.2 - 2023-11-02 AT 08:00 GMT. +! THIS VERSION: CUTEST 2.2 - 2024-01-18 AT 12:15 GMT. !-**-*-*-*-*-*- S P A R S E _ H S L _ K I N D S M O D U L E S -*-*-*-*-*-*-*- @@ -25,19 +25,19 @@ MODULE CUTEST_KINDS_int USE ISO_C_BINDING USE ISO_FORTRAN_ENV PRIVATE - PUBLIC :: ip_, ipc_, ip_long_ + PUBLIC :: ip_, ipc_, long_ ! Integer kinds (standard 32 bit integer) - INTEGER, PARAMETER :: iplong_ = INT64 + INTEGER, PARAMETER :: long_ = INT64 INTEGER, PARAMETER :: ip_ = INT32 INTEGER, PARAMETER :: ipc_ = C_INT32_T END MODULE CUTEST_KINDS_int -!-*-*-*-*-*-*- C U T E S T _ K I N D S _ L O N G M O D U L E -*-*-*-*-*-*- +!-*-*-*-*-*-*- C U T E S T _ K I N D S _ 6 4 M O D U L E -*-*-*-*-*-*- - MODULE CUTEST_KINDS_long + MODULE CUTEST_KINDS_64 USE ISO_C_BINDING USE ISO_FORTRAN_ENV @@ -46,11 +46,11 @@ MODULE CUTEST_KINDS_long ! Integer kinds (long 64 bit integer) - INTEGER, PARAMETER :: iplong_ = INT64 + INTEGER, PARAMETER :: long_ = INT64 INTEGER, PARAMETER :: ip_ = INT64 INTEGER, PARAMETER :: ipc_ = C_INT64_T - END MODULE CUTEST_KINDS_long + END MODULE CUTEST_KINDS_64 ! .............................................................................. ! @@ -198,34 +198,34 @@ MODULE CUTEST_KINDS_quadruple PUBLIC END MODULE CUTEST_KINDS_quadruple -!-*-*-*- C U T E S T _ K I N D S _ H A L F _ L O N G M O D U L E -*-*-*- +!-*-*-*- C U T E S T _ K I N D S _ H A L F _ 6 4 B I T M O D U L E -*-*-*- - MODULE CUTEST_KINDS_half_long - USE CUTEST_KINDS_long + MODULE CUTEST_KINDS_half_64 + USE CUTEST_KINDS_64 USE CUTEST_KINDS_r2 PUBLIC - END MODULE CUTEST_KINDS_half_long + END MODULE CUTEST_KINDS_half_64 -!-*-*-*- C U T E S T _ K I N D S _ S I N G L E _ L O N G M O D U L E -*-*-*- +!-*-*- C U T E S T _ K I N D S _ S I N G L E _ 6 4 B I T M O D U L E -*-*- - MODULE CUTEST_KINDS_single_long - USE CUTEST_KINDS_long + MODULE CUTEST_KINDS_single_64 + USE CUTEST_KINDS_64 USE CUTEST_KINDS_r4 PUBLIC - END MODULE CUTEST_KINDS_single_long + END MODULE CUTEST_KINDS_single_64 -!-*-*-*- C U T E S T _ K I N D S _ D O U B L E _ L O N G M O D U L E -*-*-*- +!-*-*- C U T E S T _ K I N D S _ D O U B L E _ 6 4 B I T M O D U L E -*-*- - MODULE CUTEST_KINDS_double_long - USE CUTEST_KINDS_long + MODULE CUTEST_KINDS_double_64 + USE CUTEST_KINDS_64 USE CUTEST_KINDS_r8 PUBLIC - END MODULE CUTEST_KINDS_double_long + END MODULE CUTEST_KINDS_double_64 -!-*-*- C U T E S T _ K I N D S _ Q U A D R U P L E _ L O N G M O D U L E -*-*- +!-*- C U T E S T _ K I N D S _ Q U A D R U P L E _ 6 4 B I T M O D U L E -*- - MODULE CUTEST_KINDS_quadruple_long - USE CUTEST_KINDS_long + MODULE CUTEST_KINDS_quadruple_64 + USE CUTEST_KINDS_64 USE CUTEST_KINDS_r16 PUBLIC - END MODULE CUTEST_KINDS_quadruple_long + END MODULE CUTEST_KINDS_quadruple_64 diff --git a/src/tools/lqp.F90 b/src/tools/lqp.F90 index 5425dad..dedb4c1 100644 --- a/src/tools/lqp.F90 +++ b/src/tools/lqp.F90 @@ -12,7 +12,7 @@ ! Essence contained in GALAHAD-CUTEr QP interfaces, April 2004 ! Stand-alone CUTEst module, March 2013 -! For full documentation, see +! For full documentation, see ! http://galahad.rl.ac.uk/galahad-www/specs.html MODULE CUTEST_LQP_precision @@ -47,7 +47,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! ------------------------------------------------ ! build the data for the linear program -! minimize f + g^T x +! minimize f + g^T x ! subject to c_l <= A x <= c_l ! and x_l <= x <= x_l @@ -77,7 +77,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! if ne, row, col and val are present, sparse co-ordinate storage is required ! if row, ptr and val are present, column-wise storage is required ! if col, ptr and val are present, row-wise storage is required -! otherwise an error will be flagged with status = -1 (A_) or +! otherwise an error will be flagged with status = -1 (A_) or ! H will be ignored, i.e., and LP will be formed (H_) ! if h_pert is present, this value will be added to the diagonal of the Hessian @@ -136,7 +136,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ELSE h_type = 'N' END IF - + ! check to see if there is any diagonal Hessian perturbation IF ( PRESENT( H_pert ) ) THEN @@ -160,7 +160,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! set up the data structures necessary to hold the problem CALL CUTEST_csetup_r( status, input, out, io_buffer, n, m, X, X_l, X_u, & - Y, C_l, C_u, EQUATN, LINEAR, 0, 0, 0 ) + Y, C_l, C_u, EQUATN, LINEAR, 0_ip_, 0_ip_, 0_ip_ ) IF ( status /= 0 ) RETURN DEALLOCATE( LINEAR, STAT = alloc_status ) IF ( alloc_status /= 0 ) GO TO 990 @@ -191,20 +191,20 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! set X0 to zero to determine the constant terms for the problem functions - X0 = zero + X0 = zero ! evaluate the constant terms of the objective (f) and constraint functions (C) CALL CUTEST_cfn_r( status, n, m, X0, f, C( : m ) ) IF ( status /= 0 ) RETURN - DO i = 1, m - IF ( EQUATN( i ) ) THEN + DO i = 1, m + IF ( EQUATN( i ) ) THEN C_l( i ) = C_l( i ) - C( i ) C_u( i ) = C_l( i ) ELSE C_l( i ) = C_l( i ) - C( i ) C_u( i ) = C_u( i ) - C( i ) - END IF + END IF END DO DEALLOCATE( EQUATN, C, STAT = alloc_status ) @@ -249,12 +249,12 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & IF ( A_val( i ) /= zero ) THEN IF ( A_row( i ) > 0 ) THEN A_ne = A_ne + 1 - A_row( A_ne ) = A_row( i ) + A_row( A_ne ) = A_row( i ) A_col( A_ne ) = A_col( i ) A_val( A_ne ) = A_val( i ) ELSE G( A_col( i ) ) = A_val( i ) - END IF + END IF END IF END DO @@ -280,12 +280,12 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & IF ( A_val( i ) /= zero ) THEN IF ( A_row( i ) > 0 ) THEN la = la + 1 - A_row( la ) = A_row( i ) + A_row( la ) = A_row( i ) A_tmp( la ) = A_tmp( i ) A_val( la ) = A_val( i ) ELSE G( A_tmp( i ) ) = A_val( i ) - END IF + END IF END IF END DO @@ -326,12 +326,12 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & IF ( A_val( i ) /= zero ) THEN IF ( A_tmp( i ) > 0 ) THEN la = la + 1 - A_tmp( la ) = A_tmp( i ) + A_tmp( la ) = A_tmp( i ) A_col( la ) = A_col( i ) A_val( la ) = A_val( i ) ELSE G( A_col( i ) ) = A_val( i ) - END IF + END IF END IF END DO @@ -393,7 +393,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! remove out of range entries and only store the upper triangle H_ne = 0 - DO l = 1, neh + DO l = 1, neh i = H_row( l ) ; j = H_col( l ) IF ( i < 1 .OR. i > n .OR. j < 1 .OR. j > n ) CYCLE IF ( H_val( l ) /= zero ) THEN @@ -403,7 +403,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ELSE H_row( H_ne ) = i ; H_col( H_ne ) = j END IF - END IF + END IF ! add digonal perturbations if any @@ -447,7 +447,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! remove out of range entries and only store the upper triangle lh = 0 - DO l = 1, neh + DO l = 1, neh i = H_row( l ) ; j = H_tmp( l ) IF ( i < 1 .OR. i > n .OR. j < 1 .OR. j > n ) CYCLE IF ( H_val( l ) /= zero ) THEN @@ -513,7 +513,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & ! remove out of range entries and only store the upper triangle lh = 0 - DO l = 1, neh + DO l = 1, neh i = H_tmp( l ) ; j = H_col( l ) IF ( i < 1 .OR. i > n .OR. j < 1 .OR. j > n ) CYCLE IF ( H_val( l ) /= zero ) THEN @@ -572,7 +572,7 @@ SUBROUTINE CUTEST_LQP_create( status, input, io_buffer, out, n, m, f, & CALL CUTEST_cterminate_r( status ) END IF RETURN - + 990 CONTINUE WRITE( out, "( ' Allocation error, status = ', I0 )" ) alloc_status status = 1 @@ -603,25 +603,25 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & ! nnz integer, which gives the number of nonzeros in A. ! nnz must be non-negative. ! -! A_row integer array of length la. On entry, A_row(k), k = 1, ..., nnz give +! A_row integer array of length la. On entry, A_row(k), k = 1, ..., nnz give ! the row indices of A. On exit, A_row will have been reordered, but ! A_row(k) will still be the row index corresponding to the ! entry with column index A_col(k). ! -! A_col integer array of length la. On entry, A_col(k), k = 1, ..., nnz give -! the column indices of A. On exit, A_col will have been reordered so -! that entries in row i appear directly before those in row i+1 for +! A_col integer array of length la. On entry, A_col(k), k = 1, ..., nnz give +! the column indices of A. On exit, A_col will have been reordered so +! that entries in row i appear directly before those in row i+1 for ! i = 1, ..., nr-1. ! ! la integer, which gives the actual dimension of A_val. ! la must be at least nnz. ! -! A_val real array of length la. On entry, A_val(k), k = 1, ..., nnz give +! A_val real array of length la. On entry, A_val(k), k = 1, ..., nnz give ! the values of A. On exit, A_val will have been reordered so that -! entries in row i appear directly before those in row i+1 for +! entries in row i appear directly before those in row i+1 for ! i = 1, ..., nr-1 and correspond to those in A_row and A_col. ! -! A_ptr integer array of length lptr. On exit, A_ptr(i), i = 1, ..., nr give +! A_ptr integer array of length lptr. On exit, A_ptr(i), i = 1, ..., nr give ! the starting addresses for the entries in A_row/A_col/A_val in ! row i, while A_ptr(nr+1) gives the index of the first non-occupied ! component of A. @@ -640,7 +640,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & ! warning integer, which gives the output unit number for warning messages. ! Warning messages only occur if warning > 0. ! -! inform integer, which gives the exit status of SORT_reorder_by_rows. +! inform integer, which gives the exit status of SORT_reorder_by_rows. ! Possible values are: ! ! 0 A has been successfully re-orderered. @@ -675,7 +675,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & INTEGER ( KIND = ip_ ) :: i, j, k, k1, k2, l, nzi, ie, iep, je, jep INTEGER ( KIND = ip_ ) :: loc, idup, iout, jout, nzout REAL ( KIND = rp_ ) :: ae, aep - + ! Initialize data inform = 0 @@ -720,7 +720,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & END IF RETURN END IF - + ! If the matrix has no rows or no entries, exit accordingly IF ( nr == 0 ) THEN @@ -780,7 +780,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & END IF ! If all the data is faulty, exit - + IF ( iout + jout == nnz ) THEN inform = 5 IF ( error > 0 ) THEN @@ -791,7 +791,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & RETURN END IF -! nzout gives the number of nonzero entries following removals. Now sort the +! nzout gives the number of nonzero entries following removals. Now sort the ! pattern of a sparse matrix from arbitary order to row order. The ! order within each row is unimportant @@ -803,8 +803,8 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & IW( i ) = IW( i ) + 1 END DO -! Record the positions where each row would begin, in a compressed format -! with the rows in natural order, in A_ptr and IW +! Record the positions where each row would begin, in a compressed format +! with the rows in natural order, in A_ptr and IW A_ptr( 1 ) = 1 DO i = 2, nr + 1 @@ -813,7 +813,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & END DO ! Reorder the elements into row order. Fill in each row from the front, -! and increase the pointer IW( k ) by 1 as a new entry is placed in row k +! and increase the pointer IW( k ) by 1 as a new entry is placed in row k DO l = 1, nr DO k = IW( l ), A_ptr( l + 1 ) - 1 @@ -827,7 +827,7 @@ SUBROUTINE CUTEST_reorder_by_rows( nr, nc, nnz, A_row, A_col, la, A_val, & ie = iep ; je = jep ; ae = aep END DO A_row( k ) = ie ; A_col( k ) = je ; A_val( k ) = ae - END DO + END DO END DO ! Check for duplicates diff --git a/src/tools/makemaster b/src/tools/makemaster index 993cdd5..b5bc175 100644 --- a/src/tools/makemaster +++ b/src/tools/makemaster @@ -1,7 +1,7 @@ # Main body of the installation makefile for basic CUTEST tools packages # Nick Gould, for GALAHAD productions -# This version: 2023-11-21 +# This version: 2024-01-18 # include standard CUTEst makefile defaults before package-specifics @@ -11,7 +11,7 @@ include $(CUTEST)/src/makedefs/defaults # ==================== package-dependent parts ============================ # =========================================================================== -# package name +# package name PACKAGE = TOOLS package = tools @@ -32,6 +32,24 @@ BASICS = $(LCS)(kinds_single.o) $(LCS)(cutest_single.o) \ $(LCS)(problem_single.o) $(LCS)(fortran_ops_single.o) \ $(LCS)(interface_single.o) $(LCS)(ccutest_single.o) \ $(LCS)(timings_single.o) +BASICD = $(LCD)(kinds_double.o) $(LCD)(cutest_double.o) \ + $(LCD)(pname_double.o) $(LCD)(probname_double.o) \ + $(LCD)(varnames_double.o) $(LCD)(newthread_double.o) \ + $(LCD)(problem_double.o) $(LCD)(fortran_ops_double.o) \ + $(LCD)(interface_double.o) $(LCD)(ccutest_double.o) \ + $(LCD)(timings_double.o) +BASICS64 = $(LCS64)(kinds_single.o) $(LCS64)(cutest_single_64.o) \ + $(LCS64)(pname_single_64.o) $(LCS64)(probname_single_64.o) \ + $(LCS64)(varnames_single_64.o) $(LCS64)(newthread_single_64.o) \ + $(LCS64)(problem_single_64.o) $(LCS64)(fortran_ops_single_64.o) \ + $(LCS64)(interface_single_64.o) $(LCS64)(ccutest_single_64.o) \ + $(LCS64)(timings_single_64.o) +BASICD64 = $(LCD64)(kinds_double.o) $(LCD64)(cutest_double_64.o) \ + $(LCD64)(pname_double_64.o) $(LCD64)(probname_double_64.o) \ + $(LCD64)(varnames_double_64.o) $(LCD64)(newthread_double_64.o) \ + $(LCD64)(problem_double_64.o) $(LCD64)(fortran_ops_double_64.o) \ + $(LCD64)(interface_double_64.o) $(LCD64)(ccutest_double_64.o) \ + $(LCD64)(timings_double_64.o) UCUTESTS = $(LCS)(usetup_single.o) $(LCS)(udimen_single.o) \ $(LCS)(udimse_single.o) $(LCS)(udimsh_single.o) \ @@ -44,6 +62,39 @@ UCUTESTS = $(LCS)(usetup_single.o) $(LCS)(udimen_single.o) \ $(LCS)(uhprod_single.o) $(LCS)(ushprod_single.o) \ $(LCS)(ubandh_single.o) $(LCS)(ureport_single.o) \ $(LCS)(uterminate_single.o) +UCUTESTD = $(LCD)(usetup_double.o) $(LCD)(udimen_double.o) \ + $(LCD)(udimse_double.o) $(LCD)(udimsh_double.o) \ + $(LCD)(unames_double.o) $(LCD)(uvartype_double.o) \ + $(LCD)(ufn_double.o) $(LCD)(ugr_double.o) \ + $(LCD)(uofg_double.o) $(LCD)(udh_double.o) \ + $(LCD)(ugrdh_double.o) $(LCD)(ush_double.o) \ + $(LCD)(ushp_double.o) $(LCD)(ueh_double.o) \ + $(LCD)(ugreh_double.o) $(LCD)(ugrsh_double.o) \ + $(LCD)(uhprod_double.o) $(LCD)(ushprod_double.o) \ + $(LCD)(ubandh_double.o) $(LCD)(ureport_double.o) \ + $(LCD)(uterminate_double.o) +UCUTESTS64 = $(LCS64)(usetup_single_64.o) $(LCS64)(udimen_single_64.o) \ + $(LCS64)(udimse_single_64.o) $(LCS64)(udimsh_single_64.o) \ + $(LCS64)(unames_single_64.o) $(LCS64)(uvartype_single_64.o) \ + $(LCS64)(ufn_single_64.o) $(LCS64)(ugr_single_64.o) \ + $(LCS64)(uofg_single_64.o) $(LCS64)(udh_single_64.o) \ + $(LCS64)(ugrdh_single_64.o) $(LCS64)(ush_single_64.o) \ + $(LCS64)(ushp_single_64.o) $(LCS64)(ueh_single_64.o) \ + $(LCS64)(ugreh_single_64.o) $(LCS64)(ugrsh_single_64.o) \ + $(LCS64)(uhprod_single_64.o) $(LCS64)(ushprod_single_64.o) \ + $(LCS64)(ubandh_single_64.o) $(LCS64)(ureport_single_64.o) \ + $(LCS64)(uterminate_single_64.o) +UCUTESTD64 = $(LCD64)(usetup_double_64.o) $(LCD64)(udimen_double_64.o) \ + $(LCD64)(udimse_double_64.o) $(LCD64)(udimsh_double_64.o) \ + $(LCD64)(unames_double_64.o) $(LCD64)(uvartype_double_64.o) \ + $(LCD64)(ufn_double_64.o) $(LCD64)(ugr_double_64.o) \ + $(LCD64)(uofg_double_64.o) $(LCD64)(udh_double_64.o) \ + $(LCD64)(ugrdh_double_64.o) $(LCD64)(ush_double_64.o) \ + $(LCD64)(ushp_double_64.o) $(LCD64)(ueh_double_64.o) \ + $(LCD64)(ugreh_double_64.o) $(LCD64)(ugrsh_double_64.o) \ + $(LCD64)(uhprod_double_64.o) $(LCD64)(ushprod_double_64.o) \ + $(LCD64)(ubandh_double_64.o) $(LCD64)(ureport_double_64.o) \ + $(LCD64)(uterminate_double_64.o) CCUTESTS = $(LCS)(csetup_single.o) $(LCS)(cdimen_single.o) \ $(LCS)(cdimse_single.o) $(LCS)(cdimsh_single.o) \ @@ -54,7 +105,8 @@ CCUTESTS = $(LCS)(csetup_single.o) $(LCS)(cdimen_single.o) \ $(LCS)(ccfg_single.o) $(LCS)(clfg_single.o) \ $(LCS)(ccfsg_single.o) $(LCS)(ccifg_single.o) \ $(LCS)(ccifsg_single.o) $(LCS)(cdh_single.o) \ - $(LCS)(cdhc_single.o) $(LCS)(cdhj_single.o) $(LCS)(ceh_single.o) \ + $(LCS)(cdhc_single.o) $(LCS)(cdhj_single.o) \ + $(LCS)(ceh_single.o) \ $(LCS)(cgrdh_single.o) $(LCS)(cifn_single.o) \ $(LCS)(cigr_single.o) $(LCS)(cdimsg_single.o) \ $(LCS)(cisgr_single.o) $(LCS)(cisgrp_single.o) \ @@ -74,26 +126,6 @@ CCUTESTS = $(LCS)(csetup_single.o) $(LCS)(cdimen_single.o) \ $(LCS)(cterminate_single.o) $(LCS)(lqp_single.o) \ $(LCS)(cconst_single.o) $(LCS)(cnames_single.o) \ $(LCS)(cnoobj_single.o) - -BASICD = $(LCD)(kinds_double.o) $(LCD)(cutest_double.o) \ - $(LCD)(pname_double.o) $(LCD)(probname_double.o) \ - $(LCD)(varnames_double.o) $(LCD)(newthread_double.o) \ - $(LCD)(problem_double.o) $(LCD)(fortran_ops_double.o) \ - $(LCD)(interface_double.o) $(LCD)(ccutest_double.o) \ - $(LCD)(timings_double.o) - -UCUTESTD = $(LCD)(usetup_double.o) $(LCD)(udimen_double.o) \ - $(LCD)(udimse_double.o) $(LCD)(udimsh_double.o) \ - $(LCD)(unames_double.o) $(LCD)(uvartype_double.o) \ - $(LCD)(ufn_double.o) $(LCD)(ugr_double.o) \ - $(LCD)(uofg_double.o) $(LCD)(udh_double.o) \ - $(LCD)(ugrdh_double.o) $(LCD)(ush_double.o) \ - $(LCD)(ushp_double.o) $(LCD)(ueh_double.o) \ - $(LCD)(ugreh_double.o) $(LCD)(ugrsh_double.o) \ - $(LCD)(uhprod_double.o) $(LCD)(ushprod_double.o) \ - $(LCD)(ubandh_double.o) $(LCD)(ureport_double.o) \ - $(LCD)(uterminate_double.o) - CCUTESTD = $(LCD)(csetup_double.o) $(LCD)(cdimen_double.o) \ $(LCD)(cdimse_double.o) $(LCD)(cdimsh_double.o) \ $(LCD)(cdimsj_double.o) $(LCD)(cdimchp_double.o) \ @@ -103,7 +135,8 @@ CCUTESTD = $(LCD)(csetup_double.o) $(LCD)(cdimen_double.o) \ $(LCD)(ccfg_double.o) $(LCD)(clfg_double.o) \ $(LCD)(ccfsg_double.o) $(LCD)(ccifg_double.o) \ $(LCD)(ccifsg_double.o) $(LCD)(cdh_double.o) \ - $(LCD)(cdhc_double.o) $(LCD)(cdhj_double.o) $(LCD)(ceh_double.o) \ + $(LCD)(cdhc_double.o) $(LCD)(cdhj_double.o) \ + $(LCD)(ceh_double.o) \ $(LCD)(cgrdh_double.o) $(LCD)(cifn_double.o) \ $(LCD)(cigr_double.o) $(LCD)(cdimsg_double.o) \ $(LCD)(cisgr_double.o) $(LCD)(cisgrp_double.o) \ @@ -123,9 +156,71 @@ CCUTESTD = $(LCD)(csetup_double.o) $(LCD)(cdimen_double.o) \ $(LCD)(cterminate_double.o) $(LCD)(lqp_double.o) \ $(LCD)(cconst_double.o) $(LCD)(cnames_double.o) \ $(LCD)(cnoobj_double.o) +CCUTESTS64 = $(LCS64)(csetup_single_64.o) $(LCS64)(cdimen_single_64.o) \ + $(LCS64)(cdimse_single_64.o) $(LCS64)(cdimsh_single_64.o) \ + $(LCS64)(cdimsj_single_64.o) $(LCS64)(cdimchp_single_64.o) \ + $(LCS64)(cdimohp_single_64.o) $(LCS64)(cvartype_single_64.o) \ + $(LCS64)(cfn_single_64.o) $(LCS64)(cgr_single_64.o) \ + $(LCS64)(cofg_single_64.o) $(LCS64)(cofsg_single_64.o) \ + $(LCS64)(ccfg_single_64.o) $(LCS64)(clfg_single_64.o) \ + $(LCS64)(ccfsg_single_64.o) $(LCS64)(ccifg_single_64.o) \ + $(LCS64)(ccifsg_single_64.o) $(LCS64)(cdh_single_64.o) \ + $(LCS64)(cdhc_single_64.o) $(LCS64)(cdhj_single_64.o) \ + $(LCS64)(ceh_single_64.o) \ + $(LCS64)(cgrdh_single_64.o) $(LCS64)(cifn_single_64.o) \ + $(LCS64)(cigr_single_64.o) $(LCS64)(cdimsg_single_64.o) \ + $(LCS64)(cisgr_single_64.o) $(LCS64)(cisgrp_single_64.o) \ + $(LCS64)(cidh_single_64.o) $(LCS64)(csh_single_64.o) \ + $(LCS64)(cshc_single_64.o) $(LCS64)(cshj_single_64.o) \ + $(LCS64)(cshp_single_64.o) $(LCS64)(cish_single_64.o) \ + $(LCS64)(cjprod_single_64.o) $(LCS64)(cstats_single_64.o) \ + $(LCS64)(csgr_single_64.o) $(LCS64)(csgreh_single_64.o) \ + $(LCS64)(csgrsh_single_64.o) $(LCS64)(csjprod_single_64.o) \ + $(LCS64)(chprod_single_64.o) $(LCS64)(chjprod_single_64.o) \ + $(LCS64)(chcprod_single_64.o) $(LCS64)(cshprod_single_64.o) \ + $(LCS64)(cshcprod_single_64.o) $(LCS64)(cohprodsp_single_64.o) \ + $(LCS64)(cohprods_single_64.o) $(LCS64)(cchprodsp_single_64.o) \ + $(LCS64)(cchprods_single_64.o) $(LCS64)(csjp_single_64.o) \ + $(LCS64)(csgrp_single_64.o) $(LCS64)(csgrshp_single_64.o) \ + $(LCS64)(creport_single_64.o) $(LCS64)(connames_single_64.o) \ + $(LCS64)(cterminate_single_64.o) $(LCS64)(lqp_single_64.o) \ + $(LCS64)(cconst_single_64.o) $(LCS64)(cnames_single_64.o) \ + $(LCS64)(cnoobj_single_64.o) +CCUTESTD64 = $(LCD64)(csetup_double_64.o) $(LCD64)(cdimen_double_64.o) \ + $(LCD64)(cdimse_double_64.o) $(LCD64)(cdimsh_double_64.o) \ + $(LCD64)(cdimsj_double_64.o) $(LCD64)(cdimchp_double_64.o) \ + $(LCD64)(cdimohp_double_64.o) $(LCD64)(cvartype_double_64.o) \ + $(LCD64)(cfn_double_64.o) $(LCD64)(cgr_double_64.o) \ + $(LCD64)(cofg_double_64.o) $(LCD64)(cofsg_double_64.o) \ + $(LCD64)(ccfg_double_64.o) $(LCD64)(clfg_double_64.o) \ + $(LCD64)(ccfsg_double_64.o) $(LCD64)(ccifg_double_64.o) \ + $(LCD64)(ccifsg_double_64.o) $(LCD64)(cdh_double_64.o) \ + $(LCD64)(cdhc_double_64.o) $(LCD64)(cdhj_double_64.o) \ + $(LCD64)(ceh_double_64.o) \ + $(LCD64)(cgrdh_double_64.o) $(LCD64)(cifn_double_64.o) \ + $(LCD64)(cigr_double_64.o) $(LCD64)(cdimsg_double_64.o) \ + $(LCD64)(cisgr_double_64.o) $(LCD64)(cisgrp_double_64.o) \ + $(LCD64)(cidh_double_64.o) $(LCD64)(csh_double_64.o) \ + $(LCD64)(cshc_double_64.o) $(LCD64)(cshj_double_64.o) \ + $(LCD64)(cshp_double_64.o) $(LCD64)(cish_double_64.o) \ + $(LCD64)(cjprod_double_64.o) $(LCD64)(cstats_double_64.o) \ + $(LCD64)(csgr_double_64.o) $(LCD64)(csgreh_double_64.o) \ + $(LCD64)(csgrsh_double_64.o) $(LCD64)(csjprod_double_64.o) \ + $(LCD64)(chprod_double_64.o) $(LCD64)(chjprod_double_64.o) \ + $(LCD64)(chcprod_double_64.o) $(LCD64)(cshprod_double_64.o) \ + $(LCD64)(cshcprod_double_64.o) $(LCD64)(cohprodsp_double_64.o) \ + $(LCD64)(cohprods_double_64.o) $(LCD64)(cchprodsp_double_64.o) \ + $(LCD64)(cchprods_double_64.o) $(LCD64)(csjp_double_64.o) \ + $(LCD64)(csgrp_double_64.o) $(LCD64)(csgrshp_double_64.o) \ + $(LCD64)(creport_double_64.o) $(LCD64)(connames_double_64.o) \ + $(LCD64)(cterminate_double_64.o) $(LCD64)(lqp_double_64.o) \ + $(LCD64)(cconst_double_64.o) $(LCD64)(cnames_double_64.o) \ + $(LCD64)(cnoobj_double_64.o) CUTESTS = $(BASICS) $(UCUTESTS) $(CCUTESTS) CUTESTD = $(BASICD) $(UCUTESTD) $(CCUTESTD) +CUTESTS64 = $(BASICS64) $(UCUTESTS64) $(CCUTESTS64) +CUTESTD64 = $(BASICD64) $(UCUTESTD64) $(CCUTESTD64) # main compilations and runs @@ -136,6 +231,8 @@ all: cutest cutest_silent: cutest_silent_$(PRECIS) cutest_silent_single: $(CUTESTS) cutest_silent_double: $(CUTESTD) +cutest_silent_single_64: $(CUTESTS64) +cutest_silent_double_64: $(CUTESTD64) cutest: cutest_$(PRECIS) @printf ' %-21s\n' "CUTEST: tools ($(PRECIS) $(SUCC)" @@ -143,10 +240,16 @@ cutest_single: $(CUTESTS) $(RANLIB) $(LCS) cutest_double: $(CUTESTD) $(RANLIB) $(LCD) +cutest_single_64: $(CUTESTS64) + $(RANLIB) $(LCS64) +cutest_double_64: $(CUTESTD64) + $(RANLIB) $(LCD64) cutest_unconstrained_silent: cutest_silent_$(PRECIS) cutest_unconstrained_silent_single: $(BASICS) $(UCUTESTS) cutest_unconstrained_silent_double: $(BASICD) $(UCUTESTD) +cutest_unconstrained_silent_single_64: $(BASICS64) $(UCUTESTS64) +cutest_unconstrained_silent_double_64: $(BASICD64) $(UCUTESTD64) cutest_unconstrained: cutest_unconstrained_$(PRECIS) @printf ' %-21s\n' "CUTEST: unconstrained tools ($(PRECIS) $(SUCC)" @@ -154,10 +257,16 @@ cutest_unconstrained_single: $(BASICS) $(UCUTESTS) $(RANLIB) $(LCS) cutest_unconstrained_double: $(BASICD) $(UCUTESTD) $(RANLIB) $(LCD) +cutest_unconstrained_single_64: $(BASICS64) $(UCUTESTS64) + $(RANLIB) $(LCS64) +cutest_unconstrained_double_64: $(BASICD64) $(UCUTESTD64) + $(RANLIB) $(LCD64) cutest_constrained_silent: cutest_silent_$(PRECIS) cutest_constrained_silent_single: $(BASICS) $(CCUTESTS) cutest_constrained_silent_double: $(BASICD) $(CCUTESTD) +cutest_constrained_silent_single_64: $(BASICS64) $(CCUTESTS64) +cutest_constrained_silent_double_64: $(BASICD64) $(CCUTESTD64) cutest_constrained: cutest_constrained_$(PRECIS) @printf ' %-21s\n' "CUTEST: constrained tools ($(PRECIS) $(SUCC)" @@ -165,6 +274,10 @@ cutest_constrained_single: $(BASICS) $(CCUTESTS) $(RANLIB) $(LCS) cutest_constrained_double: $(BASICD) $(CCUTESTD) $(RANLIB) $(LCD) +cutest_constrained_single_64: $(BASICS64) $(CCUTESTS64) + $(RANLIB) $(LCS64) +cutest_constrained_double_64: $(BASICD64) $(CCUTESTD64) + $(RANLIB) $(LCD64) # run example tests @@ -181,15 +294,28 @@ test_cutest_constrained: cutest # individual compilations -kinds.o: $(LC)(kinds_$(PRECIS).o) +kinds_single.o: $(LC)(kinds_single.o) + +$(LC)(kinds_single.o): ../tools/kinds.F90 + @printf ' %-9s %-15s\t\t' "Compiling" "kinds" + $(CP) ../tools/kinds.F90 $(OBJ)/kinds.F90 + cd $(OBJ); $(FORTRAN) -o kinds_single.o $(F90FLAGS) kinds.F90 \ + || ( printf ' %-26s' "=> Disabling optimization " ; \ + $(FORTRAN) -o kinds_single.o $(F90FLAGSN) kinds.F90 ) + cd $(OBJ); $(ARR) kinds_single.o; $(RM) kinds.F90 kinds_single.o + $(RMARFILE) cutest_$(PRECIS).o + $(MVMODS) + @printf '[ OK ]\n' + +kinds_double.o: $(LC)(kinds_double.o) -$(LC)(kinds_$(PRECIS).o): ../tools/kinds.F90 +$(LC)(kinds_double.o): ../tools/kinds.F90 @printf ' %-9s %-15s\t\t' "Compiling" "kinds" $(CP) ../tools/kinds.F90 $(OBJ)/kinds.F90 - cd $(OBJ); $(FORTRAN) -o kinds_$(PRECIS).o $(F90FLAGS) kinds.F90 \ + cd $(OBJ); $(FORTRAN) -o kinds_double.o $(F90FLAGS) kinds.F90 \ || ( printf ' %-26s' "=> Disabling optimization " ; \ - $(FORTRAN) -o kinds_$(PRECIS).o $(F90FLAGSN) kinds.F90 ) - cd $(OBJ); $(ARR) kinds_$(PRECIS).o; $(RM) kinds.F90 kinds_$(PRECIS).o + $(FORTRAN) -o kinds_double.o $(F90FLAGSN) kinds.F90 ) + cd $(OBJ); $(ARR) kinds_double.o; $(RM) kinds.F90 kinds_double.o $(RMARFILE) cutest_$(PRECIS).o $(MVMODS) @printf '[ OK ]\n' diff --git a/src/tools/ubandh.F90 b/src/tools/ubandh.F90 index 96165f6..846cfa6 100644 --- a/src/tools/ubandh.F90 +++ b/src/tools/ubandh.F90 @@ -235,7 +235,7 @@ SUBROUTINE CUTEST_ubandh_threadsafe_r( data, work, status, n, X, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .FALSE., .TRUE., & + 0_ip_, data%out, data%out, .FALSE., .TRUE., & nsemiw, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & @@ -266,4 +266,3 @@ SUBROUTINE CUTEST_ubandh_threadsafe_r( data, work, status, n, X, & ! end of subroutine CUTEST_ubandh_threadsafe_r END SUBROUTINE CUTEST_ubandh_threadsafe_r - diff --git a/src/tools/udh.F90 b/src/tools/udh.F90 index c6db750..f58ca8e 100644 --- a/src/tools/udh.F90 +++ b/src/tools/udh.F90 @@ -210,7 +210,7 @@ SUBROUTINE CUTEST_udh_threadsafe_r( data, work, status, n, X, lh1, H ) work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/ueh.F90 b/src/tools/ueh.F90 index 8ffb840..a68544a 100644 --- a/src/tools/ueh.F90 +++ b/src/tools/ueh.F90 @@ -385,7 +385,7 @@ SUBROUTINE CUTEST_ueh_threadsafe_r( data, work, status, n, X, ne, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) ! check for errors in the assembly diff --git a/src/tools/ugrdh.F90 b/src/tools/ugrdh.F90 index c1ad8e2..3774ab7 100644 --- a/src/tools/ugrdh.F90 +++ b/src/tools/ugrdh.F90 @@ -216,7 +216,7 @@ SUBROUTINE CUTEST_ugrdh_threadsafe_r( data, work, status, n, X, G, lh1, H ) work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/ugreh.F90 b/src/tools/ugreh.F90 index ddf1615..15dc313 100644 --- a/src/tools/ugreh.F90 +++ b/src/tools/ugreh.F90 @@ -394,7 +394,7 @@ SUBROUTINE CUTEST_ugreh_threadsafe_r( data, work, status, n, X, G, & work%H_el, work%H_in, RANGE_r, & ne, lhe_ptr, lhe_row_int, & lhe_val_int, work%H_row, HE_row_ptr, work%H_val, & - HE_val_ptr, byrows, 0, data%out, data%out, & + HE_val_ptr, byrows, 0_ip_, data%out, data%out, & work%io_buffer, alloc_status, bad_alloc, status ) ! check for errors in the assembly diff --git a/src/tools/ugrsh.F90 b/src/tools/ugrsh.F90 index 8749582..d44d12c 100644 --- a/src/tools/ugrsh.F90 +++ b/src/tools/ugrsh.F90 @@ -222,7 +222,7 @@ SUBROUTINE CUTEST_ugrsh_threadsafe_r( data, work, status, n, X, G, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/usetup.F90 b/src/tools/usetup.F90 index 7a18c68..6320eda 100644 --- a/src/tools/usetup.F90 +++ b/src/tools/usetup.F90 @@ -632,7 +632,7 @@ SUBROUTINE CUTEST_usetup_threadsafe_r( data, work, status, input, out, & data%INTVAR, data%ISTADH, data%ICNA, data%ISTADA, & data%GXEQX, data%alllin, data%altriv, data%lfxi, data%lgxi, & data%lhxi, data%lggfx, data%ldx, data%lgrjac, data%lnguvl, & - data%lnhuvl, data%ntotin, data%maxsel, data%maxsin, 0, & + data%lnhuvl, data%ntotin, data%maxsel, data%maxsin, 0_ip_, & out, work%io_buffer, data%l_link_e_u_v, work%nbprod, & work%FUVALS, data%lfuval, data%LINK_elem_uses_var, & work%ISWKSP, work%IUSED, work%ISTAJC, data%ISTAGV, data%ISVGRP, & diff --git a/src/tools/ush.F90 b/src/tools/ush.F90 index 12537b7..d61b120 100644 --- a/src/tools/ush.F90 +++ b/src/tools/ush.F90 @@ -212,7 +212,7 @@ SUBROUTINE CUTEST_ush_threadsafe_r( data, work, status, n, X, & work%FUVALS, data%lnguvl, work%FUVALS, data%lnhuvl, & work%GVALS( : , 2 ), work%GVALS( : , 3 ), data%GSCALE, & data%ESCALE, data%GXEQX, data%ITYPEE, data%INTREP, RANGE_r, & - 0, data%out, data%out, .TRUE., .FALSE., & + 0_ip_, data%out, data%out, .TRUE., .FALSE., & n, status, alloc_status, bad_alloc, & work%array_status, work%lh_row, work%lh_col, work%lh_val, & work%H_row, work%H_col, work%H_val, work%ROW_start, & diff --git a/src/tools/ushp.F90 b/src/tools/ushp.F90 index 5e1352c..c247132 100644 --- a/src/tools/ushp.F90 +++ b/src/tools/ushp.F90 @@ -79,7 +79,7 @@ SUBROUTINE CUTEST_ushp_threadsafe_r( data, work, status, n, & n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & data%IELVAR, data%IELING, data%ISTADG, & data%ISTAEV, data%ISTAGV, data%ISVGRP, data%GXEQX, & - 0, data%out, data%out, status, alloc_status, bad_alloc, & + 0_ip_, data%out, data%out, status, alloc_status, bad_alloc, & work%hessian_setup_complete, work%lh_row, work%lh_col, & work%H_row, work%H_col, work%ROW_start, work%POS_in_H, work%USED, & work%FILLED, work%lrowst, work%lpos, work%lused, work%lfilled, & diff --git a/src/tools/ushprod.F90 b/src/tools/ushprod.F90 index 1e03549..eb9a531 100644 --- a/src/tools/ushprod.F90 +++ b/src/tools/ushprod.F90 @@ -302,7 +302,7 @@ SUBROUTINE CUTEST_ushprod_threadsafe_r( data, work, status, n, goth, X, & work%nbprod = work%nbprod + 1 CALL CUTEST_hessian_times_sp_vector( & data%n, data%ng, data%nel, data%ntotel, data%nvrels, data%nvargp, & - 1, nnz_vector, nnz_result, work%nbprod, data%alllin, & + 1_ip_, nnz_vector, nnz_result, work%nbprod, data%alllin, & INDEX_nz_vector, data%ISTAEV, data%ISTADH, & data%INTVAR, data%IELING, data%IELVAR, work%ISWKSP, INDEX_nz_result, & VECTOR, RESULT, work%GVALS( : , 2 ) , work%GVALS( : , 3 ), & @@ -339,5 +339,3 @@ SUBROUTINE CUTEST_ushprod_threadsafe_r( data, work, status, n, goth, X, & ! end of subroutine CUTEST_ushprod_threadsafe_r END SUBROUTINE CUTEST_ushprod_threadsafe_r - -