Post Reply 
Plus42 Equations, Preview Release
11-27-2021, 11:21 PM
Post: #41
RE: Plus42 Equations, Preview Release
I introduced a nasty bug in the last build, which caused the code generator to write code to the wrong memory locations. I recommend deleting any state files that have been touched by the last build, because they could be corrupted in ways that aren't obvious. My apologies!

I just posted a new build, which fixes the issue.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-28-2021, 12:57 AM
Post: #42
RE: Plus42 Equations, Preview Release
(11-27-2021 11:21 PM)Thomas Okken Wrote:  I introduced a nasty bug in the last build, which caused the code generator to write code to the wrong memory locations. I recommend deleting any state files that have been touched by the last build, because they could be corrupted in ways that aren't obvious. My apologies!

I just posted a new build, which fixes the issue.

Thanks, Mr. O! You are one busy guy. I think I'll wait 5 minutes. The next update should be out by then. Big Grin

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
11-28-2021, 07:09 AM
Post: #43
RE: Plus42 Equations, Preview Release
(11-28-2021 12:57 AM)toml_12953 Wrote:  Thanks, Mr. O! You are one busy guy. I think I'll wait 5 minutes. The next update should be out by then. Big Grin

I prefer to keep the release frequency to no more than one a day with these pre-release builds, but with complicated changes like yesterday's, sometimes it doesn't work out that way. I do believe it's in usable condition again now, though. Blush
Visit this user's website Find all posts by this user
Quote this message in a reply
11-28-2021, 10:12 AM
Post: #44
RE: Plus42 Equations, Preview Release
New update:

1. Changed one-dimensional array/list indexing back from 0-based to 1-based, for compatibility.
2. When doing the nice new error reporting for generated code, also return back to normal user code, so the user isn't left looking at uneditable code needlessly.
3. In the equation editor, prevent STO from writing code into generated code.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 11:51 AM
Post: #45
RE: Plus42 Equations, Preview Release
Using this excellent equation editor has reminded me of one of the ways in which the HP-42s is less than perfect: its limited character set. It would be so nice to have \(\alpha, \beta, \epsilon, \lambda, \ldots \) as variables in an equation. Is there any chance of an extended character set for Plus42?

If not, I’ll still buy it!

Sorry if this has already been asked and answered.

Nigel (UK)
Find all posts by this user
Quote this message in a reply
11-29-2021, 02:38 PM
Post: #46
RE: Plus42 Equations, Preview Release
I discovered a quirk, when solving lambertw(x)

x = w*exp(w)
1 = (w/x) * exp(w)
f(w) = ln(w/x) + w = 0

f(w) peaked when f'(w) = 1/w + 1 = 0 --> w = -1
For -1/e<x<0, A guess below -1 should converge to -1 branch, above -1 to 0 branch.

---

Enter SOLVER, setup equation "LN(W/X) + W", then enter "CALC"

-0.1 store to X, -2 store to W, solve for W: (i.e, press "W" twice)

-3.57715206396       // = W(-0.1, -1)

But, when I try to solve W(-0.1,0) with another guess, it does not work.
Any guess I put into "W", press "W" to solve, it returned W(-0.1, -1)

To get around it, this seems to work.

-0.5 store to W, escape out, then go back in. Press "W" twice, I get:

-0.111832559159       // = W(-0.1, 0)

For the same reason, any new guess for W now always return W(-0.1, 0)
Find all posts by this user
Quote this message in a reply
11-29-2021, 02:57 PM (This post was last modified: 11-29-2021 02:58 PM by Vincent Weber.)
Post: #47
RE: Plus42 Equations, Preview Release
(11-29-2021 02:38 PM)Albert Chan Wrote:  I discovered a quirk, when solving lambertw(x)

x = w*exp(w)
1 = (w/x) * exp(w)
f(w) = ln(w/x) + w = 0

f(w) peaked when f'(w) = 1/w + 1 = 0 --> w = -1
For -1/e<x<0, A guess below -1 should converge to -1 branch, above -1 to 0 branch.

---

Enter SOLVER, setup equation "LN(W/X) + W", then enter "CALC"

-0.1 store to X, -2 store to W, solve for W: (i.e, press "W" twice)

-3.57715206396       // = W(-0.1, -1)

But, when I try to solve W(-0.1,0) with another guess, it does not work.
Any guess I put into "W", press "W" to solve, it returned W(-0.1, -1)

To get around it, this seems to work.

-0.5 store to W, escape out, then go back in. Press "W" twice, I get:

-0.111832559159       // = W(-0.1, 0)

For the same reason, any new guess for W now always return W(-0.1, 0)
Plus42 (and the 17B/17BII/19B/19BII/27S, for that matter) requires not one but 2 estimates prior to solving. if you enter only one, the previous root will be kept as second estimate, and since it is a root, it will be returned no matter what. If you enter -0.5 in W then 0 in W, solving for W will give your second root with no problem.
Find all posts by this user
Quote this message in a reply
11-29-2021, 04:05 PM
Post: #48
RE: Plus42 Equations, Preview Release
(11-29-2021 02:57 PM)Vincent Weber Wrote:  Plus42 (and the 17B/17BII/19B/19BII/27S, for that matter) requires not one but 2 estimates prior to solving. if you enter only one, the previous root will be kept as second estimate, and since it is a root, it will be returned no matter what. If you enter -0.5 in W then 0 in W, solving for W will give your second root with no problem.

Thanks. I don't know SOLVER can take 2 guesses.
To avoid previous root as guess, we can do -0.5 "W" ENTER "W", then "W" to solve.
Find all posts by this user
Quote this message in a reply
11-29-2021, 04:56 PM
Post: #49
RE: Plus42 Equations, Preview Release
(11-29-2021 11:51 AM)Nigel (UK) Wrote:  Is there any chance of an extended character set for Plus42?

I don't see why not. I am open to suggestions. Apart from codes 128, 129, 134, and 138, the upper half of the character set is currently unused, so there is plenty of room to work with!
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 07:36 PM
Post: #50
RE: Plus42 Equations, Preview Release
New update:

1. Proper IF() handling in direct solver.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 10:38 PM
Post: #51
RE: Plus42 Equations, Preview Release
Plus42 keeps crashing every other start (it starts with Memory clear and works, next start a crash, next start with Memory clear, etc.). Now also tested on my Android 7 tablet.

Since I see a sigsegv in the logs it is probably caused by the C++ code, but without more debug info I can impossibly tell. I don't have the knowledge to debug arm assembler.
Find all posts by this user
Quote this message in a reply
11-29-2021, 11:00 PM
Post: #52
RE: Plus42 Equations, Preview Release
Where in the Netherlands are you located? If those crashes are so easy to reproduce and happen with every single build I put out, finding the problem should be easy with one of your devices connected to my laptop.

Alternatively, if you have Android Studio installed already, I could also guide you through the steps to build the app and run a debug session yourself. Native debugging on Android used to be a nightmare with Eclipse and ADT, but with Android Studio, it pretty much just works, as long as you have the right NDK installed.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 11:26 PM (This post was last modified: 11-29-2021 11:28 PM by nickapos.)
Post: #53
RE: Plus42 Equations, Preview Release
Hi Thomas, thanks for the effort you are putting in this, I did try the solver with a small equation I use for work and I found that I could not raise a number to the square using the x^2 button on the top row.

Not sure if this is expected or if I should just type the name of the function I have not used this type of equation writer before.

Btw this was in lineage os 18.1

Thanks.
Find all posts by this user
Quote this message in a reply
11-29-2021, 11:32 PM
Post: #54
RE: Plus42 Equations, Preview Release
(11-29-2021 11:00 PM)Thomas Okken Wrote:  Where in the Netherlands are you located?
Roermond.

Quote:If those crashes are so easy to reproduce and happen with every single build I put out, finding the problem should be easy with one of your devices connected to my laptop.
I have no problem with comming to you to debug this together (if you don't live near Groningen or Amsterdam). All my devices are rooted so that simplifies access to files.

Quote:Alternatively, if you have Android Studio installed already,
I have, on Windows 7.

Quote:I could also guide you through the steps to build the app and run a debug session yourself. Native debugging on Android used to be a nightmare with Eclipse and ADT, but with Android Studio, it pretty much just works, as long as you have the right NDK installed.
Quite a download from what I see from projects that require a specific NDK but doable.
Find all posts by this user
Quote this message in a reply
11-29-2021, 11:33 PM (This post was last modified: 11-29-2021 11:51 PM by Thomas Okken.)
Post: #55
RE: Plus42 Equations, Preview Release
(11-29-2021 11:26 PM)nickapos Wrote:  I did try the solver with a small equation I use for work and I found that I could not raise a number to the square using the x^2 button on the top row.

When you start editing a new equation, initially the ALPHA menu is active, and when you start editing an existing equation, initially the editor's cursor movement menu is active. All menus take control of the top row of the keyboard, thus making its functions inaccessible. For situations like these, where you need the functions from the top row, but can't back out of all menus, there is the TOP.FCN menu, Shift-0. With that menu, all functions of the top six keys are available, both primary and shifted.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 11:48 PM
Post: #56
RE: Plus42 Equations, Preview Release
(11-29-2021 11:32 PM)johanw Wrote:  
(11-29-2021 11:00 PM)Thomas Okken Wrote:  Where in the Netherlands are you located?
Roermond.

That's a bit out of the way for me, I'm in Hilversum. Let's see what we can do remotely first...

(11-29-2021 11:32 PM)johanw Wrote:  
(11-29-2021 11:00 PM)Thomas Okken Wrote:  I could also guide you through the steps to build the app and run a debug session yourself. Native debugging on Android used to be a nightmare with Eclipse and ADT, but with Android Studio, it pretty much just works, as long as you have the right NDK installed.
Quite a download from what I see from projects that require a specific NDK but doable.

I use r19c myself. Newer versions probably work, too, but I had trouble with r21b (see the release notes for Free42 2.5.22a) which prompted me to switch back to r19c. The crashes that were reported on Android were caused by the r21b compiler emitting Neon instructions, which aren't supported on all the devices that Free42 targets. I don't know why the NDK would emit code that doesn't work on all devices with the selected Android version, and I don't have suitable devices to try and figure out the right compiler flags to fix the issue, so I decided to play safe and downgrade to r19c. Your mileage may vary!
Visit this user's website Find all posts by this user
Quote this message in a reply
11-29-2021, 11:53 PM
Post: #57
RE: Plus42 Equations, Preview Release
(11-29-2021 11:33 PM)Thomas Okken Wrote:  
(11-29-2021 11:26 PM)nickapos Wrote:  I did try the solver with a small equation I use for work and I found that I could not raise a number to the square using the x^2 button on the top row.

When you start editing a new equation, initially the ALPHA menu is active, and when you start editing an existing equation, initially the editor's cursor movement menu is active. All menus take control of the top row of the keyboard, thus making its functions inaccessible. For situations like these, where you need the functions from the top row, but can't back out of all menus, there is the TOP.FCN menu, Shift-0. With that menu, all functions of the top six keys are available, both primary and shifted.

That makes sense, thank you very much
Find all posts by this user
Quote this message in a reply
11-29-2021, 11:53 PM
Post: #58
RE: Plus42 Equations, Preview Release
(11-29-2021 11:48 PM)Thomas Okken Wrote:  That's a bit out of the way for me, I'm in Hilversum. Let's see what we can do remotely first...
OK. How do you plan to do it? Send me an Android studio project (possibly with an NDA I'll sign)?
Quote:so I decided to play safe and downgrade to r19c. Your mileage may vary!
No problem for me, I can use that version.
Find all posts by this user
Quote this message in a reply
11-30-2021, 12:03 AM (This post was last modified: 11-30-2021 12:07 AM by Thomas Okken.)
Post: #59
RE: Plus42 Equations, Preview Release
(11-29-2021 11:48 PM)Thomas Okken Wrote:  I use r19c myself.

Note: the trickiest part of building Free42 or Plus42 is compiling the Intel floating-point library. I'm not sure if I ever built that library, for Android, under Windows... If you have Cygwin installed, getting the build-intel-lib.sh to work should be doable, but it might be easier if I just sent you the ones I build on my Mac, they should work in your environment as well.

You also need the source files from 'common' in 'android/app/src/main/cpp', and you won't be able to use the link-files.sh script under Windows, but simply copying the files works too.

With the libraries and files in place, Android Studio should be able to build and debug everything.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-30-2021, 12:05 AM (This post was last modified: 04-04-2022 11:08 AM by Thomas Okken.)
Post: #60
RE: Plus42 Equations, Preview Release
(11-29-2021 11:53 PM)johanw Wrote:  
(11-29-2021 11:48 PM)Thomas Okken Wrote:  That's a bit out of the way for me, I'm in Hilversum. Let's see what we can do remotely first...
OK. How do you plan to do it? Send me an Android studio project (possibly with an NDA I'll sign)?

Just grab it from GitHub, everything is there:
git clone https://github.com/thomasokken/plus42desktop.git
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




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