octave-bug-tracker
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]