00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef TOOL_LINEAR_REGRESSION_HH_
00023 # define TOOL_LINEAR_REGRESSION_HH_
00024
00025 # include <utility>
00026
00027 namespace tool
00028 {
00029
00031 namespace lr
00032 {
00033
00043 template <class ImplType>
00044 struct pair
00045 {
00047 template <class T1, class T2>
00048 ImplType
00049 x(const std::pair<T1, T2>& p) const;
00050
00052 template <class T1, class T2>
00053 ImplType
00054 y(const std::pair<T1, T2>& p) const;
00055 };
00056
00067 template <class ImplType>
00068 struct pair_with_microseconds
00069 {
00071 template <class T1, class T2>
00072 ImplType
00073 x(const std::pair<T1, T2>& p) const;
00074
00076 template <class T1, class T2>
00077 ImplType
00078 y(const std::pair<T1, T2>& p) const;
00079 };
00080
00081 }
00082
00095 template <class ImplType,
00096 class Adapter,
00097 class InputIterator>
00098 std::pair<ImplType, ImplType>
00099 linear_regression(const InputIterator& start,
00100 const InputIterator& last,
00101 Adapter adapt = Adapter ());
00102
00103 }
00104
00105 # include "linear_regression.hxx"
00106
00107 #endif // ! TOOL_LINEAR_REGRESSION_HH_