private static int ReadValue(int index, int relativeBaseOffset, List <int> memory, ParameterModeEnum mode) { return(mode switch { ParameterModeEnum.ImmediateMode => memory[index], ParameterModeEnum.PositionMode => memory[memory[index]], ParameterModeEnum.RelativeMode => memory[relativeBaseOffset + memory[index]], _ => throw new NotImplementedException() });
private static BigInteger ReadValue(BigInteger index, BigInteger relativeBaseOffset, BigList <BigInteger> memory, ParameterModeEnum mode) { return(mode switch { ParameterModeEnum.ImmediateMode => memory[index], ParameterModeEnum.PositionMode => memory[memory[index]], ParameterModeEnum.RelativeMode => memory[relativeBaseOffset + memory[index]], _ => throw new NotImplementedException() });
static int ReadValue(int index, int[] memory, ParameterModeEnum mode) { return(mode == ParameterModeEnum.ImmediateMode ? memory[index] : memory[memory[index]]); }