Skip to content

Instantly share code, notes, and snippets.

@tmcdonell
Last active June 16, 2018 04:24
Show Gist options
  • Save tmcdonell/9ec2dbff246069049d72e3509546d5fb to your computer and use it in GitHub Desktop.
Save tmcdonell/9ec2dbff246069049d72e3509546d5fb to your computer and use it in GitHub Desktop.
Scalar Z [1.6636479e16]
0.440618967s
1.6636479e16
0.22351678s
1.6636479e16
0.23023065s
\a0 a1 -> let a2 =
fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
((let x0 =
let x0 = shape a0 in
let x1 = indexTail x0
in (indexHead (indexTail x1),indexHead x1,indexHead x0)
in Z :. #1 x0 :. #0 x0))
(\x0 -> a0!(let x1 = Z in x1 :. a1!x1 :. indexHead (indexTail x0) :. indexHead x0)))
in fold (\x0 x1 -> x0 + x1) 0.0 a2
\a0 a1 -> fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
(Z
:.
shapeSize (indexSlice (let x0 = All in let x1 = Z in x1 :. a1!x1 :. x0 :. x0) (shape a0)))
(\x0 -> let x1 =
let x1 =
let x1 =
indexFull
(let x1 = All
in let x2 = Z in x2 :. a1!x2 :. x1 :. x1)
(fromIndex
(indexSlice (let x1 = All in let x2 = Z in x2 :. a1!x2 :. x1 :. x1) (shape a0))
(toIndex
(Z
:.
shapeSize (indexSlice (let x1 = All in let x2 = Z in x2 :. a1!x2 :. x1 :. x1) (shape a0)))
x0))
in x1
in a0!x1
in x1))
Scalar Z [1.6636479e16]
0.445880779s
1.6636479e16
0.252733298s
1.6636479e16
0.223038147s
\a0 a1 -> fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
(Z
:.
shapeSize
(let x0 =
let x0 = shape a0 in
let x1 = indexTail x0
in (indexHead (indexTail x1),indexHead x1,indexHead x0)
in Z :. #1 x0 :. #0 x0))
(\x0 -> let x1 =
fromIndex
(let x1 =
let x1 = shape a0 in
let x2 = indexTail x1
in (indexHead (indexTail x2),indexHead x2,indexHead x1)
in Z :. #1 x1 :. #0 x1)
(toIndex
(Z
:.
shapeSize
(let x1 =
let x1 = shape a0 in
let x2 = indexTail x1
in (indexHead (indexTail x2),indexHead x2,indexHead x1)
in Z :. #1 x1 :. #0 x1))
x0)
in a0!(let x2 = Z in x2 :. a1!x2 :. indexHead (indexTail x1) :. indexHead x1)))
\a0 a1 -> fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
(Z
:.
shapeSize (indexSlice (let x0 = All in let x1 = Z in x1 :. a1!x1 :. x0 :. x0) (shape a0)))
(\x0 -> let x1 =
let x1 =
let x1 =
indexFull
(let x1 = All
in let x2 = Z in x2 :. a1!x2 :. x1 :. x1)
(fromIndex
(indexSlice (let x1 = All in let x2 = Z in x2 :. a1!x2 :. x1 :. x1) (shape a0))
(toIndex
(Z
:.
shapeSize (indexSlice (let x1 = All in let x2 = Z in x2 :. a1!x2 :. x1 :. x1) (shape a0)))
x0))
in x1
in a0!x1
in x1))
> ./Slice
Scalar Z [1.6636479e16]
0.442988891s
1.6636479e16
0.217923184s
1.6636479e16
0.194060823s
\a0 a1 -> let a2 =
fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
((let x0 =
let x0 = shape a0 in
let x1 = indexTail x0
in (indexHead (indexTail x1),indexHead x1,indexHead x0)
in Z :. #1 x0 :. #0 x0))
(\x0 -> a0!(let x1 = Z in x1 :. a1!x1 :. indexHead (indexTail x0) :. indexHead x0)))
in fold (\x0 x1 -> x0 + x1) 0.0 a2
\a0 a1 -> let a2 =
fold
(\x0 x1 -> x0 + x1)
0.0
(delayed
((indexSlice (let x0 = All in let x1 = Z in x1 :. a1!x1 :. x0 :. x0) (shape a0)))
(\x0 -> let x1 =
let x1 =
let x1 = indexFull (let x1 = All in let x2 = Z in x2 :. a1!x2 :. x1 :. x1) x0
in x1
in a0!x1
in x1))
in fold (\x0 x1 -> x0 + x1) 0.0 a2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment