# CHARRLR()

Process each character in a string with bitwise ROLL RIGHT operation

Syntax

  CHARRLR (<[@]cString>, <nBitsToRLR> ) --> cRLRString

Arguments

  <[@]cString> string to be processed <nBitsToRLR> number of bit positions to be rolled to the right

Returns

  <cRLRString> string with bitwise rolled right characters

Description

  The CHARRLR() function constructs a new string from the string passed as parameter. To do this, it performs a bitwise ROLL RIGHT (RLR) 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 CHARSHR(), bits rolled out on the right are put in again on the left. 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

          ? charrlr (chr(1)+chr(2)+chr(4)+chr(8)+chr(16)+chr(32)+chr(64)+chr(128), 3)
            --> chr(32)+chr(64)+chr(128)+chr(1)+chr(2)+chr(4)+chr(8)+chr(16)
    Tests
          charrlr (chr(1)+chr(2)+chr(4)+chr(8)+chr(16)+chr(32)+chr(64)+chr(128), 3) == chr(32)+chr(64)+chr(128)+chr(1)+chr(2)+chr(4)+chr(8)+chr(16)

Status

  Ready

Compliance

  CHARRLR() is a new function that is only available in Harbour's CT3 lib.

Platforms

  All

Files

  Source is charop.c, library is ct3.

See Also

- CSETREF()