comp.lang.ada
 help / color / mirror / Atom feed
From: Caffeine Junky <nospam@hotmail.com>
Subject: Re: Conditional types?
Date: Mon, 11 Nov 2002 04:43:00 GMT
Date: 2002-11-11T04:43:00+00:00	[thread overview]
Message-ID: <ozGz9.3700$_P1.34213@rwcrnsc52.ops.asp.att.net> (raw)
In-Reply-To: DiAz9.2120$8S6.22901@sccrnsc01

On Sun, 10 Nov 2002 16:35:31 -0500, tmoran wrote:

>> the system you can safely assume it's passing either a float, an
>> integer, or an unsigned 32 bit integer. Is there a way do this in Ada
>> ...
> There is clearly no way to do this in Ada or any other language.  A
> given set of 32 bits could be a representation of any of the above.  If,
> however, you know things like "if it's an integer, its between -100 ..
> 100" or "if it's a float it's > +1.0E7" then you can rule out certain
> possibilities, and hopefully be left with exactly one remaining
> possibility.  If you know "this is either a table of integers, most of
> which are small in absolute value, or it's a table of floats, with many
> non-zero bits to the right of the point", then you can make a
> probabilistic guess based on Bayes Theorem. Are you trying to decrypt an
> undocumented old tape or something?
 
Old tapes was one of the possible uses I considered for this type of
thing, but general data recovery is what I'm looking into.

I realize that there are tons of tools already available in this area,
but I havent found one that deals with this specific type of situation.
I'm researching Bayes Theorem as you suggested.

One possible solution I'm considering is generating/fetching a set of
known data that hasnt been destroyed/corrupted from the same system, or a
set of data from an identical system, and using the instruction set of
the damaged system(most likely from the CPU) and a comparison algorithm
of some sort to generate a second set or sets and comparing the two to
get the most probable interpretation of the bits left in memory. Needless
to say that Boolean Algebra book is coming in very handy. Heh.
Of course there are other "variables" that could(and probably will) come
into play, such as the BIOS/ROM/Program Loader that the system is using,
chips embedded into the various storage peripherals(Hard Drive
controllers and such) and all the other wonderful hurdles that I'll
doubtlessly stumble upon.

Why would I be writing this type of software? I really have no crying
need for it(at the moment), but I find it to be an intellectually
stimulating challenge and quite a useful tool for others if I can hammer
out the details. And that's the catch. ;-)

I've been considering using Forth for this particular project, but I'm
also curious to see what I can accomplish with Ada in this regard. Any
pointers would be helpful.

Thanks.

Chris
Caffiene Junky



  reply	other threads:[~2002-11-11  4:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-10 20:34 Conditional types? Caffeine Junky
2002-11-10 21:35 ` tmoran
2002-11-11  4:43   ` Caffeine Junky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-11-10 20:34 Caffeine Junky
2002-11-10 23:04 ` Dennis Lee Bieber
2002-11-13  6:41   ` AG
2002-11-11 13:30 ` Marin David Condic
2002-11-11 17:30   ` Larry Kilgallen
2002-11-12 12:50     ` Marin David Condic
replies disabled

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