Пример #1
0
		RealT ImageHeightMap::height (const Vec2 &at) {
			//std::size_t byteOffset = sizeof(pixel_t) - _image->bytesPerPixel();
			PixelT max = _image->max_pixel_size();
			PixelT pixel = _image->read_pixel(Vec3u(at[X], at[Y], 0));

			ByteT * pixel_data = (ByteT *)&pixel;
			pixel_data[3] = 0;
			ByteT * max_data = (ByteT *)&max;
			max_data[3] = 0;

			return RealT(pixel) / RealT(max);
		}
Пример #2
0
inline
RealT scale_resource_utilization(RealT source_capacity,
								 RealT target_capacity,
								 RealT source_utilization,
								 RealT target_threshold = ::std::numeric_limits<RealT>::infinity())
{
	return scale_resource_utilization(source_capacity,
									  RealT(1),
									  target_capacity,
									  RealT(1),
									  source_utilization,
									  target_threshold);
}
Пример #3
0
UIntT num_replications_initial(RealT eps, RealT s0, RealT level=0.95)
{
	::dcs::math::stats::normal_distribution<RealT> dist;

	RealT z = dist.quantile((1+level)/RealT(2));
	RealT r0 = z*s0/eps;
	return static_cast<UIntT>(::std::ceil(r0*r0));
}
Пример #4
0
UIntT num_replications(RealT eps, UIntT r0, ::dcs::iterator::iterator_range< ::dcs::iterator::any_forward_iterator<RealT> > const& s0_range, RealT level=0.95, UIntT max_trials=::std::numeric_limits<UIntT>::max())
{
	if (r0 < 2)
	{
		return r0;
	}

	UIntT r_max(0);

	for (
		::dcs::iterator::any_forward_iterator<RealT> it = s0_range.begin();
		it != s0_range.end();
		++it
	) {
		RealT r(0);
		UIntT trial(0);

		do
		{
			++r0;

			::dcs::math::stats::students_t_distribution<RealT> dist(r0-1);

			RealT t = dist.quantile((1+level)/RealT(2));
			r = t*(*it)/eps;
			r *= r;

			++trial;
		}
		while (r0 < r && trial < max_trials);

		r_max = ::std::max(r0, r_max);
	}

	return r_max;
}
Пример #5
0
UIntT num_replications(RealT eps, UIntT r0, RealT s0, RealT level=0.95, UIntT max_trials=::std::numeric_limits<UIntT>::max())
{
	if (r0 < 2)
	{
		return r0;
	}

	RealT r(0);
	UIntT trial(0);

	while (r0 < r && trial < max_trials)
	{
		::dcs::math::stats::students_t_distribution<RealT> dist(r0-1);

		RealT t = dist.quantile((1+level)/RealT(2));
		r = t*s0/eps;
		r *= r;

		++trial;
		++r0;
	}

	return r0;
}
Пример #6
0
		RealT ImageHeightMap::height (const Vec2 &at) {
			const ByteT * pixel = reader(*_image)[at];
			return RealT(*pixel) / RealT(255);
		}
Пример #7
0
VectorT simulate(darx_siso_model<VectorT,RealT,UIntT> const& model, VectorT const& u, VectorT const& e, RealT na_value = RealT(0))
{
	return model.simulate(u, e, na_value);
}