public IIntCodeData Compute(IIntCodeData data)
        {
            var n = IntCodeValue.FromInt(0);

            while (!Compute(data, ref n))
            {
            }

            return(data);
        }
        public static IIntCodeData FromIntCodeValueArray(IntCodeValue[] data)
        {
            var d = data.Select((value, index) => new KeyValuePair <IntCodeValue, IntCodeValue>(IntCodeValue.FromInt(index), value))
                    .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

            return(new IntCodeData(d));
        }