| 1696 | } |
| 1697 | |
| 1698 | void index_collapse_kernel(int index[], int numEntries) { |
| 1699 | int k; |
| 1700 | int d, D; |
| 1701 | int mi; |
| 1702 | int Mi; |
| 1703 | if (numEntries == 0) |
| 1704 | return; |
| 1705 | |
| 1706 | mi = Mi = index[0]; |
| 1707 | for (k = 1; k<numEntries; k++) { |
| 1708 | mi = mi < index[k] ? mi : index[k]; |
| 1709 | Mi = Mi > index[k] ? Mi : index[k]; |
| 1710 | } |
| 1711 | D = 1; |
| 1712 | for (d = 2; d <= Mi - mi; d++) { |
| 1713 | |
| 1714 | for (k = 0; k<numEntries; k++) |
| 1715 | if ((index[k] - mi) % d != 0) |
| 1716 | break; |
| 1717 | if (k >= numEntries) |
| 1718 | D = d; |
| 1719 | } |
| 1720 | for (k = 0; k<numEntries; k++) |
| 1721 | index[k] = (index[k] - mi) / D; |
| 1722 | } |
| 1723 | |
| 1724 | |
| 1725 | //======================================================================================================================== |
no outgoing calls
no test coverage detected