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.