on 492ae2f help sign in
62 lines 938 B history raw
1### `++dis`
3Binary AND
5Computes the bit-wise logical AND of two atoms `a` and `b`, producing an
6atom.
8Accepts
9-------
11`a` is an atom.
13`b` is an atom.
15Produces
16--------
18An atom.
20Source
21------
23 ++ dis :: binary and
24 ~/ %dis
25 |= {a/@ b/@}
26 =| {c/@ d/@}
27 |- ^- @
28 ?: ?|(=(0 a) =(0 b)) d
29 %= $
30 a (rsh 0 1 a)
31 b (rsh 0 1 b)
32 c +(c)
33 d %+ add d
34 %^ lsh 0 c
35 ?| =(0 (end 0 1 a))
36 =(0 (end 0 1 b))
37 ==
38 ==
40Examples
41--------
43 ~zod/try=> `@ub`9
44 0b1001
45 ~zod/try=> `@ub`5
46 0b101
47 ~zod/try=> `@ub`(dis 9 5)
48 0b1
49 ~zod/try=> (dis 9 5)
50 1
51 ~zod/try=> `@ub`534
52 0b10.0001.0110
53 ~zod/try=> `@ub`987
54 0b11.1101.1011
55 ~zod/try=> `@ub`(dis 534 987)
56 0b10.0001.0010
57 ~zod/try=> (dis 534 987)
58 530
62***