pmm
1.0.0
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
src
pmm_muparse.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2008-2010 Robert Higgins
3
Author: Robert Higgins <robert.higgins@ucd.ie>
4
5
This file is part of PMM.
6
7
PMM is free software: you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation, either version 3 of the License, or
10
(at your option) any later version.
11
12
PMM is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with PMM. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
/*!
21
* @file pmm_muparse.h
22
* @brief muparser structures
23
*
24
*/
25
#ifndef PMM_MUPARSE_H_
26
#define PMM_MUPARSE_H_
27
28
#if HAVE_CONFIG_H
29
#include "
config.h
"
30
#endif
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
36
37
#ifndef __cplusplus
38
typedef
struct
Parser
{}
Parser
;
39
#else
40
#include <muParser.h>
41
using namespace
mu;
42
#endif
43
44
//#include "pmm_param.h"
45
46
struct
pmm_paramdef_set
;
//< forward declaration
47
48
/*!
49
* Structure to hold muparser object and variable array
50
*/
51
typedef
struct
pmm_param_constraint_muparser
{
52
Parser
p
;
/*!< muparser parser object */
53
double
*
vars
;
/*!< variable array that will be linked to parser object */
54
int
n_p
;
/*!< length of variable array */
55
}
PMM_Param_Constraint_Muparser
;
56
57
int
58
create_param_constraint_muparser
(
struct
pmm_paramdef_set
*pd_set);
59
60
int
61
evaluate_constraint_with_params
(
struct
pmm_param_constraint_muparser
* pc_parser,
62
int
* params,
double
*value);
63
64
int
65
evaluate_constraint
(
struct
pmm_param_constraint_muparser
* pc_parser,
66
double
*value);
67
#ifdef __cplusplus
68
}
/* for extern "C" */
69
#endif
70
71
72
#endif
/* PMM_MUPARSE_H_ */
73
Generated on Fri Apr 5 2013 18:25:33 for pmm by
1.8.1.2