//--------------------------------------------------------------------------------------- void GmoObj::dump(ostream& outStream, int level) { outStream << setw(level*3) << level << " [" << setw(3) << m_objtype << "] " << get_name(m_objtype) << fixed << setprecision(2) << setfill(' ') << setw(10) << round_half_up(m_origin.x) << ", " << setw(10) << round_half_up(m_origin.y) << ", " << setw(10) << round_half_up(m_size.width) << ", " << setw(10) << round_half_up(m_size.height) << endl; }
void bmp_image::plot_with_brightness(int x, int y, rgba_color_t color, double brightness) { if ( brightness < 0.0 ) { brightness = 0.0; } if ( brightness > 1.0 ) { brightness = 1.0; } brightness = 1.0 - brightness; color = set_red(color, std::min(255, round_half_up( 255. * brightness + get_red(color) )) ); color = set_green(color, std::min(255, round_half_up( 255. * brightness + get_green(color) )) ); color = set_blue(color, std::min(255, round_half_up( 255. * brightness + get_blue(color) )) ); pixels.set_if_inbounds(x, y, color); }
int main(void) { //make a random vector const size_t ndim=10; std::vector<double> data(ndim); std::vector<int> data_i(ndim); for(size_t i=0;i<ndim;++i) { data[i]=rand()/(double)RAND_MAX; data[i]*=10; data_i[i]=(int)round_half_up(data[i]); std::cout<<i<<"\t"<<data_i[i]<<std::endl; } //now sort std::sort(data_i.begin(),data_i.end()); std::cout<<"sorted values\n"<<std::endl; for(size_t i=0;i<ndim;++i) { std::cout<<i<<"\t"<<data_i[i]<<std::endl; } int val= 8;//round_half_up(10*rand()/(double)RAND_MAX); std::vector<int>::const_iterator it =std::lower_bound(data_i.begin(), data_i.end(), val); std::cout<<"nearest to "<<val<<" is "<< (*it) <<"at position "<<(it-data_i.begin())<<std::endl; std::cout<<"cumulative values\n"<<std::endl; for(size_t i=1;i<ndim;++i) { data_i[i]+=data_i[i-1]; std::cout<<i<<"\t"<<data_i[i]<<std::endl; } }
R operator()(const A& x) const { return static_cast<R>(round_half_up(x)); }