Skip to content

Commit 331364e

Browse files
authored
Fix tests on nightly (#2742)
1 parent 1409152 commit 331364e

File tree

1 file changed

+31
-5
lines changed

1 file changed

+31
-5
lines changed

test/Nonlinear/Nonlinear.jl

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,6 @@ function test_eval_multivariate_hessian_prod()
652652
# 2-arg *
653653
x = [1.1, 2.2]
654654
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
655-
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :*, H, x)) == 0
656655
@test Nonlinear.eval_multivariate_hessian(r, :*, H, x)
657656
@test H _hessian(x -> x[1] * x[2], x)
658657
# 3-arg *
@@ -663,40 +662,67 @@ function test_eval_multivariate_hessian_prod()
663662
return
664663
end
665664

665+
function test_eval_multivariate_hessian_prod_allocated()
666+
r = Nonlinear.OperatorRegistry()
667+
x = [1.1, 2.2]
668+
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
669+
Nonlinear.eval_multivariate_hessian(r, :*, H, x) # ensure precompiled
670+
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :*, H, x)) == 0
671+
return
672+
end
673+
666674
function test_eval_multivariate_hessian_exponentiation()
667675
r = Nonlinear.OperatorRegistry()
668676
# ^1.0
669677
x = [1.1, 1.0]
670678
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
671-
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :^, H, x)) == 0
672679
@test Nonlinear.eval_multivariate_hessian(r, :^, H, x)
673680
@test H _hessian(x -> x[1]^x[2], x)
674681
# ^2.0
675682
x = [1.1, 2.0]
676683
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
677-
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :^, H, x)) == 0
678684
@test Nonlinear.eval_multivariate_hessian(r, :^, H, x)
679685
@test H _hessian(x -> x[1]^x[2], x)
680686
# 2-arg ^
681687
x = [1.1, 2.2]
682688
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
683-
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :^, H, x)) == 0
684689
@test Nonlinear.eval_multivariate_hessian(r, :^, H, x)
685690
@test H _hessian(x -> x[1]^x[2], x)
686691
return
687692
end
688693

694+
function test_eval_multivariate_hessian_exponentiation_allocated()
695+
r = Nonlinear.OperatorRegistry()
696+
# ^1.0
697+
x = [1.1, 1.0]
698+
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
699+
@test Nonlinear.eval_multivariate_hessian(r, :^, H, x)
700+
for x2 in [1.0, 2.0, 2.2]
701+
x[2] = x2
702+
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :^, H, x)) == 0
703+
end
704+
return
705+
end
706+
689707
function test_eval_multivariate_hessian_division()
690708
r = Nonlinear.OperatorRegistry()
691709
# 2-arg /
692710
x = [1.1, 2.2]
693711
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
694-
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :/, H, x)) == 0
695712
@test Nonlinear.eval_multivariate_hessian(r, :/, H, x)
696713
@test H _hessian(x -> x[1] / x[2], x)
697714
return
698715
end
699716

717+
function test_eval_multivariate_hessian_division_allocated()
718+
r = Nonlinear.OperatorRegistry()
719+
x = [1.1, 2.2]
720+
H = LinearAlgebra.LowerTriangular(zeros(2, 2))
721+
Nonlinear.eval_multivariate_hessian(r, :/, H, x) # ensure precompiled
722+
@test (@allocated Nonlinear.eval_multivariate_hessian(r, :/, H, x)) == 0
723+
return
724+
end
725+
700726
function test_eval_multivariate_function_registered()
701727
r = Nonlinear.OperatorRegistry()
702728
f(x...) = x[1]^2 + x[1] * x[2] + x[2]^2

0 commit comments

Comments
 (0)