1 /* Siconos is a program dedicated to modeling, simulation and control
2  * of non smooth dynamical systems.
3  *
4  * Copyright 2021 INRIA.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17 */
18 
19 /*!\file NumericsFwd.h
20  * \brief Forward declaration of numerics structures*/
21 
22 #ifndef NumericsFwd_h
23 #define NumericsFwd_h
24 
25 #define TYPEDEF_STRUCT(X) \
26   typedef struct X X; \
27 
28 // Matrices storage
29 TYPEDEF_STRUCT(NumericsMatrix)
30 TYPEDEF_STRUCT(NumericsSparseMatrix)
31 TYPEDEF_STRUCT(NSM_linear_solver_params)
32 TYPEDEF_STRUCT(SparseBlockStructuredMatrix)
33 TYPEDEF_STRUCT(SparseBlockStructuredMatrixPred)
34 TYPEDEF_STRUCT(SparseBlockCoordinateMatrix)
35 
36 // Nonsmooth solvers
37 TYPEDEF_STRUCT(SolverOptions)
38 
39 // Nonsmooth problems
40 TYPEDEF_STRUCT(SecondOrderConeLinearComplementarityProblem)
41 TYPEDEF_STRUCT(SecondOrderConeLinearComplementarityProblem_as_VI)
42 TYPEDEF_STRUCT(RelayProblem)
43 TYPEDEF_STRUCT(NonlinearComplementarityProblem)
44 TYPEDEF_STRUCT(MixedLinearComplementarityProblem)
45 TYPEDEF_STRUCT(MixedComplementarityProblem_old)
46 TYPEDEF_STRUCT(MixedComplementarityProblem)
47 TYPEDEF_STRUCT(LinearComplementarityProblem)
48 TYPEDEF_STRUCT(LinearComplementarityProblem_as_ConvexQP)
49 TYPEDEF_STRUCT(GlobalFrictionContactProblem)
50 TYPEDEF_STRUCT(RollingFrictionContactProblem)
51 TYPEDEF_STRUCT(GlobalRollingFrictionContactProblem)
52 TYPEDEF_STRUCT(GenericMechanicalProblem)
53 TYPEDEF_STRUCT(listNumericsProblem)
54 TYPEDEF_STRUCT(FrictionContactProblem_as_VI)
55 TYPEDEF_STRUCT(FrictionContactProblem_as_ConvexQP)
56 TYPEDEF_STRUCT(GlobalFrictionContactProblem_as_VI)
57 TYPEDEF_STRUCT(GlobalFrictionContactProblem_as_ConvexQP)
58 TYPEDEF_STRUCT(FrictionContactProblem)
59 TYPEDEF_STRUCT(SplittedFrictionContactProblem)
60 TYPEDEF_STRUCT(VariationalInequality)
61 TYPEDEF_STRUCT(AffineVariationalInequalities)
62 TYPEDEF_STRUCT(ConvexQP)
63 TYPEDEF_STRUCT(ConvexQP_as_VI)
64 TYPEDEF_STRUCT(GlobalFrictionContactProblem_balancing_data)
65 #endif
66