DotNext by Roman Sakno

<PackageReference Include="DotNext" Version="0.14.0" />

 AtomicDouble

public static class AtomicDouble
public static double AccumulateAndGet(this ref double value, double x, Func<double, double, double> accumulator)

public static double AccumulateAndGet(this ref double value, double x, ref ValueFunc accumulator)

public static double AccumulateAndGet(this double[] array, long index, double x, Func<double, double, double> accumulator)

public static double AccumulateAndGet(this double[] array, long index, double x, ref ValueFunc accumulator)

public static double Add(this ref double value, double operand)

public static double Add(this double[] array, long index, double operand)

public static bool CompareAndSet(this ref double value, double expected, double update)

public static bool CompareAndSet(this double[] array, long index, double expected, double update)

public static double CompareExchange(this double[] array, long index, double update, double comparand)

public static double DecrementAndGet(this ref double value)

public static double DecrementAndGet(this double[] array, long index)

public static double GetAndAccumulate(this ref double value, double x, Func<double, double, double> accumulator)

public static double GetAndAccumulate(this ref double value, double x, ref ValueFunc accumulator)

public static double GetAndAccumulate(this double[] array, long index, double x, Func<double, double, double> accumulator)

public static double GetAndAccumulate(this double[] array, long index, double x, ref ValueFunc accumulator)

public static double GetAndSet(this ref double value, double update)

public static double GetAndSet(this double[] array, long index, double update)

public static double GetAndUpdate(this ref double value, Func<double, double> updater)

public static double GetAndUpdate(this ref double value, ref ValueFunc updater)

public static double GetAndUpdate(this double[] array, long index, Func<double, double> updater)

public static double GetAndUpdate(this double[] array, long index, ref ValueFunc updater)

public static double IncrementAndGet(this ref double value)

public static double IncrementAndGet(this double[] array, long index)

public static double SetAndGet(this ref double value, double update)

public static double SetAndGet(this double[] array, long index, double update)

public static double UpdateAndGet(this ref double value, Func<double, double> updater)

public static double UpdateAndGet(this ref double value, ref ValueFunc updater)

public static double UpdateAndGet(this double[] array, long index, Func<double, double> updater)

public static double UpdateAndGet(this double[] array, long index, ref ValueFunc updater)

public static double VolatileRead(this ref double value)

public static double VolatileRead(this double[] array, long index)

public static void VolatileWrite(this ref double value, double newValue)

public static void VolatileWrite(this double[] array, long index, double value)