BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00012 #if !defined(INC_CSR_MatMult) 00013 00014 #define INC_CSR_MatMult 00015 00016 00017 00018 #if defined(DO_NAME_MANGLING) 00019 00020 #define CSR_MatMult_v1_aN1_b1_xs1_ysX \ 00021 MANGLE_(CSR_MatMult_v1_aN1_b1_xs1_ysX) 00022 #endif 00023 00031 extern void CSR_MatMult_v1_aN1_b1_xs1_ysX( 00032 oski_index_t A_M, oski_index_t A_N, 00033 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00034 const oski_value_t* restrict A_val 00035 , const oski_value_t* restrict x , 00036 oski_value_t* restrict y , oski_index_t ystride ); 00037 00038 00039 00040 #if defined(DO_NAME_MANGLING) 00041 00042 #define CSR_MatMult_v1_aN1_b1_xsX_ysX \ 00043 MANGLE_(CSR_MatMult_v1_aN1_b1_xsX_ysX) 00044 #endif 00045 00053 extern void CSR_MatMult_v1_aN1_b1_xsX_ysX( 00054 oski_index_t A_M, oski_index_t A_N, 00055 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00056 const oski_value_t* restrict A_val 00057 , const oski_value_t* restrict x , oski_index_t xstride, 00058 oski_value_t* restrict y , oski_index_t ystride ); 00059 00060 00061 00062 #if defined(DO_NAME_MANGLING) 00063 00064 #define CSR_MatMult_v1_a1_b1_xs1_ysX \ 00065 MANGLE_(CSR_MatMult_v1_a1_b1_xs1_ysX) 00066 #endif 00067 00075 extern void CSR_MatMult_v1_a1_b1_xs1_ysX( 00076 oski_index_t A_M, oski_index_t A_N, 00077 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00078 const oski_value_t* restrict A_val 00079 , const oski_value_t* restrict x , 00080 oski_value_t* restrict y , oski_index_t ystride ); 00081 00082 00083 00084 #if defined(DO_NAME_MANGLING) 00085 00086 #define CSR_MatMult_v1_a1_b1_xsX_ysX \ 00087 MANGLE_(CSR_MatMult_v1_a1_b1_xsX_ysX) 00088 #endif 00089 00097 extern void CSR_MatMult_v1_a1_b1_xsX_ysX( 00098 oski_index_t A_M, oski_index_t A_N, 00099 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00100 const oski_value_t* restrict A_val 00101 , const oski_value_t* restrict x , oski_index_t xstride, 00102 oski_value_t* restrict y , oski_index_t ystride ); 00103 00104 00105 00106 #if defined(DO_NAME_MANGLING) 00107 00108 #define CSR_MatMult_v1_aX_b1_xs1_ysX \ 00109 MANGLE_(CSR_MatMult_v1_aX_b1_xs1_ysX) 00110 #endif 00111 00119 extern void CSR_MatMult_v1_aX_b1_xs1_ysX( 00120 oski_index_t A_M, oski_index_t A_N, 00121 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00122 const oski_value_t* restrict A_val 00123 , oski_value_t alpha, const oski_value_t* restrict x , 00124 oski_value_t* restrict y , oski_index_t ystride ); 00125 00126 00127 00128 #if defined(DO_NAME_MANGLING) 00129 00130 #define CSR_MatMult_v1_aX_b1_xsX_ysX \ 00131 MANGLE_(CSR_MatMult_v1_aX_b1_xsX_ysX) 00132 #endif 00133 00141 extern void CSR_MatMult_v1_aX_b1_xsX_ysX( 00142 oski_index_t A_M, oski_index_t A_N, 00143 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00144 const oski_value_t* restrict A_val 00145 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00146 oski_value_t* restrict y , oski_index_t ystride ); 00147 00148 00149 00150 #if defined(DO_NAME_MANGLING) 00151 00152 #define CSR_MatTransMult_v1_aN1_b1_xsX_ys1 \ 00153 MANGLE_(CSR_MatTransMult_v1_aN1_b1_xsX_ys1) 00154 #endif 00155 00163 extern void CSR_MatTransMult_v1_aN1_b1_xsX_ys1( 00164 oski_index_t A_M, oski_index_t A_N, 00165 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00166 const oski_value_t* restrict A_val 00167 , const oski_value_t* restrict x , oski_index_t xstride, 00168 oski_value_t* restrict y ); 00169 00170 00171 00172 #if defined(DO_NAME_MANGLING) 00173 00174 #define CSR_MatTransMult_v1_aN1_b1_xsX_ysX \ 00175 MANGLE_(CSR_MatTransMult_v1_aN1_b1_xsX_ysX) 00176 #endif 00177 00185 extern void CSR_MatTransMult_v1_aN1_b1_xsX_ysX( 00186 oski_index_t A_M, oski_index_t A_N, 00187 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00188 const oski_value_t* restrict A_val 00189 , const oski_value_t* restrict x , oski_index_t xstride, 00190 oski_value_t* restrict y , oski_index_t ystride ); 00191 00192 00193 00194 #if defined(DO_NAME_MANGLING) 00195 00196 #define CSR_MatTransMult_v1_a1_b1_xsX_ys1 \ 00197 MANGLE_(CSR_MatTransMult_v1_a1_b1_xsX_ys1) 00198 #endif 00199 00207 extern void CSR_MatTransMult_v1_a1_b1_xsX_ys1( 00208 oski_index_t A_M, oski_index_t A_N, 00209 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00210 const oski_value_t* restrict A_val 00211 , const oski_value_t* restrict x , oski_index_t xstride, 00212 oski_value_t* restrict y ); 00213 00214 00215 00216 #if defined(DO_NAME_MANGLING) 00217 00218 #define CSR_MatTransMult_v1_a1_b1_xsX_ysX \ 00219 MANGLE_(CSR_MatTransMult_v1_a1_b1_xsX_ysX) 00220 #endif 00221 00229 extern void CSR_MatTransMult_v1_a1_b1_xsX_ysX( 00230 oski_index_t A_M, oski_index_t A_N, 00231 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00232 const oski_value_t* restrict A_val 00233 , const oski_value_t* restrict x , oski_index_t xstride, 00234 oski_value_t* restrict y , oski_index_t ystride ); 00235 00236 00237 00238 #if defined(DO_NAME_MANGLING) 00239 00240 #define CSR_MatTransMult_v1_aX_b1_xsX_ys1 \ 00241 MANGLE_(CSR_MatTransMult_v1_aX_b1_xsX_ys1) 00242 #endif 00243 00251 extern void CSR_MatTransMult_v1_aX_b1_xsX_ys1( 00252 oski_index_t A_M, oski_index_t A_N, 00253 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00254 const oski_value_t* restrict A_val 00255 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00256 oski_value_t* restrict y ); 00257 00258 00259 00260 #if defined(DO_NAME_MANGLING) 00261 00262 #define CSR_MatTransMult_v1_aX_b1_xsX_ysX \ 00263 MANGLE_(CSR_MatTransMult_v1_aX_b1_xsX_ysX) 00264 #endif 00265 00273 extern void CSR_MatTransMult_v1_aX_b1_xsX_ysX( 00274 oski_index_t A_M, oski_index_t A_N, 00275 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00276 const oski_value_t* restrict A_val 00277 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00278 oski_value_t* restrict y , oski_index_t ystride ); 00279 00280 00281 00282 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00283 00284 #define CSR_MatMult_v1_aN1_b1_xs1_ysX \ 00285 MANGLE_(CSR_MatMult_v1_aN1_b1_xs1_ysX) 00286 #endif 00287 00295 extern void CSR_MatMult_v1_aN1_b1_xs1_ysX( 00296 oski_index_t A_M, oski_index_t A_N, 00297 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00298 const oski_value_t* restrict A_val 00299 , const oski_value_t* restrict x , 00300 oski_value_t* restrict y , oski_index_t ystride ); 00301 00302 00303 00304 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00305 00306 #define CSR_MatMult_v1_aN1_b1_xsX_ysX \ 00307 MANGLE_(CSR_MatMult_v1_aN1_b1_xsX_ysX) 00308 #endif 00309 00317 extern void CSR_MatMult_v1_aN1_b1_xsX_ysX( 00318 oski_index_t A_M, oski_index_t A_N, 00319 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00320 const oski_value_t* restrict A_val 00321 , const oski_value_t* restrict x , oski_index_t xstride, 00322 oski_value_t* restrict y , oski_index_t ystride ); 00323 00324 00325 00326 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00327 00328 #define CSR_MatMult_v1_a1_b1_xs1_ysX \ 00329 MANGLE_(CSR_MatMult_v1_a1_b1_xs1_ysX) 00330 #endif 00331 00339 extern void CSR_MatMult_v1_a1_b1_xs1_ysX( 00340 oski_index_t A_M, oski_index_t A_N, 00341 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00342 const oski_value_t* restrict A_val 00343 , const oski_value_t* restrict x , 00344 oski_value_t* restrict y , oski_index_t ystride ); 00345 00346 00347 00348 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00349 00350 #define CSR_MatMult_v1_a1_b1_xsX_ysX \ 00351 MANGLE_(CSR_MatMult_v1_a1_b1_xsX_ysX) 00352 #endif 00353 00361 extern void CSR_MatMult_v1_a1_b1_xsX_ysX( 00362 oski_index_t A_M, oski_index_t A_N, 00363 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00364 const oski_value_t* restrict A_val 00365 , const oski_value_t* restrict x , oski_index_t xstride, 00366 oski_value_t* restrict y , oski_index_t ystride ); 00367 00368 00369 00370 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00371 00372 #define CSR_MatMult_v1_aX_b1_xs1_ysX \ 00373 MANGLE_(CSR_MatMult_v1_aX_b1_xs1_ysX) 00374 #endif 00375 00383 extern void CSR_MatMult_v1_aX_b1_xs1_ysX( 00384 oski_index_t A_M, oski_index_t A_N, 00385 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00386 const oski_value_t* restrict A_val 00387 , oski_value_t alpha, const oski_value_t* restrict x , 00388 oski_value_t* restrict y , oski_index_t ystride ); 00389 00390 00391 00392 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00393 00394 #define CSR_MatMult_v1_aX_b1_xsX_ysX \ 00395 MANGLE_(CSR_MatMult_v1_aX_b1_xsX_ysX) 00396 #endif 00397 00405 extern void CSR_MatMult_v1_aX_b1_xsX_ysX( 00406 oski_index_t A_M, oski_index_t A_N, 00407 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00408 const oski_value_t* restrict A_val 00409 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00410 oski_value_t* restrict y , oski_index_t ystride ); 00411 00412 00413 00414 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00415 00416 #define CSR_MatTransMult_v1_aN1_b1_xsX_ys1 \ 00417 MANGLE_(CSR_MatTransMult_v1_aN1_b1_xsX_ys1) 00418 #endif 00419 00427 extern void CSR_MatTransMult_v1_aN1_b1_xsX_ys1( 00428 oski_index_t A_M, oski_index_t A_N, 00429 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00430 const oski_value_t* restrict A_val 00431 , const oski_value_t* restrict x , oski_index_t xstride, 00432 oski_value_t* restrict y ); 00433 00434 00435 00436 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00437 00438 #define CSR_MatTransMult_v1_aN1_b1_xsX_ysX \ 00439 MANGLE_(CSR_MatTransMult_v1_aN1_b1_xsX_ysX) 00440 #endif 00441 00449 extern void CSR_MatTransMult_v1_aN1_b1_xsX_ysX( 00450 oski_index_t A_M, oski_index_t A_N, 00451 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00452 const oski_value_t* restrict A_val 00453 , const oski_value_t* restrict x , oski_index_t xstride, 00454 oski_value_t* restrict y , oski_index_t ystride ); 00455 00456 00457 00458 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00459 00460 #define CSR_MatTransMult_v1_a1_b1_xsX_ys1 \ 00461 MANGLE_(CSR_MatTransMult_v1_a1_b1_xsX_ys1) 00462 #endif 00463 00471 extern void CSR_MatTransMult_v1_a1_b1_xsX_ys1( 00472 oski_index_t A_M, oski_index_t A_N, 00473 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00474 const oski_value_t* restrict A_val 00475 , const oski_value_t* restrict x , oski_index_t xstride, 00476 oski_value_t* restrict y ); 00477 00478 00479 00480 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00481 00482 #define CSR_MatTransMult_v1_a1_b1_xsX_ysX \ 00483 MANGLE_(CSR_MatTransMult_v1_a1_b1_xsX_ysX) 00484 #endif 00485 00493 extern void CSR_MatTransMult_v1_a1_b1_xsX_ysX( 00494 oski_index_t A_M, oski_index_t A_N, 00495 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00496 const oski_value_t* restrict A_val 00497 , const oski_value_t* restrict x , oski_index_t xstride, 00498 oski_value_t* restrict y , oski_index_t ystride ); 00499 00500 00501 00502 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00503 00504 #define CSR_MatTransMult_v1_aX_b1_xsX_ys1 \ 00505 MANGLE_(CSR_MatTransMult_v1_aX_b1_xsX_ys1) 00506 #endif 00507 00515 extern void CSR_MatTransMult_v1_aX_b1_xsX_ys1( 00516 oski_index_t A_M, oski_index_t A_N, 00517 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00518 const oski_value_t* restrict A_val 00519 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00520 oski_value_t* restrict y ); 00521 00522 00523 00524 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00525 00526 #define CSR_MatTransMult_v1_aX_b1_xsX_ysX \ 00527 MANGLE_(CSR_MatTransMult_v1_aX_b1_xsX_ysX) 00528 #endif 00529 00537 extern void CSR_MatTransMult_v1_aX_b1_xsX_ysX( 00538 oski_index_t A_M, oski_index_t A_N, 00539 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00540 const oski_value_t* restrict A_val 00541 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00542 oski_value_t* restrict y , oski_index_t ystride ); 00543 00544 00545 00546 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00547 00548 #define CSR_MatHermMult_v1_aN1_b1_xsX_ys1 \ 00549 MANGLE_(CSR_MatHermMult_v1_aN1_b1_xsX_ys1) 00550 #endif 00551 00559 extern void CSR_MatHermMult_v1_aN1_b1_xsX_ys1( 00560 oski_index_t A_M, oski_index_t A_N, 00561 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00562 const oski_value_t* restrict A_val 00563 , const oski_value_t* restrict x , oski_index_t xstride, 00564 oski_value_t* restrict y ); 00565 00566 00567 00568 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00569 00570 #define CSR_MatHermMult_v1_aN1_b1_xsX_ysX \ 00571 MANGLE_(CSR_MatHermMult_v1_aN1_b1_xsX_ysX) 00572 #endif 00573 00581 extern void CSR_MatHermMult_v1_aN1_b1_xsX_ysX( 00582 oski_index_t A_M, oski_index_t A_N, 00583 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00584 const oski_value_t* restrict A_val 00585 , const oski_value_t* restrict x , oski_index_t xstride, 00586 oski_value_t* restrict y , oski_index_t ystride ); 00587 00588 00589 00590 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00591 00592 #define CSR_MatHermMult_v1_a1_b1_xsX_ys1 \ 00593 MANGLE_(CSR_MatHermMult_v1_a1_b1_xsX_ys1) 00594 #endif 00595 00603 extern void CSR_MatHermMult_v1_a1_b1_xsX_ys1( 00604 oski_index_t A_M, oski_index_t A_N, 00605 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00606 const oski_value_t* restrict A_val 00607 , const oski_value_t* restrict x , oski_index_t xstride, 00608 oski_value_t* restrict y ); 00609 00610 00611 00612 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00613 00614 #define CSR_MatHermMult_v1_a1_b1_xsX_ysX \ 00615 MANGLE_(CSR_MatHermMult_v1_a1_b1_xsX_ysX) 00616 #endif 00617 00625 extern void CSR_MatHermMult_v1_a1_b1_xsX_ysX( 00626 oski_index_t A_M, oski_index_t A_N, 00627 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00628 const oski_value_t* restrict A_val 00629 , const oski_value_t* restrict x , oski_index_t xstride, 00630 oski_value_t* restrict y , oski_index_t ystride ); 00631 00632 00633 00634 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00635 00636 #define CSR_MatHermMult_v1_aX_b1_xsX_ys1 \ 00637 MANGLE_(CSR_MatHermMult_v1_aX_b1_xsX_ys1) 00638 #endif 00639 00647 extern void CSR_MatHermMult_v1_aX_b1_xsX_ys1( 00648 oski_index_t A_M, oski_index_t A_N, 00649 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00650 const oski_value_t* restrict A_val 00651 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00652 oski_value_t* restrict y ); 00653 00654 00655 00656 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00657 00658 #define CSR_MatHermMult_v1_aX_b1_xsX_ysX \ 00659 MANGLE_(CSR_MatHermMult_v1_aX_b1_xsX_ysX) 00660 #endif 00661 00669 extern void CSR_MatHermMult_v1_aX_b1_xsX_ysX( 00670 oski_index_t A_M, oski_index_t A_N, 00671 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00672 const oski_value_t* restrict A_val 00673 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00674 oski_value_t* restrict y , oski_index_t ystride ); 00675 00676 00677 00678 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00679 00680 #define CSR_MatConjMult_v1_aN1_b1_xs1_ysX \ 00681 MANGLE_(CSR_MatConjMult_v1_aN1_b1_xs1_ysX) 00682 #endif 00683 00691 extern void CSR_MatConjMult_v1_aN1_b1_xs1_ysX( 00692 oski_index_t A_M, oski_index_t A_N, 00693 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00694 const oski_value_t* restrict A_val 00695 , const oski_value_t* restrict x , 00696 oski_value_t* restrict y , oski_index_t ystride ); 00697 00698 00699 00700 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00701 00702 #define CSR_MatConjMult_v1_aN1_b1_xsX_ysX \ 00703 MANGLE_(CSR_MatConjMult_v1_aN1_b1_xsX_ysX) 00704 #endif 00705 00713 extern void CSR_MatConjMult_v1_aN1_b1_xsX_ysX( 00714 oski_index_t A_M, oski_index_t A_N, 00715 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00716 const oski_value_t* restrict A_val 00717 , const oski_value_t* restrict x , oski_index_t xstride, 00718 oski_value_t* restrict y , oski_index_t ystride ); 00719 00720 00721 00722 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00723 00724 #define CSR_MatConjMult_v1_a1_b1_xs1_ysX \ 00725 MANGLE_(CSR_MatConjMult_v1_a1_b1_xs1_ysX) 00726 #endif 00727 00735 extern void CSR_MatConjMult_v1_a1_b1_xs1_ysX( 00736 oski_index_t A_M, oski_index_t A_N, 00737 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00738 const oski_value_t* restrict A_val 00739 , const oski_value_t* restrict x , 00740 oski_value_t* restrict y , oski_index_t ystride ); 00741 00742 00743 00744 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00745 00746 #define CSR_MatConjMult_v1_a1_b1_xsX_ysX \ 00747 MANGLE_(CSR_MatConjMult_v1_a1_b1_xsX_ysX) 00748 #endif 00749 00757 extern void CSR_MatConjMult_v1_a1_b1_xsX_ysX( 00758 oski_index_t A_M, oski_index_t A_N, 00759 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00760 const oski_value_t* restrict A_val 00761 , const oski_value_t* restrict x , oski_index_t xstride, 00762 oski_value_t* restrict y , oski_index_t ystride ); 00763 00764 00765 00766 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00767 00768 #define CSR_MatConjMult_v1_aX_b1_xs1_ysX \ 00769 MANGLE_(CSR_MatConjMult_v1_aX_b1_xs1_ysX) 00770 #endif 00771 00779 extern void CSR_MatConjMult_v1_aX_b1_xs1_ysX( 00780 oski_index_t A_M, oski_index_t A_N, 00781 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00782 const oski_value_t* restrict A_val 00783 , oski_value_t alpha, const oski_value_t* restrict x , 00784 oski_value_t* restrict y , oski_index_t ystride ); 00785 00786 00787 00788 #if defined(DO_NAME_MANGLING) && IS_VAL_COMPLEX 00789 00790 #define CSR_MatConjMult_v1_aX_b1_xsX_ysX \ 00791 MANGLE_(CSR_MatConjMult_v1_aX_b1_xsX_ysX) 00792 #endif 00793 00801 extern void CSR_MatConjMult_v1_aX_b1_xsX_ysX( 00802 oski_index_t A_M, oski_index_t A_N, 00803 const oski_index_t* restrict A_ptr, const oski_index_t* restrict A_ind, 00804 const oski_value_t* restrict A_val 00805 , oski_value_t alpha, const oski_value_t* restrict x , oski_index_t xstride, 00806 oski_value_t* restrict y , oski_index_t ystride ); 00807 00808 00809 00810 00811 #endif 00812 /* eof */ 00813