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 PluginTypes.hpp
20   \brief list of typedef for pointers to functions used in plugin mechanism.
21 */
22 
23 #ifndef PLUGINTYPES_HPP
24 #define PLUGINTYPES_HPP
25 
26 /** Pointer to function used for plug-in for matrix-type operators that depends only on time */
27 typedef void (*MatrixFunctionOfTime)(double, unsigned int, unsigned int, double*, unsigned int, double*);
28 
29 /** Pointer to function used for plug-in for vector-type operators that depends only on time */
30 typedef void (*VectorFunctionOfTime)(double, unsigned int, double*, unsigned int, double*);
31 
32 /** */
33 typedef void (*FPtr1)(double, unsigned int, double*, double*, unsigned int, double*);
34 
35 /** */
36 typedef void (*FPtr2)(unsigned int, double*, unsigned int, double*, double*, unsigned int, double*);
37 
38 /** */
39 typedef void (*FPtr3)(unsigned int, double*, unsigned int, double*, unsigned int, double*);
40 
41 typedef void (*FPtr4bis)(unsigned int, double*, unsigned int, double*, unsigned int, double*, unsigned int, double*);
42 
43 /** */
44 typedef void (*FPtr4)(unsigned int, double*, double, unsigned int, double*, unsigned int, double*);
45 
46 /** */
47 typedef void (*FPtr5)(unsigned int, double*, double*, double*, unsigned int, double*);
48 
49 typedef void (*FPtr5bis)(unsigned int, double*, unsigned int, double*, unsigned int, double*, unsigned int, double*);
50 
51 /** */
52 typedef void (*FPtr6)(double, unsigned int, double*, double*, double*, unsigned int, double*);
53 
54 /** */
55 typedef void (*FPtr7)(unsigned int, double*, double*, unsigned int, double*);
56 
57 typedef void (*OutPtr)(unsigned int, double*, double, unsigned int, double*, double*, unsigned int, double*);
58 
59 typedef void (*InPtr)(unsigned int, double*, double, unsigned int, double*, unsigned int, double*);
60 
61 #endif
62