Remove believe_me calls blocking evaluation

This commit is contained in:
Kiana Sheibani 2024-04-28 00:30:52 -04:00
parent 76e4137d37
commit 963f27384f
Signed by: toki
GPG key ID: 6CB106C25E86A9F7
5 changed files with 20 additions and 10 deletions

View file

@ -4,6 +4,7 @@ import Data.List
import Data.Vect
import Data.NumIdr.Array.Rep
import Data.NumIdr.Array.Coords
import Data.NumIdr.PrimArray.Linked
%default total
@ -21,8 +22,8 @@ export
indexRange : {s : _} -> (rs : CoordsRange s) -> PrimArrayDelayed s a -> PrimArrayDelayed (newShape rs) a
indexRange [] v = v
indexRange (r :: rs) v with (cRangeToList r)
_ | Left i = indexRange rs (\is' => v (believe_me i :: is'))
_ | Right is = \(i::is') => indexRange rs (\is'' => v (believe_me (Vect.index i (fromList is)) :: is'')) is'
_ | Left i = indexRange rs (\is' => v (assertFin i :: is'))
_ | Right is = \(i::is') => indexRange rs (\is'' => v (assertFin (Vect.index i (fromList is)) :: is'')) is'
export
indexSetRange : {s : _} -> (rs : CoordsRange s) -> PrimArrayDelayed (newShape rs) a