1 /*!
2  * \file  include/TFEL/Math/FactorizedKriging1D1D.hxx
3  * \brief
4  * \author Thomas Helfer
5  * \brief 18 mai 2010
6  * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights
7  * reserved.
8  * This project is publicly released under either the GNU GPL Licence
9  * or the CECILL-A licence. A copy of thoses licences are delivered
10  * with the sources of TFEL. CEA or EDF may also distribute this
11  * project under specific licensing conditions.
12  */
13 
14 #ifndef LIB_TFEL_MATH_FACTORIZEDKRIGING1D1D_HXX
15 #define LIB_TFEL_MATH_FACTORIZEDKRIGING1D1D_HXX
16 
17 #include"TFEL/Config/TFELConfig.hxx"
18 #include"TFEL/Math/vector.hxx"
19 #include"TFEL/Math/Kriging/KrigingUtilities.hxx"
20 #include"TFEL/Math/FactorizedKriging.hxx"
21 #include"TFEL/Math/Kriging/KrigingPieceWiseLinearModel1D.hxx"
22 
23 namespace tfel
24 {
25 
26   namespace math
27   {
28 
29     struct TFELMATHKRIGING_VISIBILITY_EXPORT FactorizedKriging1D1D
30       : private FactorizedKriging<1u,1u,double,
31 				  KrigingPieceWiseLinearModel1D<double>,
32 				  KrigingModelAdaptator<KrigingDefaultModel<1u,double>>>,
33 	private KrigingUtilities
34     {
35 
36       FactorizedKriging1D1D(const std::vector<double>&,
37 			    const std::vector<double>&,
38 			    const std::vector<double>&);
39 
40       FactorizedKriging1D1D(const tfel::math::vector<double>&,
41 			    const tfel::math::vector<double>&,
42 			    const tfel::math::vector<double>&);
43 
44       double operator()(const double,
45 			const double) const;
46 
47       ~FactorizedKriging1D1D();
48 
49     private:
50 
51       //! a simple alias
52       using FK = FactorizedKriging<1u,1u,double,
53 				   KrigingPieceWiseLinearModel1D<double>,
54 				   KrigingModelAdaptator<KrigingDefaultModel<1u,double>>>;
55       //! normalisation coefficient
56       double a0;
57       //! normalisation coefficient
58       double b0;
59       //! normalisation coefficient
60       double a1;
61       //! normalisation coefficient
62       double b1;
63 
64     }; // end of struct FactorizedKriging1D1D
65 
66   } // end of namespace math
67 
68 } // end of namespace tfel
69 
70 #endif /* LIB_TFEL_MATH_FACTORIZEDKRIGING1D1D_HXX */
71 
72