@@ -1323,15 +1323,6 @@ end
1323
1323
# Generic routines #
1324
1324
# ###################
1325
1325
1326
- function _set_diag! (B:: UpperOrLowerTriangular , x)
1327
- # get a mutable array to modify the diagonal
1328
- Bm = parent (B) isa StridedArray ? B : copy! (similar (B), B)
1329
- for i in diagind (Bm. data, IndexStyle (Bm. data))
1330
- Bm. data[i] = x
1331
- end
1332
- Bm
1333
- end
1334
-
1335
1326
for (t, unitt) in ((UpperTriangular, UnitUpperTriangular),
1336
1327
(LowerTriangular, UnitLowerTriangular))
1337
1328
tstrided = t{<: Any , <: StridedMaybeAdjOrTransMat }
@@ -1344,8 +1335,8 @@ for (t, unitt) in ((UpperTriangular, UnitUpperTriangular),
1344
1335
end
1345
1336
1346
1337
function (* )(A:: $unitt , x:: Number )
1347
- B = $ t (A. data)* x
1348
- _set_diag! (B, oneunit ( eltype (A)) * x)
1338
+ B = copy! ( similar ( $ t (A. data)), A)
1339
+ B * x
1349
1340
end
1350
1341
1351
1342
(* )(x:: Number , A:: $t ) = $ t (x* A. data)
@@ -1356,8 +1347,8 @@ for (t, unitt) in ((UpperTriangular, UnitUpperTriangular),
1356
1347
end
1357
1348
1358
1349
function (* )(x:: Number , A:: $unitt )
1359
- B = x * $ t (A. data)
1360
- _set_diag! (B, x * oneunit ( eltype (A)))
1350
+ B = copy! ( similar ( $ t (A. data)), A )
1351
+ x * B
1361
1352
end
1362
1353
1363
1354
(/ )(A:: $t , x:: Number ) = $ t (A. data/ x)
@@ -1368,8 +1359,8 @@ for (t, unitt) in ((UpperTriangular, UnitUpperTriangular),
1368
1359
end
1369
1360
1370
1361
function (/ )(A:: $unitt , x:: Number )
1371
- B = $ t (A. data)/ x
1372
- _set_diag! (B, oneunit ( eltype (A)) / x)
1362
+ B = copy! ( similar ( $ t (A. data)), A)
1363
+ B / x
1373
1364
end
1374
1365
1375
1366
(\ )(x:: Number , A:: $t ) = $ t (x\ A. data)
@@ -1380,8 +1371,8 @@ for (t, unitt) in ((UpperTriangular, UnitUpperTriangular),
1380
1371
end
1381
1372
1382
1373
function (\ )(x:: Number , A:: $unitt )
1383
- B = x \ $ t (A. data)
1384
- _set_diag! (B, x \ oneunit ( eltype (A)))
1374
+ B = copy! ( similar ( $ t (A. data)), A )
1375
+ x \ B
1385
1376
end
1386
1377
end
1387
1378
end
0 commit comments