NAG recommends that you read the following minimum reference material before calling any library function:
(a) Essential Introduction
(b) Chapter Introduction
(c) Function Document
(d) Implementation-specific Users' Note
Items (a), (b) and (c) are included in the NAG C Library Manual; item (d) is this document which is provided in HTML form.
The library may also be called from the Borland C/C++ and Watcom C/C++ compilers, and from other environments including Microsoft Visual Basic, Visual Basic for Applications (used by the Microsoft Office family of products), Borland Delphi and Java.
cl /I c:\cldll064z\include driver.c c:\cldll064z\dll\nagc.lib user32.libwhere nagc.lib is the NAG C import library and user32.lib is the user32 import library that comes with Visual C++.
If the location of the NAG include files and the NAG import library has been added to the Microsoft compiler environment variables INCLUDE and LIB, respectively, then you may link with the NAG C Library as follows:
cl driver.c nagc.lib user32.lib
bcc32 -Ic:\cldll064z\include driver.c c:\cldll064z\dll\nagc_bc.libwhere nagc_bc.lib is the NAG C import library (Borland version).
wcc386 -ei -Ic:\cldll064z\include driver.c c:\cldll064z\dll\nagc_wc.libwhere nagc_wc.lib is the NAG C import library (Watcom version), and the compiler option -ei means "treat enum types as integers" (this flag is essential if you call a NAG C Library function which has any argument of an enumerated type).
The following is relevant when accessing the library from Visual Basic.
Within a number of NAG C Library functions, memory is allocated internally and
returned to the calling function. This allocated memory contains information
that is potentially useful to the user. Consequently freeing this memory has
been left to user discretion. However, in the context of DLLs such internally
allocated memory cannot be freed externally. A special DLL function, x04bdc,
has therefore been provided to free this memory. The specification of x04bdc
is:
void x04bdc( void ** );
For an example of the use of this function, please refer to the g05eac example program.
runex c06eacwill copy the example program and its data into the files c06eace.c and c06eafe.d in the current directory and process them to produce the example program results in the file c06eafe.r.
Further usage details may be obtained by running the batch file runex without arguments.
Note that runex.bat assumes the use of the Microsoft Visual C++ compiler. Variants of runex.bat, named runex_bc.bat and runex_wc.bat, assume the use of Borland C++ and Watcom C++ respectively.
A full on-line version of the NAG C Library Manual is supplied in the form of Portable Document Format (PDF) files. You will need to check how this version has been made available at your site.
A new optional parameter 'optim_tol' has been introduced to allow users a further means of controlling the optimization process.
e04unc (for all implementations)
A member 'needf' has been added to the comm structure to allow users to provide only one component of fi(x) of the objective function in objfun (instead of having to provide all components systematically). This can significantly reduce the computation time when checking and approximating derivatives.
Note that users are not required to modify their existing programs if these changes are not relevant to them.
Any further information which applies to one or more functions in this implementation is listed below, chapter by chapter.
s10aac E(1) = 18.500 s10abc fail.code = NE_REAL_ARG_GT if X > 708.0 s10acc fail.code = NE_REAL_ARG_GT if X > 708.0 s13aac x(hi) = 708.3 s13acc x(hi) = 1.0e+16 s13adc x(hi) = 1.0e+17 s14aac fail.code = NE_REAL_ARG_GT if X > 170. fail.code = NE_REAL_ARG_LT if X < -170. fail.code = NE_REAL_ARG_TOO_SMALL if ABS(X) < 2.23e-308 s14abc fail.code = NE_REAL_ARG_GT if X > 2.55e+305 s17acc fail.code = NE_REAL_ARG_GT if X > 1.0e+16 s17adc fail.code = NE_REAL_ARG_GT if X > 1.0e+16 fail.code = NE_REAL_ARG_TOO_SMALL if X <= 2.23e-308 s17aec fail.code = NE_REAL_ARG_GT if ABS(X) > 1.0e+16 s17afc fail.code = NE_REAL_ARG_GT if ABS(X) > 1.0e+16 s17agc fail.code = NE_REAL_ARG_GT if X > 103.8 fail.code = NE_REAL_ARG_LT if X < -5.6e+10 s17ahc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X < -5.6e+10 s17ajc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X < -1.8e+9 s17akc fail.code = NE_REAL_ARG_GT if X > 104.1 fail.code = NE_REAL_ARG_LT if X < -1.8e+9 s18adc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 2.23e-308 s18aec fail.code = NE_REAL_ARG_GT if ABS(X) > 711.6 s18afc fail.code = NE_REAL_ARG_GT if ABS(X) > 711.6 s18cdc fail.code = NE_REAL_ARG_TOO_SMALL if 0.0 < X <= 2.23e-308 s19aac fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.5000 s19abc fail.code = NE_REAL_ARG_GT if ABS(X) >= 49.5000 s19acc fail.code = NE_REAL_ARG_GT if X > 997.26 s19adc fail.code = NE_REAL_ARG_GT if X > 997.26 s21bcc fail.code = NE_REAL_ARG_LT if an argument < 1.579e-205 fail.code = NE_REAL_ARG_GE if an argument >= 3.774e+202 s21bdc fail.code = NE_REAL_ARG_LT if an argument < 2.820e-103 fail.code = NE_REAL_ARG_GT if an argument > 1.404e+102
X01AAC (pi) = 3.1415926535897932 X01ABC (gamma) = 0.5772156649015329
The basic parameters of the model
X02BHC = 2 X02BJC = 53 X02BKC = -1021 X02BLC = 1024 X02DJC = TRUEDerived parameters of the floating-point arithmetic
X02AJC = 0x3ca0000000000001 ( 1.11022302462516e-16 ) X02AKC = 0x0010000000000000 ( 2.22507385850721e-308 ) X02ALC = 0x7fefffffffffffff ( 1.79769313486231e+308 ) X02AMC = 0x0010000000000000 ( 2.22507385850721e-308 ) X02ANC = 0x0010000000000000 ( 2.22507385850721e-308 )Parameters of other aspects of the computing environment
X02AHC = 0x43f0000000000000 ( 1.84467440737095e+19 ) X02BBC = 2147483647 X02BEC = 15 X02DAC = FALSE
Printed copies of the NAG C Library Manual are available for purchase; please refer to the NAG documentation order form (available on the NAG websites, see Section 6 (c)) for details of current prices.
The NAG Response Centres are available for general enquiries from all users and also for technical queries from sites with an annually licensed product or support service.
The Response Centres are open during office hours, but contact is possible by fax, email and phone (answering machine) at all times.
When contacting a Response Centre please quote your NAG site reference and NAG product code (in this case CLDLL064Z).
The NAG websites are an information service providing items of interest to users and prospective users of NAG products and services. The information is reviewed and updated regularly and includes implementation availability, descriptions of products, downloadable software, product documentation and technical reports. The NAG websites can be accessed at
or
http://www.nag.com/ (in North America)
or
http://www.nag-j.co.jp/ (in Japan)
NAG Ltd Wilkinson House Jordan Hill Road OXFORD OX2 8DR NAG Ltd Response Centre United Kingdom email: support@nag.co.uk Tel: +44 (0)1865 511245 Tel: +44 (0)1865 311744 Fax: +44 (0)1865 310139 Fax: +44 (0)1865 310139 NAG Inc 1431 Opus Place, Suite 220 Downers Grove IL 60515-1362 NAG Inc Response Center USA email: infodesk@nag.com Tel: +1 630 971 2337 Tel: +1 630 971 2345 Fax: +1 630 971 2706 Fax: +1 630 971 2706 Nihon NAG KK Yaesu Nagaoka Building No. 6 1-9-8 Minato Chuo-ku Tokyo Japan email: help@nag-j.co.jp Tel: +81 (0)3 5542 6311 Fax: +81 (0)3 5542 6312 [NP3545/UN]