source: trunk/ADOL-C/include/adolc/adolc.h @ 736

Last change on this file since 736 was 736, checked in by kulshres, 2 years ago

design a C++ object oriented wrapper for external functions

it is easier to work with classes, inheritence and overloaded member
functions in scripting languages like python and R instead of raw
pointers to functions in order to call arbitrary code.

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1/*----------------------------------------------------------------------------
2 ADOL-C -- Automatic Differentiation by Overloading in C++
3 File:     adolc.h
4 Revision: $Id: adolc.h 736 2017-05-30 08:48:05Z kulshres $
5 Contents: Provides all C/C++ interfaces of ADOL-C.
6           NOTICE: ALL C/C++ headers will be included DEPENDING ON
7           whether the source code is plain C or C/C++ code.
8 
9 Copyright (c) Andrea Walther, Andreas Griewank, Andreas Kowarz,
10               Hristo Mitev, Sebastian Schlenkrich, Jean Utke, Olaf Vogel
11
12 This file is part of ADOL-C. This software is provided as open source.
13 Any use, reproduction, or distribution of the software constitutes
14 recipient's acceptance of the terms of the accompanying license file. 
15 
16----------------------------------------------------------------------------*/
17
18#if !defined(ADOLC_ADOLC_H)
19#define ADOLC_ADOLC_H 1
20
21#include <adolc/internal/common.h>
22
23/****************************************************************************/
24/*                                                  Now the pure C++ THINGS */
25#if defined(__cplusplus)
26/*--------------------------------------------------------------------------*/
27/* Operator overloading things (active doubles & vectors) */
28#  include <adolc/adouble.h>
29#  include <adolc/externfcts.h>
30#  include <adolc/checkpointing.h>
31#  include <adolc/fixpoint.h>
32#endif
33
34/****************************************************************************/
35/*                                                     Now the C/C++ THINGS */
36
37/*--------------------------------------------------------------------------*/
38/* interfaces to basic forward/reverse routines */
39#include <adolc/interfaces.h>
40
41/*--------------------------------------------------------------------------*/
42/* interfaces to "Easy To Use" driver routines for ... */
43#include <adolc/drivers/drivers.h>    /* optimization & nonlinear equations */
44#include <adolc/drivers/taylor.h>     /* higher order tensors & inverse/implicit functions */
45#include <adolc/drivers/odedrivers.h> /* ordinary differential equations */
46#include <adolc/drivers/psdrivers.h> /* piecewise smooth functions */
47
48/*--------------------------------------------------------------------------*/
49/* interfaces to TAPEDOC package */
50#include <adolc/tapedoc/tapedoc.h>
51
52/*--------------------------------------------------------------------------*/
53/* interfaces to SPARSE package */
54#if defined(SPARSE)
55#include <adolc/sparse/sparsedrivers.h>
56#include <adolc/sparse/sparse_fo_rev.h>
57#endif
58
59/*--------------------------------------------------------------------------*/
60/* parameters */
61#include <adolc/param.h>
62
63/*--------------------------------------------------------------------------*/
64/* tape and value stack utilities */
65#include <adolc/taping.h>
66
67/*--------------------------------------------------------------------------*/
68/* allocation utilities */
69#include <adolc/adalloc.h>
70
71/****************************************************************************/
72#endif
Note: See TracBrowser for help on using the repository browser.