lasq3#
Functions
-
void slasq3(const INT i0, INT *n0, f32 *restrict Z, INT *pp, f32 *dmin, f32 *sigma, f32 *desig, f32 *qmax, INT *nfail, INT *iter, INT *ndiv, const INT ieee, INT *ttype, f32 *dmin1, f32 *dmin2, f32 *dn, f32 *dn1, f32 *dn2, f32 *g, f32 *tau)#
SLASQ3 checks for deflation, computes a shift (
tau) and calls dqds.In case of failure it changes shifts, and tries again until output is positive.
Parameters
ini0First index.
inoutn0Last index.
inoutZSingle precision array, dimension (4*n0).
Zholds the qd array.inoutpppp=0for ping,pp=1for pong.pp=2indicates that flipping was applied to theZarray and that the initial tests for deflation should not be performed.outdminMinimum value of d.
outsigmaSum of shifts used in current segment.
inoutdesigLower order part of
sigma.inoutqmaxMaximum value of q.
inoutnfailIncrement
nfailby 1 each time the shift was too big.inoutiterIncrement
iterby 1 for each iteration.inoutndivIncrement
ndivby 1 for each division.inieeeFlag for IEEE or non IEEE arithmetic (passed to SLASQ5).
inoutttypeShift type.
inoutdmin1Minimum value of d, excluding
d[n0].inoutdmin2Minimum value of d, excluding
d[n0]andd[n0-1].inoutdnd[n0].inoutdn1d[n0-1].inoutdn2d[n0-2].inoutggis passed as an argument in order to save its value between calls to SLASQ3.inouttauThis is the shift.
void slasq3(
const INT i0,
INT* n0,
f32* restrict Z,
INT* pp,
f32* dmin,
f32* sigma,
f32* desig,
f32* qmax,
INT* nfail,
INT* iter,
INT* ndiv,
const INT ieee,
INT* ttype,
f32* dmin1,
f32* dmin2,
f32* dn,
f32* dn1,
f32* dn2,
f32* g,
f32* tau
);
Functions
-
void dlasq3(const INT i0, INT *n0, f64 *restrict Z, INT *pp, f64 *dmin, f64 *sigma, f64 *desig, f64 *qmax, INT *nfail, INT *iter, INT *ndiv, const INT ieee, INT *ttype, f64 *dmin1, f64 *dmin2, f64 *dn, f64 *dn1, f64 *dn2, f64 *g, f64 *tau)#
DLASQ3 checks for deflation, computes a shift (
tau) and calls dqds.In case of failure it changes shifts, and tries again until output is positive.
Parameters
ini0First index.
inoutn0Last index.
inoutZDouble precision array, dimension (4*n0).
Zholds the qd array.inoutpppp=0for ping,pp=1for pong.pp=2indicates that flipping was applied to theZarray and that the initial tests for deflation should not be performed.outdminMinimum value of d.
outsigmaSum of shifts used in current segment.
inoutdesigLower order part of
sigma.inoutqmaxMaximum value of q.
inoutnfailIncrement
nfailby 1 each time the shift was too big.inoutiterIncrement
iterby 1 for each iteration.inoutndivIncrement
ndivby 1 for each division.inieeeFlag for IEEE or non IEEE arithmetic (passed to DLASQ5).
inoutttypeShift type.
inoutdmin1Minimum value of d, excluding
d[n0].inoutdmin2Minimum value of d, excluding
d[n0]andd[n0-1].inoutdnd[n0].inoutdn1d[n0-1].inoutdn2d[n0-2].inoutggis passed as an argument in order to save its value between calls to DLASQ3.inouttauThis is the shift.
void dlasq3(
const INT i0,
INT* n0,
f64* restrict Z,
INT* pp,
f64* dmin,
f64* sigma,
f64* desig,
f64* qmax,
INT* nfail,
INT* iter,
INT* ndiv,
const INT ieee,
INT* ttype,
f64* dmin1,
f64* dmin2,
f64* dn,
f64* dn1,
f64* dn2,
f64* g,
f64* tau
);