From 7171cd6d6e80e3997b2019ec18582abaa49168fd Mon Sep 17 00:00:00 2001 From: zaikunzhang Date: Thu, 21 Dec 2023 16:31:29 +0800 Subject: [PATCH] 231221.163129.HKT fix the call of callback_fcn regarding the type of `tr` --- fortran/bobyqa/bobyqb.f90 | 12 ++++++------ fortran/cobyla/cobylb.f90 | 6 +++--- fortran/lincoa/lincob.f90 | 6 +++--- fortran/newuoa/newuob.f90 | 4 ++-- fortran/tests/tools/flint | 2 +- fortran/tests/tools/mlint | 2 +- fortran/uobyqa/uobyqb.f90 | 6 +++--- matlab/mex_gateways/tests/makefiles/Makefile.common | 12 ++++++------ 8 files changed, 25 insertions(+), 25 deletions(-) mode change 100755 => 100644 fortran/tests/tools/flint mode change 100755 => 100644 fortran/tests/tools/mlint diff --git a/fortran/bobyqa/bobyqb.f90 b/fortran/bobyqa/bobyqb.f90 index 2a3a8aabac..08ec4a8ca5 100644 --- a/fortran/bobyqa/bobyqb.f90 +++ b/fortran/bobyqa/bobyqb.f90 @@ -32,7 +32,7 @@ module bobyqb_mod ! ! Started: February 2022 ! -! Last Modified: Friday, November 03, 2023 PM02:57:45 +! Last Modified: Thursday, December 21, 2023 PM02:26:49 !--------------------------------------------------------------------------------------------------! implicit none @@ -221,11 +221,11 @@ subroutine bobyqb(calfun, iprint, maxfun, npt, eta1, eta2, ftarget, gamma1, gamm ! Report the current best value, and check if user asks for early termination. terminate = .false. if (present(callback_fcn)) then - call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0, terminate=terminate) + call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0_IK, terminate=terminate) if (terminate) then subinfo = CALLBACK_TERMINATE end if -endif +end if ! Initialize X and F according to KOPT. x = xinbd(xbase, xpt(:, kopt), xl, xu, sl, su) ! In precise arithmetic, X = XBASE + XOPT. @@ -582,16 +582,16 @@ subroutine bobyqb(calfun, iprint, maxfun, npt, eta1, eta2, ftarget, gamma1, gamm call shiftbase(kopt, xbase, xpt, zmat, bmat, pq, hq) xbase = max(xl, min(xu, xbase)) end if - + ! Report the current best value, and check if user asks for early termination. if (present(callback_fcn)) then - call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, tr, terminate=terminate) + call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, tr, terminate=terminate) if (terminate) then info = CALLBACK_TERMINATE exit end if end if - + end do ! End of DO TR = 1, MAXTR. The iterative procedure ends. ! Return from the calculation, after trying the Newton-Raphson step if it has not been tried yet. diff --git a/fortran/cobyla/cobylb.f90 b/fortran/cobyla/cobylb.f90 index 4953f2fc45..5196faa88c 100644 --- a/fortran/cobyla/cobylb.f90 +++ b/fortran/cobyla/cobylb.f90 @@ -17,7 +17,7 @@ module cobylb_mod ! ! Started: July 2021 ! -! Last Modified: Monday, October 16, 2023 AM01:15:52 +! Last Modified: Thursday, December 21, 2023 PM02:57:27 !--------------------------------------------------------------------------------------------------! implicit none @@ -218,7 +218,7 @@ subroutine cobylb(calcfc, iprint, maxfilt, maxfun, amat, bvec, ctol, cweight, et ! Report the current best value, and check if user asks for early termination. terminate = .false. if (present(callback_fcn)) then - call callback_fcn(sim(:, n+1), fval(n+1), nf, 0, cval(n+1), conmat(m_lcon+1:m, n+1), terminate) + call callback_fcn(sim(:, n + 1), fval(n + 1), nf, 0_IK, cval(n + 1), conmat(m_lcon + 1:m, n + 1), terminate) if (terminate) then subinfo = CALLBACK_TERMINATE end if @@ -605,7 +605,7 @@ subroutine cobylb(calcfc, iprint, maxfilt, maxfun, amat, bvec, ctol, cweight, et ! Report the current best value, and check if user asks for early termination. if (present(callback_fcn)) then - call callback_fcn(sim(:, n+1), fval(n+1), nf, tr, cval(n+1), conmat(m_lcon+1:m, n+1), terminate) + call callback_fcn(sim(:, n + 1), fval(n + 1), nf, tr, cval(n + 1), conmat(m_lcon + 1:m, n + 1), terminate) if (terminate) then info = CALLBACK_TERMINATE exit diff --git a/fortran/lincoa/lincob.f90 b/fortran/lincoa/lincob.f90 index 35ce812e44..5b67ee4dc3 100644 --- a/fortran/lincoa/lincob.f90 +++ b/fortran/lincoa/lincob.f90 @@ -15,7 +15,7 @@ module lincob_mod ! ! Started: February 2022 ! -! Last Modified: Friday, November 03, 2023 PM02:57:32 +! Last Modified: Thursday, December 21, 2023 PM03:03:55 !--------------------------------------------------------------------------------------------------! implicit none @@ -258,7 +258,7 @@ subroutine lincob(calfun, iprint, maxfilt, maxfun, npt, Aeq, Aineq, amat, beq, b ! Report the current best value, and check if user asks for early termination. terminate = .false. if (present(callback_fcn)) then - call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0, cval(kopt), terminate=terminate) + call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0_IK, cval(kopt), terminate=terminate) if (terminate) then subinfo = CALLBACK_TERMINATE end if @@ -646,7 +646,7 @@ subroutine lincob(calfun, iprint, maxfilt, maxfun, npt, Aeq, Aineq, amat, beq, b pqalt = omega_mul(idz, zmat, fval - fval(kopt)) galt = matprod(bmat(:, 1:npt), fval - fval(kopt)) + hess_mul(xpt(:, kopt), xpt, pqalt) end if - + ! Report the current best value, and check if user asks for early termination. if (present(callback_fcn)) then call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, tr, cval(kopt), terminate=terminate) diff --git a/fortran/newuoa/newuob.f90 b/fortran/newuoa/newuob.f90 index 8b948f287f..2aa0322fa3 100644 --- a/fortran/newuoa/newuob.f90 +++ b/fortran/newuoa/newuob.f90 @@ -8,7 +8,7 @@ module newuob_mod ! ! Started: July 2020 ! -! Last Modified: Monday, November 06, 2023 PM07:46:24 +! Last Modified: Thursday, December 21, 2023 PM03:05:39 !--------------------------------------------------------------------------------------------------! implicit none @@ -180,7 +180,7 @@ subroutine newuob(calfun, iprint, maxfun, npt, eta1, eta2, ftarget, gamma1, gamm ! Report the current best value, and check if user asks for early termination. terminate = .false. if (present(callback_fcn)) then - call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0, terminate=terminate) + call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0_IK, terminate=terminate) if (terminate) then subinfo = CALLBACK_TERMINATE end if diff --git a/fortran/tests/tools/flint b/fortran/tests/tools/flint old mode 100755 new mode 100644 index b1553f6559..88593f872c --- a/fortran/tests/tools/flint +++ b/fortran/tests/tools/flint @@ -158,7 +158,7 @@ for COMP in $COMP_LIST; do printf "%s\t" "$FLG" export FFLAGS=$FLG INFO="$(make "$COMP"test_"$TEST"_tst_c."$SOLVER" 2>&1 \ - | grep -v "binary\ file\ matches" \ + | grep -v "binary\ file\ matches\|info,\ callback_fcn" \ | grep -i "starts\|warning\|error\|info\|abort\|invalid\|violation\|fault\|illegal\|fail\|questionable\|remark\|attention\|Could\ not\ resolve\|not\ defined\|not\ public\ entity" \ | grep -vi "[0-9]\s*warning\|[0-9]\s*error\|[0-9]\s*info\|infos.f90\|information\|xhist, info)\|zmat, info)\|--warning\|--error" \ | grep -vi "pedantic-errors\|Werror\|warn\ errors\|diag-error-limit\|colour=error\|rounding\ error\|constraint violation\|default" \ diff --git a/fortran/tests/tools/mlint b/fortran/tests/tools/mlint old mode 100755 new mode 100644 index d683fae72e..59af80e9e9 --- a/fortran/tests/tools/mlint +++ b/fortran/tests/tools/mlint @@ -163,7 +163,7 @@ for COMP in $COMP_LIST; do printf "%s\t" "$FLG" export FFLAGS=$FLG INFO="$(make "$COMP"test_"$TEST"_tst."$SOLVER" 2>&1 \ - | grep -v "binary\ file\ matches" \ + | grep -v "binary\ file\ matches\|info,\ callback_fcn" \ | grep -i "starts\|warning\|error\|info\|abort\|invalid\|violation\|fault\|illegal\|fail\|questionable\|remark\|attention\|Could\ not\ resolve" \ | grep -vi "[0-9]\s*warning\|[0-9]\s*error\|[0-9]\s*info\|infos.f90\|information\|xhist, info)\|zmat, info)\|--warning\|--error" \ | grep -vi "pedantic-errors\|Werror\|warn\ errors\|diag-error-limit\|colour=error\|rounding\ error\|constraint\ violation\|default" \ diff --git a/fortran/uobyqa/uobyqb.f90 b/fortran/uobyqa/uobyqb.f90 index 244782ab5e..bcf106b45a 100644 --- a/fortran/uobyqa/uobyqb.f90 +++ b/fortran/uobyqa/uobyqb.f90 @@ -8,7 +8,7 @@ module uobyqb_mod ! ! Started: February 2022 ! -! Last Modified: Friday, November 03, 2023 PM02:57:20 +! Last Modified: Thursday, December 21, 2023 PM03:06:15 !--------------------------------------------------------------------------------------------------! implicit none @@ -171,7 +171,7 @@ subroutine uobyqb(calfun, iprint, maxfun, eta1, eta2, ftarget, gamma1, gamma2, r ! Report the current best value, and check if user asks for early termination. terminate = .false. if (present(callback_fcn)) then - call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0, terminate=terminate) + call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, 0_IK, terminate=terminate) if (terminate) then subinfo = CALLBACK_TERMINATE end if @@ -470,7 +470,7 @@ subroutine uobyqb(calfun, iprint, maxfun, eta1, eta2, ftarget, gamma1, gamma2, r if (sum(xpt(:, kopt)**2) >= 1.0E3_RP * delta**2) then call shiftbase(kopt, pl, pq, xbase, xpt) end if - + ! Report the current best value, and check if user asks for early termination. if (present(callback_fcn)) then call callback_fcn(xbase + xpt(:, kopt), fval(kopt), nf, tr, terminate=terminate) diff --git a/matlab/mex_gateways/tests/makefiles/Makefile.common b/matlab/mex_gateways/tests/makefiles/Makefile.common index 79bbc262b1..f702845842 100644 --- a/matlab/mex_gateways/tests/makefiles/Makefile.common +++ b/matlab/mex_gateways/tests/makefiles/Makefile.common @@ -506,12 +506,12 @@ $(TESTS) $(TESTS_INT): | grep -v "NAG Fortran Compiler normal termination, [0-9]* info message" \ | grep -v "Warning: Change of value in conversion from .INTEGER(8). to .REAL(8). at (1) \[-Wconversion\]" \ | grep -v "Warning: Change of value in conversion from .REAL(16). to .REAL(8). at (1) \[-Wconversion\]" \ - | grep -v "Extension: fmxapi\.F90, line [0-9]*: Byte count on numeric data type" \ - | grep -v "Extension: cbfun\.F90, line [0-9]*: Byte count on numeric data type" \ - | grep -v "Extension: \./classical/fmxcl\.F90, line [0-9]*: Byte count on numeric data type" \ - | grep -v "Extension: \./classical/fmxcl\.F90, line [0-9]*: Line longer than 132 characters" \ - | grep -v "Extension: .*_mex\.F90, line [0-9]*: Byte count on numeric data type" \ - | grep -v "Extension: .*_mex\.F90, line [0-9]*: Line longer than 132 characters" \ + | grep -v "Non-standard(Obsolete): fmxapi.F90, line 824: Byte count on numeric data type" \ + | grep -v "cbfun\.F90, line [0-9]*: Byte count on numeric data type" \ + | grep -v "\./classical/fmxcl\.F90, line [0-9]*: Byte count on numeric data type" \ + | grep -v "\./classical/fmxcl\.F90, line [0-9]*: Line longer than 132 characters" \ + | grep -v "\.F90, line [0-9]*: Byte count on numeric data type" \ + | grep -v "\.F90, line [0-9]*: Line longer than 132 characters" \ | grep -v "detected at \*@[0-9]*" \ | grep -v "Info: fmxapi\.F90, line [0-9]*: Possibly discontiguous POUT passed to old style dummy" \ | grep -v "Info: No licences currently available for product" \