@@ -36,11 +36,11 @@ functions = [
3636]
3737
3838for turbo in [false , true ],
39- T in [Float16, Float32, Float64],
39+ T in [Float16, Float32, Float64, ComplexF32, ComplexF64 ],
4040 (i_func, fnc) in enumerate (functions)
4141
4242 # Float16 not implemented:
43- turbo && T == Float16 && continue
43+ turbo && ! (T in (Float32, Float64)) && continue
4444
4545 # check if fnc is tuple
4646 if typeof (fnc) <: Tuple
@@ -62,15 +62,17 @@ for turbo in [false, true],
6262 nfeatures = 3
6363 X = randn (MersenneTwister (0 ), T, nfeatures, N)
6464
65- test_y = eval_tree_array (tree, X, operators; turbo= turbo)[1 ]
6665 true_y = realfnc .(X[1 , :], X[2 , :], X[3 , :])
66+ ! all (isfinite .(true_y)) && continue
67+
68+ test_y = eval_tree_array (tree, X, operators; turbo= turbo)[1 ]
6769
68- zero_tolerance = (T == Float16 ? 1e-4 : 1e-6 )
70+ zero_tolerance = (T <: Union{ Float16,Complex} ? 1e-4 : 1e-6 )
6971 @test all (abs .(test_y .- true_y) / N .< zero_tolerance)
7072end
7173
72- for turbo in [false , true ], T in [Float16, Float32, Float64]
73- turbo && T == Float16 && continue
74+ for turbo in [false , true ], T in [Float16, Float32, Float64, ComplexF32, ComplexF64 ]
75+ turbo && ! (T in (Float32, Float64)) && continue
7476 # Test specific branches of evaluation code:
7577 # op(op(<constant>))
7678 local tree, operators
0 commit comments