1 /*----------------------------------------------------------------------------
2  ADOL-C -- Automatic Differentiation by Overloading in C++
3  File:     usrparms.h
4  Revision: $Id: usrparms.h 670 2016-03-17 14:11:42Z kulshres $
5  Contents: User parameters:
6            These parameters might affect the performance of the ADOL-C
7            system; they are intended to be tweeked by users and local
8            maintainence personal.
9 
10  Copyright (c) Andrea Walther, Andreas Griewank, Andreas Kowarz,
11                Hristo Mitev, Sebastian Schlenkrich, Jean Utke, Olaf Vogel
12 
13  This file is part of ADOL-C. This software is provided as open source.
14  Any use, reproduction, or distribution of the software constitutes
15  recipient's acceptance of the terms of the accompanying license file.
16 
17 ----------------------------------------------------------------------------*/
18 
19 #if !defined(ADOLC_USRPARMS_H)
20 #define ADOLC_USRPARMS_H 1
21 
22 /*--------------------------------------------------------------------------*/
23 /* Buffer sizes */
24 #define OBUFSIZE 524288 /* 16384 or  65536  */
25 #define LBUFSIZE 524288 /* 16384 or  65536  */
26 #define VBUFSIZE 524288 /* 16384 or  65536  */
27 
28 /*--------------------------------------------------------------------------*/
29 /* Buffer size for temporary Taylor store */
30 #define TBUFSIZE 524288 /* 16384 or  65536  */
31 
32 /*--------------------------------------------------------------------------*/
33 /* Number of temporary Taylor stores*/
34 #define TBUFNUM    32
35 
36 /*--------------------------------------------------------------------------*/
37 /* Data types used by Fortran callable versions of functions */
38 #define fint       long
39 #define fdouble    double
40 
41 /*--------------------------------------------------------------------------*/
42 /* Definionion of inf and NaN */
43 #define inf_num    1.0     /* don't undefine these;  on non-IEEE machines */
44 #define inf_den    0.0     /* change the values to get small fractions    */
45 #define non_num    0.0     /* (inf_num/inf_den) and (non_num/non_den)     */
46 #define non_den    0.0     /* respectively, see the documentation         */
47 #define ADOLC_EPS  10E-20  /* for test on zero                            */
48 
49 /****************************************************************************/
50 /* Standard output used for diagnostics by ADOL-C,                          */
51 /* e.g. stdout or stderr or whatever file identifier                        */
52 #define DIAG_OUT stderr
53 
54 /****************************************************************************/
55 /* Tells ADOL-C which name space offers the mathematical functions          */
56 #define ADOLC_MATH_NSP std
57 /* For error function with gcc compiler                                     */
58 #define ADOLC_MATH_NSP_ERF
59 
60 /*--------------------------------------------------------------------------*/
61 /* Constants used by the checkpointing part (revolve) */
62 #define ADOLC_CHECKUP 1000
63 #define ADOLC_REPSUP 1000
64 
65 /*--------------------------------------------------------------------------*/
66 /* Maximal size (Bytes) of a block to be written with fwrite or read with   */
67 /* fread  --- power of 2 > 8 preferable ;-) ---                             */
68 #define ADOLC_IO_CHUNK_SIZE 1073741824
69 
70 /*--------------------------------------------------------------------------*/
71 #endif
72