-
Notifications
You must be signed in to change notification settings - Fork 171
Implementing Symbolic ASR pass #2239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Most of this PR was reviewed in #2200 but there was it seems there are some issues on the branch , hence I've created a duplicate branch of the same . |
Awesome, Looks great! Test the following and see if it works as expected. from lpython import S
from sympy import pi
def main0():
x: S = pi
y: S = pi
print(x)
if __name__ == "__main__":
main0() |
Hello @Thirumalai-Shaktivel , I have implemented the
I now get the required result for the program you've mentioned above through the llvm and the c backend
|
Beautiful! Great progress! |
The
Hence I think I have the correct implementation in place for it . But for the following program , I am not able to get the pass working unlike the
It says |
I've now added functionality for all unary and binary functions that have been implemented through these Prs
|
I've added the symbolic integer through casting in my latest commit to achieve the following functionality
I think we could stop at this point , review this and implement other things in the subsequent PRs. @Thirumalai-Shaktivel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that this is fine.
How long will it take to re-enable at least half of the other tests?
I think it should all be done within a weeks time !
Actually 2 won't be challenging once 1 is done .
|
This PR will not conflict, since it just adds a pass. So let's keep it open. Let's not add any more commits to this PR. To implement 1. above, just open a new PR, that builds upon this one. Implement 1. We'll see how many tests will start working. What I don't want to happen is the current capability to break while we are building this. Only once most of the tests pass, I am happy to do the switch. |
Yes I think we should proceed like above . Thanks for the review . |
Merged as part of #2255. |
The pass should be responsible for converting the ASR of Program 1 to Prorgam 2
Program 1
Program 2