comp.lang.ada
 help / color / mirror / Atom feed
From: Martin <martin.dowie@btopenworld.com>
Subject: Re: About the F-22 software bug
Date: Fri, 5 Feb 2010 03:18:35 -0800 (PST)
Date: 2010-02-05T03:18:35-08:00	[thread overview]
Message-ID: <cb10a5ce-0fad-4928-87c6-a0937f7412ea@m16g2000yqc.googlegroups.com> (raw)
In-Reply-To: or5kkmvy2m50.1b7pr41w5ahvb$.dlg@40tude.net

On Feb 5, 10:31 am, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> On Fri, 5 Feb 2010 01:02:40 -0800 (PST), Martin wrote:
> > On Feb 5, 8:52 am, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> >> Martin wrote on comp.lang.ada:
>
> >>> On Feb 5, 6:42 am, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote:
> >>> > On Thu, 04 Feb 2010 19:46:15 +0100, Pascal Obry <pas...@obry.net>
> >>> > declaimed the following in comp.lang.ada:
> >>> > > I know that the F-22 is 90% of Ada. Is there some public information
> >>> > > about this bug? Is that a design bug?
>
> >>> >         So far as I recall -- from some years ago -- it was an algorithm
> >>> > problem handling position information wrap-around from crossing, as
> >>> > mentioned, the International Dateline... -180.0 to +180.0 deg longitude.
>
> >>> >         I didn't hear that they had to follow the tankers back -- was under
> >>> > the impression once they managed to cross back heading east a reboot of
> >>> > the navigation system started working again...
>
> >>> > --
> >>> >         Wulfraed         Dennis Lee Bieber               KD6MOG
> >>> >         wlfr...@ix.netcom.com HTTP://wlfraed.home.netcom.com/
>
> >>> For some reason (that I don't get at all) lots of systems define long
> >>> as -180 <= x <= +180 degrees.
>
> >>> Having the potential to alias a position seems like a bad idea for a
> >>> start, so when I've been coding such systems up, I've always spent a
> >>> bit of time making it convert positions into the range -180 <= x <
> >>> +180 degrees and using a proper ADT.
>
> >>> I wonder if it was anything to do with that?...
>
> >> I would have thought a longitude was really a mod 360, shifted by -180
> >> for display purposes? For fractional degrees (i.e. minutes and
> >> seconds), make that mod (360 * 60 * 60), shift by -180 * 60 * 60 and
> >> split in degrees, minutes and seconds when displaying.
>
> >> --
> >> Ludovic Brenta.
>
> > No...it's -180 <= x <(=) +180...always - check any map / globe!!
>
> > Lat is always -90 <= x <= +90 deg - no doubt about that one :-)
>
> > Adding "shifts" would make understanding any problem very hard...
>
> And shift does not solve the problem anyway, if that existed. The potential
> problem is that the angle is not a real number. It could be represented by
> one, but then the operations like +, -, *, /, =, /= must be replaced and
> ones like <, >, <=, >= disallowed. With that done the value +180 would do
> no harm, because -180 = +180 in terms of proper ADT operations. You simply
> would not be able to distinguish them (without tricks like
> Unchecked_Conversion).
>
> --
> Regards,
> Dmitry A. Kazakovhttp://www.dmitry-kazakov.de

Yup, instead you end up with functions like "Is_Between (Anlge, First,
Last : Longitude) return Boolean"

Although because have 'clever' construct functions "Longitude (From :
Float)" that always put things in the 'correct' range (-180 <= x <
180), we could allow "=" (and "/=").

Cheers
-- Martin



  reply	other threads:[~2010-02-05 11:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-04 18:46 About the F-22 software bug Pascal Obry
     [not found] ` <4YKdnVFQX_suIPbWnZ2dnUVZ_rednZ2d@earthlink.com>
2010-02-05  6:51   ` Hibou57 (Yannick Duchêne)
2010-02-05  8:30   ` Martin
2010-02-05  8:52     ` Ludovic Brenta
2010-02-05  9:02       ` Martin
2010-02-05 10:31         ` Dmitry A. Kazakov
2010-02-05 11:18           ` Martin [this message]
2010-02-05 16:50           ` Hibou57 (Yannick Duchêne)
2010-02-05 18:19             ` Dmitry A. Kazakov
2010-02-06  9:28             ` Martin
2010-02-05 23:39         ` Phil Clayton
2010-02-06 12:12           ` sjw
2010-02-07 10:11             ` Martin
2010-02-06 15:30 ` jonathan
2010-02-06 16:35   ` Pascal Obry
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox