====== Shift Operators ====== ===== Definition ===== The Shift Operators are defined for any one-dimensional arrays with elements of type **BIT** or **BOOLEAN** . The operators are defined as follows, where L is the left operand and R the right operand: * **L sll R** : Shift L logically left (R≥0) respective right (R<0) by R index positions. The foremost (R≥0) respective the last (R<0) elements drop out and T'LEFT is inserted. T is the type of the elements of the array. * **L srl R** : Shift L logically right (R≥0) respective left (R<0) by R index positions. The last (R≥0) respective the foremost (R<0) elements drop out and T'LEFT is inserted. T is the type of the elements of the array. * **L sla R** : Shift L arithmetically left (R≥0) respective right (R<0) by R index positions. The foremost (R≥0) respective the last (R<0) elements drop out and L'RIGHT (R≥0) respective L'LEFT (R<0) is inserted. It is the last (R≥0) respective the foremost (R<0) value of L is inserted. * **L sra R** : Shift L arithmetically right (R≥0) respective left (R<0) by R index positions. The last (R≥0) respective the foremost (R<0) elements drop out and L'LEFT (R≥0) respective L'RIGHT (R<0) is inserted. It is the foremost (R≥0) respective the last (R<0) value of L is inserted. * **L rol R** : Rotate L logically left (R≥0) respective right (R<0) by R index positions. The foremost (R≥0) respective the last (R<0) values are inserted in the front (R≥0) respective behind (R<0). * **L ror R** : Rotate L logically right (R≥0) respective left (R<0) by R index positions. The last (R≥0) respective the foremost (R<0) values are inserted behind (R≥0) respective in the front (R<0). ===== Overview ===== ^ Operator ^ Operation ^ Type of the left operand ^ Type of the right operand ^ result type ^ | sll | Shift Left Logical | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand | | srl | Shift Right Logical | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand | | sla | Shift Left Arithmetic | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand | | sra | Shift Right Arithmetic | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand | | rol | Rotate Left Logical | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand | | ror | Rotate Right Logical | Any one-dimensional array type with elements of the type BIT or BOOLEAN | INTEGER | Type of the left operand |