1 #ifndef _theplu_yat_normalizer_gauss_
2 #define _theplu_yat_normalizer_gauss_
27 #include "yat/utility/concept_check.h"
28 #include "yat/utility/iterator_traits.h"
30 #include <boost/concept_check.hpp>
32 #include <gsl/gsl_cdf.h>
38 namespace normalizer {
68 template<
typename RandomAccessIter1,
typename RandomAccessIter2>
69 void operator()(RandomAccessIter1 first, RandomAccessIter1 last,
70 RandomAccessIter2 result)
const
74 BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator<RandomAccessIter1>));
75 BOOST_CONCEPT_ASSERT((boost::Mutable_RandomAccessIterator<RandomAccessIter2>));
77 spearman(first, last, result);
78 RandomAccessIter2 end = result + std::distance(first, last);
80 while (result != end) {
81 trait.
data(result) = gsl_cdf_ugaussian_Pinv(trait.
data(result));