Giter Club home page Giter Club logo

tt's People

Contributors

tapplencourt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tt's Issues

How to find optimal solution( with least number of True value ) from set of solution ?

I am using this tool to automate APIs. For that, we are defining some rules using boolean expressions. For example, say these are the rules :

A iff (B or C)
B impl not C
D impl E,
F iff (G or H)

Now I am putting each symbol as constrain as 1, and trying to find a solution that satisfies all the rules. For that I am creating a final rule by joining them with 'and'.

Let's say I put A = 1, so I want a solution that has minimal 1's.
Example

A=1,B=1,C=0,D=0,E=0,F=0,G=0,H=0

But from your module I am getting this solution after using sat_one() method:

A=1,B=1,C=0,D=0,E=1,F=0,G=0,H=0

How to find the optimal one? Also, I have large number of operands so looping through each solution is not possible. Please help me on this topic.

Conversion between TT and BE ?

Couldn't find in the docs if there is a way to convert between TT and BE ?

Another questions :

  • Is there a plans for the following functions like in PyEDA
    - .derivate()
    It is interesting that the implementation should be easy , may be :)
    def derivate(self, vs): return functools.reduce(operator.xor, self.iter_cofactors(vs))
    - .simplify()

I have to switch between the two, because PyEDA does not seem to have .evaluate() method.

Windows Build

I tried to build the C-extensions (OS: Windows with MSVC v140 – VS 2015 C++-Buildtools (v14.00), Python: 3.7.6). However running python setup.py build fails with

> python setup.py build
running build
running build_py
running build_ext
building 'tt._clibs.picosat' extension
creating build\temp.win-amd64-3.7
creating build\temp.win-amd64-3.7\Release
creating build\temp.win-amd64-3.7\Release\Users
creating build\temp.win-amd64-3.7\Release\Users\Florian
creating build\temp.win-amd64-3.7\Release\Users\Florian\gitlab
creating build\temp.win-amd64-3.7\Release\Users\Florian\gitlab\tt
creating build\temp.win-amd64-3.7\Release\Users\Florian\gitlab\tt\tt
creating build\temp.win-amd64-3.7\Release\Users\Florian\gitlab\tt\tt\_clibs
creating build\temp.win-amd64-3.7\Release\Users\Florian\gitlab\tt\tt\_clibs\picosat
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DNDEBUG -DNGETRUSAGE -Dinline=__inline -IC:\Users\Florian\gitlab\tt\tt\_clibs\picosat -IC:\Python37\include -IC:\Python37\include "-IC:\Program Files (x86)
\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /TcC:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c /Fobuild\temp.win-amd64-3
.7\Release\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.obj
picosat.c
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(860): warning C4244: "=": Konvertierung von "unsigned __int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1177): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1227): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1438): warning C4334: "<<": Das Ergebnis der 32-Bit-Verschiebung wurde implizit in 64 Bits konvertiert. (War eine 64-Bit-Verschiebung vorgesehen?)
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1557): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1558): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1562): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1610): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1670): warning C4244: "return": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1693): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1746): warning C4244: "return": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1825): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1845): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(1854): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2258): warning C4146: Einem vorzeichenlosen Typ wurde ein unärer Minus-Operator zugewiesen. Das Ergebnis ist weiterhin vorzeichenlos.
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2278): warning C4267: "=": Konvertierung von "size_t" nach "int", Datenverlust möglich
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2275): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\stdio.h(1769): note: Siehe Deklaration von "sprintf"
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2303): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2344): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2357): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2368): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2370): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2398): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2405): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2594): warning C4244: "Initialisierung": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2594): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2634): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2721): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2785): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2805): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2803): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2926): warning C4244: "=": Konvertierung von "__int64" in "long", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(2941): warning C4244: "=": Konvertierung von "__int64" in "long", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3275): warning C4267: "=": Konvertierung von "size_t" nach "int", Datenverlust möglich
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3291): warning C4244: "=": Konvertierung von "double" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3293): warning C4146: Einem vorzeichenlosen Typ wurde ein unärer Minus-Operator zugewiesen. Das Ergebnis ist weiterhin vorzeichenlos.
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3297): warning C4244: "=": Konvertierung von "double" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3310): warning C4244: "=": Konvertierung von "double" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3314): warning C4244: "=": Konvertierung von "double" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3320): warning C4244: "=": Konvertierung von "double" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3273): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\stdio.h(1769): note: Siehe Deklaration von "sprintf"
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3285): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\stdio.h(1769): note: Siehe Deklaration von "sprintf"
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3511): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3659): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(3671): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(4726): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5124): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5173): warning C4244: "=": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5328): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5081): warning C4244: "Initialisierung": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5081): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5083): warning C4244: "Initialisierung": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5083): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5326): warning C4244: "Initialisierung": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5326): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5445): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5584): warning C4244: "=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5540): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5585): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(5661): warning C4244: "=": Konvertierung von "unsigned __int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(6574): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(6718): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(6754): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(6872): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(6956): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7373): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7378): warning C4244: "Initialisierung": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7395): warning C4244: "Initialisierung": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7664): warning C4244: "=": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7725): warning C4244: "=": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(7765): warning C4244: "=": Konvertierung von "__int64" in "int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(8199): warning C4244: "+=": Konvertierung von "__int64" in "unsigned int", möglicher Datenverlust
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(8216): warning C4146: Einem vorzeichenlosen Typ wurde ein unärer Minus-Operator zugewiesen. Das Ergebnis ist weiterhin vorzeichenlos.
C:\Users\Florian\gitlab\tt\tt\_clibs\picosat\picosat.c(8248): warning C4146: Einem vorzeichenlosen Typ wurde ein unärer Minus-Operator zugewiesen. Das Ergebnis ist weiterhin vorzeichenlos.
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DNDEBUG -DNGETRUSAGE -Dinline=__inline -IC:\Users\Florian\gitlab\tt\tt\_clibs\picosat -IC:\Python37\include -IC:\Python37\include "-IC:\Program Files (x86)
\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" /TcC:\Users\Florian\gitlab\tt\tt\_clibs\picosatmodule.c /Fobuild\temp.win-amd64-3.7
\Release\Users\Florian\gitlab\tt\tt\_clibs\picosatmodule.obj
picosatmodule.c
c:\python37\include\pyconfig.h(203): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "basetsd.h": No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2

Any suggestions how to fix this?

Expression simplification?

I could not find relevant methods in the docs. Just to clarify, this library does not have built in functions for boolean expression simplification / optimization with techniques like common term extraction? What would be the design or technical reason?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.