public void ConcurrentInt64GetAndSet() { var c = new ConcurrentInt64(22); var result = c.GetAndSet(38); Assert.AreEqual(result, 22); Assert.AreEqual(38, (Int64)c); }
internal void Calculate() { if (!_container.Cumulative) { Value = _internalRunCount.GetAndReset(); Max = _internalMax.GetAndSet(0); Min = _internalMax.GetAndSet(0); var intervals = _container.GetInterval(_container.LastCalculation); Avg = _container.GetAvg(Value, intervals); } else { Max = _internalMax.Value; Min = _internalMax.Value; Value = _internalRunCount.Value; Avg = _container.GetAvg(Value); } }