@@ -474,49 +474,49 @@ Base.conj!(A::HermOrSym) = typeof(A)(parentof_applytri(conj!, A), A.uplo)
474
474
# tril/triu
475
475
function tril (A:: Hermitian , k:: Integer = 0 )
476
476
if A. uplo == ' U' && k <= 0
477
- return tril! (copy (A. data' ),k)
477
+ return tril_maybe_inplace (copy (A. data' ),k)
478
478
elseif A. uplo == ' U' && k > 0
479
- return tril! (copy (A. data' ),- 1 ) + tril! (triu (A. data),k)
479
+ return tril_maybe_inplace (copy (A. data' ),- 1 ) + tril_maybe_inplace (triu (A. data),k)
480
480
elseif A. uplo == ' L' && k <= 0
481
481
return tril (A. data,k)
482
482
else
483
- return tril (A. data,- 1 ) + tril! ( triu! (copy (A. data' )),k)
483
+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (A. data' )),k)
484
484
end
485
485
end
486
486
487
487
function tril (A:: Symmetric , k:: Integer = 0 )
488
488
if A. uplo == ' U' && k <= 0
489
- return tril! (copy (transpose (A. data)),k)
489
+ return tril_maybe_inplace (copy (transpose (A. data)),k)
490
490
elseif A. uplo == ' U' && k > 0
491
- return tril! (copy (transpose (A. data)),- 1 ) + tril! (triu (A. data),k)
491
+ return tril_maybe_inplace (copy (transpose (A. data)),- 1 ) + tril_maybe_inplace (triu (A. data),k)
492
492
elseif A. uplo == ' L' && k <= 0
493
493
return tril (A. data,k)
494
494
else
495
- return tril (A. data,- 1 ) + tril! ( triu! (copy (transpose (A. data))),k)
495
+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (transpose (A. data))),k)
496
496
end
497
497
end
498
498
499
499
function triu (A:: Hermitian , k:: Integer = 0 )
500
500
if A. uplo == ' U' && k >= 0
501
501
return triu (A. data,k)
502
502
elseif A. uplo == ' U' && k < 0
503
- return triu (A. data,1 ) + triu! ( tril! (copy (A. data' )),k)
503
+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (A. data' )),k)
504
504
elseif A. uplo == ' L' && k >= 0
505
- return triu! (copy (A. data' ),k)
505
+ return triu_maybe_inplace (copy (A. data' ),k)
506
506
else
507
- return triu! (copy (A. data' ),1 ) + triu! (tril (A. data),k)
507
+ return triu_maybe_inplace (copy (A. data' ),1 ) + triu_maybe_inplace (tril (A. data),k)
508
508
end
509
509
end
510
510
511
511
function triu (A:: Symmetric , k:: Integer = 0 )
512
512
if A. uplo == ' U' && k >= 0
513
513
return triu (A. data,k)
514
514
elseif A. uplo == ' U' && k < 0
515
- return triu (A. data,1 ) + triu! ( tril! (copy (transpose (A. data))),k)
515
+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (transpose (A. data))),k)
516
516
elseif A. uplo == ' L' && k >= 0
517
- return triu! (copy (transpose (A. data)),k)
517
+ return triu_maybe_inplace (copy (transpose (A. data)),k)
518
518
else
519
- return triu! (copy (transpose (A. data)),1 ) + triu! (tril (A. data),k)
519
+ return triu_maybe_inplace (copy (transpose (A. data)),1 ) + triu_maybe_inplace (tril (A. data),k)
520
520
end
521
521
end
522
522
0 commit comments