@@ -470,49 +470,49 @@ Base.conj!(A::HermOrSym) = typeof(A)(parentof_applytri(conj!, A), A.uplo)
470470# tril/triu
471471function tril (A:: Hermitian , k:: Integer = 0 )
472472 if A. uplo == ' U' && k <= 0
473- return tril! (copy (A. data' ),k)
473+ return tril_maybe_inplace (copy (A. data' ),k)
474474 elseif A. uplo == ' U' && k > 0
475- return tril! (copy (A. data' ),- 1 ) + tril! (triu (A. data),k)
475+ return tril_maybe_inplace (copy (A. data' ),- 1 ) + tril_maybe_inplace (triu (A. data),k)
476476 elseif A. uplo == ' L' && k <= 0
477477 return tril (A. data,k)
478478 else
479- return tril (A. data,- 1 ) + tril! ( triu! (copy (A. data' )),k)
479+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (A. data' )),k)
480480 end
481481end
482482
483483function tril (A:: Symmetric , k:: Integer = 0 )
484484 if A. uplo == ' U' && k <= 0
485- return tril! (copy (transpose (A. data)),k)
485+ return tril_maybe_inplace (copy (transpose (A. data)),k)
486486 elseif A. uplo == ' U' && k > 0
487- return tril! (copy (transpose (A. data)),- 1 ) + tril! (triu (A. data),k)
487+ return tril_maybe_inplace (copy (transpose (A. data)),- 1 ) + tril_maybe_inplace (triu (A. data),k)
488488 elseif A. uplo == ' L' && k <= 0
489489 return tril (A. data,k)
490490 else
491- return tril (A. data,- 1 ) + tril! ( triu! (copy (transpose (A. data))),k)
491+ return tril (A. data,- 1 ) + tril_maybe_inplace ( triu_maybe_inplace (copy (transpose (A. data))),k)
492492 end
493493end
494494
495495function triu (A:: Hermitian , k:: Integer = 0 )
496496 if A. uplo == ' U' && k >= 0
497497 return triu (A. data,k)
498498 elseif A. uplo == ' U' && k < 0
499- return triu (A. data,1 ) + triu! ( tril! (copy (A. data' )),k)
499+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (A. data' )),k)
500500 elseif A. uplo == ' L' && k >= 0
501- return triu! (copy (A. data' ),k)
501+ return triu_maybe_inplace (copy (A. data' ),k)
502502 else
503- return triu! (copy (A. data' ),1 ) + triu! (tril (A. data),k)
503+ return triu_maybe_inplace (copy (A. data' ),1 ) + triu_maybe_inplace (tril (A. data),k)
504504 end
505505end
506506
507507function triu (A:: Symmetric , k:: Integer = 0 )
508508 if A. uplo == ' U' && k >= 0
509509 return triu (A. data,k)
510510 elseif A. uplo == ' U' && k < 0
511- return triu (A. data,1 ) + triu! ( tril! (copy (transpose (A. data))),k)
511+ return triu (A. data,1 ) + triu_maybe_inplace ( tril_maybe_inplace (copy (transpose (A. data))),k)
512512 elseif A. uplo == ' L' && k >= 0
513- return triu! (copy (transpose (A. data)),k)
513+ return triu_maybe_inplace (copy (transpose (A. data)),k)
514514 else
515- return triu! (copy (transpose (A. data)),1 ) + triu! (tril (A. data),k)
515+ return triu_maybe_inplace (copy (transpose (A. data)),1 ) + triu_maybe_inplace (tril (A. data),k)
516516 end
517517end
518518
0 commit comments