15#if defined (dec_directives)
29 INTEGER,
Dimension(NumCallBack),
Intent(In Out) :: cntvect
34 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
39 If ( cntvect(indx_range) /= 0 )
then
67#if defined (dec_directives)
76 INTEGER,
Intent(Out) :: major, minor, patch
95#if defined (dec_directives)
105 Integer,
dimension(NumCallBack) :: cntvect
106 Integer :: maxthreads
108 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
126#if defined (dec_directives)
135 Integer,
dimension(NumCallBack) :: cntvect
136 Real(co_r) :: maxheapused
138 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
141 Call unpackreal( cntvect, indx_maxheapused, maxheapused )
153#if defined (dec_directives)
162 Integer,
dimension(NumCallBack) :: cntvect
164 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
176#if defined (dec_directives)
201#if defined (dec_directives)
210 Integer,
dimension(NumCallBack) :: cntvect
211 Integer(CO_P) :: address
212 Character(Len=CO_Filelen) :: filename
222 Call storereal( cntvect, indx_reslim , 1.0e6_co_r )
223 Call storereal( cntvect, indx_hessfac , 0.0_co_r )
224 Call storereal( cntvect, indx_zeronoise , 0.0_co_r )
225 Call storereal( cntvect, indx_maxheap , 0.0_co_r )
229 cntvect(indx_numvar) = -1
230 cntvect(indx_numcon) = -1
231 cntvect(indx_numnz) = -1
232 cntvect(indx_numnlnz) = -1
233 cntvect(indx_numhess) = -1
234 cntvect(indx_optdir) = 0
235 cntvect(indx_objtyp) = 0
236 cntvect(indx_objindx) = -1
237 cntvect(indx_base) = -1
238 cntvect(indx_fortran) = -1
239 cntvect(indx_itlim) = 1000000
240 cntvect(indx_errlim) = 0
241 cntvect(indx_inistat) = 0
242 cntvect(indx_fvinclin) = 0
243 cntvect(indx_fvforall) = 0
244 cntvect(indx_debugfv) = 0
245 cntvect(indx_maxsup) = -1
246 cntvect(indx_range) = 0
247 cntvect(indx_square) = 0
248 cntvect(indx_emptyrow) = 0
249 cntvect(indx_emptycol) = 0
250 cntvect(indx_debug2d) = 0
251 cntvect(indx_optorder) = 0
252 cntvect(indx_discont) = 0
253 cntvect(indx_stdout) = 0
254 cntvect(indx_error) = 0
255 cntvect(indx_clearm) = 0
256 cntvect(indx_maxheapused) = 0
257 cntvect(indx_threads) = 4
258 cntvect(indx_threadf) = 0
259 cntvect(indx_thread2d) = 0
260 cntvect(indx_threadc) = 0
261 cntvect(indx_licint1) = 987
262 cntvect(indx_licint2) = 654
263 cntvect(indx_licint3) = 321
264 cntvect(indx_liccod1) = 123
265 cntvect(indx_liccod2) = 456
266 cntvect(indx_liccod3) = 789
271 Call storeaddr( cntvect, indx_readmatrix, address )
272 Call storeaddr( cntvect, indx_fdevalini , address )
273 Call storeaddr( cntvect, indx_fdeval , address )
274 Call storeaddr( cntvect, indx_fdevalend , address )
275 Call storeaddr( cntvect, indx_status , address )
276 Call storeaddr( cntvect, indx_solution , address )
277 Call storeaddr( cntvect, indx_message , address )
278 Call storeaddr( cntvect, indx_progress , address )
279 Call storeaddr( cntvect, indx_option , address )
280 Call storeaddr( cntvect, indx_errmsg , address )
281 Call storeaddr( cntvect, indx_triord , address )
282 Call storeaddr( cntvect, indx_fdinterval, address )
283 Call storeaddr( cntvect, indx_2ddirini , address )
284 Call storeaddr( cntvect, indx_2ddir , address )
285 Call storeaddr( cntvect, indx_2ddirend , address )
286 Call storeaddr( cntvect, indx_2ddirlagr , address )
287 Call storeaddr( cntvect, indx_2dlagrsize, address )
288 Call storeaddr( cntvect, indx_2dlagrstr , address )
289 Call storeaddr( cntvect, indx_2dlagrval , address )
290 Call storeaddr( cntvect, indx_usrmem , address )
295 cntvect(1) = numcallback
296 cntvect(numcallback) = numcallback
314#if defined (dec_directives)
323 Integer,
dimension(NumCallBack) :: cntvect
358#if defined (dec_directives)
367 Integer,
dimension(NumCallBack) :: cntvect
370 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
372 Elseif ( numvar < 0 )
Then
375 write(20,*)
'COIDEF_NumVar: Illegal argument. NumVar=',numvar
379 cntvect(indx_numvar) = numvar
398#if defined (dec_directives)
407 Integer,
dimension(NumCallBack) :: cntvect
410 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
412 Elseif ( numcon < 0 )
Then
415 write(20,*)
'COIDEF_NumCon: Illegal argument. NumCon=',numcon
419 cntvect(indx_numcon) = numcon
437#if defined (dec_directives)
446 Integer,
dimension(NumCallBack) :: cntvect
449 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
451 Elseif ( numnz < 0 )
Then
454 write(20,*)
'COIDEF_NumNz: Illegal argument. NumNz=',numnz
458 cntvect(indx_numnz) = numnz
476#if defined (dec_directives)
485 Integer,
dimension(NumCallBack) :: cntvect
488 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
490 Elseif ( numnlnz < 0 )
Then
493 write(20,*)
'COIDEF_NumNlNz: Illegal argument. NumNlNz=',numnlnz
497 cntvect(indx_numnlnz) = numnlnz
513#if defined (dec_directives)
522 Integer,
dimension(NumCallBack) :: cntvect
525 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
527 Elseif ( numhess < 0 )
Then
530 write(20,*)
'COIDEF_NumHess: Illegal argument. NumHess=',numhess
534 cntvect(indx_numhess) = numhess
552#if defined (dec_directives)
561 Integer,
dimension(NumCallBack) :: cntvect
564 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
566 Elseif ( optdir > 1 .or. optdir < -1 )
Then
569 write(20,*)
'COIDEF_OptDir: Illegal argument. OptDir=',optdir
573 cntvect(indx_optdir) = optdir
586#if defined (dec_directives)
595 Integer,
dimension(NumCallBack) :: cntvect
598 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
600 Elseif ( objvar < 0 )
Then
603 write(20,*)
'COIDEF_ObjVar: Illegal argument. ObjVar=',objvar
607 cntvect(indx_objindx) = objvar
608 cntvect(indx_objtyp ) = 1
629#if defined (dec_directives)
638 Integer,
dimension(NumCallBack) :: cntvect
641 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
643 Elseif ( objcon < 0 )
Then
646 write(20,*)
'COIDEF_ObjCon: Illegal argument. ObjCon=',objcon
650 cntvect(indx_objindx) = objcon
651 cntvect(indx_objtyp ) = -1
680#if defined (dec_directives)
689 Integer,
dimension(NumCallBack) :: cntvect
690 Character(len=*) :: licstring
691 Character(len=CO_LicLen) :: lictext
692 Integer :: licint1, licint2, licint3
693 Integer :: liccod1, liccod2, liccod3
695 Character(len=8) date
696 Integer year, month, day
698 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
702 cntvect(indx_licint1) = licint1
703 cntvect(indx_licint2) = licint2
704 cntvect(indx_licint3) = licint3
706 call date_and_time( date )
707 read(date,
"(I4,i2,i2)") year, month, day
709 liccod2 = day + 30 * month + 360 * ( year-2000 )
711 do i = 1, len(licstring)
712 liccod1 = liccod1 + ichar(licstring(i:i))*i
713 liccod3 = liccod3 + mod(ichar(licstring(i:i))*987,1048576)
717 do j = 1, co_liclen, 4
718 Call packchar( lictext(j:j+3), cntvect(i) )
722 cntvect(indx_liccod1) = liccod1
723 cntvect(indx_liccod2) = liccod2
724 cntvect(indx_liccod3) = liccod3
743#if defined (dec_directives)
752 Integer,
dimension(NumCallBack) :: cntvect
755 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
757 Elseif ( base < 0 .or. base > 1)
Then
758 coidef_base = rangeproblem; cntvect(indx_range) = 1
760 write(20,*)
'COIDEF_Base: Illegal argument. NumBase=',base
764 cntvect(indx_base) = base
779#if defined (dec_directives)
788 Integer,
dimension(NumCallBack) :: cntvect
790 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
794 cntvect(indx_fortran) = 1
809#if defined (dec_directives)
818 Integer,
dimension(NumCallBack) :: cntvect
820 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
824 cntvect(indx_fortran) = 0
845#if defined (dec_directives)
854 Integer,
dimension(NumCallBack) :: cntvect
857 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
859 Elseif ( itlim < 0 )
Then
862 write(20,*)
'COIDEF_ItLim: Illegal argument. ItLim=',itlim
866 cntvect(indx_itlim) = itlim
890#if defined (dec_directives)
899 Integer,
dimension(NumCallBack) :: cntvect
902 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
904 Elseif ( errlim < 0 )
Then
907 write(20,*)
'COIDEF_ErrLim: Illegal argument. ErrLim=',errlim
911 cntvect(indx_errlim) = errlim
932#if defined (dec_directives)
941 Integer,
dimension(NumCallBack) :: cntvect
944 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
946 Elseif ( reslim < 0.0_co_r )
Then
949 write(20,*)
'COIDEF_ResLim: Illegal argument. ResLim=',reslim
953 Call storereal( cntvect, indx_reslim, reslim )
988#if defined (dec_directives)
997 Integer,
dimension(NumCallBack) :: cntvect
998 Real(co_r) :: maxheap
1000 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1002 Elseif ( maxheap < 0.0_co_r )
Then
1004#if defined (write20)
1005 write(20,*)
'COIDEF_Maxheap: Illegal argument. Maxheap=',maxheap
1009 Call storereal( cntvect, indx_maxheap, maxheap )
1032#if defined (dec_directives)
1039 Use conopt_utilities
1041 Integer,
dimension(NumCallBack) :: cntvect
1044 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1046 Elseif ( inistat < 0 .or. inistat > 2 )
Then
1048#if defined (write20)
1049 write(20,*)
'COIDEF_IniStat: Illegal argument. IniStat=',inistat
1053 cntvect(indx_inistat) = inistat
1078#if defined (dec_directives)
1085 Use conopt_utilities
1087 Integer,
dimension(NumCallBack) :: cntvect
1090 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1094#if defined (write20)
1095 write(20,*)
'COIDEF_FVincLin: Illegal argument. FVincLin=',
fvinclin
1124#if defined (dec_directives)
1131 Use conopt_utilities
1133 Integer,
dimension(NumCallBack) :: cntvect
1136 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1140#if defined (write20)
1141 write(20,*)
'COIDEF_FVforAll: Illegal argument. FVforAll=',
fvforall
1176#if defined (dec_directives)
1183 Use conopt_utilities
1185 Integer,
dimension(NumCallBack) :: cntvect
1188 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1190 Elseif ( maxsup < -1 )
Then
1192#if defined (write20)
1193 write(20,*)
'COIDEF_MaxSup: Illegal argument. MaxSup=',maxsup
1197 cntvect(indx_maxsup) = maxsup
1216#if defined (dec_directives)
1223 Use conopt_utilities
1225 Integer,
dimension(NumCallBack) :: cntvect
1228 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1232#if defined (write20)
1233 write(20,*)
'COIDEF_Square: Illegal argument. Square=',
square
1237 cntvect(indx_square) =
square
1257#if defined (dec_directives)
1264 Use conopt_utilities
1266 Integer,
dimension(NumCallBack) :: cntvect
1269 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1271 Elseif ( emptyrow < 0 .or. emptyrow > 1 )
Then
1273#if defined (write20)
1274 write(20,*)
'COIDEF_EmptyRow: Illegal argument. EmptyRow=',emptyrow
1278 cntvect(indx_emptyrow) = emptyrow
1300#if defined (dec_directives)
1307 Use conopt_utilities
1309 Integer,
dimension(NumCallBack) :: cntvect
1312 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1314 Elseif ( emptycol < 0 .or. emptycol > 1 )
Then
1316#if defined (write20)
1317 write(20,*)
'COIDEF_EmptyCol: Illegal argument. EmptyCol=',emptycol
1321 cntvect(indx_emptycol) = emptycol
1345#if defined (dec_directives)
1352 Use conopt_utilities
1354 Integer,
dimension(NumCallBack) :: cntvect
1357 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1359 Elseif ( discont < 0 .or. discont > 1 )
Then
1361#if defined (write20)
1362 write(20,*)
'COIDEF_DisCont: Illegal argument. DisCont=',discont
1366 cntvect(indx_discont) = discont
1387#if defined (dec_directives)
1394 Use conopt_utilities
1396 Integer,
dimension(NumCallBack) :: cntvect
1397 Real(co_r) :: hessfac
1399 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1401 Elseif ( hessfac < 0.0_co_r )
Then
1402#if defined (write20)
1403 write(20,*)
'COIDEF_HessFac: Illegal argument. HessFac=',hessfac
1408 Call storereal( cntvect, indx_hessfac, hessfac )
1438#if defined (dec_directives)
1445 Use conopt_utilities
1447 Integer,
dimension(NumCallBack) :: cntvect
1450 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1452 Elseif ( debugfv < -1 )
Then
1454#if defined (write20)
1455 write(20,*)
'COIDEF_DebugFV: Illegal argument. DebugFV=',debugfv
1459 cntvect(indx_debugfv) = debugfv
1489#if defined (dec_directives)
1496 Use conopt_utilities
1498 Integer,
dimension(NumCallBack) :: cntvect
1501 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1503 Elseif ( debug2d < -1 )
Then
1505#if defined (write20)
1506 write(20,*)
'COIDEF_Debug2D: Illegal argument. Debug2D=',debug2d
1510 cntvect(indx_debug2d) = debug2d
1539#if defined (dec_directives)
1546 Use conopt_utilities
1548 Integer,
dimension(NumCallBack) :: cntvect
1549 Real(co_r) :: zeronoise
1551 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1553 Elseif ( zeronoise < 0.0_co_r )
Then
1555#if defined (write20)
1556 write(20,*)
'COIDEF_ZeroNoise: Illegal argument. ZeroNoise=',zeronoise
1560 Call storereal( cntvect, indx_zeronoise, zeronoise )
1590#if defined (dec_directives)
1597 Use conopt_utilities
1599 Integer,
dimension(NumCallBack) :: cntvect
1602 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1604 Elseif ( threads < 0 )
Then
1606#if defined (write20)
1607 write(20,*)
'COIDEF_Threads: Illegal argument. Threads=',threads
1611 cntvect(indx_threads) = threads
1637#if defined (dec_directives)
1644 Use conopt_utilities
1646 Integer,
dimension(NumCallBack) :: cntvect
1649 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1651 Elseif ( threadf < 0 )
Then
1653#if defined (write20)
1654 write(20,*)
'COIDEF_ThreadF: Illegal argument. ThreadF=',threadf
1658 cntvect(indx_threadf) = threadf
1685#if defined (dec_directives)
1692 Use conopt_utilities
1694 Integer,
dimension(NumCallBack) :: cntvect
1697 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1699 Elseif ( thread2d < 0 )
Then
1701#if defined (write20)
1702 write(20,*)
'COIDEF_Thread2D: Illegal argument. Thread2D=',thread2d
1706 cntvect(indx_thread2d) = thread2d
1738#if defined (dec_directives)
1745 Use conopt_utilities
1747 Integer,
dimension(NumCallBack) :: cntvect
1750 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1752 Elseif ( threadc < 0 )
Then
1754#if defined (write20)
1755 write(20,*)
'COIDEF_ThreadC: Illegal argument. ThreadC=',threadc
1759 cntvect(indx_threadc) = threadc
1778#if defined (dec_directives)
1785 Use conopt_utilities
1787 Integer,
dimension(NumCallBack) :: cntvect
1790 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1792 Elseif ( tostdout < 0 .or. tostdout > 1 )
Then
1794#if defined (write20)
1795 write(20,*)
'COIDEF_StdOut: Illegal argument. StdOut=',tostdout
1799 cntvect(indx_stdout) = tostdout
1823#if defined (dec_directives)
1830 Use conopt_utilities
1832 Integer,
dimension(NumCallBack) :: cntvect
1835 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1837 Elseif ( optorder < 0 .OR. optorder > 1 )
Then
1839#if defined (write20)
1840 write(20,*)
'COIDEF_OptOrder: Illegal argument. OptOrder=',optorder
1844 cntvect(indx_optorder) = optorder
1860#if defined (dec_directives)
1867 Use conopt_utilities
1869 Integer,
dimension(NumCallBack) :: cntvect
1872 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1874 Elseif ( clearm < 0 .or. clearm > 1 )
Then
1876#if defined (write20)
1877 write(20,*)
'COIDEF_ClearM: Illegal argument. ClearM=',clearm
1881 cntvect(indx_clearm) = clearm
1906#if defined (dec_directives)
1913 Use conopt_utilities
1915 Character(Len=*) :: optfile
1916 Integer,
dimension(NumCallBack) :: cntvect
1917 Character(Len=CO_Filelen) :: filename
1920 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1925 do j = 1, co_filelen, 4
1926 Call packchar( filename(j:j+3), cntvect(i) )
1950#if defined (dec_directives)
1957 Use conopt_utilities
1959 External coi_readmatrix
1960 Integer(CO_P) :: address
1961 Integer,
dimension(NumCallBack) :: cntvect
1963 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
1967 address = coi_addressofext( coi_readmatrix )
1968 Call storeaddr( cntvect, indx_readmatrix, address )
1988#if defined (dec_directives)
1995 Use conopt_utilities
1997 External coi_fdevalini
1998 Integer(CO_P) :: address
1999 Integer,
dimension(NumCallBack) :: cntvect
2001 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2005 address = coi_addressofext( coi_fdevalini )
2006 Call storeaddr( cntvect, indx_fdevalini, address )
2024#if defined (dec_directives)
2031 Use conopt_utilities
2034 Integer(CO_P) :: address
2035 Integer,
dimension(NumCallBack) :: cntvect
2037 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2041 address = coi_addressofext( coi_fdeval )
2042 Call storeaddr( cntvect, indx_fdeval, address )
2061#if defined (dec_directives)
2068 Use conopt_utilities
2070 External coi_fdevalend
2071 Integer(CO_P) :: address
2072 Integer,
dimension(NumCallBack) :: cntvect
2074 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2078 address = coi_addressofext( coi_fdevalend )
2079 Call storeaddr( cntvect, indx_fdevalend, address )
2099#if defined (dec_directives)
2106 Use conopt_utilities
2109 Integer(CO_P) :: address
2110 Integer,
dimension(NumCallBack) :: cntvect
2112 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2116 address = coi_addressofext( coi_status )
2117 Call storeaddr( cntvect, indx_status, address )
2137#if defined (dec_directives)
2144 Use conopt_utilities
2146 External coi_solution
2147 Integer(CO_P) :: address
2148 Integer,
dimension(NumCallBack) :: cntvect
2150 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2154 address = coi_addressofext( coi_solution )
2155 Call storeaddr( cntvect, indx_solution, address )
2176#if defined (dec_directives)
2183 Use conopt_utilities
2185 External coi_message
2186 Integer(CO_P) :: address
2187 Integer,
dimension(NumCallBack) :: cntvect
2189 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2193 address = coi_addressofext( coi_message )
2194 Call storeaddr( cntvect, indx_message, address )
2214#if defined (dec_directives)
2221 Use conopt_utilities
2223 External coi_progress
2224 Integer(CO_P) :: address
2225 Integer,
dimension(NumCallBack) :: cntvect
2227 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2231 address = coi_addressofext( coi_progress )
2232 Call storeaddr( cntvect, indx_progress, address )
2255#if defined (dec_directives)
2262 Use conopt_utilities
2265 Integer(CO_P) :: address
2266 Integer,
dimension(NumCallBack) :: cntvect
2268 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2272 address = coi_addressofext( coi_option )
2273 Call storeaddr( cntvect, indx_option, address )
2293#if defined (dec_directives)
2300 Use conopt_utilities
2303 Integer(CO_P) :: address
2304 Integer,
dimension(NumCallBack) :: cntvect
2306 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2310 address = coi_addressofext( coi_errmsg )
2311 Call storeaddr( cntvect, indx_errmsg, address )
2330#if defined (dec_directives)
2337 Use conopt_utilities
2340 Integer(CO_P) :: address
2341 Integer,
dimension(NumCallBack) :: cntvect
2343 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2347 address = coi_addressofext( coi_triord )
2348 Call storeaddr( cntvect, indx_triord, address )
2367#if defined (dec_directives)
2374 Use conopt_utilities
2376 External coi_fdinterval
2377 Integer(CO_P) :: address
2378 Integer,
dimension(NumCallBack) :: cntvect
2380 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2384 address = coi_addressofext( coi_fdinterval )
2385 Call storeaddr( cntvect, indx_fdinterval, address )
2404#if defined (dec_directives)
2411 Use conopt_utilities
2414 Integer(CO_P) :: address
2415 Integer,
dimension(NumCallBack) :: cntvect
2417 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2421 address = coi_addressofext( coi_2ddir )
2422 Call storeaddr( cntvect, indx_2ddir, address )
2448#if defined (dec_directives)
2455 Use conopt_utilities
2457 External coi_2ddirini
2458 Integer(CO_P) :: address
2459 Integer,
dimension(NumCallBack) :: cntvect
2461 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2465 address = coi_addressofext( coi_2ddirini )
2466 Call storeaddr( cntvect, indx_2ddirini, address )
2491#if defined (dec_directives)
2498 Use conopt_utilities
2500 External coi_2ddirend
2501 Integer(CO_P) :: address
2502 Integer,
dimension(NumCallBack) :: cntvect
2504 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2508 address = coi_addressofext( coi_2ddirend )
2509 Call storeaddr( cntvect, indx_2ddirend, address )
2528#if defined (dec_directives)
2535 Use conopt_utilities
2537 External coi_2ddirlagr
2538 Integer(CO_P) :: address
2539 Integer,
dimension(NumCallBack) :: cntvect
2541 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2545 address = coi_addressofext( coi_2ddirlagr )
2546 Call storeaddr( cntvect, indx_2ddirlagr, address )
2552#if defined (dec_directives)
2559 Use conopt_utilities
2561 External coi_2dlagrsize
2562 Integer(CO_P) :: address
2563 Integer,
dimension(NumCallBack) :: cntvect
2565 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2569 address = coi_addressofext( coi_2dlagrsize )
2570 Call storeaddr( cntvect, indx_2dlagrsize, address )
2590#if defined (dec_directives)
2597 Use conopt_utilities
2599 External coi_2dlagrstr
2600 Integer(CO_P) :: address
2601 Integer,
dimension(NumCallBack) :: cntvect
2603 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2607 address = coi_addressofext( coi_2dlagrstr )
2608 Call storeaddr( cntvect, indx_2dlagrstr, address )
2628#if defined (dec_directives)
2635 Use conopt_utilities
2637 External coi_2dlagrval
2638 Integer(CO_P) :: address
2639 Integer,
dimension(NumCallBack) :: cntvect
2641 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2645 address = coi_addressofext( coi_2dlagrval )
2646 Call storeaddr( cntvect, indx_2dlagrval, address )
2668#if defined (dec_directives)
2675 Use conopt_utilities
2677 Integer,
Dimension(*) :: usrmem
2678 Integer(CO_P) :: address
2679 Integer,
dimension(NumCallBack) :: cntvect
2681 If ( cntvect(1) /= numcallback .or. cntvect(numcallback) /= numcallback)
Then
2685 address = coi_addressofext( usrmem )
2686 Call storeaddr( cntvect, indx_usrmem, address )
integer function coidef_2dlagrsize(cntvect, coi_2dlagrsize)
program fvforall
Main program. A simple setup and call of CONOPT.
program fvinclin
Main program. A simple setup and call of CONOPT.
integer function coidef_fdeval(cntvect, coi_fdeval)
define callback routine for performing function and derivative evaluations.
integer function coidef_errmsg(cntvect, coi_errmsg)
define callback routine for returning error messages for row, column or Jacobian elements.
integer function coidef_message(cntvect, coi_message)
define callback routine for handling messages returned during the solution process.
integer function coidef_readmatrix(cntvect, coi_readmatrix)
define callback routine for providing the matrix data to CONOPT.
integer function coidef_status(cntvect, coi_status)
define callback routine for returning the completion status.
integer function coidef_solution(cntvect, coi_solution)
define callback routine for returning the final solution values.
integer function coidef_2ddirini(cntvect, coi_2ddirini)
define callback routine for initializing the computation of second derivatives for a constraint in a ...
integer function coidef_2dlagrstr(cntvect, coi_2dlagrstr)
define callback routine for providing the structure of the second derivatives of the Lagrangian.
integer function coidef_2ddir(cntvect, coi_2ddir)
define callback routine for computing the second derivative for a constraint in a direction.
integer function coidef_option(cntvect, coi_option)
define callback routine for defining runtime options.
integer function coidef_fdevalini(cntvect, coi_fdevalini)
define callback routine to perform initialization tasks for the function and derivative evaluation.
integer function coidef_optfile(cntvect, optfile)
define callback routine for defining an options file.
integer function coidef_2ddirend(cntvect, coi_2ddirend)
define callback routine for termination the computation of second derivatives for a constraint in a d...
integer function coidef_usrmem(cntvect, usrmem)
provides a pointer to user memory that is available in all callback functions. NOTE: this is not a ca...
integer function coidef_triord(cntvect, coi_triord)
define callback routine for providing the triangular order information.
integer function coidef_2dlagrval(cntvect, coi_2dlagrval)
define callback routine for computing the values of the second derivatives of the Lagrangian.
integer function coidef_progress(cntvect, coi_progress)
define callback routine for monitoring the algorithmic progress.
integer function coidef_2ddirlagr(cntvect, coi_2ddirlagr)
define callback routine for computing the second derivative of the Lagrangian in a direction.
integer function coidef_fdevalend(cntvect, coi_fdevalend)
define callback routine for the termination of the function and derivative evaluation.
integer function coidef_fdinterval(cntvect, coi_fdinterval)
define callback routine for performing function and derivative evaluations on intervals.
integer function coidef_inistat(cntvect, inistat)
handling of the initial status values.
integer function coidef_threadf(cntvect, threadf)
number of threads allowed for simultaneous FDEval calls.
integer function coidef_stdout(cntvect, tostdout)
allow output to StdOut.
integer function coidef_discont(cntvect, discont)
allow discontinuous functions and derivatives.
integer function coidef_emptyrow(cntvect, emptyrow)
allow empty rows.
integer function coidef_threads(cntvect, threads)
number of threads allowed internally in CONOPT.
integer function coidef_emptycol(cntvect, emptycol)
allow empty columns.
integer function coidef_hessfac(cntvect, hessfac)
factor for Hessian density relative to Jacobian density HessFac.
integer function coidef_square(cntvect, square)
square models.
integer function coidef_debugfv(cntvect, debugfv)
turn Debugging of FDEval on and off.
integer function coidef_maxsup(cntvect, maxsup)
limit on superbasics.
integer function coidef_c(cntvect)
define C Conventions for Argument Passing.
integer function coidef_fvinclin(cntvect, fvinclin)
include the linear terms in function evaluations.
integer function coidef_debug2d(cntvect, debug2d)
turn debugging of 2nd derivatives on and off.
integer function coidef_itlim(cntvect, itlim)
define the Iteration Limit.
integer function coidef_zeronoise(cntvect, zeronoise)
define zero noise level.
integer function coidef_base(cntvect, base)
define the Base index for vectors.
integer function coidef_license(cntvect, licint1, licint2, licint3, licstring)
define the License Information.
integer function coidef_fvforall(cntvect, fvforall)
call the FDEval for all constraints, including linear constraints.
integer function coidef_threadc(cntvect, threadc)
check for thread compatibility.
integer function coidef_optorder(cntvect, optorder)
define Optfile / Option order.
integer function coidef_reslim(cntvect, reslim)
define resource limit.
integer function coidef_maxheap(cntvect, maxheap)
define Limit on Heap Memory. ""
integer function coidef_fortran(cntvect)
define Fortran Conventions for Argument Passing.
integer function coidef_thread2d(cntvect, thread2d)
number of threads allowed for simultaneous 2DDir calls.
integer function coidef_errlim(cntvect, errlim)
define the Error Limit.
integer function coidef_clearm(cntvect, clearm)
ClearM.
integer function coidef_numvar(cntvect, numvar)
defines the number of variables in the model.
integer function coidef_objcon(cntvect, objcon)
defines the Objective Constraint.
integer function coidef_numnz(cntvect, numnz)
defines the number of nonzero elements in the Jacobian.
integer function coidef_optdir(cntvect, optdir)
defines the Optimization Direction.
integer function coidef_numnlnz(cntvect, numnlnz)
defines the Number of Nonlinear Nonzeros.
integer function coidef_numhess(cntvect, numhess)
defines the Number of Hessian Nonzeros.
integer function coidef_numcon(cntvect, numcon)
defines the number of constraints in the model.
integer function coidef_objvar(cntvect, objvar)
defines the Objective Variable.
integer function coidef_size()
returns the size the Control Vector must have, measured in standard Integer units.
integer function coidef_ini(cntvect)
initializes the Control Vector by placing default values in the various positions.
integer function coidef_inifort(cntvect)
initialisation method for Fortran applications.
integer function coiget_maxthreads(cntvect)
returns the maximum number of threads that can be used by CONOPT.
real *8 function coiget_maxheapused(cntvect)
After a model has been solved this method will return the amount of heap memory used.
integer function coiget_rangeerrors(cntvect)
returns the range errors that were encountered.
subroutine coiget_version(major, minor, patch)
returns the version number. It can be used to ensure that the modeler is linked to the correct versio...
integer function coi_solve(cntvect)
method for starting the solving process of CONOPT.
program square
Main program. A simple setup and call of CONOPT.