PrevNext

@(@ \newcommand{\B}[1]{ {\bf #1} } \newcommand{\R}[1]{ {\rm #1} } @)@
cppad_swig-20180627: A C++ AD Library with a Swig Interface

Purpose
Provide Algorithmic Differentiation (AD), for any Swig scripting language, using a C++ object library that connects some of the features of Cppad . This interface is limited by the fact that it is for any scripting language and for C++. It is expected that one will write special purpose wrapping operations, in each particular language, to make a more natural interface for that language. For example, in Python, one might create numpy versions of the vector classes.

Getting Started
The following is a good place to see what the interface is for the currently supported languages: C++ , Octave , Perl , Python .

C++ Function Speed
One can use Cppad Swig to get faster function evaluation in scripting languages, when the sequence of floating point operations does not depend on the independent variables. Once an a_fun is recorded, zero order forward mode can be used to effectively evaluate the function in C++ instead of the scripting language.

Supporting Packages
The Cppad package is automatically installed by run_cmake.sh . The following packages are not automatically installed:

Required
C++ , Cmake , Git , m4 , Swig ,

Optional
Octave , Perl , Python

Source Directory
This is a preliminary version of this package. Currently, one gets the source code from Github at cppad_swig . The corresponding directory is referred to as the source directory. For example, if one uses the command
     git clone https://github.com/bradbell/cppad_swig cppad_swig.git
the source directory is cppad_swig.git.

Support
As yet, there is no install procedure for this package. Part of the problem here is that it would be different for different scripting languages. Contact the author if you are working with a particular language and have need of an install procedure or other support.

License
This program is distributed under the terms of the GNU General Public License version 3.0 or later see gpl-3.0.txt .

Contents
testing Running the Cppad Swig Tests
swig_xam.i Example Using Swig with C++
library The Cppad Swig Library
whats_new_2018 Cppad Swig Changes During 2018

Input File: doc.omh