Conversation
|
Looks like a great start! Definitely more transparent this way. |
5a8301c to
af37448
Compare
af37448 to
caee0b1
Compare
|
I have to apologize for the mess: this PR is somewhat growing uncontrollably. It would be great if you could maybe give your opinion on where this is going. |
|
I presumed that this would be large PR given how disruptive ITensor/DerivableInterfaces.jl#28 is. It all looks pretty reasonable to me so far, maybe it will just warrant you giving me a summary once the dust settles a bit with the two PRs. But right now the scope seems fine, unless you want to split it up into separate PRs for your own sanity. I see basically there are:
So maybe 2. and 3. could be split off into their own PRs since they look pretty self-contained. |
|
(I forgot that the constructors are already in a separate PR, i.e. #33, so that will already simplify this PR when that gets merged.) |
|
Closed by #81. |
This is a WIP implementation of some of the things that were discussed, also in light of the upcoming
DerivableInterfaceschanges.Builds on top of #31.
For now, it mostly contains a more built out version of the indexing, with a little more care towards boundschecking.
I have not yet started testing, just wanted to get an initial implementation going to allow for possible early feedback.
Notable changes:
isstored,set/get(un)storedindexnow work for cartesian, boolean and linear indices, since they have more support viato_indicesand a canonical entry pointAbstractSparseArrayInterfacefile became rather unwieldy, I split off the parts that are just generic indexing functions into a separate file@derive T traitmachinery