560 {
562 {
563 throw new ArgumentNullException("value");
564 }
566 int[] array2 =
value.m_array;
568 if (
Length !=
value.Length || (uint)int32ArrayLengthFromBitLength > (uint)
array.Length || (uint)int32ArrayLengthFromBitLength > (uint)array2.Length)
569 {
571 }
572 switch (int32ArrayLengthFromBitLength)
573 {
574 case 7:
575 array[6] ^= array2[6];
576 goto case 6;
577 case 6:
578 array[5] ^= array2[5];
579 goto case 5;
580 case 5:
581 array[4] ^= array2[4];
582 goto case 4;
583 case 4:
584 array[3] ^= array2[3];
585 goto case 3;
586 case 3:
587 array[2] ^= array2[2];
588 goto case 2;
589 case 2:
590 array[1] ^= array2[1];
591 goto case 1;
592 case 1:
593 array[0] ^= array2[0];
594 break;
595 default:
596 {
597 uint num = 0u;
599 {
601 {
602 fixed (
int* ptr2 =
value.m_array)
603 {
604 for (; num < (uint)(int32ArrayLengthFromBitLength - 7); num += 8)
605 {
609 }
610 }
611 }
612 }
614 {
615 fixed (
int* ptr3 =
array)
616 {
617 fixed (int* ptr4 = array2)
618 {
619 for (; num < (uint)(int32ArrayLengthFromBitLength - 3); num += 4)
620 {
624 }
625 }
626 }
627 }
629 {
630 fixed (
int* ptr5 =
array)
631 {
632 fixed (int* ptr6 = array2)
633 {
634 for (; num < (uint)(int32ArrayLengthFromBitLength - 3); num += 4)
635 {
639 }
640 }
641 }
642 }
643 for (; num < (uint)int32ArrayLengthFromBitLength; num++)
644 {
645 array[num] ^= array2[num];
646 }
647 break;
648 }
649 case 0:
650 break;
651 }
653 return this;
654 }
static int GetInt32ArrayLengthFromBitLength(int n)
static unsafe void Store(byte *address, Vector64< byte > source)
static unsafe Vector128< byte > LoadVector128(byte *address)
static Vector64< byte > Xor(Vector64< byte > left, Vector64< byte > right)
static new bool IsSupported
static new bool IsSupported
static Vector256< sbyte > Xor(Vector256< sbyte > left, Vector256< sbyte > right)
static unsafe Vector256< sbyte > LoadVector256(sbyte *address)
static unsafe void Store(sbyte *address, Vector256< sbyte > source)
static unsafe Vector128< sbyte > LoadVector128(sbyte *address)
static Vector128< byte > Xor(Vector128< byte > left, Vector128< byte > right)
static unsafe void Store(sbyte *address, Vector128< sbyte > source)
static new bool IsSupported
static string Arg_ArrayLengthsDiffer