| 612 | |
| 613 | |
| 614 | CvSparseNode* |
| 615 | cvInitSparseMatIterator( const CvSparseMat* mat, CvSparseMatIterator* iterator ) |
| 616 | { |
| 617 | CvSparseNode* node = 0; |
| 618 | int idx; |
| 619 | |
| 620 | if( !CV_IS_SPARSE_MAT( mat )) |
| 621 | CV_Error( CV_StsBadArg, "Invalid sparse matrix header" ); |
| 622 | |
| 623 | if( !iterator ) |
| 624 | CV_Error( CV_StsNullPtr, "NULL iterator pointer" ); |
| 625 | |
| 626 | iterator->mat = (CvSparseMat*)mat; |
| 627 | iterator->node = 0; |
| 628 | |
| 629 | for( idx = 0; idx < mat->hashsize; idx++ ) |
| 630 | if( mat->hashtable[idx] ) |
| 631 | { |
| 632 | node = iterator->node = (CvSparseNode*)mat->hashtable[idx]; |
| 633 | break; |
| 634 | } |
| 635 | |
| 636 | iterator->curidx = idx; |
| 637 | return node; |
| 638 | } |
| 639 | |
| 640 | #define ICV_SPARSE_MAT_HASH_MULTIPLIER cv::SparseMat::HASH_SCALE |
| 641 |
no outgoing calls
no test coverage detected