Prime Error or Mine?



#2

When I run the following program, the emulator crashes and the real calc reboots. What's the problem?

EXPORT HAT()
BEGIN
LOCAL XP,XL;
XP:=4;
XL:=INT(v(XP));
END;

This is part of a larger program but I cut it down to the part that causes the error.
N.B. v is the square root sign.



Edited: 20 Oct 2013, 10:37 p.m.


#3

Try XL:=INT(v XP); or XL:=INT(sqrt(XP));


#4

Well, sqrt seems to have worked. I wonder why the square root symbol crashes the program!

Thanks for the workaround.

Tom L


#5

The reason is that INT stands for integral, whereas I assume you meant integer part, which is IP.

#6

The root cause of the crash had to do with a use of a local variable, inside a numerical command, inside a cas command, inside a numerical program. It was quite a difficult one to track down.

TW

#7

Thanks to all! I got the program working and here it is:
(the v is the square root symbol)

EXPORT HAT()
BEGIN
LOCAL P,Q,XP,XR,YP,YR,ZP,ZF;
LOCAL XF,YF,ZF;
LOCAL ZI,ZT,ZZ,XL,XI,XT,XX,YY;
LOCAL X1,Y1;
Xmin:=0;Xmax:=320;
Ymin:=0;Ymax:=240;
RECT();
P:=160;
Q:=100;
XP:=144;
XR:=1.5*PI;
YP:=56;
YR:=1;
ZP:=64;
XF:=XR/XP;
YF:=YP/YR;
ZF:=XR/ZP;
FOR ZI FROM -Q TO Q-1 DO
IF ZI >= -ZP AND ZI <= ZP THEN
ZT:=ZI*XP/ZP;
ZZ:=ZI;
XL:=IP(.5+v(XP*XP-ZT*ZT));
FOR XI FROM -XL TO XL DO
XT:=v(XI*XI+ZT*ZT)*XF;
XX:=XI;
YY:=(SIN(XT)+.4*SIN(3*XT))*YF;
X1:=XX+ZZ+P;
Y1:=YY-ZZ+Q;
PIXON(X1,Y1,#FF0000h);
IF Y1 <> 0 THEN
LINE(X1,Y1-1,X1,0,#FFFFFFh)
END;
END;
END;
END;
WAIT;
END;

Edited: 25 Oct 2013, 8:19 a.m. after one or more responses were posted


#8

Nice! Can I buy one like that?

TW

#9

The code with NTHROOT ready to be copied to the program editor =)

EXPORT HAT()
BEGIN
LOCAL P,Q,XP,XR,YP,YR,ZP,ZF;
LOCAL XF,YF,ZF;
LOCAL ZI,ZT,ZZ,XL,XI,XT,XX,YY;
LOCAL X1,Y1;
Xmin:=0;Xmax:=320;
Ymin:=0;Ymax:=240;
RECT();
P:=160;
Q:=100;
XP:=144;
XR:=1.5*PI;
YP:=56;
YR:=1;
ZP:=64;
XF:=XR/XP;
YF:=YP/YR;
ZF:=XR/ZP;
FOR ZI FROM -Q TO Q-1 DO
IF ZI >= -ZP AND ZI <= ZP
THEN
ZT:=ZI*XP/ZP;
ZZ:=ZI;
XL:=IP(0.5+2 NTHROOT (XP*XP-ZT*ZT));
FOR XI FROM -XL TO XL DO
XT:=2 NTHROOT (XI*XI+ZT*ZT)*XF;
XX:=XI;
YY:=(SIN(XT)+0.4*SIN(3*XT))*YF;
X1:=XX+ZZ+P;
Y1:=YY-ZZ+Q;
PIXON(X1,Y1,#FF0000h);
IF Y1 <> 0
THEN
LINE(X1,Y1-1,X1,0,#FFFFFFh)
END;
END;
END;
END;
WAIT;
END;

for CAS MODE #FF0000h => RGB() =(

HAT():=
BEGIN
LOCAL P,Q,XP,XR,YP,YR,ZP,ZF;
LOCAL XF,YF,ZF;
LOCAL ZI,ZT,ZZ,XL,XI,XT,XX,YY;
LOCAL X1,Y1;
Xmin:=0;Xmax:=320;
Ymin:=0;Ymax:=240;
RECT();
P:=160;
Q:=100;
XP:=144;
XR:=1.5*PI;
YP:=56;
YR:=1;
ZP:=64;
XF:=XR/XP;
YF:=YP/YR;
ZF:=XR/ZP;
FOR ZI FROM -Q TO Q-1 DO
IF ZI >= -ZP AND ZI <= ZP
THEN
ZT:=ZI*XP/ZP;
ZZ:=ZI;
XL:=IP(0.5+2 NTHROOT (XP*XP-ZT*ZT));
FOR XI FROM -XL TO XL DO
XT:=2 NTHROOT (XI*XI+ZT*ZT)*XF;
XX:=XI;
YY:=(SIN(XT)+0.4*SIN(3*XT))*YF;
X1:=XX+ZZ+P;
Y1:=YY-ZZ+Q;
PIXON(X1,Y1,RGB(0,0,0) );
IF Y1 <> 0
THEN
LINE(X1,Y1-1,X1,0,RGB(255,255,255))
END;
END;
END;
END;
WAIT;
END;

Edited: 21 Oct 2013, 1:53 p.m.


#10

Wow! When you indent, you REALLY indent!

Thanks for the alternative to hard to print characters.

Tom L


#11

>> Wow! When you indent, you REALLY indent!

Use the TAB character, in this forum is decoded with many spaces =(


#12

What is the TAB character ?

Edited: 21 Oct 2013, 4:20 p.m.


#13

copy the following string in the entry line of the emulator

ASC("	")


ASC("	"); => {9}

Edited: 21 Oct 2013, 5:27 p.m.


#14

Quote:
copy the following string in the entry line of the emulator

ASC("	")

ASC("	"); => {9}


OK, that works. So how do we use the tab character to enter programs?

Tom L

Edited: 22 Oct 2013, 10:37 a.m.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [HP Prime] "Error while checking exact value with approximate value, returning both!" Chris Pem10 13 5,128 12-06-2013, 05:12 AM
Last Post: parisse
  MS advert shows spreadsheet with obvious error BruceH 3 2,206 11-14-2013, 09:50 AM
Last Post: Bill (Smithville, NJ)
  HP Prime: Rounding error in determinant Stephan Matthys 3 1,681 10-25-2013, 09:29 PM
Last Post: Walter B
  HP Prime Error: Summation Upper Bound > 1000 HP Pioneer 2 1,408 10-25-2013, 11:32 AM
Last Post: steindid
  Explaination on How to Reset Caculator in Users guie: error Harold A Climer 5 2,599 10-15-2013, 02:11 AM
Last Post: cyrille de Brébisson
  Repair of HP-34C - Error 0 and Error 9 Jeff Kearns 3 1,729 10-11-2013, 12:29 PM
Last Post: Randy
  Do You Think a Listing Error Was Made? Jim Johnson 13 3,956 09-04-2013, 09:23 AM
Last Post: Eddie W. Shore
  HP Prime: Error reports : Here Patrice 111 23,567 07-24-2013, 05:52 PM
Last Post: Thomas Klemm
  PARTFRAC error. Romeu Medeiros 2 1,354 06-23-2013, 10:27 PM
Last Post: Romeu Medeiros
  WP-34s Documentation error Marcel Samek 9 2,861 06-13-2013, 10:25 AM
Last Post: Miguel Toro

Forum Jump: