ILNumerics Ultimate VS

ConcreteArrayT1, LocalT, InT, OutT, RetT, StorageTLeftShift Operator

ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
Elementwise bitwise '<<' operator on two integer arrays.

[ILNumerics Core Module]

Namespace:  ILNumerics.Core.Arrays
Assembly:  ILNumerics.Core (in ILNumerics.Core.dll) Version: (5.5.7503.3146)

public static RetT operator <<(
	ConcreteArray<T1, LocalT, InT, OutT, RetT, StorageT> A,
	int B


Type: ILNumerics.Core.ArraysConcreteArrayT1, LocalT, InT, OutT, RetT, StorageT
The first array.
Type: SystemInt32
The second array.

Return Value

Type: RetT
Array with result of bit shifting elements of A by B.

General notes on binary broadcasting operators: The operation is performed elementwise on corresponding elements of A and B. The sizes of both input arrays must be broadcastable and determine the size of the resulting array. Note, that broadcasting is performed, regardless of the current setting of ArrayStyle. However, the ArrayStyle configuration affects the operation in the following ways:

  • If A and B have different number of dimensions, the array with fewer dimensions is (virtually) padded with singleton dimensions, until the number of dimensions of both arrays match. In ILNumericsV4 the singleton dimensions are added to the end of dimensions. For numpy singletons are padded to the start, such that here, broadcasting aligns the last dimensions.
  • ILNumericsV4: Result values of integer element types T are clamped to the natural range of the interger type. I.e.: there will be no 'wrapping around' when exceeding the upper or lower limits of the natural value range of the integer type. Also, the operation may be performed by utilizing Double precision floating point arithmetics and subsequently casting the result to the integer value. For numpy no such precautions exist and the result of the binary operation is exactly the same as for operating the elements as System types (and as in numpy itself).

This function is parallelized for multiple cores. If possible, a suitable A or B is directly utilized in order to perform the operation inplace: instead of storing the results into new memory the input array and/or its storage is reused and returned.

T must be a numeric value type, including complex and fcomplex.

[ILNumerics Core Module]

See Also