From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!water!watmath!clyde!att-cb!att-ih!alberta!ncc!uunet!actnyc!djs From: djs@actnyc.UUCP (Dave Seward) Newsgroups: comp.lang.ada Subject: Re: Some VAX RTL 64 bit operations take only 32 bit operands. Message-ID: <719@actnyc.UUCP> Date: 7 Mar 88 21:15:47 GMT References: <8803030021.AA12106@venera.isi.edu> Reply-To: djs@actnyc.UUCP (Dave Seward) Organization: InterACT Corporation List-Id: In article <8803030021.AA12106@venera.isi.edu> stluka@software.ORG (Fred Stluka) writes: >However, the LIB$EMUL and LIB$EDIV routines ... operate on 64 bit operands >returning 64 bit results. To produce true 64 bit operators, you have >to use break up the operation into smaller parts ... >The biggest problem you encounter is in avoiding spurious integer overflows >caused by intermediate results exceeding 32 bits. Many of the intermediate >results you generate will be 32 bit quantities ... I agree that the multiply and divide have to be broken up into constituent operations, but I would expect to use 64 bit intermediate results that EMUL and EDIV provide. Am I missing something? Dave Seward uucp!actnyc!djs