OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / lib / bitvector / CREDITS.txt
1                     =====================================
2                       Package "Bit::Vector" Version 6.4
3                     =====================================
4
5
6                  Copyright (c) 1995 - 2004 by Steffen Beyer.
7                              All rights reserved.
8
9
10 Credits:
11 --------
12
13 Many thanks to Andreas Koenig <upload@franz.ww.tu-berlin.de> for his
14 efforts as upload-manager for the CPAN, his patience, and lots of good
15 advice and suggestions! Thank you for doing such a tremendous (and time-
16 consuming) job!!
17
18 Also many thanks to David Jenkins <jenkins@sdm.de> for reviewing the
19 first version of the README file and the man page.
20
21 Many thanks to Jarkko Hietaniemi <Jarkko.Hietaniemi@hut.fi> for his
22 suggestions while I was developing the first release of this package!
23
24 Many thanks also to the people of the perl5-porters <perl5-porters@nicoh.com>
25 mailing list, specifically:
26
27 Andreas Koenig <andreas.koenig@mind.de>
28 Tim Bunce <Tim.Bunce@ig.co.uk>
29 Jarkko Hietaniemi <Jarkko.Hietaniemi@hut.fi>
30 Felix Gallo <fsg@coriolan.amicus.com>
31 Mark A Biggar <mab@wdl.loral.com>
32 Nick Ing-Simmons <nik@tiuk.ti.com>
33 John Macdonald <jmm@elegant.com>
34
35 for discussing and clarifying the naming and other issues of this package!
36
37 Also many thanks to David Thompson <dlt@dewey.csun.edu> for reporting a
38 problem he encountered concerning the inclusion of the Perl distribution
39 ("Unable to find include file ...") and for suggesting a solution for this
40 problem. (That's the most pleasant kind of problem report, of course! ;-) )
41
42 Many thanks to Rob Johnson <rjohnson@apple.com> for an improved algorithm
43 for computing binomials with always integer intermediate results (and
44 numbers never getting too big)!
45
46 Thanks to Banchong Harangsri <bjtong@cse.unsw.edu.au> for reporting the
47 problem of the version 1.1 of this module with Perl 5.002!
48
49 Special thanks to Dean Roehrich <roehrich@cray.com> for his assistance
50 in trying to find the cause of and a remedy for the above problem!
51
52 Many thanks to Andreas Koenig for notifying me of the alternative for the
53 directory structure using the "lib" subdirectory and a way to use "confess"
54 in an XSUB via "perl_eval_sv".
55
56 Many special thanks to Larry Schwimmer <rosebud@cyclone.stanford.edu> for
57 reporting the bug related to 64 bit machines and finding where an implicit
58 assumption of 32 bit integers was hidden, and for testing the new version
59 on his machine!
60
61 Many thanks to Ralf S. Engelschall <rse@engelschall.com> for suggesting
62 the four new methods "Size()", "Empty_Interval()", "Fill_Interval()" and
63 "Flip_Interval()", implemented in version 3.0 of the "Set::IntegerFast"
64 module (and also in the "Set::IntegerRange" module)!
65
66 Also many thanks to Ralf Engelschall for the many good suggestions that
67 went into version 4.0 of this package (concerning many different aspects)!
68
69 Many thanks to Stas Bekman <sbekman@iil.intel.com> for raising the question
70 of bitwise shift and rotation operations in Perl, which gave me the idea to
71 implement such shift registers with arbitrary size, which in turn and with
72 time gave me the idea of implementing a "Bit::Vector" base class capable of
73 this along with already existing functionality (for sets and boolean matrices).
74
75 Also many thanks to Jon Orwant <orwant@media.mit.edu> and Tim Bunce
76 <Tim.Bunce@ig.co.uk> for their suggestions and comments concerning my
77 first attempts at writing a module for bitwise shift and rotate operations
78 in Perl, which eventually went into version 4.0 of this module!
79
80 Many thanks to Brian S. Julin <bri@calyx.net> for sharing his ideas, his
81 questions and the code of his "Bit::File" module with me, which inspired
82 me to write the routines to access arbitrary chunks of bits.
83
84 Many thanks to Hau-Yung Chen <hchen@oda-tech.com> for suggesting the
85 string conversion routines to convert to/from binary representation
86 and the possibility to concatenate bit vectors.
87
88 Many thanks to Jarkko Hietaniemi <Jarkko.Hietaniemi@hut.fi> for suggesting
89 the implementation of the transpose of a matrix in C for better performance.
90 The transpose can be used in finding the strongly connected components of
91 a graph.
92
93 Many thanks go to Daniel Koch <dkoch@amcity.com> for suggesting the
94 "Index_List_Store()" and "Index_List_Read()" methods!
95
96 Many thanks again to Hau-Yung Chen <hchen@oda-tech.com> for suggesting
97 a way for speeding up the conversion to decimal in "to_Dec()" (by dividing
98 the bit vector through the largest possible power of ten that will fit into
99 a machine word and then breaking down the rest using only machine words,
100 which is faster than repeatedly dividing the whole bit vector by ten).
101 According to my measurements, this resulted in an 8-fold speed increase.
102
103 Many thanks go to Krzysztof Koczyjan <krzysztofk@rocketmail.com> for
104 suggesting and extensively benchmarking a more efficient method for
105 bit counting in the method "Norm()", which was adopted in version 5.2.
106
107 Many thanks again to Krzysztof Koczyjan <krzysztofk@rocketmail.com> for
108 an additional improvement of the method "Norm()", which was adopted in
109 version 5.3.
110
111 Many thanks to Bryan Bayerdorffer <bryan.bayerdorffer@analog.com> for
112 notifying me of the bug in the "Divide()" method, which was immediately
113 fixed in version 5.4.
114
115 Many thanks to Rob W. Koeling <koeling@let.rug.nl> for reporting and to
116 Paul J. Schinder <schinder@pobox.com> for reporting and helping to investigate
117 the error of the failed tests 96-131 of test script "t/01________new.t" under
118 HP-UX 10! This was fixed in version 5.5.
119
120 Many thanks to the "CPAN testers" (http://www.connect.net/gbarr/cpan-test/)
121 in general and to Jarkko Hietaniemi <jhi@iki.fi> in particular for testing
122 this module and for reporting the compiler warning which occurred on line
123 2067 of "BitVector.c" with the native "cc" compiler under Digital Unix,
124 which has been fixed in version 5.6.
125
126 Also many thanks to Matt Knecht <hex@voicenet.com> for pushing me hard
127 enough ;-) to suppress those annoying leading zeros in the output from
128 "to_Hex()" in version 5.6!
129
130 Many thanks to Roland Titze <Roland.Titze@ks.sel.alcatel.de> and
131 to Andrew Brown <alloneword@dial.pipex.com> for pointing out the
132 misspelling of "whether" (was: wether) throughout my documentation,
133 corrected in version 5.8.
134
135 Thanks also go to Steve Tolkin <steve.tolkin@fmr.com> for suggesting that
136 I should emphasize in the README.txt file that the reading of the INSTALL.txt
137 file is important, especially if running Perl under Windows. :-)
138
139 Many special thanks to Joshua N. Pritikin <joshua.pritikin@db.com> for
140 sending in valuable patches to make this module ready for Perl 5.6.0
141 and to optimize the "strEQ" away from the typemap section in Vector.xs.
142
143 Lots of thanks also to Yitzchak Scott-Thoennes <sthoenna@efn.org> for
144 sending in a patch to make this module ready for Perl 5.6.0 and for
145 extremely useful hints (and a patch) as to why the test suite had
146 failures with Perl 5.6.0 all of a sudden.
147
148 Many thanks to John Peacock <jpeacock@rowman.com> for reporting a
149 problem with the VMS linker which is unable to differentiate case -
150 in violation of the ANSI C standard - and for sending a patch to fix
151 this problem.
152
153 Many thanks to Tom Oelke <toelke@mipos2.intel.com> for reporting a
154 problem with test "t/01________new.t" when Perl was built to use
155 64 bit integers and for suggesting two possible fixes. The second
156 one (adding "use integer;" at the top of the script) was adopted
157 in version 6.2.
158
159 Many thanks to Clint Olsen <clint@0lsen.net> for his many interesting
160 questions and suggestions, one of which led to my writing the new
161 example file "examples/test.c" in version 6.2.
162
163 Many thanks to Tels <tels@bloodgate.com> for his criticism of "GCD()"
164 and the documentation (with respect to common method name aliases
165 such as Or, And, Xor, etc.). Both weaknesses have been fixed in
166 version 6.2.
167
168 Many thanks to Mike Swieton <swietonm@student.gvsu.edu> (and many other
169 people in the past) for sending in a patch so that ToolBox.h will compile
170 with C++ compilers.
171
172 Many thanks to Runip Gopisetty <Runip.Gopisetty@Procket.com> for sending
173 a patch for adding functions for generic string import and export functions.
174 However, I decided to realize these in Perl instead (at least for the time
175 being); you can find them in the new module "Bit::Vector::String". This way
176 even octal representation and enumerations are supported.
177
178 Many heartfelt thanks go to Jamie Blustein <jamie@cs.dal.ca> /
179 <jamie@csd.uwo.ca> / <jamie@ACM.org> for sending me the article
180 "Performance Investigation of Bit-Counting Algorithms with a
181 Speedup to Lookup Table", by Eyas El-Qawasmeh, Department of
182 Computer Science and Information Systems, Jordan University of
183 Science and Technology, cited from the Journal of Research and
184 Practice in Information Technology, Vol. 32, No. 3/4, August/
185 November 2000, thus prompting my reconsideration of the
186 implementation of the "Norm()" method in this module.
187
188 See also his web pages, especially the pages about bit vectors,
189 at:
190     http://www.cs.dal.ca/~jamie/
191     http://www.csd.uwo.ca/~jamie/
192     http://www.csd.uwo.ca/%7ejamie/.Refs/code.html
193     http://www.csd.uwo.ca/%7ejamie/publications.html#BitVectors
194     http://www.csd.uwo.ca/~jamie/BitVectors/
195
196