public void CrossCheck_CompoundAssignment_Float()
 {
     Parallel.ForEach(new[] { "+=", "-=", "*=", "/=", "%=" }, op =>
     {
         CrossCheck_CompoundAssignment_Core <float>(op)(42.0f, 3);
         CrossCheck_CompoundAssignment_Core <double>(op)(42.0d, 3);
         CrossCheck_CompoundAssignment_Core <decimal>(op)(42.0m, 3);
     });
 }
 public void CrossCheck_CompoundAssignment_Shift()
 {
     Parallel.ForEach(new[] { "<<=", ">>=" }, op =>
     {
         CrossCheck_CompoundAssignment_Core <int, int>(op)(42, 1);
         CrossCheck_CompoundAssignment_Core <uint, int>(op)(42, 1);
         CrossCheck_CompoundAssignment_Core <long, int>(op)(42, 1);
         CrossCheck_CompoundAssignment_Core <ulong, int>(op)(42, 1);
     });
 }
 public void CrossCheck_CompoundAssignment_Integral()
 {
     Parallel.ForEach(new[] { "+=", "-=", "*=", "/=", "%=", "&=", "|=", "^=" }, op =>
     {
         CrossCheck_CompoundAssignment_Core <byte>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <sbyte>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <ushort>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <short>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <uint>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <int>(op)(43, 3);
         CrossCheck_CompoundAssignment_Core <ulong>(op)(43UL, 3);
         CrossCheck_CompoundAssignment_Core <long>(op)(43L, 3);
     });
 }