103 return *signature_ref_;
146 inline MFParamsBuilder::MFParamsBuilder(
const MultiFunction &fn,
int64_t mask_size)
147 : MFParamsBuilder(fn.signature(),
IndexMask(mask_size))
151 inline MFParamsBuilder::MFParamsBuilder(
const MultiFunction &fn,
const IndexMask *
mask)
152 : MFParamsBuilder(fn.signature(), *
mask)
156 namespace multi_function_types {
bool depends_on_context() const
virtual ExecutionHints get_execution_hints() const
virtual uint64_t hash() const
StringRefNull name() const
StringRefNull param_name(int param_index) const
MFParamType param_type(int param_index) const
virtual std::string debug_name() const
IndexRange param_indices() const
void call_auto(IndexMask mask, MFParams params, MFContext context) const
void set_signature(const MFSignature *signature)
virtual void call(IndexMask mask, MFParams params, MFContext context) const =0
ExecutionHints execution_hints() const
virtual bool equals(const MultiFunction &UNUSED(other)) const
const MFSignature & signature() const
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
uint64_t get_default_hash(const T &v)
unsigned __int64 uint64_t
const char * function_name
Vector< const char * > param_names
Vector< MFParamType > param_types
bool uniform_execution_time