23 #if !defined (octave_Sparse_perm_op_defs_h)
24 #define octave_Sparse_perm_op_defs_h 1
28 template <
typename SM>
40 r.xcidx (j) = a.cidx (j);
50 r.xridx (i) = pcol[a.ridx (i)];
52 sort.
sort (r.xridx () + r.xcidx (j), sidx, r.xcidx (j+1) - r.xcidx (j));
54 r.xdata (i) = a.data (sidx[ii++]);
60 template <
typename SM>
83 template <
typename SM>
94 r.xcidx (prow[j_src]) = a.cidx (j_src+1) - a.cidx (j_src);
110 for (k = r.xcidx (j); k_src < kend_src; ++k, ++k_src)
112 r.xridx (k) = a.ridx (k_src);
113 r.xdata (k) = a.data (k_src);
116 assert (k_src == nent);
121 template <
typename SM>
134 r.xcidx (j+1) = r.xcidx (j) + (a.cidx (j_src+1) - a.cidx (j_src));
136 assert (r.xcidx (nc) == nent);
145 for (k_src = a.cidx (j_src); k_src < kend_src; ++k_src, ++k)
147 r.xridx (k) = a.ridx (k_src);
148 r.xdata (k) = a.data (k_src);
156 template <
typename SM>
172 #endif // octave_Sparse_perm_op_defs_h