@@ -474,49 +474,49 @@ Base.conj!(A::HermOrSym) = typeof(A)(parentof_applytri(conj!, A), A.uplo)
474474# tril/triu
475475function tril (A:: Hermitian , k:: Integer = 0 )
476476 if A. uplo == ' U' && k <= 0
477- return tril! (copy (A. data' ),k)
477+ return tril_maybe_inplace (copy (A. data' ),k)
478478 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)
480480 elseif A. uplo == ' L' && k <= 0
481481 return tril (A. data,k)
482482 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)
484484 end
485485end
486486
487487function tril (A:: Symmetric , k:: Integer = 0 )
488488 if A. uplo == ' U' && k <= 0
489- return tril! (copy (transpose (A. data)),k)
489+ return tril_maybe_inplace (copy (transpose (A. data)),k)
490490 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)
492492 elseif A. uplo == ' L' && k <= 0
493493 return tril (A. data,k)
494494 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)
496496 end
497497end
498498
499499function triu (A:: Hermitian , k:: Integer = 0 )
500500 if A. uplo == ' U' && k >= 0
501501 return triu (A. data,k)
502502 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)
504504 elseif A. uplo == ' L' && k >= 0
505- return triu! (copy (A. data' ),k)
505+ return triu_maybe_inplace (copy (A. data' ),k)
506506 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)
508508 end
509509end
510510
511511function triu (A:: Symmetric , k:: Integer = 0 )
512512 if A. uplo == ' U' && k >= 0
513513 return triu (A. data,k)
514514 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)
516516 elseif A. uplo == ' L' && k >= 0
517- return triu! (copy (transpose (A. data)),k)
517+ return triu_maybe_inplace (copy (transpose (A. data)),k)
518518 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)
520520 end
521521end
522522
0 commit comments