HP Forums
WP 34S and 31S bugs and fixes - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: WP 34S and 31S bugs and fixes (/thread-2476.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


RE: WP 34S and 31S bugs and fixes - Paul Dale - 06-10-2015 07:45 AM

Feel free to look at the solver's source code and submit a patch that corrects the problem. It's a keystroke program and you need to be able to write these to use it.

I doubt I've got time to dig into this in the short to mid term future.


- Pauli


RE: WP 34S and 31S bugs and fixes - emece67 - 06-10-2015 12:14 PM

(06-10-2015 07:06 AM)Marcio Wrote:  If you haven't already, please consider also taking at look at this strange behaviour in the solver.

Thanks.

Marcio

I've tested solver's behavior with the latest SVN sources and it seems to work OK. x^2-5x+6 with initial guesses 1 & 1.5 returns 2 as root. With guesses 1 & 3.5 returns 3 as root. So such bug seems to be solved.

Regards.


RE: WP 34S and 31S bugs and fixes - Marcio - 06-10-2015 01:06 PM

(06-10-2015 12:14 PM)emece67 Wrote:  
(06-10-2015 07:06 AM)Marcio Wrote:  If you haven't already, please consider also taking at look at this strange behaviour in the solver.

Thanks.

Marcio

I've tested solver's behavior with the latest SVN sources and it seems to work OK. x^2-5x+6 with initial guesses 1 & 1.5 returns 2 as root. With guesses 1 & 3.5 returns 3 as root. So such bug seems to be solved.

Regards.

I saw that they'd edited the code but wasn't sure if this problem was addressed because I don't have a cable to update the actual machine FW and also couldn't find the latest version of the emulator.
Glad the bug got fixed.
Marcio


RE: WP 34S and 31S bugs and fixes - emece67 - 06-10-2015 01:24 PM

(06-10-2015 01:06 PM)Marcio Wrote:  ...
I don't have a cable to update the actual machine FW and also couldn't find the latest version of the emulator.

I've found that the cable, purchased or homemade, is a big source of fun.

In any case, if you are capable of compiling the emulator you can test it.

Regards.


RE: WP 34S and 31S bugs and fixes - emece67 - 07-10-2015 11:32 PM

Apparently I've found another bug.

This time it is inside function decNumberLnGamma in file decn.c. It causes the LN[GAMMA] function to crash when called with negative arguments that have an odd integer part (say -1.5, -3.5, and so on).

Problem is in lines 1853-1854 of decn.c that say:
Code:
        // Figure out S * PI mod 2PI
        decNumberMod(&u, &s, &const_2);
and must say:
Code:
        // Figure out xin * PI mod 2PI
        decNumberMod(&u, xin, &const_2);
(&s is not initialized, this causes the issue).

Regards.


RE: WP 34S and 31S bugs and fixes - Paul Dale - 07-10-2015 11:56 PM

Thanks for the fix. I've committed it to the repository and trimmed the ln Gamma code a bit.

- Pauli


RE: WP 34S and 31S bugs and fixes - Marcus von Cube - 07-17-2015 01:33 PM

(07-10-2015 11:56 PM)Paul Dale Wrote:  Thanks for the fix. I've committed it to the repository and trimmed the ln Gamma code a bit.

A new build must wait until the repository is accessible again.


RE: WP 34S and 31S bugs and fixes - 2far - 08-27-2015 11:06 AM

On the WP-31S there is an unexpected display of thousands separators when using the SHOW feature (displaying all 16 digits used internally).

DISP settings: RDX. / TSOFF (thousands separators disabled)

2 [SHOW]
2.000,000,000,000,000 E000

Shouldn't the separators only show with TSON set (thousands separators enabled)? I figured they are showing after the decimal mark because there is always only one digit before decimal mark in this display ... otherwise I wouldn't have expected them to ever show.

-Greg


RE: WP 34S and 31S bugs and fixes - 2far - 08-27-2015 04:09 PM

(08-27-2015 11:06 AM)2far Wrote:  Shouldn't the separators only show with TSON set (thousands separators enabled)? I figured they are showing after the decimal mark because there is always only one digit before decimal mark in this display ... otherwise I wouldn't have expected them to ever show.

After some thought I guess this grouping might be useful because there are always 16 digits shown, so never mind. Thanks for all the good work. I really enjoy the hardware version!
The grouping after the decimal mark really did surprise me at first ...


RE: WP 34S and 31S bugs and fixes - BarryMead - 08-27-2015 08:08 PM

(08-27-2015 04:09 PM)2far Wrote:  [quote='2far' pid='41165' dateline='1440673566']
Shouldn't the separators only show with TSON set (thousands separators enabled)? I figured they are showing after the decimal mark because there is always only one digit before decimal mark in this display ... otherwise I wouldn't have expected them to ever show.

I think the idea of the "Show" feature in the 31s is the same as that show digits "f x<>y" feature of the wp34s. These display modes are designed to show "ALL" of the number to the full significance of the decimal number floating point system. Since people often use these display modes to write down the numbers in a report or log, the separators help prevent errors while copying down the numbers.
Think of it as an alternative way to display the number so that it can be copied down more accurately.


RE: WP 34S and 31S bugs and fixes - 2far - 08-27-2015 09:55 PM

(08-27-2015 08:08 PM)BarryMead Wrote:  Think of it as an alternative way to display the number so that it can be copied down more accurately.

Thanks, that makes sense there! (I haven't used it in a real-world scenario)


RE: WP 34S and 31S bugs and fixes - sat1410 - 09-13-2015 02:37 AM

I see that NIST has a new list of CODATA 2014 recommended values of physical constants.
As such, I propose that compile_consts.c be edited to include the new values.

specifically, lines ~218-~278 be amended to read:
Code:

struct _constsml constsml[] = {
//from CODATA 2014 recommended values 25 June 2015
    CONSTANT("#",        "ZERO",        "0"),            // Zero & placeholder for small integers
    CONSTANT("a",        "PC_a",        "365.2425"),        // Days in a Gregorian year
    CONSTANT("a\270",    "PC_a0",    "5.2917721067E-11"),    // Bohr radius
    CONSTANT("c",        "PC_C",        "299792458"),        // Speed of light in a vacuum
    CONSTANT("c\271",    "PC_C1",    "3.741771790E-16"),    // First radiation constant
    CONSTANT("c\272",    "PC_C2",    "1.43877736E-2"),        // Second radiation constant
    CONSTANT("F",        "PC_F",        "96485.33289"),        // Faraday's constant
    CONSTANT("g",        "PC_g",        "9.80665"),        // Standard Earth acceleration
    CONSTANT("G",        "PC_G",        "6.67408E-11"),        // NIST 2010, IAU 2009 gives 6.67428E-11
    CONSTANT("G\270",    "PC_Go",    "7.7480917310E-5"),    // Conductace quantum
    CONSTANT("g\274",    "PC_Ge",    "-2.00231930436182"),    // Lande's electon g-factor
    CONSTANT("k",        "PC_k",        "1.38064852E-23"),    // Boltzmann constant
    CONSTANT("Kj",        "PC_Jk",    "483597.8525E9"),    // Josephson constant
    CONSTANT("N\327",    "PC_Na",    "6.022140857E23"),    // Avogadro's number
    CONSTANT("p\270",    "PC_atm",    "101325"),        // Standard atmospheric pressure
    CONSTANT("R",        "PC_R",        "8.3144598"),        // Molar gas constant
    CONSTANT("R\367",    "PC_Rk",    "25812.8074555"),    // von Klitzing's constant
    CONSTANT("R\233",    "PC_Rinf",    "10973731.568508"),    // Rydberg constant
    CONSTANT("T\270",    "PC_t",        "273.15"),        // 0 degree celcus, standard temperature
    CONSTANT("V\033",    "PC_Vm",    "22.413962E-3"),    // Molar volume of an ideal gas at STP
    CONSTANT("Z\270",    "PC_Zo",    "376.73031346177065546819840042031930826862350835241865523"),    // Characteristic impedance of vacuum
    CONSTANT("\240",    "PC_alpha",    "7.2973525664E-3"),    // Fine-structure constant
    CONSTANT("\242\276",    "PC_gamP",    "2.675221900E8"),    // Proton gyromagnetic ratio
    CONSTANT("\244\270",    "PC_eps0",    "8.8541878176203898505365630317107502606083701665994498E-12"),    // Electric constant, vacuum permittivity
    CONSTANT("\253\270",    "PC_mu0",    "12.566370614359172953850573533118011536788677597500423E-7"),    // Magnetic constant
    CONSTANT("\253\230",    "PC_muB",    "927.4009994E-26"),    // Bohr's magneton
    CONSTANT("\253\277",    "PC_mu_u",    "5.050783699E-27"),    // Nuclear magneton
    CONSTANT("\261\230",    "PC_sigma",    "5.670367E-8"),        // Stefan Boltzmann constant
    CONSTANT("\224\270",    "PC_phi0",    "2.067833831E-15"),    // Magnetic flux quantum

    /* Plank related constants */
    CONSTANT("h",        "PC_PLANK",    "6.626070040E-34"),    // Planck's constant
    CONSTANT("\236",    "PC_hon2PI",    "1.054571800E-34"),    // Planck's constant over 2 pi.
    CONSTANT("l\276",    "PC_PlanckL",    "1.616229E-35"),    // Base Planck unit of length
    CONSTANT("M\276",    "PC_PlanckM",    "2.176470E-8"),        // Base Planck unit of mass
/**/    CONSTANT("q\276",    "PC_PlanckQ",    "1.8755460e-18"),    // Base Planck unit of charge
    CONSTANT("T\276",    "PC_PlanckTh",    "1.416808E32"),        // Base Planck unit of temperature
    CONSTANT("t\276",    "PC_tp",    "5.39116E-44"),        // Base Planck unit of time

    /* Atomic constants */
    CONSTANT("e",        "PC_eV",    "1.6021766208E-19"),    // Electron Charge
    CONSTANT("r\274",    "PC_Re",    "2.8179403227E-15"),    // Classical electron radius
    CONSTANT("m\274",    "PC_me",    "9.10938356E-31"),    // Electron mass
    CONSTANT("m\275",    "PC_mn",    "1.674927471E-27"),    // Neutron mass
    CONSTANT("m\276",    "PC_mp",    "1.672621898E-27"),    // Proton mass
    CONSTANT("m\277",    "PC_mu",    "1.660539040E-27"),    // Atomic mass unit
    CONSTANT("m\231",    "PC_mMu",    "1.883531594E-28"),    // Muon mass
//    CONSTANT("m\274c\232",    "PC_mec2",    "8.18710565E-14"),    // Electron mass by c^2
//    CONSTANT("m\275c\232",    "PC_mnc2",    "1.505349739E-10"),    // Neutron mass by c^2
//    CONSTANT("m\276c\232",    "PC_mpc2",    "1.503277593E-10"),    // Proton mass by c^2
    CONSTANT("m\277c\232",    "PC_muc2",    "1.492418062E-10"),    // Atomic mass unit by c^2
//    CONSTANT("m\231c\232",    "PC_mMuc2",    "1.692833774E-11"),    // Muon mass by c^2
    CONSTANT("\252\273",    "PC_lamC",    "2.4263102367E-12"),    // Compton wavelength of the electron
    CONSTANT("\252\273\275","PC_lamCn",    "1.31959090481E-15"),    // Compton wavelength of the neutron
    CONSTANT("\252\273\276","PC_lamCp",    "1.32140985396E-15"),    // Compton wavelength of the proton
    CONSTANT("\253\274",    "PC_muE",    "-928.4764620E-26"),    // Electron magnetic moment
    CONSTANT("\253\275",    "PC_mun",    "-0.96623650E-26"),    // Neutron magnetic moment
    CONSTANT("\253\276",    "PC_muP",    "1.4106067873E-26"),    // Proton magnetic moment
    CONSTANT("\253\231",    "PC_mumu",    "-4.49044826E-26"),    // Muon magnetic moment

Since I'm just getting started here, I have not committed these changes.


RE: WP 34S and 31S bugs and fixes - Paul Dale - 09-13-2015 03:08 AM

I'm having trouble diffing these changes -- the space has been mangled.

- Pauli


RE: WP 34S and 31S bugs and fixes - sat1410 - 09-13-2015 03:33 AM

Please see attached--should be easier this way.

https://www.diffchecker.com/r0s4vsz0

for attachment, remove '.txt' extension--cannot attach '.c' files


RE: WP 34S and 31S bugs and fixes - Paul Dale - 09-13-2015 04:21 AM

Thanks for that. The changes look good.

- Pauli


RE: WP 34S and 31S bugs and fixes - emece67 - 09-23-2015 06:19 AM

Not very sure about the expected behaviour of the AGM (arithmetic-geometric mean) function when one or two of the arguments is a negative number, but both my machine and the (Qt) emulator loop forever.

Regards.


RE: WP 34S and 31S bugs and fixes - Paul Dale - 09-23-2015 06:51 AM

Yep, a bug. It ends up doing sqrt(negative) which is a NaN which stops the loop terminating.

Fix committed. It will be in the next build.


- Pauli


RE: WP 34S and 31S bugs and fixes - Paul Dale - 09-23-2015 08:54 AM

Thirty two minute bug fix time -- a new record for the 34S project.

Smile

- Pauli


RE: WP 34S and 31S bugs and fixes - emece67 - 09-23-2015 09:56 PM

Thanks!


RE: WP 34S and 31S bugs and fixes - fhub - 10-01-2015 03:37 PM

(09-23-2015 08:54 AM)Paul Dale Wrote:  Thirty two minute bug fix time -- a new record for the 34S project.
Smile

Still no build eight days after a bug fix -- also a new record for the 34S project.
Sad

Franz