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
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
jit_operation Class Reference

#include "jit-typeinfo.h"

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

Classes

struct  signature_cmp

Public Types

typedef std::vector< jit_type * > signature_vec

Public Member Functions

virtual ~jit_operation (void)
void add_overload (const jit_function &func)
void add_overload (const jit_function &func, const signature_vec &args)
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

virtual jit_functiongenerate (const signature_vec &types) const

Private Types

typedef std::map< const
signature_vec *, jit_function
*, signature_cmp
generated_map

Private Member Functions

const jit_functiondo_generate (const signature_vec &types) const
Array< octave_idx_typeto_idx (const signature_vec &types) const

Private Attributes

generated_map generated
std::string mname
std::vector< Array
< jit_function > > 
overloads

Detailed Description

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

Member Typedef Documentation

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

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

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

Constructor & Destructor Documentation

jit_operation::~jit_operation ( void  )
virtual

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

References generated.

Member Function Documentation

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

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

References Array< T >::dims(), overloads, Array< T >::resize(), and to_idx().

const jit_function & jit_operation::do_generate ( const signature_vec types) const
private

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

References find(), generate(), and generated.

Referenced by overload().

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

Reimplemented in jit_index_operation.

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

Referenced by do_generate().

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

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

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

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

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

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

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

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

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

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
inline

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

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

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

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

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

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

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

Referenced by jit_typeinfo::jit_typeinfo().

Array< octave_idx_type > jit_operation::to_idx ( const signature_vec types) const
private

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

References max().

Referenced by add_overload(), and overload().

Member Data Documentation

generated_map jit_operation::generated
mutableprivate

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

Referenced by do_generate(), and ~jit_operation().

std::string jit_operation::mname
private

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

std::vector<Array<jit_function> > jit_operation::overloads
private

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

Referenced by add_overload(), and overload().


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