#include "Engine/EngineFunctor.h"
#include "Evaluator/LoopApply.h"
#include "Functions/MultiArg.h"
Classes | |
class | MultiArgKernel< MultiArg, Function > |
The iterate contains a MultiArg objects which can contain 1, 2, or 3 fields, and a Function object which is applied to the MultiArg object when the iterate is run. On construction, the user provides vectors of flags that say which arguments are being written to and read from.
This particular kernel was created to avoid the proliferation of kernels generated by patch-based computations. Previously, separate kernels were defined for each number of argument passed in, and in some cases different kernels were written for different forms of the function.