-
Notifications
You must be signed in to change notification settings - Fork 79
Fix concretization and execution with padded expanded empty inputs #876
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
Changes from all commits
ea50620
ed8f5b1
2ae5bf9
d615688
9f379eb
26a1f44
a21ae8c
ef85ea1
3f7e19f
41d6b2d
84ed3b4
887e093
c9f174a
70c06ba
9624ca3
b66d638
139580f
12feadd
205c8b2
30807f2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -181,6 +181,12 @@ class StructHandle { | |
| StructHandle& operator=(const StructHandle& other) = default; | ||
| StructHandle& operator=(StructHandle&& other) = default; | ||
|
|
||
| //! This is a shallow comparison operator that just checks whether we point to | ||
| //! the same exact Struct | ||
| bool operator==(const StructHandle& other) const { | ||
| return struct_ptr_ == other.struct_ptr_; | ||
| } | ||
|
|
||
|
Comment on lines
+184
to
+189
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After binding a
Adding this shallow pointer comparison fixes it, but @zasdfgbnm please let me know if this is safe to add.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Alternatively, I could add another special case in
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this makes sense |
||
| template <typename T> | ||
| bool is() const { | ||
| return std::dynamic_pointer_cast<T>(struct_ptr_) != nullptr; | ||
|
|
||
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.
There's some sharp edges here. For example, if between rfactor domain and root domain, there's a split whose factor is a fusion input, then this will fail, because we do not have it binded. But for now, I think it's fine because we do not have such case. Let's leave this as is. In the future we might need to refactor if this becomes an issue.
Uh oh!
There was an error while loading. Please reload this page.
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.
Great point. We should at minimum bind
thishere so that any precomputed values that are already bound will be available toee. I'll also add a comment about this pitfall.