CNFX
A base -1 + i CNF encoder for complex field operations.
Note: Actually is only is implemented the addition, subtraction, equality and difference.
Note: In future the licence will change to MIT for the moment is 100% proprietary.
installation:
pip install cnfx
Work in progress.
python3 test.py
...
(-70.3984375-51.19921875j) (-32+0j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-38.3984375-19.19921875j) (-64-32j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(89.6015625+108.80078125j) (-192-160j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(89.6015625-19.19921875j) (-192-32j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-38.3984375-147.19921875j) (-64+96j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-102.3984375-83.19921875j) 32j (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(25.6015625+44.80078125j) (-128-96j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(25.6015625+172.80078125j) (-128-224j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-102.3984375+44.80078125j) -96j (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-166.3984375+44.80078125j) (64-96j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-38.3984375+172.80078125j) (-64-224j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-38.3984375+44.80078125j) (-64-96j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-166.3984375-83.19921875j) (64+32j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-102.3984375-147.19921875j) 96j (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(25.6015625-19.19921875j) (-128-32j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(25.6015625+108.80078125j) (-128-160j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-102.3984375-19.19921875j) -32j (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-86.3984375-35.19921875j) (-16-16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(41.6015625+92.80078125j) (-144-144j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(41.6015625-35.19921875j) (-144-16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-86.3984375-163.19921875j) (-16+112j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-150.3984375-99.19921875j) (48+48j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-22.3984375+28.80078125j) (-80-80j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-22.3984375+156.80078125j) (-80-208j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-150.3984375+28.80078125j) (48-80j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-86.3984375+28.80078125j) (-16-80j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(41.6015625+156.80078125j) (-144-208j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(41.6015625+28.80078125j) (-144-80j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-86.3984375-99.19921875j) (-16+48j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-22.3984375-163.19921875j) (-80+112j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(105.6015625-35.19921875j) (-208-16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(105.6015625+92.80078125j) (-208-144j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-22.3984375-35.19921875j) (-80-16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-54.3984375-67.19921875j) (-48+16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(73.6015625+60.80078125j) (-176-112j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(73.6015625-67.19921875j) (-176+16j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-54.3984375-195.19921875j) (-48+144j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(-118.3984375-131.19921875j) (16+80j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(9.6015625-3.19921875j) (-112-48j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
(9.6015625+124.80078125j) (-112-176j) (0.1875+0j) (-102.16015625-51.19921875j) (-102.16015625-51.19921875j) (0.1875+0j) True True True
...