source: trunk/ADOL-C/src/convolut.h @ 71

Last change on this file since 71 was 42, checked in by awalther, 10 years ago

set svn keywords property

  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1/*----------------------------------------------------------------------------
2 ADOL-C -- Automatic Differentiation by Overloading in C++
3 File:     convolut.h
4 Revision: $Id: convolut.h 42 2009-07-15 18:37:17Z awalther $
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
19#include <common.h>
20
21BEGIN_C_DECLS
22
23/****************************************************************************/
24/*                                                              CONVOLUTION */
25
26/*--------------------------------------------------------------------------*/
27/* Evaluates convolution of a and b to c */
28void conv( int dim, double *a, revreal *b, double *c );
29void conv0( int dim, revreal *a, revreal *b, double *c );
30
31/****************************************************************************/
32/*                                                  INCREMENTAL CONVOLUTION */
33
34/*--------------------------------------------------------------------------*/
35/* Increments truncated convolution of a and b to c */
36void inconv ( int dim, double *a, revreal *b, double* c );
37
38/*--------------------------------------------------------------------------*/
39/* Increments truncated convolution of a and b to c and sets a to zero */
40void inconv0( int dim, double *a, revreal *b, double* c );
41void inconv1( int dim, revreal *a, revreal *b, revreal* c );
42
43
44/****************************************************************************/
45/*                                                  DECREMENTAL CONVOLUTION */
46
47/*--------------------------------------------------------------------------*/
48/* Decrements truncated convolution of a and b to c */
49void deconv ( int dim, double* a, double *b, double* c );
50
51/*--------------------------------------------------------------------------*/
52/* Decrements truncated convolution of a and b to c and sets a to zero */
53void deconv0( int dim, double* a, revreal *b, double* c );
54void deconv1( int dim, revreal* a, revreal *b, revreal* c );
55
56
57/****************************************************************************/
58/*                                                    OTHER USEFUL ROUTINES */
59
60/*--------------------------------------------------------------------------*/
61void divide(int dim, revreal* a, revreal *b, revreal* c);
62
63/*--------------------------------------------------------------------------*/
64void recipr(int dim, double  a, revreal *b, revreal* c);
65
66
67/****************************************************************************/
68/*                                                                  ZEROING */
69
70/*--------------------------------------------------------------------------*/
71/* Set a to zero */
72void zeroset(int dim, double* a);
73
74/*--------------------------------------------------------------------------*/
75/* Copies a to tmp and initializes a to zero */
76void copyAndZeroset( int dim, double *a, double* tmp);
77
78
79/****************************************************************************/
80END_C_DECLS
81
82#endif
Note: See TracBrowser for help on using the repository browser.