Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / accumulators / statistics / weighted_median.hpp
index b8b94f9..ed7cadb 100644 (file)
@@ -40,7 +40,7 @@ namespace impl
       : accumulator_base
     {
         // for boost::result_of
-        typedef typename numeric::functional::average<Sample, std::size_t>::result_type result_type;
+        typedef typename numeric::functional::fdiv<Sample, std::size_t>::result_type result_type;
 
         weighted_median_impl(dont_care) {}
 
@@ -65,7 +65,7 @@ namespace impl
     struct with_density_weighted_median_impl
       : accumulator_base
     {
-        typedef typename numeric::functional::average<Sample, std::size_t>::result_type float_type;
+        typedef typename numeric::functional::fdiv<Sample, std::size_t>::result_type float_type;
         typedef std::vector<std::pair<float_type, float_type> > histogram_type;
         typedef iterator_range<typename histogram_type::iterator> range_type;
         // for boost::result_of
@@ -73,7 +73,7 @@ namespace impl
 
         template<typename Args>
         with_density_weighted_median_impl(Args const &args)
-          : sum(numeric::average(args[sample | Sample()], (std::size_t)1))
+          : sum(numeric::fdiv(args[sample | Sample()], (std::size_t)1))
           , is_dirty(true)
         {
         }
@@ -99,7 +99,7 @@ namespace impl
                     ++it;
                 }
                 --it;
-                float_type over = numeric::average(this->sum - 0.5 * cnt, it->second * cnt);
+                float_type over = numeric::fdiv(this->sum - 0.5 * cnt, it->second * cnt);
                 this->median = it->first * over + (it + 1)->first * ( 1. - over );
             }
 
@@ -127,7 +127,7 @@ namespace impl
       : accumulator_base
     {
         typedef typename numeric::functional::multiplies<Sample, Weight>::result_type weighted_sample;
-        typedef typename numeric::functional::average<weighted_sample, std::size_t>::result_type float_type;
+        typedef typename numeric::functional::fdiv<weighted_sample, std::size_t>::result_type float_type;
         typedef std::vector<std::pair<float_type, float_type> > histogram_type;
         typedef iterator_range<typename histogram_type::iterator> range_type;
         // for boost::result_of
@@ -156,7 +156,7 @@ namespace impl
                 {
                     ++it;
                 }
-                float_type over = numeric::average(it->second - 0.5, it->second - (it - 1)->second);
+                float_type over = numeric::fdiv(it->second - 0.5, it->second - (it - 1)->second);
                 this->median = it->first * over + (it + 1)->first * ( 1. - over );
             }