| 213 | |
| 214 | |
| 215 | void copyandtranspose(const ap::real_2d_array& a, |
| 216 | int is1, |
| 217 | int is2, |
| 218 | int js1, |
| 219 | int js2, |
| 220 | ap::real_2d_array& b, |
| 221 | int id1, |
| 222 | int id2, |
| 223 | int jd1, |
| 224 | int jd2) |
| 225 | { |
| 226 | int isrc; |
| 227 | int jdst; |
| 228 | |
| 229 | if( is1>is2||js1>js2 ) |
| 230 | { |
| 231 | return; |
| 232 | } |
| 233 | ap::ap_error::make_assertion(is2-is1==jd2-jd1, "CopyAndTranspose: different sizes!"); |
| 234 | ap::ap_error::make_assertion(js2-js1==id2-id1, "CopyAndTranspose: different sizes!"); |
| 235 | for(isrc = is1; isrc <= is2; isrc++) |
| 236 | { |
| 237 | jdst = isrc-is1+jd1; |
| 238 | ap::vmove(&b(id1, jdst), b.getstride(), &a(isrc, js1), 1, ap::vlen(id1,id2)); |
| 239 | } |
| 240 | } |
| 241 | |
| 242 | |
| 243 | void matrixvectormultiply(const ap::real_2d_array& a, |
no test coverage detected