Post Reply 
circular shift
07-20-2015, 08:24 PM
Post: #1
circular shift
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
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)