Allow ComputeIterate to test maximum absolute change
[openmx:openmx.git] / src / types.h
1 /*
2  *  Copyright 2013 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 #ifndef _OPENMX_TYPES_H_
18 #define _OPENMX_TYPES_H_
19
20 // Put forward type declarations here
21
22 #include <vector>
23
24 enum omxFFCompute {
25         FF_COMPUTE_PARAMFLAVOR  = 1<<0,
26         FF_COMPUTE_PREOPTIMIZE  = 1<<1,
27         FF_COMPUTE_MAXABSCHANGE = 1<<2,
28         FF_COMPUTE_FIT          = 1<<3,
29         FF_COMPUTE_ESTIMATE     = 1<<4,
30         FF_COMPUTE_GRADIENT     = 1<<5,
31         FF_COMPUTE_HESSIAN      = 1<<6,
32         FF_COMPUTE_IHESSIAN     = 1<<7
33 };
34
35 typedef struct omxMatrix omxMatrix;
36 typedef struct omxState omxState;
37 class FitContext;
38 struct FreeVarGroup;
39 typedef struct omxFitFunction omxFitFunction;
40 typedef struct omxExpectation omxExpectation;
41 typedef struct omxDefinitionVar omxDefinitionVar;
42 typedef struct omxRFitFunction omxRFitFunction;
43 typedef std::vector< std::pair<SEXP, SEXP> > MxRList;
44 class omxCompute;
45 struct Matrix;
46 struct Param_Obj;
47
48 #endif