[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #50116] libinterp functions should call C++ di
From: |
Rik |
Subject: |
[Octave-bug-tracker] [bug #50116] libinterp functions should call C++ directly rather than calling through feval |
Date: |
Sat, 21 Jan 2017 23:07:18 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 |
URL:
<http://savannah.gnu.org/bugs/?50116>
Summary: libinterp functions should call C++ directly rather
than calling through feval
Project: GNU Octave
Submitted by: rik5
Submitted on: Sat 21 Jan 2017 03:07:17 PM PST
Category: Interpreter
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: Performance
Status: None
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: dev
Operating System: Any
_______________________________________________________
Details:
Within C++, interpreter functions written in C++ like "sum" can be called
directly using the name with 'F' prepended. For example, "Fsum" or
"Flasterr". However, the code often makes use of feval to do this instead.
Whenever the function name might be overloaded in the symbol table, such as
with display for class objects, then the invocation implementation needs to
remain as feval. However, the rest of the time these could be
Examples:
corefcn/defun.cc:64: octave::feval ("print_usage", octave_value (name), 0);
corefcn/dot.cc:184: tmp = octave::feval ("sum", tmp, 1);
corefcn/graphics.cc:9749: octave::feval ("lasterr",
corefcn/graphics.cc:9776: octave::feval (fcn, args);
corefcn/graphics.cc:9782: octave::feval ("lasterr",
corefcn/graphics.cc:11039: octave::feval ("graphics_toolkit", args);
corefcn/graphics.cc:11553: octave_value_list result = octave::feval
("isequal", args, 1);
corefcn/input.cc:208: octave::feval ("drawnow");
octave-value/ov-java.cc:1983: retval = octave::feval (std::string
("javaMethod"), ovl, 1);
octave-value/ov-java.cc:1992: retval = octave::feval (std::string
("__java_get__"), ovl, 1);
octave-value/ov-java.cc:2048: octave::feval ("__java_set__", ovl,
0);
See the related bug #50105.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?50116>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Octave-bug-tracker] [bug #50116] libinterp functions should call C++ directly rather than calling through feval,
Rik <=