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