115      INTEGER FUNCTION slaneg( N, D, LLD, SIGMA, PIVMIN, R )
 
  126      REAL               d( * ), lld( * )
 
  133      parameter( zero = 0.0e0, one = 1.0e0 )
 
  140      parameter( blklen = 128 )
 
  143      INTEGER            bj, j, neg1, neg2, negcnt
 
  144      REAL               bsav, dminus, dplus, gamma, p, t, tmp
 
  160      DO 210 bj = 1, r-1, blklen
 
  163         DO 21 j = bj, min(bj+blklen-1, r-1)
 
  165            IF( dplus.LT.zero ) neg1 = neg1 + 1
 
  167            t = tmp * lld( j ) - sigma
 
  177            DO 22 j = bj, min(bj+blklen-1, r-1)
 
  179               IF( dplus.LT.zero ) neg1 = neg1 + 1
 
  181               IF (
sisnan(tmp)) tmp = one
 
  182               t = tmp * lld(j) - sigma
 
  185         negcnt = negcnt + neg1
 
  190      DO 230 bj = n-1, r, -blklen
 
  193         DO 23 j = bj, max(bj-blklen+1, r), -1
 
  194            dminus = lld( j ) + p
 
  195            IF( dminus.LT.zero ) neg2 = neg2 + 1
 
  197            p = tmp * d( j ) - sigma
 
  205            DO 24 j = bj, max(bj-blklen+1, r), -1
 
  206               dminus = lld( j ) + p
 
  207               IF( dminus.LT.zero ) neg2 = neg2 + 1
 
  209               IF (
sisnan(tmp)) tmp = one
 
  210               p = tmp * d(j) - sigma
 
  213         negcnt = negcnt + neg2
 
  218      gamma = (t + sigma) + p
 
  219      IF( gamma.LT.zero ) negcnt = negcnt+1
 
 
integer function slaneg(n, d, lld, sigma, pivmin, r)
SLANEG computes the Sturm count.