English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / ReLauncher: TCJitEval.h Source File
Uranie / ReLauncher v4.9.0
/* @license-end */
TCJitEval.h
Go to the documentation of this file.
1
2// Copyright (C) 2013-2024 CEA/DES
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU Lesser General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or any
7// later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
18// $Id$
19// $Author$
20// $Date$
21// $Revision 1.2 $
22// $State$
24
32#ifndef __TCJITEVAL__
33#define __TCJITEVAL__
34
35#include <functional>
36
37//ROOT
38#include "Rtypes.h"
39
40//URANIE
41#include "Relauncher.h"
42#include "TStandardEval.h"
43
44namespace URANIE
45{
46namespace Relauncher
47{
48
50{
51protected:
53 union {
54 int (*func)(double*, double*);
55 void (*proc)(double*, double*);
56 int (*ferm)(double*, double*, void*);
57 int (*hard)(vector<URANIE::DataServer::UEntry*> *,vector<URANIE::DataServer::UEntry*> *);
58 std::function<int(double*, double*)> *fonc;
59 std::function<int(vector<URANIE::DataServer::UEntry*>*,vector<URANIE::DataServer::UEntry*>*)> *harf;
60 } _p;
61 void *_extra;
62
63public:
64 TCJitEval(int (*)(double *, double*));
65 TCJitEval(void (*)(double *, double*));
66 TCJitEval(int (*)(double*, double*, void*), void*);
67 TCJitEval(int (*)(vector<URANIE::DataServer::UEntry*> *, vector<URANIE::DataServer::UEntry*>*));
68 TCJitEval(std::function<int(double*, double*)> *);
69 TCJitEval(std::function<int(vector<URANIE::DataServer::UEntry*>*,vector<URANIE::DataServer::UEntry*>*)> *);
70 virtual ~TCJitEval();
71 int eval(std::vector<URANIE::DataServer::UEntry*>*, std::vector<URANIE::DataServer::UEntry*>*, int =0 );
72
73 ClassDef(URANIE::Relauncher::TCJitEval, ID_RELAUNCHER)
74};
75
76
77}
78} //namespace
79
80#endif
81
simple eval shared class
Definition TCJitEval.h:50
int eval(std::vector< URANIE::DataServer::UEntry * > *, std::vector< URANIE::DataServer::UEntry * > *, int=0)
Definition TCJitEval.cxx:83
std::function< int(double *, double *)> * fonc
Definition TCJitEval.h:58
int(* func)(double *, double *)
Definition TCJitEval.h:54
int(* hard)(vector< URANIE::DataServer::UEntry * > *, vector< URANIE::DataServer::UEntry * > *)
Definition TCJitEval.h:57
std::function< int(vector< URANIE::DataServer::UEntry * > *, vector< URANIE::DataServer::UEntry * > *)> * harf
Definition TCJitEval.h:59
int(* ferm)(double *, double *, void *)
Definition TCJitEval.h:56
virtual ~TCJitEval()
Definition TCJitEval.cxx:79
void(* proc)(double *, double *)
Definition TCJitEval.h:55
void * _extra
Definition TCJitEval.h:61
union URANIE::Relauncher::TCJitEval::@1 _p
enum URANIE::Relauncher::TCJitEval::@0 _typ
Definition TStandardEval.h:60
Definition TBaseEval.cxx:44