sine of an angle in degree mode
01-29-2018, 06:58 AM
Post: #21
 cyrille de brébisson Senior Member Posts: 868 Joined: Dec 2013
RE: sine of an angle in degree mode
Hello,

Well, since you guys want "precise" info, I had a look at the source code.

grad are converted to deg if needed.

The calc has a flag (fix) which tells it if the result is a remarquable value (0° in all modes, n*30° or tan(45) in deg/grad).

This flag is also put on entry if 0 is detected.

The calc then does a modulo 45 or pi/2, depending, using 31 digits.
It then applies cordic, which yeild a x and y pair on the axis of the angle.
tan=y/x cos/sin are calculated from tan using 1/sqrt(1+tan()²).

Then, if the flag was set, the result is rounded.
and this is it.

Cheers,
Cyrille

Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP.
01-29-2018, 08:26 AM (This post was last modified: 01-29-2018 08:26 AM by rflesch.)
Post: #22
 rflesch Junior Member Posts: 29 Joined: Feb 2014
RE: sine of an angle in degree mode
(01-29-2018 06:58 AM)cyrille de brébisson Wrote:  Hello,

Well, since you guys want "precise" info, I had a look at the source code.

(...)

Then, if the flag was set, the result is rounded.
and this is it.

Cheers,
Cyrille

Tank you!!! From my point of view (I'm the OP) this is settled now.
01-29-2018, 12:31 PM
Post: #23
 emece67 Senior Member Posts: 363 Joined: Feb 2015
RE: sine of an angle in degree mode
(01-26-2018 10:23 AM)Mike (Stgt) Wrote:  For the inquisitive here a compare of the HP-15C firware trace from DEG 360 SIN and 720 SIN.
Code:
  SUPERC - CMS FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY - V3.01  (11/22/95)    01/26/18    11.05    PAGE     1 NEW:  SIN      720      C                                    OLD:  SIN      360      C                        LISTING OUTPUT SECTION (LINE COMPARE)   ID          NEW FILE LINES                                   ID           OLD FILE LINES                                N-LN# O-LN#    ----+----1----+----2----+----3---                            ----+----1----+----2----+----3---    0648: 1EE C=C+C  ALL                                    !    0648: 1EE C=C+C  ALL                                    00241 00241    0649: 1EE C=C+C  ALL                                    !    0649: 1EE C=C+C  ALL                                    00242 00242    064A: 3CE CSL    ALL                                    !    064A: 3CE CSL    ALL                                    00243 00243    064B: 0EE B<>C   ALL                                    !    064B: 0EE B<>C   ALL                                    00244 00244    064C: 2FA ?C#0   M                                      !    064C: 2FA ?C#0   M                                      00245 00245    064D: 09F JC     +13 0660                               !    064D: 09F JC     +13 0660                               00246 00246    064E: 18E A=A-B  ALL                                    !    064E: 18E A=A-B  ALL                                    00247 00247    064F: 3FB JNC    -01 064E                               !    064F: 3FB JNC    -01 064E                               00248 00248    064E: 18E A=A-B  ALL                                    !    064E: 18E A=A-B  ALL                                    00249 00249    064F: 3FB JNC    -01 064E                               !    064F: 3FB JNC    -01 064E                               00250 00250 I -064E: 18E A=A-B  ALL                                    !                                                            00251 I -064F: 3FB JNC    -01 064E                               !                                                            00252    0650: 12E A=A+B  ALL                                    !    0650: 12E A=A+B  ALL                                    00253 00251    0651: 3EE ASL    ALL                                    !    0651: 3EE ASL    ALL                                    00254 00252    0652: 266 C=C-1  X                                      !    0652: 266 C=C-1  X                                      00255 00253    0653: 3DB JNC    -05 064E                               !    0653: 3DB JNC    -05 064E                               00256 00254    0654: 04E C=0    ALL                                    !    0654: 04E C=0    ALL                                    00257 00255    0655: 0EE B<>C   ALL                                    !    0655: 0EE B<>C   ALL                                    00258 00256    0656: 198 C=M                                           !    0656: 198 C=M                                           00259 00257    0657: 1EE C=C+C  ALL                                    !    0657: 1EE C=C+C  ALL                                    00260 00258    0658: 04C ?FS    4                                      !    0658: 04C ?FS    4                                      00261 00259    0659: 01B JNC    +03 065C                               !    0659: 01B JNC    +03 065C                               00262 00260 *** CHANGE SECTION CUTOFF ******************************     SUPERC - CMS FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY - V3.01  (11/22/95)    01/26/18    11.05    PAGE     2 NEW:  SIN      720      C                                    OLD:  SIN      360      C                          LINE COMPARE SUMMARY AND STATISTICS       1874 NUMBER OF LINE MATCHES               2  TOTAL CHANGES (PAIRED+NONPAIRED CHNG)        0 REFORMATTED LINES                    0  PAIRED CHANGES (REFM+PAIRED INS/DEL)        2 NEW FILE LINE INSERTIONS             2  NON-PAIRED INSERTS        0 OLD FILE LINE DELETIONS              0  NON-PAIRED DELETES     1876 NEW FILE LINES PROCESSED     1874 OLD FILE LINES PROCESSED   LISTING-TYPE = CHNG       COMPARE-COLUMNS =    1:33        LONGEST-LINE = 33 PROCESS OPTIONS USED: NARROW
From pushing SIN to display of the result (to be exact: to light sleep) it takes only two more firmware instructions to compute the result for 720 instead of 360.

Ciao.....Mike

Sorry for my ignorance but, what tools have you used to generate such firmware traces?

Thanks & regards.

César - Information must flow.
01-29-2018, 12:47 PM (This post was last modified: 01-29-2018 12:53 PM by Massimo Gnerucci.)
Post: #24
 Massimo Gnerucci Senior Member Posts: 1,780 Joined: Dec 2013
RE: sine of an angle in degree mode
(01-29-2018 12:31 PM)emece67 Wrote:
(01-26-2018 10:23 AM)Mike (Stgt) Wrote:  For the inquisitive here a compare of the HP-15C firware trace from DEG 360 SIN and 720 SIN.
Code:
  SUPERC - CMS FILE/LINE/WORD/BYTE/SFOR COMPARE UTILITY - V3.01  (11/22/95)    01/26/18    11.05    PAGE     1

Sorry for my ignorance but, what tools have you used to generate such firmware traces?

Thanks & regards.

I bet it's running on an IBM mainframe running VM/CMS or z/VM. (or an emulation on Hercules...)
Those were the days...

Greetings,
Massimo

-+×÷ ↔ left is right and right is wrong
01-29-2018, 04:23 PM
Post: #25
 emece67 Senior Member Posts: 363 Joined: Feb 2015
RE: sine of an angle in degree mode
(01-29-2018 02:41 PM)Mike (Stgt) Wrote:  Short answer: my own tools.
Long answer: do you have time for a looong tale? (negligibly, this question is a citation from Waterhole No. 3, when Foggers asks Cole "How come..?")

...

An interesting tale, & not so looong as expected ;-)

Thanks & regards.

César - Information must flow.
 « Next Oldest | Next Newest »

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