HP Forums
(Free42) nonexistent variable bug DSE/ISG - 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: (Free42) nonexistent variable bug DSE/ISG (/thread-15339.html)



(Free42) nonexistent variable bug DSE/ISG - Werner - 07-13-2020 11:51 AM

If you do RCL "AAA", and "AAA" does not exist, you get a 'Nonexistent' error.
But if you do DSE "AAA", the app crashes. Yet DSE IND "AAA" throws the 'Nonexistent' error again. Same for ISG.
Free42 2.5.19 iOS13.5.1

Cheers, Werner


RE: (Free42) nonexistent variable bug DSE/ISG - Thomas Okken - 07-13-2020 12:47 PM

(07-13-2020 11:51 AM)Werner Wrote:  If you do RCL "AAA", and "AAA" does not exist, you get a 'Nonexistent' error.
But if you do DSE "AAA", the app crashes. Yet DSE IND "AAA" throws the 'Nonexistent' error again. Same for ISG.

Confirmed. After RCLing a named loop control variable, the check that it is null (i.e. does not exist) is missing. This does not affect the IND case because that uses a different check. Will fix in the next release.


RE: (Free42) nonexistent variable bug DSE/ISG - Werner - 07-14-2020 11:50 AM

Another problem (I only verified it on a 41, not a 42S):
-1.00001 ISG ST X -> -0.00001 on Free42
That should be 0.00001. Same for any increment.
Cheers, Werner


RE: (Free42) nonexistent variable bug DSE/ISG - Thomas Okken - 07-15-2020 12:49 AM

(07-14-2020 11:50 AM)Werner Wrote:  Another problem (I only verified it on a 41, not a 42S):
-1.00001 ISG ST X -> -0.00001 on Free42
That should be 0.00001. Same for any increment.
Cheers, Werner

Thanks! Also fixed.
While I am not planning on releasing a new version soon, anyone interested in testing the latest fixes can get the latest source code from GitHub. I could upload test builds to my web site if desired.


RE: (Free42) nonexistent variable bug DSE/ISG - johanw - 07-15-2020 09:14 AM

(07-15-2020 12:49 AM)Thomas Okken Wrote:  While I am not planning on releasing a new version soon, anyone interested in testing the latest fixes can get the latest source code from GitHub. I could upload test builds to my web site if desired.
I'm trying to build the Android version but I get stuck.

I'm doing:
  1. git clone -s https://github.com/thomasokken/free42
    (just downloading the zipfile gave me an invalid vcs root error)
  2. Change applicationId in app\build.gradle so I can install it alongside the normal Free42.
  3. open free42\android as existing Android Studio project
  4. select signing key and build release apk

Result:
Android NDK: ERROR:C:\S\free42-master-6d56450\free42\android\app\src\main\cpp\Android.mk:gcc111libbid: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that C:/S/free42-master-6d56450/free42/android/app/src/main/cpp/libgcc111libbid-armv7.a exists or that its path is correct

This file libgcc111libbid-armv7.a is not there. The name suggests I should install gcc?

Maybe you know immediately what is going wrong here, otherwise I'd have to dig into it.


RE: (Free42) nonexistent variable bug DSE/ISG - Thomas Okken - 07-15-2020 11:36 AM

(07-15-2020 09:14 AM)johanw Wrote:  
(07-15-2020 12:49 AM)Thomas Okken Wrote:  While I am not planning on releasing a new version soon, anyone interested in testing the latest fixes can get the latest source code from GitHub. I could upload test builds to my web site if desired.
I'm trying to build the Android version but I get stuck.

[...]

Start by taking a look at the build-android script -- that is what I use to build the release apk. It performs three steps: 1. create symbolic links in free42/android/app/src/main/cpp pointing to the native source files in free42/common; 2. build the Intel decimal floating-point library by running the build-intel-lib.sh script; 3. build the apk by running gradle.

There are hard-coded assumptions about the build environment in all of these steps. One by one:

1. In Windows, you won't be able to create the symlimks like that. Work-around: just copy the files from common to android/app/src/main/cpp instead. Check the link-files.sh script to see which files to copy; you don't need everything from common.

2. This one will require the most work. First of all, since it's a shell script, you'll need Cygwin. The Windows command prompt can't run this script. Next, the script contains several paths and names that are specific to the OS (MacOS in my case) and the NDK version and where it is installed. If you can't figure this out, contact me via email.

3. Since you want to build the apk with a different app id, you need to change it in two places: in the top-level build.gradle file, which you already did, but also in the AndroidManifest.xml file, in the android:authorities attribute of the provider element.