тогда, скорее всего, будет проще всего реализовать такую функцию саомстоятельно:
∵ вычисляешь ceiling или floor от деления на модуль;
∵ делаешь вектор со значением из предыдущего шага и на него же + или - единица, смотря какую фунцию считал раньше;
∵ умножешь этот вектор на модуль;
∵ вычитаешь из него «округляемое» число, или число из него;
∵ делаешь whichmax или whichmin, выбор зависит от выбора на предыдущем шаге;
∵ берешь из вектора с шага 3 по индексу из предыдущего
…
∵ PROFIT!!!