@@ -1488,8 +1488,8 @@ size_t gehrd(T)(
14881488 Slice! (T* , 2 , Canonical) a,
14891489 Slice! (T* ) tau,
14901490 Slice! (T* ) work,
1491- lapackint* ilo,
1492- lapackint* ihi
1491+ lapackint ilo,
1492+ lapackint ihi
14931493)
14941494in
14951495{
@@ -1520,18 +1520,16 @@ size_t hsein(T)(
15201520 char side,
15211521 char eigsrc,
15221522 char initv,
1523- lapackint* select, // actually a logical bitset stored in here
1523+ ref lapackint select, // actually a logical bitset stored in here
15241524 Slice! (T* , 2 , Canonical) h,
15251525 Slice! (T* ) wr,
15261526 Slice! (T* ) wi,
15271527 Slice! (T* , 2 , Canonical) vl,
15281528 Slice! (T* , 2 , Canonical) vr,
1529- lapackint* m,
1529+ ref lapackint m,
15301530 Slice! (T* ) work,
1531- lapackint* ifaill,
1532- lapackint* ifailr,
1533- lapackint* ilo,
1534- lapackint* ihi,
1531+ ref lapackint ifaill,
1532+ ref lapackint ifailr,
15351533)
15361534 if (! isComplex! T)
15371535in
@@ -1576,31 +1574,29 @@ do
15761574 lapackint ldvl = cast (lapackint) vl._stride.max(1 );
15771575 lapackint ldvr = cast (lapackint) vr._stride.max(1 );
15781576 // need to seperate these methods then probably provide a wrap which does this as that's the easiest way without bloating the base methods
1579- lapack.hsein_(side, eigsrc, initv, select, n, h.iterator, ldh, wr.iterator, wi.iterator, vl.iterator, ldvl, vr.iterator, ldvr, mm, * m, work.iterator, ifaill, ifailr, info);
1577+ lapack.hsein_(side, eigsrc, initv, select, n, h.iterator, ldh, wr.iterator, wi.iterator, vl.iterator, ldvl, vr.iterator, ldvr, mm, m, work.iterator, ifaill, ifailr, info);
15801578 assert (info >= 0 );
15811579 // /if any of ifaill or ifailr entries are non-zero then that has failed to converge.
15821580 // /ifail?[i] = j > 0 if the eigenvector stored in the i-th column of v?, coresponding to the jth eigenvalue, fails to converge.
1583- assert (* ifaill == 0 );
1584- assert (* ifailr == 0 );
1581+ assert (ifaill == 0 );
1582+ assert (ifailr == 0 );
15851583 return info;
15861584}
15871585
15881586size_t hsein (T, realT)(
15891587 char side,
15901588 char eigsrc,
15911589 char initv,
1592- lapackint* select, // actually a logical bitset stored in here
1590+ lapackint select, // actually a logical bitset stored in here
15931591 Slice! (T* , 2 , Canonical) h,
15941592 Slice! (T* ) w,
15951593 Slice! (T* , 2 , Canonical) vl,
15961594 Slice! (T* , 2 , Canonical) vr,
15971595 lapackint* m,
15981596 Slice! (T* ) work,
15991597 Slice! (realT* ) rwork,
1600- lapackint* ifaill,
1601- lapackint* ifailr,
1602- lapackint* ilo,
1603- lapackint* ihi,
1598+ lapackint ifaill,
1599+ lapackint ifailr,
16041600)
16051601 if (isComplex! T && is (realType! T == realT))
16061602in
@@ -1642,8 +1638,8 @@ do {
16421638 assert (info >= 0 );
16431639 // /if any of ifaill or ifailr entries are non-zero then that has failed to converge.
16441640 // /ifail?[i] = j > 0 if the eigenvector stored in the i-th column of v?, coresponding to the jth eigenvalue, fails to converge.
1645- assert (* ifaill == 0 );
1646- assert (* ifailr == 0 );
1641+ assert (ifaill == 0 );
1642+ assert (ifailr == 0 );
16471643 return info;
16481644}
16491645
@@ -1666,8 +1662,8 @@ size_t unmhr(T)(
16661662 Slice! (T* ) tau,
16671663 Slice! (T* , 2 , Canonical) c,
16681664 Slice! (T* ) work,
1669- lapackint* ilo,
1670- lapackint* ihi
1665+ lapackint ilo,
1666+ lapackint ihi
16711667)
16721668in
16731669{
@@ -1725,8 +1721,8 @@ size_t hseqr(T)(
17251721 Slice! (T* ) w,
17261722 Slice! (T* , 2 , Canonical) z,
17271723 Slice! (T* ) work,
1728- lapackint* ilo,
1729- lapackint* ihi
1724+ lapackint ilo,
1725+ lapackint ihi
17301726)
17311727 if (isComplex! T)
17321728in
@@ -1760,8 +1756,8 @@ size_t hseqr(T)(
17601756 Slice! (T* ) wi,
17611757 Slice! (T* , 2 , Canonical) z,
17621758 Slice! (T* ) work,
1763- lapackint* ilo,
1764- lapackint* ihi
1759+ lapackint ilo,
1760+ lapackint ihi
17651761)
17661762 if (! isComplex! T)
17671763in
@@ -1801,7 +1797,7 @@ size_t trevc(T)(char side,
18011797 Slice! (T* , 2 , Canonical) t,
18021798 Slice! (T* , 2 , Canonical) vl,
18031799 Slice! (T* , 2 , Canonical) vr,
1804- lapackint* m,
1800+ lapackint m,
18051801 Slice! (T* ) work
18061802)
18071803do
@@ -1814,10 +1810,10 @@ do
18141810 // select should be lapack_logical
18151811 lapackint info;
18161812 static if (! isComplex! T){
1817- lapack.trevc_(side, howmany, & select, n, t.iterator, ldt, vl.iterator, ldvl, vr.iterator, ldvr, mm, * m, work.iterator, info);
1813+ lapack.trevc_(side, howmany, select, n, t.iterator, ldt, vl.iterator, ldvl, vr.iterator, ldvr, mm, m, work.iterator, info);
18181814 }
18191815 else {
1820- lapack.trevc_(side, howmany, & select, n, t.iterator, ldt, vl.iterator, ldvl, vr.iterator, ldvr, mm, * m, work.iterator, null , info);
1816+ lapack.trevc_(side, howmany, select, n, t.iterator, ldt, vl.iterator, ldvl, vr.iterator, ldvr, mm, m, work.iterator, null , info);
18211817 }
18221818 assert (info >= 0 );
18231819 return cast (size_t )info;
@@ -1838,8 +1834,8 @@ alias complexType(T : isComplex!T) = T;
18381834
18391835size_t gebal (T, realT)(char job,
18401836 Slice! (T* , 2 , Canonical) a,
1841- lapackint* ilo,
1842- lapackint* ihi,
1837+ lapackint ilo,
1838+ lapackint ihi,
18431839 Slice! (realT* ) scale
18441840)
18451841 if (! isComplex! T || (isComplex! T && is (realType! T == realT)))
@@ -1863,8 +1859,8 @@ unittest
18631859size_t gebak (T, realT)(
18641860 char job,
18651861 char side,
1866- lapackint* ilo,
1867- lapackint* ihi,
1862+ lapackint ilo,
1863+ lapackint ihi,
18681864 Slice! (realT* ) scale,
18691865 Slice! (T* , 2 , Canonical) v
18701866)
0 commit comments