[pypy-commit] lang-smalltalk default: add primitive SMALLINT_AS_FLOAT
timfel
noreply at buildbot.pypy.org
Wed Mar 13 16:24:26 CET 2013
Author: Tim Felgentreff <timfelgentreff at gmail.com>
Branch:
Changeset: r172:140b20cc771d
Date: 2013-03-13 16:23 +0100
http://bitbucket.org/pypy/lang-smalltalk/changeset/140b20cc771d/
Log: add primitive SMALLINT_AS_FLOAT
diff --git a/spyvm/primitives.py b/spyvm/primitives.py
--- a/spyvm/primitives.py
+++ b/spyvm/primitives.py
@@ -249,6 +249,10 @@
FLOAT_LOG_N = 58
FLOAT_EXP = 59
+ at expose_primitive(SMALLINT_AS_FLOAT, unwrap_spec=[int])
+def func(interp, s_frame, i):
+ return interp.space.wrap_float(float(i))
+
math_ops = {
FLOAT_ADD: operator.add,
FLOAT_SUBTRACT: operator.sub,
diff --git a/spyvm/test/test_primitives.py b/spyvm/test/test_primitives.py
--- a/spyvm/test/test_primitives.py
+++ b/spyvm/test/test_primitives.py
@@ -167,6 +167,9 @@
prim_fails(primitives.BIT_SHIFT, [4, 29])
prim_fails(primitives.BIT_SHIFT, [4, 28])
+def test_smallint_as_float():
+ assert prim(primitives.SMALLINT_AS_FLOAT, [12]).value == 12.0
+
def test_float_add():
assert prim(primitives.FLOAT_ADD, [1.0,2.0]).value == 3.0
assert prim(primitives.FLOAT_ADD, [3.0,4.5]).value == 7.5
More information about the pypy-commit
mailing list