1122
return diagonal;
1123
}
1125
>
// diagonalsBelow: The number of diagonals below the reference diagonal
1126
>
// diagonalsAbove: The number of diagonals above the reference diagonal
1127
>
const diagonalsBelow = diagonalBaseIndex;
1128
>
const diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;
1129
>
const diffEven = (numDifferences % 2 === 0);
1130
>
1131
>
if (diagonal < 0) {
1132
const lowerBoundEven = (diagonalsBelow % 2 === 0);
1133
return (diffEven === lowerBoundEven) ? 0 : 1;
1135
const upperBoundEven = (diagonalsAbove % 2 === 0);
1136
return (diffEven === upperBoundEven) ? numDiagonals - 1 : numDiagonals - 2;