LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (January 2002, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 4 Jan 2002 15:29:15 -0700
Reply-To:     Kenneth Moody <KennethMoody@FIRSTHEALTH.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Kenneth Moody <KennethMoody@FIRSTHEALTH.COM>
Subject:      Re: problem with comparing digits
Content-Type: text/plain; charset=us-ascii

For what it's worth, here are a couple of instances from DEC (er, Compaq) operating systems. Note that these both show An and Bn with the same value as Ya found.

NOTE: This session is executing on the OpenVMS 7.2 platform. NOTE: Running on ALPHASERVER Model 8200 5/440 Serial Number 80000000.

1 Data _Null_ ; 2 A = '42E021CAC083126E' ; 3 An = Input(A, Hex16.) ; 4 Ar = Round(An, .001) ; 5 Put An= An=Hex16. Ar=Hex16.; 6 B = '42E021CAC083126D' ; 7 Bn = Input(B, Hex16.) ; 8 Br = Round(Bn, .001) ; 9 Put Bn= Bn=Hex16. Br=Hex16.; 10 Tf = Ar Eq Br; 11 Put Tf=; 12 Run;

An=1.4189857E14 An=42E021CAC083126E Ar=42E021CAC083126E Bn=1.4189857E14 Bn=42E021CAC083126D Br=42E021CAC083126D Tf=0

And on Tru64 Unix NOTE: This session is executing on the OSF1 V5.1 platform.

1 Data _Null_ ; 2 A = '42E021CAC083126E' ; 3 An = Input(A, Hex16.) ; 4 Ar = Round(An, .001) ; 5 Put An= An=Hex16. Ar=Hex16.; 6 B = '42E021CAC083126D' ; 7 Bn = Input(B, Hex16.) ; 8 Br = Round(Bn, .001) ; 9 Put Bn= Bn=Hex16. Br=Hex16.; 10 Tf = Ar Eq Br; 11 Put Tf=; 12 Run;

An=1.4189857E14 An=42E021CAC083126E Ar=42E021CAC083126E Bn=1.4189857E14 Bn=42E021CAC083126D Br=42E021CAC083126D Tf=0

Ken Moody First Health, Metrics Department Voice: 916-374-3924 EMail: KennethMoody@firsthealth.com

>>> "Dorfman, Paul" <Paul.Dorfman@BCBSFL.COM> 01/04/02 01:11PM >>> WWV,

Looks like no independent tester, either Windex- or Unixoid has been able to replicate the result so far... You would not expect V8.1 under the contol of the Big Brother ... er ... Iron to disbehave like the obscure NT on my obscure desktop, yet He shows:

9 Data _Null_ ; 10 A = '42E021CAC083126E' ; 11 An = Input(A, Hex16.) ; 12 Ar = Round(An, .001) ; 13 Put An= An=Hex16. Ar=Hex16.; 14 B = '42E021CAC083126D' ; 15 Bn = Input(B, Hex16.) ; 16 Br = Round(Bn, .001) ; 17 Put Bn= Bn=Hex16. Br=Hex16.; 18 Tf = Ar Eq Br; 19 Put Tf=; 20 Run;

An=224.132 An=42E021CAC083126E AR=42E021CAC083126E Bn=224.132 Bn=42E021CAC083126D Br=42E021CAC083126D Tf=0

Huh?

-----Original Message----- From: William W. Viergever [mailto:wwvierg@ATTGLOBAL.NET] Sent: Friday, January 04, 2002 3:00 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Re: problem with comparing digits

At 11:05 AM 1/4/2002 -0800, seeliger wrote:

On Fri, 4 Jan 2002, Dorfman, Paul wrote:

> An=224.132 An=406C04395810624E Ar=406C04395810624E > Bn=224.132 Bn=406C04395810624D Br=406C04395810624D > TrueFalse=0 > > This was run under Windows NT, SAS version 8.1. I also ran a similar code > under S/390 (of course, the hexa for 224.132 were different), and the result > was the same. > > [But under Win XP the results are] > > An=224.132 An=406C04395810624E Ar=406C04395810624E > Bn=224.132 Bn=406C04395810624D Br=406C04395810624E > TrueFalse=0

Which is odd; under 8.2 on Linux on an AMD Athlon (on a friday), the results are

an=224.132 an=406C04395810624E ar=406C04395810624E bn=224.132 bn=406C04395810624D br=406C04395810624E true=1

So it may not be a CPU issue as an implementation issue in SAS; it's difficult to say without knowing the specific CPUs being used. On my box at least, the final comparison seems to work as expected.

I'll take this opportunity to come out of the closet -- I'm a dual booter, running RedHat and NT. It might be interesting to dust off the NT side (it's been several months since I've had to reboot, much less run NT) and rerun this test there to control for the CPU.

Save your time; under W2K Pro, I too find TrueFalse = 1:

NOTE: SAS (r) Proprietary Software Release 8.2 (TS2M0) NOTE: This session is executing on the WIN_PRO platform.

1 Data _Null_ ; 2 A = '406C04395810624E' ; 3 An = Input(A, Hex16.) ; 4 Ar = Round(An, .001) ; 5 Put An= An=Hex16. Ar=Hex16.; 6 B = '406C04395810624D' ; 7 Bn = Input(B, Hex16.) ; 8 Br = Round(Bn, .001) ; 9 Put Bn= Bn=Hex16. Br=Hex16.; 10 TrueFalse = Ar Eq Br; 11 Put TrueFalse=; 12 Run;

An=224.132 An=406C04395810624E Ar=406C04395810624E Bn=224.132 Bn=406C04395810624D Br=406C04395810624E TrueFalse=1

------------------------------------------------------------ William W. Viergever Voice : (916) 483-8398 Viergever & Associates Fax : (916) 486-1488 Sacramento, CA 95825 E-mail : wwvierg@attglobal.net ------------------------------------------------------------

Blue Cross Blue Shield of Florida, Inc., and its subsidiary and affiliate companies are not responsible for errors or omissions in this e-mail message. Any personal comments made in this e-mail do not reflect the views of Blue Cross Blue Shield of Florida, Inc.


Back to: Top of message | Previous page | Main SAS-L page