| 154 | |
| 155 | |
| 156 | void copymatrix(const ap::real_2d_array& a, |
| 157 | int is1, |
| 158 | int is2, |
| 159 | int js1, |
| 160 | int js2, |
| 161 | ap::real_2d_array& b, |
| 162 | int id1, |
| 163 | int id2, |
| 164 | int jd1, |
| 165 | int jd2) |
| 166 | { |
| 167 | int isrc; |
| 168 | int idst; |
| 169 | |
| 170 | if( is1>is2||js1>js2 ) |
| 171 | { |
| 172 | return; |
| 173 | } |
| 174 | ap::ap_error::make_assertion(is2-is1==id2-id1, "CopyMatrix: different sizes!"); |
| 175 | ap::ap_error::make_assertion(js2-js1==jd2-jd1, "CopyMatrix: different sizes!"); |
| 176 | for(isrc = is1; isrc <= is2; isrc++) |
| 177 | { |
| 178 | idst = isrc-is1+id1; |
| 179 | ap::vmove(&b(idst, jd1), 1, &a(isrc, js1), 1, ap::vlen(jd1,jd2)); |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | |
| 184 | void inplacetranspose(ap::real_2d_array& a, |