File: dot.c.example

package info (click to toggle)
suitesparse 1%3A5.12.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 176,720 kB
  • sloc: ansic: 1,193,914; cpp: 31,704; makefile: 6,638; fortran: 1,927; java: 1,826; csh: 765; ruby: 725; sh: 529; python: 333; perl: 225; sed: 164; awk: 35
file content (31 lines) | stat: -rw-r--r-- 881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

//consider these methods on the GPU: (see ../Source/Template/GB_AxB_dot_cij.c)

            while (pA < pA_end && pB < pB_end)
            {
                int64_t ia = Ai [pA] ;
                int64_t ib = Bi [pB] ;

                #if 0
                if (ia == ib)
                {
                    GB_DOT (ia, pA, pB) ;
                    pA++ ;
                    pB++ ;
                }
                else
                { 
                    pA += (ia < ib) ;
                    pB += (ib < ia) ;
                }
                #endif

                #if 0
                // this might be fastest on the GPU
                #if GB_IS_PLUS_PAIR_REAL_SEMIRING && GB_CTYPE_IGNORE_OVERFLOW
                cij += (ia == ib) ;
                pA += (ia <= ib) ;
                pB += (ib <= ia) ;
                #endif
                #endif
            }