Tue May 20 22:43:38 2025 ubvec_test(): python version: 3.10.12 numpy version: 1.26.4 Test ubvec(). ksubset_colex_unrank_test(): ksubset_colex_unrank() unranks K-subsets of an N set, using the colexicographic ordering: The element of rank 5: The element: 0 5 1 3 2 1 ksubset_enum_test(): ksubset_enum() enumerates K-subsets of an N set. K: 0 1 2 3 4 5 N 0: 1 1: 1 1 2: 1 2 1 3: 1 3 3 1 4: 1 4 6 4 1 5: 1 5 10 10 5 1 morse_thue_test(): morse_thue() computes the Morse Thue numbers. 0 0 1 1 2 1 3 0 4 1 5 0 6 0 7 1 8 1 9 0 10 0 11 1 12 0 13 1 14 1 15 0 16 1 17 0 18 0 19 1 20 0 21 1 22 1 23 0 24 0 25 1 26 1 27 0 28 1 29 0 30 0 31 1 32 1 33 0 34 0 35 1 36 0 37 1 38 1 39 0 40 0 41 1 42 1 43 0 44 1 45 0 46 0 47 1 48 0 49 1 50 1 51 0 52 1 53 0 54 0 55 1 56 1 57 0 58 0 59 1 60 0 61 1 62 1 63 0 64 1 65 0 66 0 67 1 68 0 69 1 70 1 71 0 72 0 73 1 74 1 75 0 76 1 77 0 78 0 79 1 80 0 81 1 82 1 83 0 84 1 85 0 86 0 87 1 88 1 89 0 90 0 91 1 92 0 93 1 94 1 95 0 96 0 97 1 98 1 99 0 100 1 nim_sum_test(): nim_sum() computes the Nim sum of two integers. I J Nim(I+J) I1, I2, I3 in decimal: 593 930 499 I1, I2, I3 in binary: 10001010010000000000000000000000 01000101110000000000000000000000 11001111100000000000000000000000 I1, I2, I3 in decimal: 32 229 197 I1, I2, I3 in binary: 00000100000000000000000000000000 10100111000000000000000000000000 10100011000000000000000000000000 I1, I2, I3 in decimal: 225 280 505 I1, I2, I3 in binary: 10000111000000000000000000000000 00011000100000000000000000000000 10011111100000000000000000000000 I1, I2, I3 in decimal: 982 212 770 I1, I2, I3 in binary: 01101011110000000000000000000000 00101011000000000000000000000000 01000000110000000000000000000000 I1, I2, I3 in decimal: 889 762 387 I1, I2, I3 in binary: 10011110110000000000000000000000 01011111010000000000000000000000 11000001100000000000000000000000 ubvec_add_test(): ubvec_add() adds unsigned binary vectors representing unsigned integers I J K = I + J 38 86 Directly: 124 ubvec_add 124 96 4 Directly: 100 ubvec_add 100 26 62 Directly: 88 ubvec_add 88 41 13 Directly: 54 ubvec_add 54 27 8 Directly: 35 ubvec_add 35 10 44 Directly: 54 ubvec_add 54 65 16 Directly: 81 ubvec_add 81 11 23 Directly: 34 ubvec_add 34 79 96 Directly: 175 ubvec_add 175 8 64 Directly: 72 ubvec_add 72 ubvec_and_test(): ubvec_and() computes the AND of two unsigned binary vectors representing unsigned integers I J K = I AND J 74 78 74 35 18 2 3 91 3 39 52 36 23 57 17 67 12 0 77 57 9 100 95 68 30 56 24 58 92 24 ubvec_check_test(): ubvec_check() check an unsigned binary vector. CHECK? UBVEC True: 10011 False: 10019 False: 13011 ubvec_complement1_test(): ubvec_complement1() returns the 1's complement of an unsigned binary vector. UBVEC Comp1 01010 01010 00010 00010 00001 00001 00011 00011 10011 10011 ubvec_enum_test(): ubvec_enum() enumerates unsigned binary vectors of N digits N Number 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 9 512 10 1024 ubvec_next_test(): ubvec_next() computes the "next" unsigned binary vector. 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 1111 0000 ubvec_next_gray_test(): ubvec_next_gray() returns the next UBVEC in the Gray code. K UBVEC 0 0 0 0 0 1 0 0 0 1 2 0 0 1 1 3 0 0 1 0 4 0 1 1 0 5 0 1 1 1 6 0 1 0 1 7 0 1 0 0 8 1 1 0 0 9 1 1 0 1 10 1 1 1 1 11 1 1 1 0 12 1 0 1 0 13 1 0 1 1 14 1 0 0 1 15 1 0 0 0 ubvec_or_test(): ubvec_or() computes the OR of two unsigned binary vectors representing unsigned integers I J K = I OR J 41 81 121 36 26 62 88 36 124 84 23 87 8 59 59 29 24 29 75 89 91 10 16 26 72 35 107 80 19 83 ubvec_print_test(): ubvec_print() prints an unsigned binary vector. UBVEC: 0011101001 ubvec_random_test(): ubvec_random() randomizes an unsigned binary vector. 00001 00000 10101 01110 10101 ubvec_rank_gray_test(): ubvec_rank_gray() ranks a UBVEC in the Gray ordering. UBVEC Rank 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 3 0 0 0 1 1 2 0 0 1 0 0 7 0 0 1 0 1 6 0 0 1 1 0 4 0 0 1 1 1 5 0 1 0 0 0 15 0 1 0 0 1 14 0 1 0 1 0 12 0 1 0 1 1 13 0 1 1 0 0 8 0 1 1 0 1 9 0 1 1 1 0 11 0 1 1 1 1 10 1 0 0 0 0 31 1 0 0 0 1 30 1 0 0 1 0 28 1 0 0 1 1 29 1 0 1 0 0 24 1 0 1 0 1 25 1 0 1 1 0 27 1 0 1 1 1 26 1 1 0 0 0 16 1 1 0 0 1 17 1 1 0 1 0 19 1 1 0 1 1 18 1 1 1 0 0 23 1 1 1 0 1 22 1 1 1 1 0 20 1 1 1 1 1 21 ubvec_reverse_test(): ubvec_reverse() reverses an unsigned binary vector. UBVEC Reversed 11010 01011 01101 10110 01001 10010 11101 10111 10100 00101 ubvec_to_ui4_test(): ubvec_to_ui4() converts an unsigned binary vector to an unsigned integer UI4 --> UBVEC --> UI4 0 0000000000 0 1 0000000001 1 2 0000000010 2 3 0000000011 3 4 0000000100 4 5 0000000101 5 6 0000000110 6 7 0000000111 7 8 0000001000 8 9 0000001001 9 10 0000001010 10 ubvec_unrank_gray_test(): ubvec_unrank_gray() unranks a UBVEC. Rank UBVEC 0 0 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 1 3 0 0 0 1 0 4 0 0 1 1 0 5 0 0 1 1 1 6 0 0 1 0 1 7 0 0 1 0 0 8 0 1 1 0 0 9 0 1 1 0 1 10 0 1 1 1 1 11 0 1 1 1 0 12 0 1 0 1 0 13 0 1 0 1 1 14 0 1 0 0 1 15 0 1 0 0 0 16 1 1 0 0 0 17 1 1 0 0 1 18 1 1 0 1 1 19 1 1 0 1 0 20 1 1 1 1 0 21 1 1 1 1 1 22 1 1 1 0 1 23 1 1 1 0 0 24 1 0 1 0 0 25 1 0 1 0 1 26 1 0 1 1 1 27 1 0 1 1 0 28 1 0 0 1 0 29 1 0 0 1 1 30 1 0 0 0 1 31 1 0 0 0 0 ubvec_unrank_grlex_test(): ubvec_unrank_grlex() returns the UBVEC of given rank in the graded lexicographical ordering. -- -------- 0 0 0 0 0 -- -------- 1 0 0 0 1 2 0 0 1 0 3 0 1 0 0 4 1 0 0 0 -- -------- 5 0 0 1 1 6 0 1 0 1 7 0 1 1 0 8 1 0 0 1 9 1 0 1 0 10 1 1 0 0 -- -------- 11 0 1 1 1 12 1 0 1 1 13 1 1 0 1 14 1 1 1 0 -- -------- 15 1 1 1 1 ubvec_xor_test(): ubvec_xor() exclusive-ors unsigned binary vectors representing unsigned integers I J K = I XOR J 66 33 99 27 81 74 99 37 70 40 43 3 70 95 25 41 79 102 94 90 4 46 42 4 47 55 24 85 25 76 ui4_rank_gray_test(): ui4_rank_gray() ranks a UI4 in the Gray ordering. UI4 Rank (binary) 0 0 0 0 0 0 0 1 1 0 0 0 0 1 2 3 0 0 0 1 0 3 2 0 0 0 1 1 4 7 0 0 1 0 0 5 6 0 0 1 0 1 6 4 0 0 1 1 0 7 5 0 0 1 1 1 8 15 0 1 0 0 0 9 14 0 1 0 0 1 10 12 0 1 0 1 0 11 13 0 1 0 1 1 12 8 0 1 1 0 0 13 9 0 1 1 0 1 14 11 0 1 1 1 0 15 10 0 1 1 1 1 16 31 1 0 0 0 0 17 30 1 0 0 0 1 18 28 1 0 0 1 0 19 29 1 0 0 1 1 20 24 1 0 1 0 0 21 25 1 0 1 0 1 22 27 1 0 1 1 0 23 26 1 0 1 1 1 24 16 1 1 0 0 0 25 17 1 1 0 0 1 26 19 1 1 0 1 0 27 18 1 1 0 1 1 28 23 1 1 1 0 0 29 22 1 1 1 0 1 30 20 1 1 1 1 0 31 21 1 1 1 1 1 ui4_to_ubvec_test(): ui4_to_ubvec() converts an unsigned integer to an unsigned binary vector; UI4 --> UBVEC --> UI4 0 0000000000 0 1 0000000001 1 2 0000000010 2 3 0000000011 3 4 0000000100 4 5 0000000101 5 6 0000000110 6 7 0000000111 7 8 0000001000 8 9 0000001001 9 10 0000001010 10 ui4_unrank_gray_test(): ui4_unrank_gray() unranks a Gray code. Rank I (binary) 0 0 0 0 0 0 0 1 1 0 0 0 0 1 2 3 0 0 0 1 1 3 2 0 0 0 1 0 4 6 0 0 1 1 0 5 7 0 0 1 1 1 6 5 0 0 1 0 1 7 4 0 0 1 0 0 8 12 0 1 1 0 0 9 13 0 1 1 0 1 10 15 0 1 1 1 1 11 14 0 1 1 1 0 12 10 0 1 0 1 0 13 11 0 1 0 1 1 14 9 0 1 0 0 1 15 8 0 1 0 0 0 16 24 1 1 0 0 0 17 25 1 1 0 0 1 18 27 1 1 0 1 1 19 26 1 1 0 1 0 20 30 1 1 1 1 0 21 31 1 1 1 1 1 22 29 1 1 1 0 1 23 28 1 1 1 0 0 24 20 1 0 1 0 0 25 21 1 0 1 0 1 26 23 1 0 1 1 1 27 22 1 0 1 1 0 28 18 1 0 0 1 0 29 19 1 0 0 1 1 30 17 1 0 0 0 1 31 16 1 0 0 0 0 ubvec_test(): Normal end of execution. Tue May 20 22:43:38 2025