|
AQUAgpusph 5.0.4
|
Execute all the tools in its scope if the condition is fulfilled. More...
#include <Conditional.hpp>


Public Member Functions | |
| If (const std::string name, const std::string condition, bool once=false) | |
| Constructor. | |
| ~If () | |
| Destructor. | |
| Tool * | next_tool () |
| Public Member Functions inherited from Aqua::CalcServer::Conditional | |
| Conditional (const std::string name, const std::string condition, bool once=false) | |
| Constructor. | |
| ~Conditional () | |
| Destructor. | |
| void | setup () |
| Initialize the tool. | |
| int | scope_modifier () const |
| Public Member Functions inherited from Aqua::CalcServer::ScalarExpression | |
| ScalarExpression (const std::string name, const std::string expr, const std::string type="float", bool once=false) | |
| Constructor. | |
| ~ScalarExpression () | |
| Destructor. | |
| const std::string | getOutputType () const |
| Get the output typesize. | |
| void | setOutputType (const std::string type) |
| Set the output typesize. | |
| const std::string | getExpression () const |
| Get the expression to evaluate. | |
| const void * | getValue () const |
| Get the stored output value. | |
| cl_event | getUserEvent () const |
| Get the user event generated by this tool to mark when is finished. | |
| void | solve () |
| Evaluate the expression and store the value. | |
| Public Member Functions inherited from Aqua::CalcServer::Tool | |
| Tool (const std::string tool_name, bool once=false) | |
| virtual | ~Tool () |
| virtual void | execute () |
| Execute the tool measuring the elapsed time. | |
| Tool * | prev_tool () const |
| void | prev_tool (Tool *tool) |
| size_t | allocatedMemory () const |
| unsigned int | used_times () const |
| void | addElapsedTime (float elapsed_time) |
| Add new data to the average and squared elapsed times. | |
| float | elapsedTime (bool averaged=true) const |
| float | elapsedTimeVariance () const |
| float | elapsedTimeDeviation () const |
| std::vector< InputOutput::Variable * > | getInputDependencies () const |
| Get the input depedencies of the tool. | |
| std::vector< InputOutput::Variable * > | getOutputDependencies () const |
| Get the output depedencies of the tool. | |
| std::tuple< std::vector< InputOutput::Variable * >, std::vector< InputOutput::Variable * > > | getDependencies () const |
| Get the depedencies of the tool. | |
| cl_event | getEvent () const |
| Get the tool event. | |
| void | parent (Tool *tool) |
| Set the tool parent. | |
| Tool * | parent () |
| Get the tool parent. | |
| Public Member Functions inherited from Aqua::CalcServer::Named | |
| Named (const std::string name) | |
| ~Named () | |
| void | name (const std::string tool_name) |
| const std::string | name () const |
| Get the name. | |
| Public Member Functions inherited from Aqua::CalcServer::Profiler | |
| Profiler () | |
| ~Profiler () | |
| std::vector< Profile * > | substages () const |
| Get the substages. | |
Protected Member Functions | |
| void | _solve () |
| Evaluate the expression and check whether it is true or false. | |
| Protected Member Functions inherited from Aqua::CalcServer::ScalarExpression | |
| virtual cl_event | _execute (const std::vector< cl_event > events) |
| Protected Member Functions inherited from Aqua::CalcServer::Tool | |
| int | id_in_pipeline () const |
| std::string | varPrefix () const |
| Produce a variable name prefix. | |
| void | next_tool (Tool *tool) |
| void | allocatedMemory (size_t mem_size) |
| virtual cl_event | _execute (const UNUSED_PARAM std::vector< cl_event > events) |
| void | setDependencies (std::vector< std::string > inputs, std::vector< std::string > outputs) |
| Set the depedencies of the tool. | |
| void | setDependencies (std::vector< InputOutput::Variable * > inputs, std::vector< InputOutput::Variable * > outputs) |
| Set the depedencies of the tool. | |
| void | setDependencies (std::vector< std::string > vars) |
| Set the depedencies of the tool. | |
| void | setInputDependencies (std::vector< std::string > vars) |
| Set the reading depedencies of the tool. | |
| void | setInputDependencies (std::vector< InputOutput::Variable * > vars) |
| Set the reading depedencies of the tool. | |
| void | setOutputDependencies (std::vector< std::string > vars) |
| Set the writing depedencies of the tool. | |
| void | setOutputDependencies (std::vector< InputOutput::Variable * > vars) |
| Set the writing depedencies of the tool. | |
| void | setDependencies (std::vector< InputOutput::Variable * > vars) |
| Set the depedencies of the tool. | |
| const std::vector< cl_event > | getEvents (dep_events which=dep_events::all) const |
| Get the list of events that this tool shall wait for. | |
| Protected Member Functions inherited from Aqua::CalcServer::Profiler | |
| void | substages (std::vector< Profile * > instances) |
| Set the tool substages. | |
Additional Inherited Members | |
| Protected Types inherited from Aqua::CalcServer::Tool | |
| enum | dep_events { in = 0x01 , out = 0x02 , all = 0x03 } |
| Static Protected Member Functions inherited from Aqua::CalcServer::Tool | |
| static std::vector< cl_kernel > | compile (const std::string source, const std::vector< std::string > names, const std::string flags="") |
| Compile an OpenCL source code and generate the corresponding kernel. | |
| static cl_kernel | compile_kernel (const std::string source, const std::string kernel_name, const std::string flags="") |
| Compile an OpenCL source code and generate the corresponding kernel. | |
| Protected Attributes inherited from Aqua::CalcServer::Conditional | |
| bool | _result |
| Condition result. | |
Execute all the tools in its scope if the condition is fulfilled.
| Aqua::CalcServer::If::~If | ( | ) |
Destructor.
|
protectedvirtual |
Evaluate the expression and check whether it is true or false.
Reimplemented from Aqua::CalcServer::Conditional.

|
virtual |
Get the next tool to be executed in the pipeline.
Such tool will be the next one if the condition is fulfilled, or the tool after the Aqua::CalcServer::End tool which closes the scope otherwise.
Since the closing Aqua::CalcServer::End tool is invariably giving back the control to this tool, the condition will be marked as unfulfilled when this tool is called, avoiding the loop execution
Reimplemented from Aqua::CalcServer::Conditional.
