366 {
368 {
369 throw new ArgumentNullException("value");
370 }
372 int[] array2 =
value.m_array;
374 if (
Length !=
value.Length || (uint)int32ArrayLengthFromBitLength > (uint)
array.Length || (uint)int32ArrayLengthFromBitLength > (uint)array2.Length)
375 {
377 }
378 switch (int32ArrayLengthFromBitLength)
379 {
380 case 7:
381 array[6] &= array2[6];
382 goto case 6;
383 case 6:
384 array[5] &= array2[5];
385 goto case 5;
386 case 5:
387 array[4] &= array2[4];
388 goto case 4;
389 case 4:
390 array[3] &= array2[3];
391 goto case 3;
392 case 3:
393 array[2] &= array2[2];
394 goto case 2;
395 case 2:
396 array[1] &= array2[1];
397 goto case 1;
398 case 1:
399 array[0] &= array2[0];
400 break;
401 default:
402 {
403 uint num = 0u;
405 {
406 fixed (
int* ptr =
array)
407 {
408 fixed (int* ptr2 = array2)
409 {
410 for (; num < (uint)(int32ArrayLengthFromBitLength - 7); num += 8)
411 {
415 }
416 }
417 }
418 }
420 {
421 fixed (
int* ptr3 =
array)
422 {
423 fixed (int* ptr4 = array2)
424 {
425 for (; num < (uint)(int32ArrayLengthFromBitLength - 3); num += 4)
426 {
430 }
431 }
432 }
433 }
435 {
436 fixed (
int* ptr5 =
array)
437 {
438 fixed (int* ptr6 = array2)
439 {
440 for (; num < (uint)(int32ArrayLengthFromBitLength - 3); num += 4)
441 {
445 }
446 }
447 }
448 }
449 for (; num < (uint)int32ArrayLengthFromBitLength; num++)
450 {
451 array[num] &= array2[num];
452 }
453 break;
454 }
455 case 0:
456 break;
457 }
459 return this;
460 }
static int GetInt32ArrayLengthFromBitLength(int n)
static unsafe void Store(byte *address, Vector64< byte > source)
static unsafe Vector128< byte > LoadVector128(byte *address)
static Vector64< byte > And(Vector64< byte > left, Vector64< byte > right)
static new bool IsSupported
static Vector256< sbyte > And(Vector256< sbyte > left, Vector256< sbyte > right)
static new bool IsSupported
static unsafe Vector256< sbyte > LoadVector256(sbyte *address)
static unsafe void Store(sbyte *address, Vector256< sbyte > source)
static unsafe Vector128< sbyte > LoadVector128(sbyte *address)
static unsafe void Store(sbyte *address, Vector128< sbyte > source)
static Vector128< byte > And(Vector128< byte > left, Vector128< byte > right)
static new bool IsSupported
static string Arg_ArrayLengthsDiffer