| 48 | |
| 49 | |
| 50 | void dMultiply0 (dReal *A, const dReal *B, const dReal *C, int p, int q, int r) |
| 51 | { |
| 52 | int i,j,k,qskip,rskip,rpad; |
| 53 | dAASSERT (A && B && C && p>0 && q>0 && r>0); |
| 54 | qskip = dPAD(q); |
| 55 | rskip = dPAD(r); |
| 56 | rpad = rskip - r; |
| 57 | dReal sum; |
| 58 | const dReal *b,*c,*bb; |
| 59 | bb = B; |
| 60 | for (i=p; i; i--) { |
| 61 | for (j=0 ; j<r; j++) { |
| 62 | c = C + j; |
| 63 | b = bb; |
| 64 | sum = 0; |
| 65 | for (k=q; k; k--, c+=rskip) sum += (*(b++))*(*c); |
| 66 | *(A++) = sum; |
| 67 | } |
| 68 | A += rpad; |
| 69 | bb += qskip; |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | |
| 74 | void dMultiply1 (dReal *A, const dReal *B, const dReal *C, int p, int q, int r) |
no outgoing calls
no test coverage detected