4 ms·
Amateur k user. /k3 bh01:{*-1#(2 _vs x)&1} bh02:{(|(2 _vs x))y} bh03:{n:|(2 _vs x);n[y]+:1;:[x<0;-8#|n;|n]} bh04:{n:|(2 _vs x);n[y]-:1;:[x<0;-8#|n;|n
by textmode 8y ago
Amateur k user.
/k3
bh01:{*-1#(2 _vs x)&1}
bh02:{(|(2 _vs x))y}
bh03:{n:|(2 _vs x);n[y]+:1;:[x<0;-8#|n;|n]}
bh04:{n:|(2 _vs x);n[y]-:1;:[x<0;-8#|n;|n]}
bh05:{n:|x;:[n[y]=1;n[y]-:1;n[y]+:1];|n}
bh06:{n:-1#& x;x[n]-:1;x}
bh07:{n:-1#& x;m:& 8;m[n]:+1;m}
bh08:{n:(*|& x)+1;m:n _!#x;x[m]:1;x}
bh09:{n:|x;m:*&0 = n;n:& 8;n[m]:1;|n}
bh10:{n:|x;m:*&0 = n;n[m]:1;|n}
/examples:
bh01 -98
bh02[-133;5]
bh03[120;2] / 120 set 2nd bit
bh03[-120;6] / -120 set 6th bit
bh04[127;4] / 127 unset 4th bit
bh05[0 1 1 1 0 1 0 1;5]
bh06[0 1 0 1 0 1 1 1]
bh07[1 0 1 1 1 1 0 0]
bh08[0 1 0 1 0 0 0 0]
bh09[1 0 1 1 1 1 0 0]
bh10[1 0 1 1 1 1 0 0]
Appreciated the help last time e.g. use of dyad # (take), indexing into list via juxtaposition (bh02) and use of dyad ? (find).
- textmode 8y agobh01:{*|2 _vs x=1}