if (o != o2)
return 15;
+ /* long increment/decrement */
+ la = 0x12345678;
+ lb = Interlocked.Increment (ref la);
+ if (la != 0x12345679)
+ return 16;
+ if (lb != 0x12345679)
+ return 16;
+ lb = Interlocked.Decrement (ref la);
+ if (la != 0x12345678)
+ return 17;
+ if (lb != 0x12345678)
+ return 18;
+
+ la = 1;
+ lb = Interlocked.CompareExchange (ref la, 2, 1);
+ if (la != 2)
+ return 19;
+ if (lb != 1)
+ return 20;
+
Console.WriteLine ("done!");
return 0;