compopt4apps / iegenlib Goto Github PK
View Code? Open in Web Editor NEWInspector/Executor Generation Library for manipulating sets and relations with uninterpreted function symbols.
License: BSD 2-Clause "Simplified" License
Inspector/Executor Generation Library for manipulating sets and relations with uninterpreted function symbols.
License: BSD 2-Clause "Simplified" License
It does not seem to have any sort of quick initial Sat Check at the moment. Also, its return value is confusing, should not be NULL pointer.
@king-mahdi Please put in some testing for passRelationThruISL. I am finding the following is not working:
"{[tstep,i] -> [s0,t,i1,x] : tstep = s0 && i = i1 && t = theta(0,i) && x = 0 }โ
syntax error (1, 79): unknown identifier
got ident 'theta'
syntax error (1, 84): unexpected token
got '('
@
It would be a good idea to add a field UnSat to Conjunction/SparseConstraints/Set/Relation (and maybe even Exp?), and have a function, isUnSat, return its value, or determine it on the fly using ISL only for obvious unsatisfiability.
We should test to see what platforms IEGenLIb is currently building on, e.g OS name and version, GCC version, etc.
Plus, we should check to see whether build dependency list in the instructions are up-to-date.
Considering the new implementations for adding domain info using instantiation, this function should be removed, especially since it is not being used at all.
Hi,
I got many errors while compiling with gcc 5.4. Basically all of them caused by missing headerfile. I had to manually insert every source file #include <cstddef>
as a quick and dirty solution. Is it possible to fix this issue?
Regards
There is a redundant function for returning arity in Set class. Additionally, it might have non-uniform names in different classes.
This function is doing two things that makes it confusing, and maybe even incorrect. On is to determine a non-constraint expression is a constant, and the other is to determine whither a constraint is contradictory (1=0) or something a long those lines.
Currently, these function cannot handle an empty Set/Relation appropriately.
Right now building GMP library (while building IEGenLib), depends texinfo, in Ubuntu it can be installed with following command:
sudo apt install texinfo
Nonetheless, I think we can remove this dependency by putting some pre-compiled GMP files in the main repository. If not possible, then we should add this dependency to the build instructions.
Error message when I do not have this dependency:
make[6]: Entering directory '/home/kingmahdi/Desktop/iegenlib/build/libgmp-prefix/src/libgmp-build/doc'
/home/kingmahdi/Desktop/iegenlib/lib/gmp/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:
http://www.gnu.org/software/texinfo/
The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:
http://www.gnu.org/software/make/
Things are spread out a bit now. Would like to be more consistent as to where we put them.
What is not implemented with the visitor design pattern and probably should be.
It must be fixed to work with new approach of adding domain info using instantiation.
Also it is missing call to normalize in relation function.
Additionally, its return value is confusing, should not be NULL pointer.
They can print stuff better, e.g. i = j instead of i - j = 0.
It might be worth a while to use isl, e.g get an isl string of IEGenLib Set/Relation, manipulate it, and print that.
UFCallMap is not added to namespace iegenlib when included in iegenlib.i, causing an error when the swig interface is built
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.