Re:The Cheating Device (ChatGPT on a TI-84) [video]
by dan-robertson on Friday September 20, 2024 @05:18AM
(#41600174)
The instruction you refer to is for evaluating polynomials, not solving them, so I’m a bit confused by your claims. It is pretty common to evaluate polynomials as part of solving them (if you’re aiming for numeric solutions), but solving tends to also require:
- some kind of root finding (note that methods like Newton–Raphson don’t work when zeros have multiplicity)
- dividing polynomials by (X - a) after finding one root to find the next root
Re:The Cheating Device (ChatGPT on a TI-84) [video]
by PopePompus on Friday September 20, 2024 @07:37AM
(#41600961)
The POLY instruction was the CISCiest of the VAX instructions. One machine instruction could evaluate a polynomial. I think it could even handle the situation where fetching one of the coefficients caused a page fault. If you knew the VAX instruction set well, writing code in VAX assembly was almost as easy as using a higher level language.
Re:The Cheating Device (ChatGPT on a TI-84) [video]
by dan-robertson on Friday September 20, 2024 @06:41PM
(#41606130)
Was the instruction really much more complex than eg some byte-string comparison instruction? For string comparison you’re doing a simpler operation at each step, and the accumulation is much simpler, but maybe you have short-circuiting too. POLY corresponds to the following C, I think:
float poly(int d, float x, float *c) {
c+=d;
float y = *c;
while(d--)
y = *c-- + y * x;
return y;
}
I also don’t see why you consider this to be the CISCiest instruction from an architecture that includes a substring-search instruction, a vaguely printf-like instruction with its own mini instruction set for the pattern strings it takes, and an instruction to do polynomial division in the ring of polynomials over F_2 (ok this is just CRC)
Re:The Cheating Device (ChatGPT on a TI-84) [video]
by shagie on Friday September 20, 2024 @09:28AM
(#41601823)
It's me recalling a story from... '93 or there abouts. My memory about the specifics of it might have suffered a bit over three decades.
I do recall that it was something to do with polynomials.
It was also something that was fun to port.
As he was going through the tome that represented the CISC instruction set of a VAX system (long before easy search engines), he found POLY ( https://www.ece.lsu.edu/ee4720/doc/vax.pdf page 9-118).
So, his program, instead of doing all the calculations was setting up a few registers, a large comment block that explained it, a call to POLY, and reading out the registers.
He claimed to have gotten full credit and within a handful of semesters later the course was switched from CISC architectures to RISC.