view liboctave/vx-ops @ 15078:fe4752f772e2

Generate ND indexing functions on demand in JIT. * src/jit-typeinfo.cc (jit_operation::~jit_operation, jit_operation::do_generate, jit_operation::generate, jit_operation::signature_cmp::operator()): New function. (jit_operation::overload): Call do_generate when lookup fails. (jit_index_operation, jit_paren_subsref, jit_paren_subsasgn): New class. (jit_typeinfo::jit_typeinfo): Update to use jit_paren_subsref and jit_paren_subsasgn. (jit_typeinfo::gen_subsref, jit_typeinfo::gen_subsasgn): Removed functions. * src/jit-typeinfo.h (jit_operation::~jit_operation, jit_operation::generate, jit_operation::do_generate): New declaration. (jit_operation::add_overload, jit_operation::overload, jit_operation::result, jit_operation::to_idx): Use signature_vec typedef. (jit_operation::singature_cmp): New class. (jit_index_operation, jit_paren_subsref, jit_paren_subsasgn): New class. (jit_typeinfo::get_scalar_ptr): Nwe function. (jit_typeinfo::gen_subsref, jit_typeinfo::gen_subsasgn): Removed declaration. * src/pt-jit.cc: New test.
author Max Brister <max@2bass.com>
date Wed, 01 Aug 2012 17:00:12 -0500
parents 72c96de7a403
children
line wrap: on
line source

# Copyright (C) 2003-2012 John W. Eaton
#
# This file is part of Octave.
# 
# Octave is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
# 
# Octave is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Octave; see the file COPYING.  If not, see
# <http://www.gnu.org/licenses/>.

# NOTE: if this file changes, you must run autogen.sh and configure to
# rebuild the source file lists for Make.

# types
ccv ComplexColumnVector V CColVector.h YES 0.0
crv ComplexRowVector V CRowVector.h YES 0.0
cs Complex S oct-cmplx.h NO 0.0
cv ColumnVector V dColVector.h YES 0.0
rv RowVector V dRowVector.h YES 0.0
s double S NONE NO 0.0
fccv FloatComplexColumnVector V fCColVector.h YES 0.0
fcrv FloatComplexRowVector V fCRowVector.h YES 0.0
fcs FloatComplex S oct-cmplx.h NO 0.0
fcv FloatColumnVector V fColVector.h YES 0.0
frv FloatRowVector V fRowVector.h YES 0.0
fs float S NONE NO 0.0
# ops
ccv ccv cv B
ccv ccv s B
crv crv rv B
crv crv s B
ccv cs cv B
crv cs rv B
ccv cv ccv B
ccv cv cs B
crv rv crv B
crv rv cs B
ccv s ccv B
crv s crv B
fccv fccv fcv B
fccv fccv fs B
fcrv fcrv frv B
fcrv fcrv fs B
fccv fcs fcv B
fcrv fcs frv B
fccv fcv fccv B
fccv fcv fcs B
fcrv frv fcrv B
fcrv frv fcs B
fccv fs fccv B
fcrv fs fcrv B