annotate src/OPERATORS/op-fcn.cc @ 10263:07dedea2e0a4

add omitted file from 10260:14d5fee02b3b
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 04 Feb 2010 10:55:59 +0100
parents
children 21551cc88061
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10263
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
1 /*
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
2
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
3 Copyright (C) 2010 VZLU Prague
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
4
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
5 This file is part of Octave.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
6
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
10 option) any later version.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
11
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
15 for more details.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
16
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, see
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
19 <http://www.gnu.org/licenses/>.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
20
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
21 */
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
22
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
23 #ifdef HAVE_CONFIG_H
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
24 #include <config.h>
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
25 #endif
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
26
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
27 #include "gripes.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
28 #include "oct-obj.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
29 #include "ov.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
30 #include "ov-fcn-handle.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
31 #include "ov-scalar.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
32 #include "ov-typeinfo.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
33 #include "ops.h"
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
34
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
35 DEFBINOP (eq, fcn_handle, fcn_handle)
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
36 {
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
37 CAST_BINOP_ARGS (const octave_fcn_handle&, const octave_fcn_handle&);
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
38
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
39 // FIXME: this may not be entirely correct in case the handles were created
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
40 // in different directories. Needs checking what recent Matlab does, and also
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
41 // discussion whether we want to copy its behavior. Or to what extent.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
42 // Meanwhile, this catches all the "normal" usages, i.e.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
43 // h == @sin
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
44 // should yield true only if h is a handle to the global "sin", not a local one.
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
45
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
46 return (v1.fcn_name () == v2.fcn_name ()
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
47 && v1.fcn_val ().is_copy_of (v2.fcn_val ()));
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
48 }
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
49
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
50 void
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
51 install_fcn_ops (void)
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
52 {
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
53 INSTALL_BINOP (op_eq, octave_fcn_handle, octave_fcn_handle, eq);
07dedea2e0a4 add omitted file from 10260:14d5fee02b3b
Jaroslav Hajek <highegg@gmail.com>
parents:
diff changeset
54 }