comparison liboctave/CMatrix.cc @ 6867:83619ae96c1d

[project @ 2007-09-06 12:08:44 by dbateman]
author dbateman
date Thu, 06 Sep 2007 12:08:45 +0000
parents 2f17d5556756
children be176b7e110a
comparison
equal deleted inserted replaced
6866:f7bc1c20800e 6867:83619ae96c1d
2759 retval(i,j) *= dscale(i) / dscale(j); 2759 retval(i,j) *= dscale(i) / dscale(j);
2760 2760
2761 OCTAVE_QUIT; 2761 OCTAVE_QUIT;
2762 2762
2763 // construct balancing permutation vector 2763 // construct balancing permutation vector
2764 Array<int> iperm (nc); 2764 Array<octave_idx_type> iperm (nc);
2765 for (octave_idx_type i = 0; i < nc; i++) 2765 for (octave_idx_type i = 0; i < nc; i++)
2766 iperm(i) = i; // initialize to identity permutation 2766 iperm(i) = i; // initialize to identity permutation
2767 2767
2768 // leading permutations in forward order 2768 // leading permutations in forward order
2769 for (octave_idx_type i = 0; i < (ilo-1); i++) 2769 for (octave_idx_type i = 0; i < (ilo-1); i++)
2770 { 2770 {
2771 octave_idx_type swapidx = static_cast<int> (dpermute(i)) - 1; 2771 octave_idx_type swapidx = static_cast<octave_idx_type> (dpermute(i)) - 1;
2772 octave_idx_type tmp = iperm(i); 2772 octave_idx_type tmp = iperm(i);
2773 iperm(i) = iperm(swapidx); 2773 iperm(i) = iperm(swapidx);
2774 iperm(swapidx) = tmp; 2774 iperm(swapidx) = tmp;
2775 } 2775 }
2776 2776
2777 // trailing permutations must be done in reverse order 2777 // trailing permutations must be done in reverse order
2778 for (octave_idx_type i = nc - 1; i >= ihi; i--) 2778 for (octave_idx_type i = nc - 1; i >= ihi; i--)
2779 { 2779 {
2780 octave_idx_type swapidx = static_cast<int> (dpermute(i)) - 1; 2780 octave_idx_type swapidx = static_cast<octave_idx_type> (dpermute(i)) - 1;
2781 octave_idx_type tmp = iperm(i); 2781 octave_idx_type tmp = iperm(i);
2782 iperm(i) = iperm(swapidx); 2782 iperm(i) = iperm(swapidx);
2783 iperm(swapidx) = tmp; 2783 iperm(swapidx) = tmp;
2784 } 2784 }
2785 2785
2786 // construct inverse balancing permutation vector 2786 // construct inverse balancing permutation vector
2787 Array<int> invpvec (nc); 2787 Array<octave_idx_type> invpvec (nc);
2788 for (octave_idx_type i = 0; i < nc; i++) 2788 for (octave_idx_type i = 0; i < nc; i++)
2789 invpvec(iperm(i)) = i; // Thanks to R. A. Lippert for this method 2789 invpvec(iperm(i)) = i; // Thanks to R. A. Lippert for this method
2790 2790
2791 OCTAVE_QUIT; 2791 OCTAVE_QUIT;
2792 2792