//[MethodImpl(MethodImplOptions.Synchronized)] //[MethodImpl(MethodImplOptions.AggressiveOptimization)] public static int GetMoves(IntWrapper intWrapper, int position) { int result = 0; position = intWrapper.getField(position % intWrapper.i.Length); result = mul(intWrapper, position, 3); result += add(intWrapper, position, 2); updater(intWrapper, position % intWrapper.i.Length, result); return(result); }
public static int add(IntWrapper intWrapper, int position, int add) { return(intWrapper.getField(Math.Abs(position + add) % intWrapper.i.Length)); }
public static int mul(IntWrapper intWrapper, int position, int mul) { return(intWrapper.getField(Math.Abs(position * mul) % intWrapper.i.Length)); }