ADOL-C: Automatic Differentiation in C/C++ 2.7.3
Loading...
Searching...
No Matches
convolut.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------------
2 ADOL-C -- Automatic Differentiation by Overloading in C++
3 File: convolut.h
4 Revision: $Id$
5 Contents: Convolution routines (used by ho_rev.mc)
6
7 Copyright (c) Andrea Walther, Andreas Griewank, Andreas Kowarz,
8 Hristo Mitev, Sebastian Schlenkrich, Jean Utke, Olaf Vogel
9
10 This file is part of ADOL-C. This software is provided as open source.
11 Any use, reproduction, or distribution of the software constitutes
12 recipient's acceptance of the terms of the accompanying license file.
13
14----------------------------------------------------------------------------*/
15
16#if !defined(ADOLC_CONVOLUT_H)
17#define ADOLC_CONVOLUT_H 1
18
20
22
23/****************************************************************************/
24/* CONVOLUTION */
25
26/*--------------------------------------------------------------------------*/
27/* Evaluates convolution of a and b to c */
28void conv(int dim, revreal *a, revreal *b, revreal *c);
29void conv0(int dim, revreal *a, revreal *b, revreal *c);
30
31/****************************************************************************/
32/* INCREMENTAL CONVOLUTION */
33
34/*--------------------------------------------------------------------------*/
35/* Increments truncated convolution of a and b to c */
36void inconv(int dim, revreal *a, revreal *b, revreal *c);
37
38/*--------------------------------------------------------------------------*/
39/* Increments truncated convolution of a and b to c and sets a to zero */
40void inconv0(int dim, revreal *a, revreal *b, revreal *c);
41void inconv1(int dim, revreal *a, revreal *b, revreal *c);
42
43/****************************************************************************/
44/* DECREMENTAL CONVOLUTION */
45
46/*--------------------------------------------------------------------------*/
47/* Decrements truncated convolution of a and b to c */
48void deconv(int dim, revreal *a, revreal *b, revreal *c);
49
50/*--------------------------------------------------------------------------*/
51/* Decrements truncated convolution of a and b to c and sets a to zero */
52void deconv0(int dim, revreal *a, revreal *b, revreal *c);
53void deconv1(int dim, revreal *a, revreal *b, revreal *c);
54
55/****************************************************************************/
56/* OTHER USEFUL ROUTINES */
57
58/*--------------------------------------------------------------------------*/
59void divide(int dim, revreal *a, revreal *b, revreal *c);
60
61/*--------------------------------------------------------------------------*/
62void recipr(int dim, double a, revreal *b, revreal *c);
63
64/****************************************************************************/
65/* ZEROING */
66
67/*--------------------------------------------------------------------------*/
68/* Set a to zero */
69void zeroset(int dim, double *a);
70
71/*--------------------------------------------------------------------------*/
72/* Copies a to tmp and initializes a to zero */
73void copyAndZeroset(int dim, revreal *a, revreal *tmp);
74
75/****************************************************************************/
77
78#endif
#define BEGIN_C_DECLS
Definition common.h:115
#define END_C_DECLS
Definition common.h:116
void inconv1(int dim, revreal *a, revreal *b, revreal *c)
void inconv(int dim, revreal *a, revreal *b, revreal *c)
void divide(int dim, revreal *a, revreal *b, revreal *c)
void copyAndZeroset(int dim, revreal *a, revreal *tmp)
void inconv0(int dim, revreal *a, revreal *b, revreal *c)
void deconv1(int dim, revreal *a, revreal *b, revreal *c)
BEGIN_C_DECLS void conv(int dim, revreal *a, revreal *b, revreal *c)
void conv0(int dim, revreal *a, revreal *b, revreal *c)
void deconv0(int dim, revreal *a, revreal *b, revreal *c)
void recipr(int dim, double a, revreal *b, revreal *c)
void zeroset(int dim, double *a)
void deconv(int dim, revreal *a, revreal *b, revreal *c)