Describe changes and features for each release.
Released December 21, 2017
Microsoft Visual C++ 2017
Note Microsoft Visual C++ 2013 is no longer supported.
There were approximately 900 commits to improve ADMB. Below are some of the changes.
Added floating point checking into tpl2cpp and tpl2rem.
To check for floating point errors, build executable with -g option.
$ admb -g “model.tpl”
Run executable with debugger (such as gdb) to locate file and line number where error occured.
$ gdb ./model
Added release version into admb scripts -h option to help troubleshooting installation conflicts.
The new output include Release Version info.
$ admb -h
Builds AD Model Builder executable or library.
Usage: admb [-c] [-d] [-g] [-r] [-f] model [src(s)]
Release Version: 11.6
Options: -c Build only object file(s) (.obj). -d Build a shared library (.so). -g Build with debug symbols. -r Build with Random effects library (ADMB-RE). -f Build with Fast optimized mode library (no bounds checking). By default, admb script builds with bounds checking. model TPL file (ie ‘simple.tpl’ or the filename ‘simple’ with no .tpl extension) src(s) C/C++ Source file(s) containing classes, methods and variables that are used in model.
User interface: Windows admb bash script has a .sh extension to avoid conflict with batch file. So in MinGW or Cygwin shell, user will need to use
[~/admb/examples/admb/simple/]$ ~/admb/admb.sh simple
To build with optimized libraries use fast option (-f) instead of (-o).
$ admb -f model.tpl
Fix shared (libadmb.so) and dynamic (admb.dll) builds.
[~/admb/]$ make shared C:\admb\> utilities\make shared
Note — This is great for testing linker errors.
Added contributed method to save gradient values to a file. Contributed by Jiashen Tang and David Fournier.
admb scripts can determine which parser (tpl2cpp or tpl2rem) to use.
[~/admb/examples/admb-re/union/]$ ~/admb/admb union
Note: Option *-r* is no longer needed to build the random effects model.
Note: Borland 5.5 compiler is no longer supported.
Add debug target to build files.
$ make debug
Add shared target to build files (Unix only).
$ make shared
admb scripts can be called directly and do not require setting enviromental variables ADMB_HOME and PATH.
[~/admb/example/admb/simple/]$ ~/admb/admb simple
C:\admb\example\admb\simple\> C:\admb\admb simple
admb scripts can build C++ source files and link.
[~/admb/example/admb/simple/]$ ~/admb/admb simple.tpl mysource.cpp
C:\admb\example\admb\simple\> C:\admb\admb simple.tpl mysource.cpp
admb scripts have a new option -f for optimized library “OPT_LIB”.
[~/admb/example/admb/simple/]$ ~/admb/admb -f simple.tpl mysource.cpp
C:\admb\example\admb\simple\> C:\admb\admb -f simple.tpl mysource.cpp
admb scripts have a new option -c for only building object files.
Both commands below will only build simple.o and mysource.o compiled object files.
The model application will not be built.
[~/admb/example/admb/simple/]$ ~/admb/admb -c simple.tpl mysource.cpp
C:\admb\example\admb\simple\> C:\admb\admb -c simple.tpl mysource.cpp
Note: This is the almost the same as using ‘adcomp mysource’.
The following are planned or requested features for the next release.
Released May 10, 2013
Updated Visual Studio nmake build files.
Improved Unix build files.
Fast parallel building with source distribution
[~/admb/]$ make -j
Combined mulitple libraries to a single library ‘libadmb.a’.
Reverted some algorithms to previous version-9 code.
The compilation scripts (adcomp, adlink, admb) compile in “safe” mode by default.
added ‘s’ option with the Ctrl^C
contributed libraries are built with the main libraries.
flex is not needed to build ADMB, but it is needed to develop the tpl2cpp.lex and tpl2rem.lex files.
admb script can now build tpl models without the need to set ADMB_HOME or PATH. For example,
[~/admb-11.1/examples/admb/simple/]$ ~/admb-11.1/admb simple
Functions from user-contributed packages can be loaded from directory ‘contrib’. Read ‘contrib/README.txt’.
New class ‘init_table’ to read input data into a matrix.
New function sumsq() to calculate sum of squared values, equivalent to norm2().
New constant PI for 3.141593… Makes models more portable than using M_PI or other compiler-specific constants.
New shell command ‘ad2csv’ to write binary files to screen or to a file.
admb is now able to handle .obj, .cpp and .tpl files on the commandline.
$ admb model.tpl supportcode.cpp anotherfile.cpp
Output is executable ‘model’.
For help and support, email email@example.com.