annotate @pyobject/dummy.m @ 214:f48cad3e2c8e

Fix doctest * @pyobject/dummy.m: fix doctest
author Colin Macdonald <cbm@m.fsf.org>
date Thu, 26 May 2016 23:26:56 -0700
parents 57807b5fa7bf
children 3b2b7db7d709
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
1 %% Copyright (C) 2016 Colin B. Macdonald
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
2 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
3 %% This file is part of PyTave.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
4 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
5 %% OctSymPy is free software; you can redistribute it and/or modify
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
6 %% it under the terms of the GNU General Public License as published
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
7 %% by the Free Software Foundation; either version 3 of the License,
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
8 %% or (at your option) any later version.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
9 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
10 %% This software is distributed in the hope that it will be useful,
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
11 %% but WITHOUT ANY WARRANTY; without even the implied warranty
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
12 %% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
13 %% the GNU General Public License for more details.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
14 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
15 %% You should have received a copy of the GNU General Public
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
16 %% License along with this software; see the file COPYING.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
17 %% If not, see <http://www.gnu.org/licenses/>.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
18
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
19 %% -*- texinfo -*-
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
20 %% @documentencoding UTF-8
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
21 %% @defmethod @@pyobject dummy (@var{x})
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
22 %% Does nothing, stores doctests for now.
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
23 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
24 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
25 %% Simple example:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
26 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
27 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
28 %% pyexec('g = 6')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
29 %% g = pyobject.fromPythonVarName('g');
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
30 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
31 %% sort(whatmethods(g))
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
32 %% @result{} ans =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
33 %% @{
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
34 %% [1,1] = bit_length
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
35 %% [1,2] = conjugate
214
f48cad3e2c8e Fix doctest
Colin Macdonald <cbm@m.fsf.org>
parents: 209
diff changeset
36 %% [1,3] = denominator
f48cad3e2c8e Fix doctest
Colin Macdonald <cbm@m.fsf.org>
parents: 209
diff changeset
37 %% [1,4] = imag
f48cad3e2c8e Fix doctest
Colin Macdonald <cbm@m.fsf.org>
parents: 209
diff changeset
38 %% [1,5] = numerator
f48cad3e2c8e Fix doctest
Colin Macdonald <cbm@m.fsf.org>
parents: 209
diff changeset
39 %% [1,6] = real
209
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
40 %% @}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
41 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
42 %% g.numerator
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
43 %% @result{} ans = 6
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
44 %% g.denominator
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
45 %% @result{} ans = 1
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
46 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
47 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
48 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
49 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
50 %% You can delete an object in Python and it will persist:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
51 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
52 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
53 %% pyexec('d = dict(one=1, two=2)')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
54 %% x = pyobject.fromPythonVarName('d')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
55 %% @result{} x =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
56 %% [PyObject id ...]
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
57 %% @{'two': 2, 'one': 1@}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
58 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
59 %% % oops, overwrote d in Python:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
60 %% pyexec('d = 42')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
61 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
62 %% % but have no fear, we still have a reference to it:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
63 %% x
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
64 %% @result{} x =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
65 %% [PyObject id ...]
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
66 %% @{'two': 2, 'one': 1@}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
67 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
68 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
69 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
70 %% We can accesss ``callables'' (methods) of objects:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
71 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
72 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
73 %% x.keys()
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
74 %% @result{} ans =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
75 %% @{
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
76 %% [1,1] = two
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
77 %% [1,2] = one
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
78 %% @}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
79 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
80 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
81 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
82 %% @code{pyeval} returns a @@pyobject for things it cannot convert to
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
83 %% Octave-native objects:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
84 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
85 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
86 %% pyexec('import sys')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
87 %% sysmodule = pyeval('sys')
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
88 %% @result{} sysmodule =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
89 %% [PyObject id ...]
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
90 %% <module 'sys' (built-in)>
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
91 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
92 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
93 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
94 %% After you have the object, you can access its properties:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
95 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
96 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
97 %% sysmodule.version
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
98 %% @result{} ans = ...
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
99 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
100 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
101 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
102 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
103 %% TODO: this should return a cell array with a double, a string,
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
104 %% and an @@pyobject in it:
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
105 %% @example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
106 %% @group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
107 %% pyeval('[42, "hello", sys]') % doctest: +XFAIL
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
108 %% @result{} ans =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
109 %% @{
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
110 %% [1,1] = 42
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
111 %% [1,2] = hello
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
112 %% [1,3] =
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
113 %% [PyObject id ...]
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
114 %% <module 'sys' (built-in)>
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
115 %% @}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
116 %% @end group
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
117 %% @end example
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
118 %%
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
119 %% @seealso{pyobject}
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
120 %% @end defmethod
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
121
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
122 function dummy (x)
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
123
57807b5fa7bf Change name of pyobj to pyobject
genuinelucifer
parents:
diff changeset
124 end