CRU_KERNEL (7)
CRU MANUAL
CRU_KERNEL (7)

NAME

cru_kernel - a pair of related operations on vertices and edges

SYNOPSIS

#include <cru/cru.h>

typedef struct cru_kernel_s
{
   struct cru_prop_s v_op;
   struct cru_fold_s e_op;
} *cru_kernel;

DESCRIPTION

The cru_kernel structure specifies a related pair of user-defined operations, one for vertices and one for edges, to be passed by applications to cru library functions that use them when visiting the site of each vertex in a graph. The v_op field holds the vertex operation specification, and the e_op field holds that of the edges.

The latter point implies that when operating on an outgoing edge from a vertex being visited, the e_op.map function has the edge's origin as its left operand and the terminus as its right operand. When operating on an incoming edge to a vertex being visited, the left operand is the terminus of the edge and the right operand is its origin.

When the cru_kernel structure is a field in a cru_mutator or a cru_filter structure, no function is required for the v_op.vertex.reduction. All reduction functions are required when the cru_kernel is a field in a cru_merger.

FILES

/usr/local/include/cru/data_types.h

SEE ALSO

cru, cru_bop, cru_bpred, cru_builder, cru_built, cru_cbop, cru_classifier, cru_class_of, cru_class_size, cru_composed, cru_composer, cru_connect, cru_connector, cru_cqop, cru_crossed, cru_crosser, cru_ctop, cru_ctop_pair, cru_ctop_quad, cru_data_types, cru_deduplicated, cru_destructor, cru_destructor_pair, cru_edge_count, cru_fabricated, cru_fabricator, cru_filter, cru_filtered, cru_fold, cru_free_kill_switch, cru_free_later, cru_free_now, cru_free_partition, cru_function_types, cru_get, cru_hash, cru_induced, cru_inducer, cru_kill, cru_killed, cru_mapreduced, cru_mapreducer, cru_merged, cru_merger, cru_mutated, cru_mutator, cru_new_kill_switch, cru_nop, cru_order, cru_order_pair, cru_partition_of, cru_plan, cru_postponed, cru_postponer, cru_prop, cru_prop_pair, cru_pruner, cru_qop, cru_qpred, cru_set, cru_sig, cru_singleton, cru_split, cru_splitter, cru_spread, cru_strerror, cru_stretch, cru_stretched, cru_stretcher, cru_subconnector, cru_terminus_count, cru_top, cru_tpred, cru_united, cru_uop, cru_vertex_count, cru_zone

AUTHOR

Dennis Furey (milonga@delayinsensitive.com)

PROJECT PAGE

https://github.com/gueststar/cru

CRU VERSION 0.15.3
October 05, 2024
CRU_KERNEL (7)