HP Forums

Full Version: circular shift
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Functions for circular shift of lists and bints can be seen below.

For lists:
Code:

LOCAL s;

EXPORT listright(t)
BEGIN
 IF type(t)≠6 THEN RETURN ;END;
 s:=SIZE(t);
 RETURN CONCAT(t(s),SUB(t,1,s-1));
END;

EXPORT listleft(t)
BEGIN
 IF type(t)≠6 THEN RETURN ;END;
 s:=SIZE(t);
 RETURN CONCAT(SUB(t,2,s),t(1));
END;

For bints:
Code:

EXPORT bitleft(t)
BEGIN
 RETURN BITSL(t,1)+BITSR(t,GETBITS(t)-1);
END;

EXPORT bitright(t)
BEGIN
 RETURN BITSR(t,1)+BITSL(t,GETBITS(t)-1);
END;
Road
Reference URL's