lasq3#
Functions
-
void slasq3(const INT i0, INT *n0, f32 *restrict Z, INT *pp, f32 *dmin, f32 *sigma, f32 *desig, 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 (0-based).
inoutn0Last index (0-based).
inoutZDouble precision array, dimension (4*N). Z holds the qd array.
inoutppPP=0 for ping, PP=1 for pong. PP=2 indicates that flipping was applied to the Z array 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.
inqmaxMaximum value of q.
inoutnfailIncrement NFAIL by 1 each time the shift was too big.
inoutiterIncrement ITER by 1 for each iteration.
inoutndivIncrement NDIV by 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) and D(N0-1).
inoutdnd(N0).
inoutdn1d(N0-1).
inoutdn2d(N0-2).
inoutgG is 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,
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, 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 (0-based).
inoutn0Last index (0-based).
inoutZDouble precision array, dimension (4*N). Z holds the qd array.
inoutppPP=0 for ping, PP=1 for pong. PP=2 indicates that flipping was applied to the Z array 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.
inqmaxMaximum value of q.
inoutnfailIncrement NFAIL by 1 each time the shift was too big.
inoutiterIncrement ITER by 1 for each iteration.
inoutndivIncrement NDIV by 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) and D(N0-1).
inoutdnd(N0).
inoutdn1d(N0-1).
inoutdn2d(N0-2).
inoutgG is 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,
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
);