robin hankin wrote:
Hi, debian linux, Sage-6.2.
It took me some time to track down a problem in my code that boiled
down to the interpretation of a caret ("^") in a file which was read
using load() in a sage session.
Specifically, I have a file called "f.py" which contains a single line,
"o = 10^6". I load() this file, expecting o to be 1000000, but instead
it takes the value 12. This is , I think, the result of a bitwise xor
operation. But it is not what I wanted.
sage: !cat f.py
o = 10^6
sage: load("f.py")
sage: o
12
sage:
Note that in interactive mode, the caret is interpreted as expected:
sage: o = 10^6
sage: o
1000000
sage:
Is this a bug?
No. '^' means bitwise exclusive-or in Python, where exponentiation is
(just) '**'.
Can anyone advise? I am very very very reluctant to
adopt the ghastly "**" notation.
If you want your file to get preparsed (such that the Sage preparser
replaces '^' by '**' "internally" when you load or run the file with
'sage'), simply rename your file to "f.sage".
Similar holds for '.pyx' vs. '.spyx'; the latter first gets preparsed.
-leif
--
() The ASCII Ribbon Campaign
/\ Help Cure HTML E-Mail
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.