public static RangeBoundNumber <T> operator +(RangeBoundNumber <T> val, T data) { RangeBoundNumber <T> inc = new RangeBoundNumber <T>(val); T addend = (((dynamic)data / inc._quanta) % inc._rsize) * inc._quanta; inc._data = (((dynamic)inc._ubound - inc._data) < addend) ? (!inc._circular) ? inc._ubound : inc._lbound + (addend - ((dynamic)inc._ubound - inc._data)) - 1 : (dynamic)inc._data + addend; return(inc); /* * if (((dynamic)inc._ubound - inc._data) < addend) * { * if (!inc._circular) * inc._data = inc._ubound; * else * { * inc._data = inc._lbound + (addend - ((dynamic)inc._ubound - inc._data)) - 1; * } * } * else * { * inc._data = (dynamic)inc._data + addend; * } */ /* * inc._data = (dynamic)inc._data + addend; * inc._data = ((dynamic)inc._data > inc._ubound) ? (inc._circular) ? ((dynamic)inc._lbound - 1) + ((dynamic)inc._data - inc._ubound) : inc._ubound : inc._data; */ }
public static RangeBoundNumber <T> operator -(RangeBoundNumber <T> val, T data) { RangeBoundNumber <T> dec = new RangeBoundNumber <T>(val); T subtrahend = (((dynamic)data / dec._quanta) % dec._rsize) * dec._quanta; dec._data = (((dynamic)dec._data - dec._lbound) < subtrahend) ? (!dec._circular) ? dec._lbound : dec._ubound - (subtrahend - ((dynamic)dec._data - dec._lbound)) + 1 : (dynamic)dec._data - subtrahend; return(dec); }
private RangeBoundNumber(RangeBoundNumber <T> that) { _data = that._data; _lbound = that._lbound; _ubound = that._ubound; _step = that._step; _circular = that._circular; _quanta = that._quanta; _quantainv = that._quantainv; _precision = that._precision; _rsize = that._rsize; }
public static void Main(string[] args) { AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledException += new UnhandledExceptionEventHandler(UEEHandler); RangeBoundNumber <double> rbn = new RangeBoundNumber <double>(10.0, 20.0, .1, true); rbn.Show(); rbn += 9.9; rbn.Show(); rbn += .2; rbn.Show(); return; Shell shell = new Shell(args); shell.IncarnateShell(); Console.WriteLine("Bye"); }