Post Reply 
newRPL: [UPDATED April 27-2017] Firmware for testing available for download
06-02-2016, 12:51 AM
Post: #278
RE: newRPL: [UPDATED May-06-16] Firmware for testing available for download
(06-01-2016 11:34 PM)JoJo1973 Wrote:  Finally I've been able to grab my old HP49G+ and now I can do some tests on the real metal!

The calc I'm testing comes from one of the first batches produced by HP and suffers from the infamous keyboard quality: a couple of keys were wiggly in their seat, and I suspect that situation will grow worse as I continue with my tests. Nevertheless, everybody else installs NewRPL on their 50G (which I own) so it just makes sense to test an older platform.

  1. Installation and usage
    Installation went as smooth as silk. The calc was never flashed before (except for official HP upgrades) and none of the problems reported by other users were experienced. The UI is snappy and pleasant to use. Rarely some keys bounce or fail to register, but I don't know if it's me being too cautious or the keyboard failing. Anyway the problem is way less frequent than with original firmware: if KEYTIME→/→KEYTIME will ever be implemented I'd like to do some tests.
  2. Bug reporting
    Is it possible to add the VERSION command reporting ROM build information (e.g. Sourceforge commit ID)? People could keep reporting bugs that have been already fixed...
  3. ATAN2 vs ARG
    These commands are perfectly equivalent (apart from the input values they require, of course) but IMHO they should behave differently in one case: when x=0 and y=0.
    It's only logical that ARG returns 0° when input is (0,0): it's conventional result and backward compatible with HP firmware. On the contrary ATAN2 is a totally new addition to the language, and doesn't have to worry breaking any compatibility. This is the reason I suggest that « 0 0 ATAN2 » should return NaN, which is coherent with many programming languages and usually expected.
  4. SIN & COS
    They should return NaN when their input is ±∞. Actually they return a bogus value.
  5. Parser
    100'X' [ENTER] returns itself on the stack instead of 100 on level 2 and 'X' on level 1.
    . [ENTER] (the dot symbol) returns itself on the stack instead of Syntax Error.
    [EEX] [ENTER] returns 1 on level 2 and E on level 1 instead of Syntax Error.
  6. Signed/unsigned infinity
    In the context of operations with real numbers, infinite results should always have sign; in the context of operations with complex numbers, infinite results should always be unsigned. In other words:

    1/0 = +∞ (now it's just )
    -1/0= -∞ (correct)
    (0,1)/0 = ∞ (now it's Division by Zero error)

    I know, it's nitpicky! Wink
  7. SIN, COS and TAN with purely imaginary arguments
    SIN(n*(0,1)) and TAN(n*(0,1)) where n is a real number should return an imaginary number. Actually they return a complex number with a tiny real part.
    Similarly COS(n*(0,1)) should return a real number whereas it returns a complex number with a tiny imaginary part.

Thanks for testing, your points are valid, not nitpicky at all. Currently there's no way to distinguish complex infinity from real infinity, I have to think how to implement something like that (infinity and NAN are now real numbers).
All other points will be taken care of, I know some functions were not tested with special numbers and infinity, so please test them all and report (also pass NaN as an argument to see what happens, in most cases they should behave properly but some may not).
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: newRPL: [UPDATED May-06-16] Firmware for testing available for download - Claudio L. - 06-02-2016 12:51 AM



User(s) browsing this thread: 1 Guest(s)