GNU Octave  3.8.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 Reference

#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 (OCT_MAKE_DECL_LIST(jit_type *, arg, 1)) const
const jit_functionoverload (OCT_MAKE_DECL_LIST(jit_type *, arg, 2)) const
const jit_functionoverload (OCT_MAKE_DECL_LIST(jit_type *, arg, 3)) const
jit_typeresult (const signature_vec &types) const
jit_typeresult (OCT_MAKE_DECL_LIST(jit_type *, arg, 1)) const
jit_typeresult (OCT_MAKE_DECL_LIST(jit_type *, arg, 2)) const
jit_typeresult (OCT_MAKE_DECL_LIST(jit_type *, arg, 3)) 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 388 of file jit-typeinfo.h.

Member Typedef Documentation

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

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

Constructor & Destructor Documentation

jit_index_operation::jit_index_operation ( void  )
inline

Definition at line 392 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 942 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 394 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

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

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

const jit_function & jit_operation::overload ( const signature_vec types) const
inherited
const jit_function& jit_operation::overload ( OCT_MAKE_DECL_LIST(jit_type *, arg,1)  ) const
inlineinherited

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

const jit_function& jit_operation::overload ( OCT_MAKE_DECL_LIST(jit_type *, arg,2)  ) const
inlineinherited

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

const jit_function& jit_operation::overload ( OCT_MAKE_DECL_LIST(jit_type *, arg,3)  ) const
inlineinherited

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

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

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

References jit_function::result().

Referenced by jit_call::infer().

jit_type* jit_operation::result ( OCT_MAKE_DECL_LIST(jit_type *, arg,1)  ) const
inlineinherited

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

jit_type* jit_operation::result ( OCT_MAKE_DECL_LIST(jit_type *, arg,2)  ) const
inlineinherited

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

jit_type* jit_operation::result ( OCT_MAKE_DECL_LIST(jit_type *, arg,3)  ) const
inlineinherited

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

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

Definition at line 365 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: