Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
packfile #2
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  7 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Leopold Toetsch  
View profile  
 More options Jan 27 2003, 12:50 pm
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Mon, 27 Jan 2003 18:04:44 +0100
Local: Mon, Jan 27 2003 12:04 pm
Subject: [CVS ci] packfile #2
So more changes in packfile and related files, including:

- all packfile segments share a common header which is effectively
   the format of a byte_code segment
- all packfile segments conforming to this format are unpacked with
   the default_unpack routine, which just sets up a pointer to
   the data if they are mmap()ed (and are in native format) or makes
   a copy of the data, which means:
- byte_code doesn't get copied anymore, when the PBC is mmap()ed
- and: self modifying code is a nono - but we don't ;-)
- segments with more or differing data have their own pack/unpack
   functions
- The segments are aligned on 4 op boundarys, as well as bytecode
- when mmap()ing the PBC fails, it gets read by IO
- the pdump utility got two new switches -t (terse), -d (disassemble)

Imcc changes:

- adapted for above packfile
- more tests
- "perl t/harness -c" runs via new format PBC files
   (and shows 4 errors due to fixup quirks with evaled code in PBC :)

Some TODOs or leftovers:

- still (or more) wordsize issues with unpacking: to solve these IMHO
   the fetch_xxx should look like
        xxx PackFile_fetch_xxx(struct PackFile *pf, ptr_t **stream);
   advancing the stream ptr by one packfile wordsize, or doing whatever
   is necessary on CRAY or such - BTW does some has a spare CRAY for
   testing at home, just send it over - small one with less then 5kW
   heat emission prefered.
   Similar changes for the other packfile fetch functions + fetch_sv().
   Or:
   Create external conversion program?

- 8/12 byte float issues are still the same - are these formats
   really portable, or should we try to store ASCII equivalents?

- The directory based approach now should be fully recursive
   allowing for nested dirs - of course untested, but ...

leo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Garrett Goebel  
View profile  
 More options Jan 28 2003, 5:48 pm
Newsgroups: perl.perl6.internals
From: garr...@scriptpro.com (Garrett Goebel)
Date: Tue, 28 Jan 2003 16:12:07 -0600
Local: Tues, Jan 28 2003 5:12 pm
Subject: RE: [CVS ci] packfile #2

Leopold Toetsch wrote:

> - 8/12 byte float issues are still the same - are these
>    formats really portable, or should we try to store
>    ASCII equivalents?

No?

? Because my knowledge here approaches zero, so I'm just aping information
back at you from google searches and scanning documents.

There are 3 standard binary IEEE 754 derived formats:

  Single Precision:     4 bytes
  Double Precision:     8 bytes
  Quadruple Precision: 16 bytes

C99 and Modula 3 provide the "recommended" IEEE 754 bindings. Java requires
it.

A nice quote from William Kahan father of IEEE 754:
  "Programmers seem unaware that IEEE 754 is a standard for
   their programming environment, not just for hardware."

Portable Encoding of Floating-Point Values
  http://research.microsoft.com/~hollasch/cgindex/coding/portfloat.html

What hardware supports IEEE 754:
  http://www.mscs.mu.edu/~georgec/IFAQ/casares1.html

IEEE 754 Binary Floating Point
  William Kahan's documents:
    http://http.cs.berkeley.edu/~wkahan/ieee754status/
  IEE 754 Homepage:
    http://grouper.ieee.org/groups/754/
  Designing Language Support for IEEE 754:

http://grouper.ieee.org/groups/754/meeting-materials/2001-10-18-langd...
df
  IEEE 754 Support in C99
    http://grouper.ieee.org/groups/754/meeting-materials/2001-07-18-c99.pdf
  Nice Overview:
    http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
  Nice Links:
    http://cch.loria.fr/documentation/IEEE754/

IEEE 854 Decimal Floating Point
  IBM's decNumber Library (non-free ANSI C impl of IEEE 854):
    http://www2.hursley.ibm.com/decimal/decnumber.html
  IBM's BigDecimal (open-source impl for Java of IEEE 854):
    http://www2.hursley.ibm.com/decimalj/

--
Garrett Goebel
IS Development Specialist

ScriptPro                   Direct: 913.403.5261
5828 Reeds Road               Main: 913.384.1008
Mission, KS 66202              Fax: 913.384.2180
www.scriptpro.com          garr...@scriptpro.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Leopold Toetsch  
View profile  
 More options Jan 29 2003, 1:48 am
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Wed, 29 Jan 2003 06:53:25 +0100
Local: Wed, Jan 29 2003 12:53 am
Subject: Re: [CVS ci] packfile #2

Many thanks for the links (searching for this stuff is a pain, there are
too many results ;-)

Anyway:
- are there platforms with quad precision floats out there?
- or should 12 byte long doubles get converted to 8 byte IEEE doubles.

leo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nicholas Clark  
View profile  
 More options Jan 29 2003, 5:49 am
Newsgroups: perl.perl6.internals
From: n...@ccl4.org (Nicholas Clark)
Date: Wed, 29 Jan 2003 09:56:35 +0000
Local: Wed, Jan 29 2003 4:56 am
Subject: Re: [CVS ci] packfile #2

On Wed, Jan 29, 2003 at 06:53:25AM +0100, Leopold Toetsch wrote:
> Garrett Goebel wrote:
> Many thanks for the links (searching for this stuff is a pain, there are
> too many results ;-)

> Anyway:
> - are there platforms with quad precision floats out there?

sparc Solaris and Irix both have 16 byte doubles. I think that they are
both done in software, and I don't think either is to any IEEE standard.

> - or should 12 byte long doubles get converted to 8 byte IEEE doubles.

This doesn't feel like a good idea. It may be the only practical solution,
but I doesn't mean that I have to like it.

Nicholas Clark


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bryan C. Warnock  
View profile  
 More options Jan 29 2003, 9:50 am
Newsgroups: perl.perl6.internals
From: bwarn...@raba.com (Bryan C. Warnock)
Date: 29 Jan 2003 09:04:54 -0500
Local: Wed, Jan 29 2003 9:04 am
Subject: RE: [CVS ci] packfile #2

Actually, Quads aren't standard.  'long doubles' and the ilk are double
extended, and require at least 10 bytes.  (Which, coincidentally, is the
size of the x86 fp registers.)

In memory, they're padded to 12 or 16 bytes to preserve word boundaries.

--
Bryan C. Warnock
bwarnock@(gtemail.net|raba.com)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bryan C. Warnock  
View profile  
 More options Jan 29 2003, 9:50 am
Newsgroups: perl.perl6.internals
From: bwarn...@raba.com (Bryan C. Warnock)
Date: 29 Jan 2003 09:13:24 -0500
Local: Wed, Jan 29 2003 9:13 am
Subject: Re: [CVS ci] packfile #2

On Wed, 2003-01-29 at 04:56, Nicholas Clark wrote:
> On Wed, Jan 29, 2003 at 06:53:25AM +0100, Leopold Toetsch wrote:
> > Garrett Goebel wrote:

> > Many thanks for the links (searching for this stuff is a pain, there are
> > too many results ;-)

> > Anyway:
> > - are there platforms with quad precision floats out there?

> sparc Solaris and Irix both have 16 byte doubles. I think that they are
> both done in software, and I don't think either is to any IEEE standard.

Actually, Sparc and MIPS are pretty good about adherence.  (There may be
some breakdown in the specialized representation cases, as well as
underflow representation.)  In fact, most hardware these days use IEEE
(or EEEI) representation.  VAXen and CRU-based Crays are a brash
exception.

> > - or should 12 byte long doubles get converted to 8 byte IEEE doubles.

> This doesn't feel like a good idea. It may be the only practical solution,
> but I doesn't mean that I have to like it.

Let me dig through my notes.

--
Bryan C. Warnock
bwarnock@(gtemail.net|raba.com)


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Garrett Goebel  
View profile  
 More options Jan 29 2003, 12:49 pm
Newsgroups: perl.perl6.internals
From: garr...@scriptpro.com (Garrett Goebel)
Date: Wed, 29 Jan 2003 11:12:11 -0600
Local: Wed, Jan 29 2003 12:12 pm
Subject: RE: [CVS ci] packfile #2

Leopold Toetsch wrote:

> Anyway:
> - are there platforms with quad precision floats out there?

Several documents refer to quad precision hardware, but I can't find direct
references to any.

> - or should 12 byte long doubles get converted to 8 byte IEEE doubles.

Perhaps the following quote from William Kahan would be appropriate:

> What Good are Extended Floating-Point Formats?

> This is more of a marketing question than mathematical,
> and although the reasoning entails some mathematics beyond
> the acquaintance of most marketing personnel, they will
> all appreciate the conclusions, namely that ...

> o  Were the wages of sin collected only by the sinners,
>    extended formats could be optional
> o  Extended formats are required more to support a mass
>    market than for numerical experts

The best single resource I've found yet is:
  http://www.validlab.com/754R/

It has faithful representations of all the relevant IEEE standards, meeting
minutes, and proposals.

--
Garrett Goebel
IS Development Specialist

ScriptPro                   Direct: 913.403.5261
5828 Reeds Road               Main: 913.384.1008
Mission, KS 66202              Fax: 913.384.2180
www.scriptpro.com          garr...@scriptpro.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »