annotate NEWS @ 44:f237eb38e9c3

update NEWS
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 25 May 2009 13:22:20 +0200
parents 798efee55cd0
children 0c19ed1ce349
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
1 Version 0.1.1-bzr
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
2
44
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
3 2009-05-25
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
4
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
5 * Added functionality for explicit manipulation of variables.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
6 getvar, setvar, isvar can be used to get, set and query variables
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
7 in the current Octave scope.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
8 Example:
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
9 pytave.setvar("x", 1)
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
10 pytave.eval(0,"x += 1")
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
11 x = pytave.getvar("x")
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
12
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
13 * Added functionality to push/pop anonymous scopes on the Octave call
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
14 stack. push_scope and pop_scope are provided to create an anonymous scope
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
15 and push it on Octave's call stack, to prevent cluttering other variables if
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
16 nested calls to pytave are in effect.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
17
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
18 Example:
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
19 pytave.push_scope()
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
20 pytave.setvar("x", something)
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
21 pytave.eval(0, "... do something with x)
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
22 pytave.pop_scope() # wipes out x and restores its previous value, if any
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
23
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
24 Of course, for proper safety, try/finally block should be used to ensure the
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
25 cleanup. For convenience, a local_scope decorator is provided that encloses a
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
26 whole function in a push_scope/try/finally/pop_scope sequence:
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
27
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
28 @pytave.local_scope
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
29 def my_oct_add(x,y):
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
30 pytave.setvar("x",x)
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
31 pytave.setvar("y",y)
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
32 result, = pytave.eval(1, "x + y")
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
33 return result
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
34
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
35 this function, when called, will not affect the top-level values of x and y, if
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
36 any.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
37
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
38 * The Octave welcome banner is now only displayed if Python is run interactively.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
39
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
40 * {}, "" and '' are now accepted as return values and converted to an empty list/string.
f237eb38e9c3 update NEWS
Jaroslav Hajek <highegg@gmail.com>
parents: 37
diff changeset
41
36
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
42 2009-05-07
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
43
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
44 * Added an eval function. A string of Octave code can be executed
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
45 through this function. The returned values are converted to Python
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
46 objects as with the feval function.
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
47
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
48 In principle, this could be achieved simply using feval("eval", but
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
49 the advantages to this implementation are:
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
50
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
51 1. faster (avoids double call and double conversion of code string)
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
52
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
53 2. explicit control of printing rather than implicitly with nargout
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
54 (as in eval)
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
55
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
56 3. separate exception classes for parse error / execution error
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
57
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
58 2009-05-05
22
1a26d85a01be no news is good news
Håkan Fors nilsson <c04hfn@cs.umu.se>
parents: 0
diff changeset
59
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 25
diff changeset
60 * Added functionality for one-row cell arrays. The Python list is
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 25
diff changeset
61 converted to a one-row cell array and vice versa.
22
1a26d85a01be no news is good news
Håkan Fors nilsson <c04hfn@cs.umu.se>
parents: 0
diff changeset
62
37
798efee55cd0 Added --enable-float-matrices option. Some VPATH building issues fixed. Changelog now more standardized.
David Grundberg <individ@acc.umu.se>
parents: 36
diff changeset
63 * Added functionality for structs. The Python dictionary is converted
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 25
diff changeset
64 to a Octave struct and vice versa. The implementation tries to be
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 25
diff changeset
65 as true as possible to Octave's struct constructor.
36
ae4554656fa1 Added an eval function.
David Grundberg <individ@acc.umu.se>
parents: 33
diff changeset
66