GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
octave::jit_index_operation Class Referenceabstract

#include "jit-typeinfo.h"

Inheritance diagram for octave::jit_index_operation:
Collaboration diagram for octave::jit_index_operation:

Public Types

typedef std::vector< jit_type * > signature_vec
 

Public Member Functions

 jit_index_operation (const jit_typeinfo &ti, const std::string &name)
 
void add_overload (const jit_function &func)
 
void add_overload (const jit_function &func, const signature_vec &args)
 
const std::stringname (void) const
 
const jit_functionoverload (const signature_vec &types) const
 
template<typename ... Args>
const jit_functionoverload (signature_vec &args, jit_type *arg1, Args... other_args) const
 
template<typename ... Args>
const jit_functionoverload (jit_type *arg1, Args... other_args) const
 
jit_typeresult (const signature_vec &types) const
 
template<typename ... Args>
jit_typeresult (signature_vec &args, jit_type *arg1, Args... other_args) const
 
template<typename ... Args>
jit_typeresult (jit_type *arg1, Args... other_args) const
 
void stash_name (const std::string &aname)
 

Protected Member Functions

llvm::Value * create_arg_array (llvm::IRBuilderD &builder, const jit_function &fn, size_t start_idx, size_t end_idx) const
 
virtual jit_functiongenerate (const signature_vec &types) const
 
virtual jit_functiongenerate_matrix (const signature_vec &types) const =0
 

Protected Attributes

const jit_typeinfom_typeinfo
 

Detailed Description

Definition at line 442 of file jit-typeinfo.h.

Member Typedef Documentation

◆ signature_vec

Definition at line 358 of file jit-typeinfo.h.

Constructor & Destructor Documentation

◆ jit_index_operation()

octave::jit_index_operation::jit_index_operation ( const jit_typeinfo ti,
const std::string name 
)
inline

Definition at line 447 of file jit-typeinfo.h.

Member Function Documentation

◆ add_overload() [1/2]

void octave::jit_operation::add_overload ( const jit_function func)
inlineinherited

◆ add_overload() [2/2]

void octave::jit_operation::add_overload ( const jit_function func,
const signature_vec args 
)
inherited

◆ create_arg_array()

llvm::Value * octave::jit_index_operation::create_arg_array ( llvm::IRBuilderD builder,
const jit_function fn,
size_t  start_idx,
size_t  end_idx 
) const
protected

◆ generate()

jit_function * octave::jit_index_operation::generate ( const signature_vec types) const
protectedvirtual

◆ generate_matrix()

virtual jit_function* octave::jit_index_operation::generate_matrix ( const signature_vec types) const
protectedpure virtual

◆ name()

const std::string& octave::jit_operation::name ( void  ) const
inlineinherited

Definition at line 412 of file jit-typeinfo.h.

◆ overload() [1/3]

◆ overload() [2/3]

template<typename ... Args>
const jit_function& octave::jit_operation::overload ( signature_vec args,
jit_type arg1,
Args...  other_args 
) const
inlineinherited

Definition at line 373 of file jit-typeinfo.h.

◆ overload() [3/3]

template<typename ... Args>
const jit_function& octave::jit_operation::overload ( jit_type arg1,
Args...  other_args 
) const
inlineinherited

Definition at line 381 of file jit-typeinfo.h.

◆ result() [1/3]

jit_type* octave::jit_operation::result ( const signature_vec types) const
inlineinherited

Definition at line 389 of file jit-typeinfo.h.

References octave::jit_function::result().

Referenced by octave::jit_call::infer().

◆ result() [2/3]

template<typename ... Args>
jit_type* octave::jit_operation::result ( signature_vec args,
jit_type arg1,
Args...  other_args 
) const
inlineinherited

Definition at line 396 of file jit-typeinfo.h.

◆ result() [3/3]

template<typename ... Args>
jit_type* octave::jit_operation::result ( jit_type arg1,
Args...  other_args 
) const
inlineinherited

Definition at line 404 of file jit-typeinfo.h.

◆ stash_name()

void octave::jit_operation::stash_name ( const std::string aname)
inlineinherited

Definition at line 414 of file jit-typeinfo.h.

Member Data Documentation

◆ m_typeinfo


The documentation for this class was generated from the following files: