From octave-maintainers-request at bevo dot che dot wisc dot edu Wed Dec 18 14:46:29 2002 Subject: Re: Creating a standalone executable From: "John W. Eaton" To: Paul Kienzle Cc: JD Cole , "John W. Eaton" , octave-maintainers@bevo.che.wisc.edu Date: Wed, 18 Dec 2002 14:46:16 -0600 On 18-Dec-2002, Paul Kienzle wrote: | octave_value is part of liboctinterp. Many of the classes on which the | octave_value types are based are defined in liboctave. E.g., liboctave | defines Matrix, which is wrapped by octave_matrix. | | octave_value implements dynamic typing, so all operations must be looked | up at run time every time they are invoked. | | Things like the * operator for the Matrix class, however, are resolvable | at compile time. | | Most of the code in e.g., src/DLD-FUNCTIONS, operates directly on values | of the underlying type rather than on the octave_value item. Right. I'm not sure why you would want to operate directly on octave_value objects unless you were working on a simple Octave to C++ translator or if you are trying to write some generic functions in C++. (For example, C++ code that can do the equivalent of something like: function result = add (a, b) result = a + b; and not have to do any type checking/value extraction before attempting the addition.) If you are writing generic functions, why not just write them in the scripting language? If you are working on a translator, then it might be useful to share some of your ideas on the list. Thanks, jwe