Initial commit of dependency tracking bookkeeping.
[openmx:openmx.git] / src / omxDefines.h
1 /*
2  *  Copyright 2007-2012 The OpenMx Project
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *       http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *   Unless required by applicable law or agreed to in writing, software
11  *   distributed under the License is distributed on an "AS IS" BASIS,
12  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  */
17
18 /***********************************************************
19  * 
20  *  omxDefines.h
21  *
22  *  Created: Timothy R. Brick   Date: 2009-09-23
23  *
24  *      Contains #define information for debugging purposes.
25  *
26  **********************************************************/
27 #ifndef _OMXDEFINES_H_
28 #define _OMXDEFINES_H_
29
30
31 #define MIN_ROWS_PER_THREAD 8
32 #define OMX_DEFAULT_MAX_PTS(rows) 100*rows*rows
33 #define MAX_STRING_LEN 250
34 #define EPSILON 1e-16
35 #define TRUE 1
36 #define FALSE 0
37 #define OMX_ERROR           -1
38 #define OMX_DEVELOPER_ERROR -2
39
40 #define OMXINLINE inline
41
42 #ifdef DEBUGMX
43 #define OMX_DEBUG 1
44 #define OMX_VERBOSE 1
45 #else
46 #ifdef VERBOSEMX
47 #define OMX_DEBUG 0
48 #define OMX_VERBOSE 1
49 #else
50 #define OMX_DEBUG 0
51 #define OMX_VERBOSE 0
52 #endif /* VERBOSEMX */
53 #endif /* DEBUGMX */
54
55 #ifdef DEBUGMX_ROWS
56 #define OMX_DEBUG_ROWS(row) ((row < 10) || (row % 50 == 0))
57 #else
58 #define OMX_DEBUG_ROWS(row) 0
59 #endif /* DEBUGMX_ROWS */
60
61 #ifdef DEBUGNPSOL
62 #define OMX_DEBUG_OPTIMIZER 1
63 #else
64 #define OMX_DEBUG_OPTIMIZER 0
65 #endif /* DEBUGNPSOL */
66
67 #ifdef DEBUGMX_MATRIX
68 #define OMX_DEBUG_MATRIX 1
69 #else
70 #define OMX_DEBUG_MATRIX 0
71 #endif /* DEBUGMX_MATRIX */
72
73 #ifdef DEBUGMX_ALGEBRA
74 #define OMX_DEBUG_ALGEBRA 1
75 #else
76 #define OMX_DEBUG_ALGEBRA 0
77 #endif /* DEBUGMX_ALGEBRA */
78
79 #ifdef DEBUGMX_DEVELOPER
80 #define OMX_DEBUG_DEVELOPER 1
81 #else
82 #define OMX_DEBUG_DEVELOPER 0
83 #endif /* DEBUGMX_DEVELOPER */
84 #endif /* _OMXDEFINES_H_ */