Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
steam::engine::test::ont Namespace Reference

Description

Test-Rand-Ontology : definition structures similar to a media-library.

Namespaces

namespace  anonymous_namespace{test-rand-ontology.cpp}
 

Typedefs

using FraNo = size_t
 
using ChaNo = uint
 
using Flavr = uint
 
using Factr = double
 
using Param = uint64_t
 
using Spec = TestRandOntology::Spec
 

Classes

struct  ConfGen
 extended config for Generator operations More...
 
struct  ConfMan
 extended config for Manipulator/Filter operations More...
 
struct  ConfMix
 extended config for combining/mixing operations More...
 

Functions

void generateFrame (TestFrame *buff, FraNo frameNr=0, Flavr flavour=0)
 produce sequences of frames with (reproducible) random data
 
void generateMultichan (TestFrame *buffArry, ChaNo chanCnt, FraNo frameNr=0, Flavr flavour=0)
 produce planar multi channel output of random data frames
 
void duplicateMultichan (TestFrame *outArry, TestFrame *inArry, ChaNo chanCnt)
 create an identical clone copy of the planar multi channel frame array
 
void manipulateMultichan (TestFrame *buffArry, ChaNo chanCnt, Param param)
 »process« a planar multi channel array of data frames in-place
 
void manipulateFrame (TestFrame *out, TestFrame const *in, Param param)
 »process« random frame date by hash-chaining with a parameter
 
void combineFrames (TestFrame *out, TestFrame const *srcA, TestFrame const *srcB, Factr mix)
 mix two random data frames by a parameter-controlled proportion
 
void dummyOp (int *num_in_buff)
 the simplest possible function, which can be bound as Render Node
 

Variables

int dummyNum {-1}
 a dummy value
 
const Literal OID {"Test"}
 classificatory prefix for functionality provided by this „library“
 
const Literal TYPE_TESTFRAME {"TestFrame"}
 a stream implementation type with a frame of reproducible random data
 
const Literal DUMMY_NODE_ID {"Test:dummy"}
 
const Literal DUMMY_PROC_ID {"op(int)"}
 

Typedef Documentation

◆ FraNo

using FraNo = size_t

Definition at line 57 of file test-rand-ontology.hpp.

◆ ChaNo

using ChaNo = uint

Definition at line 58 of file test-rand-ontology.hpp.

◆ Flavr

using Flavr = uint

Definition at line 59 of file test-rand-ontology.hpp.

◆ Factr

using Factr = double

Definition at line 60 of file test-rand-ontology.hpp.

◆ Param

using Param = uint64_t

Definition at line 61 of file test-rand-ontology.hpp.

◆ Spec

Definition at line 170 of file test-rand-ontology.hpp.

Function Documentation

◆ generateFrame()

void generateFrame ( TestFrame buff,
FraNo  frameNr,
Flavr  flavour 
)

produce sequences of frames with (reproducible) random data

Parameters
buffa sufficiently sized allocation to place the result data into
frameNrthe frame of the »source feed« to generate (determines actual random data)
flavoura further seed parameter to determine the actual (reproducibly) random data

Definition at line 59 of file test-rand-ontology.cpp.

Referenced by ConfGen::binding(), and NodeDevel_test::processing_generateFrame().

+ Here is the caller graph for this function:

◆ generateMultichan()

void generateMultichan ( TestFrame buffArry,
ChaNo  chanCnt,
FraNo  frameNr,
Flavr  flavour 
)

produce planar multi channel output of random data frames

Parameters
chanCntsize of the array of frames to generate
buffArrypointer to an allocation sufficiently sized to hold TestFrame[chanCnt]
frameNrthe frame of the »source feed« to use commonly on all those frames in the output
flavoura further seed parameter used as starting offest for the output's family parameters
Remarks
this is a variation of the dummy data generator, which immediately generates a planar block of related frames with random data, all seeded with the same frameNr and consecutive family parameters, which will be offset commonly by adding the flavour parameter.

Definition at line 76 of file test-rand-ontology.cpp.

Referenced by NodeDevel_test::processing_duplicateMultichan(), NodeDevel_test::processing_generateMultichan(), and NodeDevel_test::processing_manipulateMultichan().

+ Here is the caller graph for this function:

◆ duplicateMultichan()

void duplicateMultichan ( TestFrame outArry,
TestFrame inArry,
ChaNo  chanCnt 
)

create an identical clone copy of the planar multi channel frame array

Parameters
chanCntsize of the array of frames to clone
inArrypointer to storage holding a TestFrame[chanCnt]
outArrypointer to allocated storage sufficient to hold a clone copy of these

Definition at line 89 of file test-rand-ontology.cpp.

Referenced by NodeDevel_test::processing_duplicateMultichan(), and NodeDevel_test::processing_manipulateMultichan().

+ Here is the caller graph for this function:

◆ manipulateMultichan()

void manipulateMultichan ( TestFrame buffArry,
ChaNo  chanCnt,
Param  param 
)

»process« a planar multi channel array of data frames in-place

Parameters
chanCntsize of the array of frames to manipulate
buffArrypointer to an array of several frames (channels)
paramparameter to control or »mark« the data manipulation (hash-combining)
Remarks
this function in-place processing of several channels in one step: data is processed in 64-bit words, by hash-chaining with param and then joining in the data items. All data buffers will be manipulated and marked with as valid with a new checksum.

Definition at line 106 of file test-rand-ontology.cpp.

References lib::hash::combine(), and TestFrame::data64().

Referenced by NodeDevel_test::processing_manipulateMultichan().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ manipulateFrame()

void manipulateFrame ( TestFrame out,
TestFrame const *  in,
Param  param 
)

»process« random frame date by hash-chaining with a parameter

Parameters
outexisting allocation to place the generated TestFrame into
inallocation holding the input TestFrame data
paramparameter to control or »mark« the data manipulation (hash-combining)
Remarks
this function emulates „media data processing“: data is processed in 64-bit words, by hash-chaining with param. The generated result is marked with a valid checksum.

Definition at line 132 of file test-rand-ontology.cpp.

References lib::hash::combine(), TestFrame::data64(), and TestFrame::markChecksum().

Referenced by ConfMan::binding(), NodeDevel_test::processing_manipulateFrame(), OutputProxyProvider_test::run(), NodeDevel_test::testRand_buildFilterNode(), and NodeLink_test::trigger_node_port_invocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ combineFrames()

void combineFrames ( TestFrame out,
TestFrame const *  srcA,
TestFrame const *  srcB,
Factr  mix 
)

mix two random data frames by a parameter-controlled proportion

Parameters
outexisting allocation to receive the calculated result TestFrame
srcAa buffer holding the input data for feed-A
srcBa buffer holding the input data for feed-B
mixdegree of mixing (by integer arithmetics): 100 means 100% feed-B
Remarks
this function emulates a mixing or overlaying operation: each result byte is the linear interpolation between the corresponding inputs.

Definition at line 151 of file test-rand-ontology.cpp.

References TestFrame::data(), and TestFrame::markChecksum().

Referenced by ConfMix::binding(), NodeDevel_test::processing_combineFrames(), NodeDevel_test::testRand_buildMixNode(), and NodeLink_test::trigger_node_port_invocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dummyOp()

void dummyOp ( int *  num_in_buff)
inline

the simplest possible function, which can be bound as Render Node

Definition at line 72 of file test-rand-ontology.hpp.

References dummyNum.

Referenced by NodeLink_test::build_simple_node().

+ Here is the caller graph for this function:

Variable Documentation

◆ dummyNum

int dummyNum {-1}

a dummy value

Remarks
will be returned from dummyOp()

Definition at line 47 of file test-rand-ontology.cpp.

Referenced by dummyOp().

◆ OID

const Literal OID {"Test"}

classificatory prefix for functionality provided by this „library“

Definition at line 63 of file test-rand-ontology.hpp.

Referenced by TestRandOntology::Builder< CONF >::nodeID().

◆ TYPE_TESTFRAME

const Literal TYPE_TESTFRAME {"TestFrame"}

a stream implementation type with a frame of reproducible random data

Definition at line 64 of file test-rand-ontology.hpp.

Referenced by TestRandOntology::setupCombinator(), TestRandOntology::setupGenerator(), and TestRandOntology::setupManipulator().

◆ DUMMY_NODE_ID

const Literal DUMMY_NODE_ID {"Test:dummy"}

Definition at line 77 of file test-rand-ontology.hpp.

Referenced by NodeLink_test::build_simple_node().

◆ DUMMY_PROC_ID

const Literal DUMMY_PROC_ID {"op(int)"}

Definition at line 78 of file test-rand-ontology.hpp.

Referenced by NodeLink_test::build_simple_node().