info-sather
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Floats, Fobs & things


From: Keith Hopper
Subject: Floats, Fobs & things
Date: Tue, 22 May 2001 09:15:19 +1200
User-agent: Pluto/2.02b (RISC-OS/3.60) POPstar/2.02

Hi,
     You may probably have guessed that Nobbi and I have communicated about
leadership of the Sather project; you may even have wondered why I haven't
jumped in.  While I would love to do something along these lines I consider
that this kind of long term project needs long term leadership.  While I am
in no way about to kick the bucket, I only have a limited time left at work
- say the end of next year - and thereafter would find it even more
difficult to get hold of resources.

     May I suggest that what is really needed are two people - one to look
after the distribution site and set up a co-operative project aimed at
adding specialist libraries - the other to co-ordinate the implementation
of an ab initio compiler.  I would suspect that on person trying to do both
might not have any time for work of any other kind!

     Just a suggestion!

     Talking about libraries ....

     I have produced a revised implementation of some parts of the library
- but have been unable to find anything on the float mod problem -
presumably since the underlying hardware facility is used - through an
interface to the standard library operation fmod.  Since this is built-in
to the hardware I am very reluctant to dabble there.  Does someone who
knows about the error have any suggestions about how to go about fixing
it?? - I'm no numerical analyst (as I've already said) - help on this front
is greatly appreciated.

     As to the two built-ins and the External library, my 'master' copy
refers to C_FLOAT_CREATE_FLT in the class C_FLOAT and to
C_DOUBLE_CREATE_FLTD in the class C_DOUBLE - and the corresponding config
file contains their definition.  Is there something I am missing??

     The revised implementation of some of the library stuff includes a
couple of minor changes which we have found necessary in getting down to
the windows library implementation :-

     a.   The need to be able to access the contents of externally created
     storage - eg in the X windows 'Visual' structure - returned by the X
     server - having been created by it in the first place (probably on the
     heap looking at some of the register contents during execution).  I
     have introduced a partial class FOB (hung onto the end of the file
     lib/Required/SatherRT/reference.sa) which includes AREF{QUADBITS},
     a create_object operation and two special variants on aget and aset
     (these include an additional dereference to get at the contents).

     b.   A matching style of implementation for those data objects
     provided by the program for the X server to fill in or make use of.
     Again this is reflected in the existing implementation of the
     OS_FLABEL class (see both variants - posix and Win32-cygwin - for the
     use of narrowing and shifting to access the hextet-sized components).

     Just to give a brief demonstration there is win_one.module in the test
directory.  Providing that X_INCLUDE_PATH and X_LIB_PATH have been set
appropriately for your system, you will also need to set SATHER_RESOURCES
to
    
$SATHER_HOME/lib/Windows/resources/$LOCALE:$SATHER_HOME/resources/$LOCALE

(you may have to escape the colon path separator) which brings in the
resources for the Windows library.

     In the Windows (output) library the files display.sa and Visual.sa are
complete and functional - screen.sa and windows.sa are only dummies at
present - but that is in work.

     Have fun!

                                Keith

-- 
City Desk
Waikato University
[PGP key available if desired]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]