@@ -470,49 +470,49 @@ Base.conj!(A::HermOrSym) = typeof(A)(parentof_applytri(conj!, A), A.uplo)
470
470
# tril/triu
471
471
function tril (A:: Hermitian , k:: Integer = 0 )
472
472
if A. uplo == ' U' && k <= 0
473
- return tril! (copy (A. data' ),k)
473
+ return tril_maybe_inplace (copy (A. data' ),k)
474
474
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)
476
476
elseif A. uplo == ' L' && k <= 0
477
477
return tril (A. data,k)
478
478
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)
480
480
end
481
481
end
482
482
483
483
function tril (A:: Symmetric , k:: Integer = 0 )
484
484
if A. uplo == ' U' && k <= 0
485
- return tril! (copy (transpose (A. data)),k)
485
+ return tril_maybe_inplace (copy (transpose (A. data)),k)
486
486
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)
488
488
elseif A. uplo == ' L' && k <= 0
489
489
return tril (A. data,k)
490
490
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)
492
492
end
493
493
end
494
494
495
495
function triu (A:: Hermitian , k:: Integer = 0 )
496
496
if A. uplo == ' U' && k >= 0
497
497
return triu (A. data,k)
498
498
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)
500
500
elseif A. uplo == ' L' && k >= 0
501
- return triu! (copy (A. data' ),k)
501
+ return triu_maybe_inplace (copy (A. data' ),k)
502
502
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)
504
504
end
505
505
end
506
506
507
507
function triu (A:: Symmetric , k:: Integer = 0 )
508
508
if A. uplo == ' U' && k >= 0
509
509
return triu (A. data,k)
510
510
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)
512
512
elseif A. uplo == ' L' && k >= 0
513
- return triu! (copy (transpose (A. data)),k)
513
+ return triu_maybe_inplace (copy (transpose (A. data)),k)
514
514
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)
516
516
end
517
517
end
518
518
0 commit comments