changeset 1148:dd7325f91aa3

Merge bugfix/lazy_tensors/lazyfunctionarray
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 21 Oct 2022 21:41:43 +0200
parents 0aa8ce9f30e2 (current diff) cc404d5faab6 (diff)
children 58cb7cb02d9a 1e44375d8a67 93bba649aea2
files
diffstat 2 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/LazyTensors/lazy_array.jl	Wed Oct 12 10:44:44 2022 +0200
+++ b/src/LazyTensors/lazy_array.jl	Fri Oct 21 21:41:43 2022 +0200
@@ -28,7 +28,7 @@
 export LazyFunctionArray
 
 function LazyFunctionArray(f::F, size::NTuple{D,Int}) where {F<:Function,D}
-    T = typeof(f(ones(D)...))
+    T = typeof(f(ones(Int, D)...))
     return LazyFunctionArray{F,T,D}(f,size)
 end
 
--- a/test/LazyTensors/lazy_array_test.jl	Wed Oct 12 10:44:44 2022 +0200
+++ b/test/LazyTensors/lazy_array_test.jl	Fri Oct 21 21:41:43 2022 +0200
@@ -102,4 +102,7 @@
     @test_throws BoundsError LazyFunctionArray((i,j)->i*j, (3,2))[4,2]
     @test_throws BoundsError LazyFunctionArray((i,j)->i*j, (3,2))[2,3]
 
+    # Test that the constructor works with a restrictive function
+    f(x::Vararg{Int}) = sum(x)
+    @test LazyFunctionArray(f,(3,4)) isa LazyFunctionArray
 end