[accumulators] when typeof power is not the same as source

Hi, Some features of accumulator, such as variance needs to compute powers of quantities. What happens if the power of quantity is not the same as the type of the original quantity? An example is a boost::units::quantity, accumulator_set< quantity<si::energy>, stats<tag::mean, tag::moment<2>
acc; //not compiling because of moment<2> acc(1.2*si::joules); ...
Boost Accumulators manual describes how to do something similar for average calculation (which I succeded in defining), by doing some template tag dispatching in boost::numeric::functional, http://www.boost.org/doc/libs/1_40_0/doc/html/accumulators/user_s_guide.html... In this case I need the analogous for pow (power function), I tried overloading pow(T, mpl::int_<N>) but I had no luck namespace boost { namespace numeric{ using namespace boost::units; quantity<atomic::energy> const& pow(quantity<atomic::energy> const &x, mpl::int_<1>){ return x; } quantity<power_typeof_helper< atomic::energy, //angstrom_unit, static_rational<2> >::type> pow(quantity<atomic::energy> const& x, mpl::int_<2>){ return x*x; } }} The error looks something like this (below, sorry it is very long). Thank you, Alfredo /g/g91/correaa/usr/include/boost/accumulators/statistics/moment.hpp: In function 'T boost::numeric::pow(const T&, mpl_::int_<Level>) [with T = boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, int N = 2]': /g/g91/correaa/usr/include/boost/accumulators/statistics/moment.hpp: 69: instantiated from 'void boost::accumulators::impl::moment_impl<N, Sample>::operator()(const Args&) [with Args = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> >, N = mpl_::int_<2>, Sample = boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>]' /g/g91/correaa/usr/include/boost/accumulators/framework/ accumulator_set.hpp:53: instantiated from 'void boost::accumulators::detail::accumulator_visitor<Args>::operator() (Accumulator&) const [with Accumulator = boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, Args = boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> >]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/detail/ for_each.hpp:31: instantiated from 'void boost::fusion::detail::for_each_linear(const First&, const Last&, const F&, mpl_::false_) [with First = boost::fusion::cons_iterator<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> >, Last = boost::fusion::cons_iterator<boost::fusion::nil>, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/detail/ for_each.hpp:32: instantiated from 'void boost::fusion::detail::for_each_linear(const First&, const Last&, const F&, mpl_::false_) [with First = boost::fusion::cons_iterator<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> > >, Last = boost::fusion::cons_iterator<boost::fusion::nil>, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/detail/ for_each.hpp:32: instantiated from 'void boost::fusion::detail::for_each_linear(const First&, const Last&, const F&, mpl_::false_) [with First = boost::fusion::cons_iterator<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> > > >, Last = boost::fusion::cons_iterator<boost::fusion::nil>, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/detail/ for_each.hpp:32: instantiated from 'void boost::fusion::detail::for_each_linear(const First&, const Last&, const F&, mpl_::false_) [with First = boost::fusion::cons_iterator<boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> > > > >, Last = boost::fusion::cons_iterator<boost::fusion::nil>, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/detail/ for_each.hpp:41: instantiated from 'void boost::fusion::detail::for_each(Sequence&, const F&, Tag) [with Sequence = boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> > > >, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >, Tag = boost::fusion::forward_traversal_tag]' /g/g91/correaa/usr/include/boost/fusion/algorithm/iteration/ for_each.hpp:32: instantiated from 'void boost::fusion::for_each(Sequence&, const F&) [with Sequence = boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::count_impl, boost::accumulators::tag::count>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::sum_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sample>, boost::accumulators::tag::sum>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::mean_impl<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::tag::sum>, boost::accumulators::tag::mean>, boost::fusion::cons<boost::accumulators::detail::accumulator_wrapper<boost::accumulators::impl::moment_impl<mpl_::int_<2>, boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::accumulators::tag::moment<2> >, boost::fusion::nil> > > >, F = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >]' /g/g91/correaa/usr/include/boost/accumulators/framework/ accumulator_set.hpp:217: instantiated from 'void boost::accumulators::accumulator_set<Sample, Features, Weight>::visit(const UnaryFunction&) [with UnaryFunction = boost::accumulators::detail::accumulator_visitor<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::sample, const boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> >, boost::parameter::aux::empty_arg_list> > >, Sample = boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, Features = boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, Weight = void]' /g/g91/correaa/usr/include/boost/accumulators/framework/ accumulator_set.hpp:250: instantiated from 'void boost::accumulators::accumulator_set<Sample, Features, Weight>::operator()(const A1&) [with A1 = boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, Sample = boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>, Features = boost::accumulators::stats<boost::accumulators::tag::mean, boost::accumulators::tag::moment<2>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, Weight = void]' .atomic.hpp.cpp:593: instantiated from here /g/g91/correaa/usr/include/boost/accumulators/statistics/moment.hpp: 40: error: conversion from 'boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<4l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000004l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>' to non- scalar type 'boost::units::quantity<boost::units::unit<boost::units::list<boost::units::dim<boost::units::length_base_dimension, boost::units::static_rational<2l, 1l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost::units::static_rational<1l, 1l> >, boost::units::list<boost::units::dim<boost::units::time_base_dimension, boost::units::static_rational<-0x00000000000000002l, 1l> >, boost::units::dimensionless_type> > >, boost::units::homogeneous_system<boost::units::list<boost::units::atomic::electron_mass_base_unit, boost::units::list<boost::units::atomic::elementary_charge_base_unit, boost::units::list<boost::units::atomic::reduced_planck_constant_base_unit, boost::units::list<boost::units::atomic::coulomb_force_constant_base_unit, boost::units::list<boost::units::atomic::boltzman_constant_base_unit, boost::units::dimensionless_type> > > > > >, void>, double>' requested compilation terminated due to -Wfatal-errors.

On 5/6/2010 9:32 PM, alfC wrote:
Hi,
Some features of accumulator, such as variance needs to compute powers of quantities. What happens if the power of quantity is not the same as the type of the original quantity?
An example is a boost::units::quantity,
accumulator_set< quantity<si::energy>, stats<tag::mean, tag::moment<2> > > acc; //not compiling because of moment<2> acc(1.2*si::joules); ...
So quantity<si::energy> is a type such that squaring it yields a different type. I'm sorry to say that the accumulators library doesn't handle such sample types. You can submit a feature request, or (better) submit a patch. You'd need to change moment_impl in moment.hpp to use some new trait (numeric::functional::pow?) to compute the type of a variable raised to the Nth power. -- Eric Niebler BoostPro Computing http://www.boostpro.com
participants (2)
-
alfC
-
Eric Niebler