Date: Fri, 4 Jan 2002 17:01:00 -0600
Reply-To: "Krone, Ben --- Manager - Operations Systems --- GO"
<Ben.Krone@AF.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: "Krone, Ben --- Manager - Operations Systems --- GO"
<Ben.Krone@AF.COM>
Subject: Re: problem with comparing digits
Content-Type: text/plain; charset="iso-8859-1"
To all,
I don't claim to fully understand the discussion, but here are a couple of interesting examples both running on IBM
NOTE: SAS (r) Proprietary Software Release 8.1 (TS1M0)
NOTE: This session is executing on the OS/390 V02R10M00 platform.
NOTE: Running on IBM Model 2064 Serial Number 016561,
IBM Model 2064 Serial Number 116561,
IBM Model 2064 Serial Number 216561,
IBM Model 2064 Serial Number 316561,
IBM Model 2064 Serial Number 416561,
IBM Model 2064 Serial Number 516561.
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=224.132 An=42E021CAC083126E Ar=42E021CAC083126E
Bn=224.132 Bn=42E021CAC083126D Br=42E021CAC083126D
Tf=0
Now, here is the interesting thing.....Same machine running SAS609
NOTE: SAS (r) Proprietary Software Release 6.09 TS470
NOTE: Running on IBM Model 2064 Serial Number 016561,
IBM Model 2064 Serial Number 116561,
IBM Model 2064 Serial Number 216561,
IBM Model 2064 Serial Number 316561,
IBM Model 2064 Serial Number 416561,
IBM Model 2064 Serial Number 516561.
1
2 DATA _NULL_ ;
3 A = '42E021CAC083126E' ;
4 AN = INPUT(A, HEX16.) ;
5 AR = ROUND(AN, .001) ;
6 PUT AN= AN=HEX16. AR=HEX16.;
7 B = '42E021CAC083126D' ;
8 BN = INPUT(B, HEX16.) ;
9 BR = ROUND(BN, .001) ;
10 PUT BN= BN=HEX16. BR=HEX16.;
11 TF = AR EQ BR;
12 PUT TF=;
13 RUN;
AN=224.132 AN=42E021CAC083126E AR=42E021CAC083126E
BN=224.132 BN=42E021CAC083126D BR=42E021CAC083126E
TF=1
Don't know what it means, but thought it was interesting.
Ben
-----Original Message-----
From: Kenneth Moody
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.
******************************************************************
This message contains information that is confidential
and proprietary to American Freightways Inc.
or its affiliates. It is intended only for the recipient
named and for the express purpose(s) described therein.
Any other use is prohibited.
*******************************************************************