@@ -520,49 +520,49 @@ Base.conj!(A::HermOrSym) = typeof(A)(parentof_applytri(conj!, A), A.uplo)
520520# tril/triu
521521function tril (A:: Hermitian , k:: Integer = 0 )
522522 if A. uplo == ' U' && k <= 0
523- return tril! (copy (A. data' ),k)
523+ return tril_maybe_inplace (copy (A. data' ),k)
524524 elseif A. uplo == ' U' && k > 0
525- return tril! (copy (A. data' ),- 1 ) + tril! (triu (A. data),k)
525+ return tril_maybe_inplace (copy (A. data' ),- 1 ) + tril_maybe_inplace (triu (A. data),k)
526526 elseif A. uplo == ' L' && k <= 0
527527 return tril (A. data,k)
528528 else
529- return tril (A. data,- 1 ) + tril! ( triu! (copy (A. data' )),k)
529+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (A. data' )),k)
530530 end
531531end
532532
533533function tril (A:: Symmetric , k:: Integer = 0 )
534534 if A. uplo == ' U' && k <= 0
535- return tril! (copy (transpose (A. data)),k)
535+ return tril_maybe_inplace (copy (transpose (A. data)),k)
536536 elseif A. uplo == ' U' && k > 0
537- return tril! (copy (transpose (A. data)),- 1 ) + tril! (triu (A. data),k)
537+ return tril_maybe_inplace (copy (transpose (A. data)),- 1 ) + tril_maybe_inplace (triu (A. data),k)
538538 elseif A. uplo == ' L' && k <= 0
539539 return tril (A. data,k)
540540 else
541- return tril (A. data,- 1 ) + tril! ( triu! (copy (transpose (A. data))),k)
541+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (transpose (A. data))),k)
542542 end
543543end
544544
545545function triu (A:: Hermitian , k:: Integer = 0 )
546546 if A. uplo == ' U' && k >= 0
547547 return triu (A. data,k)
548548 elseif A. uplo == ' U' && k < 0
549- return triu (A. data,1 ) + triu! ( tril! (copy (A. data' )),k)
549+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (A. data' )),k)
550550 elseif A. uplo == ' L' && k >= 0
551- return triu! (copy (A. data' ),k)
551+ return triu_maybe_inplace (copy (A. data' ),k)
552552 else
553- return triu! (copy (A. data' ),1 ) + triu! (tril (A. data),k)
553+ return triu_maybe_inplace (copy (A. data' ),1 ) + triu_maybe_inplace (tril (A. data),k)
554554 end
555555end
556556
557557function triu (A:: Symmetric , k:: Integer = 0 )
558558 if A. uplo == ' U' && k >= 0
559559 return triu (A. data,k)
560560 elseif A. uplo == ' U' && k < 0
561- return triu (A. data,1 ) + triu! ( tril! (copy (transpose (A. data))),k)
561+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (transpose (A. data))),k)
562562 elseif A. uplo == ' L' && k >= 0
563- return triu! (copy (transpose (A. data)),k)
563+ return triu_maybe_inplace (copy (transpose (A. data)),k)
564564 else
565- return triu! (copy (transpose (A. data)),1 ) + triu! (tril (A. data),k)
565+ return triu_maybe_inplace (copy (transpose (A. data)),1 ) + triu_maybe_inplace (tril (A. data),k)
566566 end
567567end
568568
0 commit comments