~ubuntu-branches/ubuntu/oneiric/suitesparse/oneiric

« back to all changes in this revision

Viewing changes to CXSparse/MATLAB/CSparse/cs_thumb_mex.c

  • Committer: Bazaar Package Importer
  • Author(s): Nick Ellery
  • Date: 2009-06-14 19:15:52 UTC
  • mfrom: (7.2.2 sid)
  • Revision ID: james.westby@ubuntu.com-20090614191552-2hliya5q8n1quseu
Tags: 1:3.4.0-1ubuntu1
* Merge from debian unstable, remaining changes (LP: #387137):
  - debian/control:
    - demote libatlas-doc from recommends to suggests as it is not in main
    - drop recommends on doc-central as it is not in main

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
    double aij, ax, az, *S, *Ax, *Az ;
23
23
    if (nargout > 1 || nargin < 1 || nargin > 2)
24
24
    {
25
 
        mexErrMsgTxt ("Usage: S = cs_thumb(A,k)") ;
 
25
        mexErrMsgTxt ("Usage: S = cs_thumb(A,k)") ;
26
26
    }
27
27
    cs_mex_check (0, -1, -1, 0, 1, 1, pargin [0]) ;
28
28
    m = mxGetM (pargin [0]) ;
42
42
    Az = (mxIsComplex (pargin [0])) ? mxGetPi (pargin [0]) : NULL ;
43
43
    for (j = 0 ; j < n ; j++)
44
44
    {
45
 
        sj = j/s ;
46
 
        for (p = Ap [j] ; p < Ap [j+1] ; p++)
47
 
        {
48
 
            si = Ai [p] / s ;
49
 
            ij = INDEX (si,sj,m2) ;
50
 
            ax = Ax [p] ;
51
 
            az = Az ? Az [p] : 0 ;
52
 
            if (az == 0)
53
 
            {
54
 
                aij = fabs (ax) ;
55
 
            }
56
 
            else
57
 
            {
58
 
                aij = sqrt (ax*ax + az*az) ;
59
 
            }
60
 
            if (ISNAN (aij)) aij = BIG_VALUE ;
61
 
            aij = CS_MIN (BIG_VALUE, aij) ;
62
 
            S [ij] = CS_MAX (S [ij], aij) ;
63
 
        }
 
45
        sj = j/s ;
 
46
        for (p = Ap [j] ; p < Ap [j+1] ; p++)
 
47
        {
 
48
            si = Ai [p] / s ;
 
49
            ij = INDEX (si,sj,m2) ;
 
50
            ax = Ax [p] ;
 
51
            az = Az ? Az [p] : 0 ;
 
52
            if (az == 0)
 
53
            {
 
54
                aij = fabs (ax) ;
 
55
            }
 
56
            else
 
57
            {
 
58
                aij = sqrt (ax*ax + az*az) ;
 
59
            }
 
60
            if (ISNAN (aij)) aij = BIG_VALUE ;
 
61
            aij = CS_MIN (BIG_VALUE, aij) ;
 
62
            S [ij] = CS_MAX (S [ij], aij) ;
 
63
        }
64
64
    }
65
65
}