GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
jit_index_operation Class Referenceabstract

#include "jit-typeinfo.h"

Inheritance diagram for jit_index_operation:
Inheritance graph
[legend]
Collaboration diagram for jit_index_operation:
Collaboration graph
[legend]

Public Types

typedef std::vector< jit_type * > signature_vec
 

Public Member Functions

 jit_index_operation (void)
 
void add_overload (const jit_function &func)
 
void add_overload (const jit_function &func, const signature_vec &args)
 
void initialize (llvm::Module *amodule, llvm::ExecutionEngine *aengine)
 
const std::string & name (void) const
 
const jit_functionoverload (const signature_vec &types) const
 
const jit_functionoverload (jit_type *arg0) const
 
const jit_functionoverload (jit_type *arg0, jit_type *arg1) const
 
const jit_functionoverload (jit_type *arg0, jit_type *arg1, jit_type *arg2) const
 
jit_typeresult (const signature_vec &types) const
 
jit_typeresult (jit_type *arg0) const
 
jit_typeresult (jit_type *arg0, jit_type *arg1) const
 
jit_typeresult (jit_type *arg0, jit_type *arg1, jit_type *arg2) 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 void do_initialize (void)=0
 
virtual jit_functiongenerate (const signature_vec &types) const
 
virtual jit_functiongenerate_matrix (const signature_vec &types) const =0
 

Protected Attributes

llvm::ExecutionEngine * engine
 
llvm::Module * module
 

Detailed Description

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

Member Typedef Documentation

typedef std::vector<jit_type *> jit_operation::signature_vec
inherited

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

Constructor & Destructor Documentation

jit_index_operation::jit_index_operation ( void  )
inline

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

Member Function Documentation

void jit_operation::add_overload ( const jit_function func)
inlineinherited
void jit_operation::add_overload ( const jit_function func,
const signature_vec args 
)
inherited
llvm::Value * jit_index_operation::create_arg_array ( llvm::IRBuilderD builder,
const jit_function fn,
size_t  start_idx,
size_t  end_idx 
) const
protected
virtual void jit_index_operation::do_initialize ( void  )
protectedpure virtual

Implemented in jit_paren_subsasgn, and jit_paren_subsref.

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

Reimplemented from jit_operation.

Definition at line 947 of file jit-typeinfo.cc.

References generate_matrix(), jit_typeinfo::get_matrix(), jit_typeinfo::get_scalar(), and scalar().

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

Implemented in jit_paren_subsasgn, and jit_paren_subsref.

Referenced by generate().

void jit_index_operation::initialize ( llvm::Module *  amodule,
llvm::ExecutionEngine *  aengine 
)
inline

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

References initialize().

Referenced by jit_typeinfo::jit_typeinfo().

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

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

const jit_function & jit_operation::overload ( const signature_vec types) const
inherited
const jit_function& jit_operation::overload ( jit_type arg0) const
inlineinherited

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

const jit_function& jit_operation::overload ( jit_type arg0,
jit_type arg1 
) const
inlineinherited

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

const jit_function& jit_operation::overload ( jit_type arg0,
jit_type arg1,
jit_type arg2 
) const
inlineinherited

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

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

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

Referenced by jit_call::infer().

jit_type* jit_operation::result ( jit_type arg0) const
inlineinherited

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

jit_type* jit_operation::result ( jit_type arg0,
jit_type arg1 
) const
inlineinherited

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

jit_type* jit_operation::result ( jit_type arg0,
jit_type arg1,
jit_type arg2 
) const
inlineinherited

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

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

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

Referenced by jit_typeinfo::jit_typeinfo().

Member Data Documentation

llvm::ExecutionEngine* jit_index_operation::engine
protected
llvm::Module* jit_index_operation::module
protected

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