xpqz / learnapl

Introduction to Dyalog APL: https://xpqz.github.io/learnapl
Other
126 stars 11 forks source link

Correction: left argument to decode for seconds to days/hours... #31

Open jonocarroll opened 10 months ago

jonocarroll commented 10 months ago

Thanks for this resource, I'm very much enjoying reading it and following along on tryapl.org

I wanted to try my own version for the decode example and was confused that 9e4 seconds (exactly 25 hours) produced 0 1 0 0. The left argument of the decode should (I believe) be 0 24 60 60 in which case the result is, as expected, 1 1 0 0.

For the example you used (1e4) it didn't matter, but trying a number greater than 86399 (1 day or larger) will give the wrong answer.

I don't think it matters for the example following (both vectors produce the same results) but for consistency, I changed that, too.

As for why that should be 0 and not 1 - an explanation of that would be wonderful because I'm not entirely sure I understand it.

jonocarroll commented 10 months ago

Funnily enough, this timely video explains the "no overflow to a higher unit" behind the 0 https://youtu.be/hQFMjRPFioI