XGitUrl: http://git.csclub.uwaterloo.ca/?p=kopensolarisgnu%2Fglibc.git;a=blobdiff_plain;f=PROJECTS;h=f4cadfdeb438a5891fee556a4cd7ac52b458aa0c;hp=db5a25f485a629464e255d11b0fe28d4404ff67d;hb=f012b5b9dd1b2d99785b6a5179bd6dd9f56980ab;hpb=16c950ef117943da3f592516e32f2f476cd12c2d
diff git a/PROJECTS b/PROJECTS
index db5a25f485..f4cadfdeb4 100644
 a/PROJECTS
+++ b/PROJECTS
@@ 1,6 +1,6 @@
Open jobs for finishing GNU libc:

Status: January 1997
+Status: April 1997
If you have time and talent to take over any of the jobs below please
contact
@@ 57,36 +57,12 @@ contact
[ 7] Several math functions have to be written:
 exp2
  log2
 each with float, double, and long double arguments. Writing these
 functions should be possible when following the implementation of
 the existing exp/log functions for other bases.
+ each with float, double, and long double arguments.
Beside this most of the complex math functions which are new in
 ISO C 9X. gcc already has support for numbers of complex type so the
 implementation should be possible today. I mention here the names
 and the way to write them (argument is z = x + iy):

  cexp(z) = e^x (cos y + i sin y)
  sin(z) = 1/(2i) (e^(iz)  e^(iz)) = sin(x) cosh(y) + i cos(x) sinh(y)
  cos(z) = 1/2 (e^(iz) + e^(iz)) = cos(x) cosh(y)  i sin(x) sinh(y)
  tan(z) = 1/i (e^(iz)  e^(iz))/(e^(iz) + e^(iz))
  cot(z) = i (e^(iz) + e^(iz))/(e^(iz)  e^(iz))
  asin(z) = i ln(iz + sqrt(1z^2))
  acos(z) = i ln(z + sqrt(z^21))
  atan(z) = 1/(2i) ln((1+iz)/(1iz))
  acot(z) = 1/(2i) ln((iz+1)/(iz1))
  sinh(z) = 1/2 (e^z  e^z)
  cosh(z) = 1/2 (e^z + e^z)
  tanh(z) = (e^z  e^z)/(e^z + e^z)
  coth(z) = (e^z + e^z)/(e^z  e^z)

 All functions should we written with all the parallelism in mind.
 And assembler versions are highly expreciated since, e.g., the ix87
 FPU provides an `fsincos' instructions which is certainly useful for
 the `sin' function. The implementations for the normal math functions
 shows other optimization techniques.
+ ISO C 9X should be improved. Writing some of them in assembler is
+ useful to exploit the parallelism which often is available.
[ 8] If you enjoy assembler programming (as I do drepper :) you might
@@ 104,48 +80,38 @@ contact
work.
[ 9] Write nftw() function. Perhaps it might be good to reimplement the
 ftw() function as well to share most of the code.

**** Almost done!


[10] Write AVLtree based tsearch() et.al. functions. Currently only
 a very simple algorithm is used.
 There is a public domain version but using this would cause problems
 with the assignment.


[11] Extend regex and/or rx to work with wide characters and complete
+[10] Extend regex and/or rx to work with wide characters and complete
implementation of character class and collation class handling.
It is planed to do a complete rewrite.
[12] Write access function for netmasks, bootparams, and automount
+[11] Write access function for netmasks, bootparams, and automount
databases for nss_files and nss_db module.
The functions should be embedded in the nss scheme. This is not
hard and not all services must be supported at once.
[13] Rewrite utmp/wtmp functions to use database functions. This is much
 better than the normal flat file format.

**** There are plans for a new approach to this problem. Please contact
 bugglibc@prep.ai.mit.edu before starting to work.)


[14] Several more or less small functions have to be written:
+[13] Several more or less small functions have to be written:
+ tcgetid() and waitid() from XPG4.2
+ grantpt(), ptsname(), unlockpt() from XPG4.2
 + getdate() from XPG4.2
 + fmtmsg() from SVID
 More information are available on request.
+ More information is available on request.
[15] We need to write a library for onthefly transformation of streams
+[14] We need to write a library for onthefly transformation of streams
of text. In fact, this would be a recodelibrary (you know, GNU recode).
This is needed in several places in the GNU libc and I already have
rather concrete plans but so far no possibility to start this.
+
+
+[15] Cleaning up the header files. Ideally, each header style should
+ follow the "good examples". Each variable and function should have
+ a short description of the function and its parameters. The prototypes
+ should always contain variable names which can help to identify their
+ meaning; better than
+
+ int foo __P ((int, int, int, int));
+
+ Blargh!