Šablon:Modul po intervalu

Šablon koji dati broj smešta u dati interval, dodavši odnosno oduzevši mu potreban broj dužina intervala. Šablon je predviđen za rad s celim brojevima.

  • Prvi parametar predstavlja dati broj
  • Drugi i treći parametar predstavljaju donju i gornju granicu intervala. Donja granica ne može biti veća od gornje.

Primeri korišćenja:

Šablon Rezultat
{{Modul po intervalu|-1|1|3}} 2
{{Modul po intervalu|0|1|3}} 3
{{Modul po intervalu|1|1|3}} 1
{{Modul po intervalu|2|1|3}} 2
{{Modul po intervalu|3|1|3}} 3
{{Modul po intervalu|4|1|3}} 1
{{Modul po intervalu|5|1|3}} 2

Za one koji žele da se bave optimizacijom, f-ja bi u javi izgledala ovako:

 
public static int mod(int val, int min, int max) {		
	int diff = max - min + 1; // veličina intervala
	int q = 0; // broj dužina intervala potrebnih da vrednost uđe u interval 
		
	if(val > max) {
		q = min - val;
	} else if(val < min) {
		q = max - val;
	}
		
	q /= diff; // celobrojno deljenje
		
	return val + q * diff;
}