Comments (6)
So there are two things at place here.
- There was a bug with the returned type of a core.trait.size (which I've just fixed)
- Rn, core.trait.size only deals with structural Arr%ays. We need to add sth in its normalizers to do the right thing for parameterized Arr%ays.
from thorin2.
I'll close this for now and open a new enhancement issue.
from thorin2.
So, the bug is fixed. The other issue is more an enhancement to make it work in the llvm backend.
from thorin2.
And this is not entirely trivial and clear to me, how to do that properly. Ideas?
E.g., what is the size of this thing here?
<<i: n; <<i as Nat; T>>
from thorin2.
Is this a triangle array?
I am not sure if we can view it in a holistic way.
For many cases, we could find iteration strategies with tight bounds or at least some upper bounds.
But I think it is generally not computable what the correct size is in one go.
We would basically need to evaluate n
and for [0...n-1]
evaluate the inner function to get the bounds.
Overall, this would be the same as unrolling it entirely and having a standard deep initialization.
from thorin2.
Yes, this is a triangle array. I think this is a case of: "we support this and that and for other stuff you are out of luck".
The example above at least is a parameterized array.
from thorin2.
Related Issues (20)
- Code generation for floating point casts HOT 2
- Scheduler returns wrong position dynamically
- Automatic Dialect Loading HOT 4
- Shadowing for variables HOT 1
- Association Dialect HOT 4
- Application Error with matching domain HOT 7
- Grammar Improvements HOT 1
- Add mem problem with dependent types
- Add mem adds too many mems HOT 2
- Backend Preparation: Nested Extract Splitting
- Float Infer Unification Issue
- Reshape phase messes up types
- cps2ds - wrong body type HOT 4
- Matrix map_reduce: missing token for extractvalue in generated llvm code HOT 4
- one button to reproduce them all
- Parametrized packs fail for arity <= 1
- %affine.For breaks without scalerize pass HOT 2
- Invalid intermediate code HOT 3
- `%core.wrap.sub nuw (a, 1:(.Idx n))` incorrectly normalizes to `%core.wrap.add nuw (a, n - 1)`
- cps2ds sometimes introduces ownerless Vars HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from thorin2.