Original (English)

between(int x, int lower, int upper): bool

between(var x, var lower, var upper): bool

Returns true when the variable x lies at or within a lower and upper border. When lower is above upper, it returns true when either x >= upper or x <= lower, allowing the comparison of cyclic ranges such as hours of the day or months of the year.

Parameters:

x, lower, upper - any var or int.

Algorithm:

if(lower <= upper) 
  return (x >= lower) and (x <= upper); 
else
  return (x >= lower) or (x <= upper);

Example:

if(between(x,0.,1.))
  ...  // executed when x is between 0..1
if(between(hour(0),22,4))
  ...  // executed when hour(0) is at or above 22 or at or below 4

See also:

sqrt, abs, sign, clamp, min, max, ifelse

► latest version online

Übersetzung (Deutsch)

between(int x, int lower, int upper): bool

between(var x, var lower, var upper): bool

Gibt true zurück, wenn die Variable x innerhalb oder an den Grenzen von lower und upper liegt. Wenn lower größer als upper ist, gibt die Funktion true zurück, wenn entweder x >= upper oder x <= lower, was den Vergleich von zyklischen Bereichen wie Tageszeiten oder Monaten ermöglicht.

Parameter:

x, lower, upper - eine beliebige var- oder int-Variable.

Algorithmus:

if(lower <= upper) 
  return (x >= lower) and (x <= upper); 
else
  return (x >= lower) or (x <= upper);

Beispiel:

if(between(x,0.,1.))
  ...  // wird ausgeführt, wenn x zwischen 0..1 liegt
if(between(hour(0),22,4))
  ...  // wird ausgeführt, wenn hour(0) >= 22 oder <= 4 ist

Siehe auch:

sqrt, abs, sign, clamp, min, max, ifelse

► neueste Version online