-
Notifications
You must be signed in to change notification settings - Fork 9
Description
Description
There have been a few bug reports relating to inconsistencies with compile time operations differing from runtime operations. With the coming changes with GMRT and LLVM likely to support a rudimentary constant propagation, then those differences will only more likely be apparent. Having a testsuite to compare compile time optimizations vs runtime operations would help minimize these inconsistencies, and should help with development and debugging of future tasks relating to such optimizations.
The math parts of this testsuite can be generated from this python script, in hopes this makes for easier modification for adding or removing anything.
Additional tests could be provided for some of the advanced math functions which wouldnt be generated from this specific python script with out significant modification, possibly an Advanced variant of the test suite could include the more focused compile time evaluations, such as string functions.
I had already made a PR for this prior to realizing I was suppose to create an issue about this first. My apologies.
#269
Steps To The Task
- All Mathematical functions
- All binary math operators
- All unary math operators
- All compile time possible types for math equations, int64
0b01, int640xFF, real which doesnt have to be signed, real which does require sign.
Outcome
Allow for easy testing of compile time optimizations resulting in same expected behavior as runtime.