MCPcopy Create free account
hub / github.com/BoevaLab/FREEC / cmatrixgemmk

Function cmatrixgemmk

src/ablas.cpp:2686–2916  ·  view source on GitHub ↗

GEMM kernel -- ALGLIB routine -- 16.12.2009 Bochkanov Sergey *************************************************************************/

Source from the content-addressed store, hash-verified

2684 Bochkanov Sergey
2685*************************************************************************/
2686static void cmatrixgemmk(int m,
2687 int n,
2688 int k,
2689 ap::complex alpha,
2690 const ap::complex_2d_array& a,
2691 int ia,
2692 int ja,
2693 int optypea,
2694 const ap::complex_2d_array& b,
2695 int ib,
2696 int jb,
2697 int optypeb,
2698 ap::complex beta,
2699 ap::complex_2d_array& c,
2700 int ic,
2701 int jc)
2702{
2703 int i;
2704 int j;
2705 ap::complex v;
2706
2707
2708 //
2709 // Special case
2710 //
2711 if( m*n==0 )
2712 {
2713 return;
2714 }
2715
2716 //
2717 // Try optimized code
2718 //
2719 if( cmatrixgemmf(m, n, k, alpha, a, ia, ja, optypea, b, ib, jb, optypeb, beta, c, ic, jc) )
2720 {
2721 return;
2722 }
2723
2724 //
2725 // Another special case
2726 //
2727 if( k==0 )
2728 {
2729 if( beta!=0 )
2730 {
2731 for(i = 0; i <= m-1; i++)
2732 {
2733 for(j = 0; j <= n-1; j++)
2734 {
2735 c(ic+i,jc+j) = beta*c(ic+i,jc+j);
2736 }
2737 }
2738 }
2739 else
2740 {
2741 for(i = 0; i <= m-1; i++)
2742 {
2743 for(j = 0; j <= n-1; j++)

Callers 1

cmatrixgemmFunction · 0.85

Calls 5

cmatrixgemmfFunction · 0.85
vdotproductFunction · 0.85
vmulFunction · 0.85
vaddFunction · 0.85
getstrideMethod · 0.80

Tested by

no test coverage detected