- T remainder = property < 0 ? -fmod(property,_step) : (_step - fmod(property,_step));
- if( remainder > 0.0 && remainder < _scroll )
+ T remainder = property <= SGLimits<T>::min() ? -fmod(property,_step) : (_step - fmod(property,_step));
+ if( remainder > SGLimits<T>::min() && remainder < _scroll )