on 657b415 help sign in
51 lines 778 B history raw
1### `++rip`
3Disassemble
5Produces a list of atoms from the bits of `b` using block size `a`.
7Accepts
8-------
10`a` is a block size (see `++bloq`).
12`b` is an atom.
14Produces
15--------
17A list of atoms.
19Source
20------
22 ++ rip :: disassemble
23 ~/ %rip
24 |= {a/bloq b/@}
25 ^- (list @)
26 ?: =(0 b) ~
27 [(end a 1 b) $(b (rsh a 1 b))]
29Examples
30--------
32 ~zod/try=> `@ub`155
33 0b1001.1011
34 ~zod/try=> (rip 0 155)
35 ~[1 1 0 1 1 0 0 1]
36 ~zod/try=> (rip 2 155)
37 ~[11 9]
38 ~zod/try=> (rip 1 155)
39 ~[3 2 1 2]
40 ~zod/try=> `@ub`256
41 0b1.0000.0000
42 ~zod/try=> (rip 0 256)
43 ~[0 0 0 0 0 0 0 0 1]
44 ~zod/try=> (rip 2 256)
45 ~[0 0 1]
46 ~zod/try=> (rip 3 256)
47 ~[0 1]
51***