CoreFlow 1.0.0
A modern orchestration and execution runtime
Loading...
Searching...
No Matches
Kernel: Control Flow

Functions

VX_API_ENTRY vx_node VX_API_CALL vxScalarOperationNode (vx_graph graph, vx_enum scalar_operation, vx_scalar a, vx_scalar b, vx_scalar output)
 [Graph] Creates a scalar operation node.
 
VX_API_ENTRY vx_node VX_API_CALL vxSelectNode (vx_graph graph, vx_scalar condition, vx_reference true_value, vx_reference false_value, vx_reference output)
 [Graph] Selects one of two data objects depending on the the value of a condition (boolean scalar), and copies its data into another data object.
 

Detailed Description

Function Documentation

◆ vxScalarOperationNode()

VX_API_ENTRY vx_node VX_API_CALL vxScalarOperationNode ( vx_graph graph,
vx_enum scalar_operation,
vx_scalar a,
vx_scalar b,
vx_scalar output )

#include <vx_nodes.h>

[Graph] Creates a scalar operation node.

Parameters
[in]graphThe reference to the graph.
[in]scalar_operationA VX_TYPE_ENUM of the vx_scalar_operation_e enumeration.
[in]aFirst scalar operand.
[in]bSecond scalar operand.
[out]outputResult of the scalar operation.
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus

◆ vxSelectNode()

VX_API_ENTRY vx_node VX_API_CALL vxSelectNode ( vx_graph graph,
vx_scalar condition,
vx_reference true_value,
vx_reference false_value,
vx_reference output )

#include <vx_nodes.h>

[Graph] Selects one of two data objects depending on the the value of a condition (boolean scalar), and copies its data into another data object.

This node supports predicated execution flow within a graph. All the data objects passed to this kernel shall have the same object type and meta data. It is important to note that an implementation may optimize away the select and copy when virtual data objects are used.
If there is a kernel node that contribute only into virtual data objects during the graph execution due to certain data path being eliminated by not taken argument of select node, then the OpenVX implementation guarantees that there will not be any side effects to graph execution and node state.
If the path to a select node contains non-virtual objects, user nodes, or nodes with completion callbacks, then that path may not be "optimized out" because the callback must be executed and the non-virtual objects must be modified.

Parameters
[in]graphThe reference to the graph.
[in]conditionVX_TYPE_BOOL predicate variable.
[in]true_valueData object for true.
[in]false_valueData object for false.
[out]outputOutput data object.
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus