CHARRLL()
Process each character in a string with bitwise ROLL LEFT operation
Syntax
CHARRLL( <[@]cString>, <nBitsToRLL> ) --> cRLLString
Arguments
<[@]cString> string to be processed
<nBitsToRLL> number of bit positions to be rolled to the left
Returns
<cRLLString> string with bitwise rolled left characters
Description
The CHARRLL() function constructs a new string from the string passed as parameter. To do this, it performs a bitwise ROLL LEFT (RLL) operation to the characters of the string and places a character in the resulting string whose ASCII value equals to the result of that operation. Be aware that, in contrast to CHARSHL(), bits rolled out on the left are put in again on the right. If the string is passed by reference, the resulting string is stored in <cString>, too. By setting the CSETREF()-switch to .T., the return value can be omitted.
Examples
? charrll( Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128), 3 ) // --> Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128)+Chr(1)+Chr(2)+Chr(4)
Tests
charrll( Chr(1)+Chr(2)+Chr(4)+Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128), 3 ) == Chr(8)+Chr(16)+Chr(32)+Chr(64)+Chr(128)+Chr(1)+Chr(2)+Chr(4)
Compliance
CHARRLL() is a new function that is only available in Harbour’s CT3 lib.
Platforms
All
Files
Source is charop.c, library is ct3.
Seealso
CHARADD(), CHARSUB(), CHARAND(), CHAROR(), CHARXOR(), CHARNOT(), CHARSHL(), CHARSHR(), CHARRLR(), CSETREF()