Post Reply 
Plus42 algebraic expressions update
03-01-2021, 11:34 PM
Post: #61
RE: Plus42 algebraic expressions update
UnsuppVarType is displayed for objects whose 'type' field contains an invalid value. That usually means that something was deleted prematurely, so it's using a pointer that points to garbage, or to something that isn't a user object. Insufficient Memory when trying to duplicate such a non-object is a plausible result.

I'll have to look into that. Let me know if you are able to make it happen again!
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 02:36 AM
Post: #62
RE: Plus42 algebraic expressions update
9:25 PM EST / 2:25 UTC -- New builds, with several fixes, none of which actually has anything to do with the equation editor...
  • RTN from the keyboard now restores the stack mode if it had been changed with L4STK or LNSTK
  • The Export Programs dialog in the Windows version would choke on programs with a lot of alpha labels, and show them as blank lines in the program list; fixed
  • Implemented PRMVAR, which prints all the MVAR-declared variables for a given label. This is actually somewhat related to the equation editor, since that kind of functionality should be available there as well, for feature parity with the 17B/27S
  • Fixed crash when printing empty lists with PRX and PRV
  • Fixed possible null pointers on the stack when using APPEND or EXTEND on lists in low-memory situations

Vincent, that last item seems like it may be related to the bug you reported, but I can't say I'm confident about that. The scenario that I fixed requires getting an Insufficient Memory error from APPEND or EXTEND before weird objects appear on the stack, i.e. the low-memory situation is what causes the problem, it's not the result of it.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 07:57 AM
Post: #63
RE: Plus42 algebraic expressions update
Thanks Thomas.
I couldn't reproduce this. But actually it is well possible that the weird object appeared after the insufficient memory error rather than before. I only noticed the object when the error appeared, so I'm not sure about the actual sequence.

Cheers
Find all posts by this user
Quote this message in a reply
03-02-2021, 08:42 AM
Post: #64
RE: Plus42 algebraic expressions update
(03-02-2021 02:36 AM)Thomas Okken Wrote:  [*]Implemented PRMVAR, which prints all the MVAR-declared variables for a given label. This is actually somewhat related to the equation editor, since that kind of functionality should be available there as well, for feature parity with the 17B/27S
You're right, I overlooked that, on the 27S when in CALC mode PRINT/LIST would print the equation variables and their current values, very useful. How are you going to articulate that in the UI, since so far PRINT only prints the current equation ?

Cheers
Find all posts by this user
Quote this message in a reply
03-02-2021, 11:28 AM
Post: #65
RE: Plus42 algebraic expressions update
PRINT is going to show a menu, with at least the options "print current equation," "print variables for current equation," "print all equations," PON, POFF, and, once I understand what they do on the 17B/27S and assuming they make sense here as well, MAN/NORM/TRACE/STRACE. I'll have to find another key for immediate "print current equation without going through the menu."
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 11:37 AM
Post: #66
RE: Plus42 algebraic expressions update
Thanks Thomas. Makes sense.
Cheers
Find all posts by this user
Quote this message in a reply
03-02-2021, 11:39 AM
Post: #67
RE: Plus42 algebraic expressions update
(03-02-2021 07:57 AM)Vincent Weber Wrote:  I couldn't reproduce this. But actually it is well possible that the weird object appeared after the insufficient memory error rather than before. I only noticed the object when the error appeared, so I'm not sure about the actual sequence.

It's not easy to get a legitimate Insufficient Memory error by accident. I tried provoking one on my Mac by starting with a short list containing just a few reals and then doing ENTER EXTEND over and over. I pushed to the point where the app was using 40 GB of memory and it still kept going, just becoming ridiculously slow because of paging and because of having to allocate hundreds of millions of objects each time through the loop.

The Windows version is a 32-bit app so it runs out of memory earlier, being limited to 2 GB regardless of how much virtual memory the OS can make available, but even there, it's not something that seems likely to happen unless you're deliberately trying to make it happen.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 11:41 AM
Post: #68
RE: Plus42 algebraic expressions update
It happened on my Galaxy S8 phone running Android 9...
Find all posts by this user
Quote this message in a reply
03-02-2021, 11:53 AM
Post: #69
RE: Plus42 algebraic expressions update
That's a 64-bit platform with 4 or 6 GB of RAM (according to Wikipedia). I have no idea what it does regarding virtual memory.

Were you pushing the app with very large lists, i.e. at least millions of elements, or did the UnsuppVarType object just appear randomly?
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 12:36 PM
Post: #70
RE: Plus42 algebraic expressions update
To clarify, I'm not trying to imply there would be anything wrong with stress testing the app with huge lists. On the contrary, the app should handle those, failing gracefully when it runs out of memory. I'm just looking for any information I can get to find out where the UnsuppVarType object reported by Vincent may have come from.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 01:50 PM
Post: #71
RE: Plus42 algebraic expressions update
I didn't push anything, no large data at all, just randomly playing with the new list functions, probably applying them to wrong type arguments...

Cheers
Find all posts by this user
Quote this message in a reply
03-02-2021, 02:10 PM
Post: #72
RE: Plus42 algebraic expressions update
OK, that's good to know. It confirms that my fix for the low-memory scenario would not have prevented what happened during your testing, so I need to keep looking.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-02-2021, 05:10 PM (This post was last modified: 03-02-2021 05:11 PM by johanw.)
Post: #73
RE: Plus42 algebraic expressions update
One small detail: Plus42 seems to use a separate url for skins (logical, as it will support things Free42 might not). But that url does not yet exist. Can I manually add Free42 skins? And can state files from Free42 imported into Plus42?
Find all posts by this user
Quote this message in a reply
03-02-2021, 05:15 PM
Post: #74
RE: Plus42 algebraic expressions update
(03-02-2021 05:10 PM)johanw Wrote:  One small detail: Plus42 seems to use a separate url for skins (logical, as it will support things Free42 might not). But that url does not yet exist. Can I manually add Free42 skins? And can state files from Free42 imported into Plus42?

Yes to both! And you can load skins using the old URL. Just change "plus" to "free" in the URL field in the Load Skins window and hit Go.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-03-2021, 07:32 AM
Post: #75
RE: Plus42 algebraic expressions update
Hi Thomas,
One thing I just thinking after reading Valentin's feature request document, as he highlights it: On the 35S, it is possible to interact with the stack, and store/recall stack registers within an equation. This is obviously not a feature of the 27S since it has no real stack exposed to the user, but this is a beat feature of the 35S. Do you plan to be able to address ST X etc ? You already used STO and RCL keys for L() and G(), so not sure how it would work out...

While I'm at it, the only other neat feature of the 35S I think would be nice to have is the complex number entry - at one go using dedicated i and theta keys rather than using 2 stack levels as with COMPLEX. I wonder how to do this while keeping the "don't mess with the original 42S" philosophie. Of course COMPLEX should stay, and as the keyboard is full, the i and theta keys maybe should be extra, i.e. off skin ?

Thanks and cheers,

Vincent
Find all posts by this user
Quote this message in a reply
03-03-2021, 08:53 PM
Post: #76
RE: Plus42 algebraic expressions update
I've just realized that the 35S uses RDN while in equation mode to show a menu with X,Y,Z,T, that translates into REGX, REGY, REGZ and REGT in the equation. Probably the way to go ?

Cheers
Find all posts by this user
Quote this message in a reply
03-04-2021, 02:22 AM
Post: #77
RE: Plus42 algebraic expressions update
Special names REGX, REGY, REGZ, REGT, yes, that sounds good.
Also, LEVEL[n] to access the stack by index, with LEVEL[1] equivalent to REGX, etc...
Visit this user's website Find all posts by this user
Quote this message in a reply
03-05-2021, 12:37 AM
Post: #78
RE: Plus42 algebraic expressions update
Hi Thomas,
Cool !
Btw I think I found a non-disruptive way of entering one-step complex numbers, à la 35S, like I mentioned before.
While in number entry mode, there are two keys that are forbidden to type twice in a row: "." and "E". So on the second keypress, "." could be changed to "i" and "E" to "theta", thus allowing complex entry without altering 42S normal behaviour, nor changing the skin. This also could be used in equation mode, to solve complex values (and allowing complex equation variables) symbolically when possible, as discussed earlier.

What do you think ?

Cheers
Find all posts by this user
Quote this message in a reply
03-05-2021, 04:13 AM
Post: #79
RE: Plus42 algebraic expressions update
Interesting. I'll put it on my list, it sounds reasonable and of course it could be controlled with a setting in preferences so people who don't like it can make it disappear. It's not something I'm going to deal with right now, though, but maybe after Plus42 is done.

Complex numbers in equations are a lot easier to support, that just requires making the parser recognize i.
Visit this user's website Find all posts by this user
Quote this message in a reply
03-05-2021, 07:02 AM
Post: #80
RE: Plus42 algebraic expressions update
Thanks Thomas.
The parser should also recognize the form <r>theta<angle> for direct polar entry.
For rectangular entry, of course a+b i should be recognized, but maybe also a i b for consistancy with stack entry ? Not sure.

Cheers
Find all posts by this user
Quote this message in a reply
Post Reply 




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