MCPcopy Create free account
hub / github.com/cutdigital/mcut / mcEnqueueGetConnectedComponents

Function mcEnqueueGetConnectedComponents

source/mcut.cpp:673–717  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

671 }
672
673MCAPI_ATTR McResult MCAPI_CALL mcEnqueueGetConnectedComponents(
674 const McContext context,
675 const McConnectedComponentType connectedComponentType,
676 const uint32_t numEntries,
677 McConnectedComponent* pConnComps,
678 uint32_t* numConnComps,
679 uint32_t numEventsInWaitlist,
680 const McEvent* pEventWaitList,
681 McEvent* pEvent)
682{
683 McResult return_value = McResult::MC_NO_ERROR;
684 per_thread_api_log_str.clear();
685
686 if (context == nullptr) {
687 per_thread_api_log_str = "context ptr (param0) undef (NULL)";
688 } else if (connectedComponentType == 0) {
689 per_thread_api_log_str = "invalid type-parameter (param1) (0)";
690 } else if (numConnComps == nullptr && pConnComps == nullptr) {
691 per_thread_api_log_str = "output parameters undef (param3 & param4)";
692 } else if (pEventWaitList == nullptr && numEventsInWaitlist > 0) {
693 per_thread_api_log_str = "invalid event waitlist ptr (NULL)";
694 } else if (pEventWaitList != nullptr && numEventsInWaitlist == 0) {
695 per_thread_api_log_str = "invalid event waitlist size (zero)";
696 } else if (pEventWaitList == nullptr && numEventsInWaitlist == 0 && pEvent == nullptr) {
697 per_thread_api_log_str = "invalid event ptr (zero)";
698 } else {
699 try {
700
701 get_connected_components_impl(context, connectedComponentType, numEntries, pConnComps, numConnComps, numEventsInWaitlist, pEventWaitList, pEvent);
702 }
703 CATCH_POSSIBLE_EXCEPTIONS(per_thread_api_log_str);
704 }
705
706 if (!per_thread_api_log_str.empty()) {
707
708 std::fprintf(stderr, "%s(...) -> %s\n", __FUNCTION__, per_thread_api_log_str.c_str());
709
710 if (return_value == McResult::MC_NO_ERROR) // i.e. problem with basic local parameter checks
711 {
712 return_value = McResult::MC_INVALID_VALUE;
713 }
714 }
715
716 return return_value;
717}
718
719MCAPI_ATTR McResult MCAPI_CALL mcGetConnectedComponents(
720 const McContext context,

Callers 3

mcGetConnectedComponentsFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85

Calls 2

emptyMethod · 0.45

Tested by

no test coverage detected