Added macro NEGATIVE_SHIFT_PARAM that will constrain shift param to always be negative