CPeopleNeeds CPeopleNeeds::operator+ (CPeopleNeeds _C) { CProducts _prod(_C.getProductsNeed()); CService _serv(_C.getServiceNeed()); CRecreation _rec(_C.getRecreationNeed()); double _traffic = _C.getTraffic(); double _dist = _C.getDisturbance(); return CPeopleNeeds(productsNeed+_prod,serviceNeed+_serv,recreationNeed+_rec,disturbanceNeed+_dist,traffic+_traffic); }
CPeopleNeeds& CPeopleNeeds::operator+= (CPeopleNeeds const &_C) { CProducts _prod(_C.getProductsNeed()); CService _serv(_C.getServiceNeed()); CRecreation _rec(_C.getRecreationNeed()); double _traffic = _C.getTraffic(); double _dist = _C.getDisturbance(); this->productsNeed += _prod; this->serviceNeed +=_serv; this->recreationNeed +=_rec; this->disturbanceNeed +=_dist; this->traffic +=_traffic; return *this; }
typename types::numpy_expr_to_ndarray<E>::T prod(E const& expr, types::none_type _ = types::none_type()) { typename types::numpy_expr_to_ndarray<E>::T p = 1; _prod(expr.begin(), expr.end(), p, utils::int_<types::numpy_expr_to_ndarray<E>::N>()); return p; }
void _prod(E begin, E end, F& prod, utils::int_<N>) { for(; begin != end; ++begin) _prod((*begin).begin(), (*begin).end(), prod, utils::int_<N - 1>()); }