I have some RPython that does this:

return a % b

while in another function I'm calling the same, but the two functions
differ in the types of a and b (mix of ints and floats).

However, during translation I'm getting a blocked block exception.

translation:ERROR] AnnotatorError:
[translation:ERROR]
[translation:ERROR] Blocked block -- operation cannot succeed
[translation:ERROR]
[translation:ERROR]     v12 = mod(v10, v11)
[translation:ERROR]
[translation:ERROR] In <FunctionGraph of
(pixie.vm.numbers:1)_rem_Float_Integer at 0x105b80490>:
[translation:ERROR] no source!
[translation:ERROR] Known variable annotations:
[translation:ERROR]  v10 = SomeFloat()
[translation:ERROR]  v11 = SomeInteger(knowntype=int, nonneg=False,
unsigned=False)
[translation:ERROR]
[translation:ERROR] Blocked block -- operation cannot succeed
[translation:ERROR]
[translation:ERROR]     v15 = mod(v13, v14)
[translation:ERROR]
[translation:ERROR] In <FunctionGraph of
(pixie.vm.numbers:1)_rem_Integer_Float at 0x1059ac550>:
[translation:ERROR] no source!
[translation:ERROR] Known variable annotations:
[translation:ERROR]  v13 = SomeInteger(knowntype=int, nonneg=False,
unsigned=False)
[translation:ERROR]  v14 = SomeFloat()
[translation:ERROR]
[translation:ERROR] Blocked block -- operation cannot succeed
[translation:ERROR]
[translation:ERROR]     v18 = mod(v16, v17)
[translation:ERROR]
[translation:ERROR] In <FunctionGraph of
(pixie.vm.numbers:1)_rem_Float_Float at 0x10544a650>:
[translation:ERROR] no source!
[translation:ERROR] Known variable annotations:
[translation:ERROR]  v16 = SomeFloat()
[translation:ERROR]  v17 = SomeFloat()
[translation:ERROR]


Do we need another entry in rtyper? Looking at rtyper/rfloat.py I see
entries on how to type add, sub, etc, but nothing for mod.

Thanks,

Timothy
_______________________________________________
pypy-dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to