hpgcc2 loop problem
03-15-2021, 10:22 AM
Post: #3
 toml_12953 Senior Member Posts: 1,888 Joined: Dec 2013
RE: hpgcc2 loop problem
(03-13-2021 06:41 AM)BINUBALL Wrote:  I use HPGCC2 and this tutorial to make sum program for 50g.
http://sense.net/~egan/hpgcc/
example, This sum program made in UserRPL looks like this
Code:
<< -> n << 0. 1. n FOR X X + NEXT >> >>
It's simple program, which gets stack 1 number and calculate 1 to that number sum.

so, I want to C's speed. I coded this.
Code:
#include <hpgcc49.h> int main(void) {     // sum 1 to n and counter i     int n, i;     int sum = 0;     // fast mode     sys_slowOff();     // get stack 1 real number     n = sat_pop_real();     // calculate sum     for (i = 1; i <= n; i++) {         sum += i;     }     // output     sat_push_real(sum);     sys_slowOn();     return(0); }
and based on top tutorial, I made UserRPL wrapper.
Code:
<< "Input 1 real" -> n << DEPTH IF 0 == THEN u DOERR END 3: "EXTEND/SM" EVAL >> >>
where "EXTEND/SM" is C program's location.

But I execute this program to calculate 1 to 1000 sum, It gives 499500 instead of 500500. and number goes up over 1000, It gives wrong answer.
ex)
999 -> 499,500 (correct)
1,000 -> 499,500 (incorrect which is 500,500)
1,001 -> 500,500 (incorrect which is 501,501)
2,000 -> 1,999,000 (incorrect which is 2,001,000)
10,000,000 -> -2,001,260,032 (I think it is overflow)

I'm a very noob for C, so my code may be wrong. What's wrong with my program?

Just a WAG (wild-ass guess) but could it be that you're putting a real on the stack while your routine expects an integer?

Tom L
Cui bono?
 « Next Oldest | Next Newest »

 Messages In This Thread hpgcc2 loop problem - BINUBALL - 03-13-2021, 06:41 AM RE: hpgcc2 loop problem - brickviking - 03-15-2021, 10:14 AM RE: hpgcc2 loop problem - toml_12953 - 03-15-2021 10:22 AM RE: hpgcc2 loop problem - BINUBALL - 03-15-2021, 11:18 AM RE: hpgcc2 loop problem - Egan Ford - 03-15-2021, 05:55 PM RE: hpgcc2 loop problem - BINUBALL - 03-16-2021, 12:42 AM RE: hpgcc2 loop problem - BINUBALL - 03-16-2021, 03:34 AM RE: hpgcc2 loop problem - Egan Ford - 03-18-2021, 05:01 PM RE: hpgcc2 loop problem - Gjermund Skailand - 03-16-2021, 02:08 PM RE: hpgcc2 loop problem - Claudio L. - 03-16-2021, 04:20 PM RE: hpgcc2 loop problem - Egan Ford - 03-18-2021, 05:02 PM RE: hpgcc2 loop problem - Claudio L. - 03-19-2021, 02:51 PM RE: hpgcc2 loop problem - BINUBALL - 03-20-2021, 07:38 AM RE: hpgcc2 loop problem - BINUBALL - 03-17-2021, 01:19 AM

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