diff options
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/grouping.h | 4 | ||||
-rw-r--r-- | stdlib/monetary.h | 30 | ||||
-rw-r--r-- | stdlib/qsort.c | 83 | ||||
-rw-r--r-- | stdlib/random.c | 16 | ||||
-rw-r--r-- | stdlib/random_r.c | 12 | ||||
-rw-r--r-- | stdlib/stdlib.h | 3 | ||||
-rw-r--r-- | stdlib/strfmon.c | 42 | ||||
-rw-r--r-- | stdlib/strtod.c | 2 |
8 files changed, 94 insertions, 98 deletions
diff --git a/stdlib/grouping.h b/stdlib/grouping.h index 3aa4aaf..8b097b6 100644 --- a/stdlib/grouping.h +++ b/stdlib/grouping.h @@ -111,7 +111,7 @@ correctly_grouped_prefix (const STRING_TYPE *begin, const STRING_TYPE *end, /* The trailing portion of the string starting at NEW_END contains a grouping error. So we will look for a correctly - gouped number in the preceding portion instead. */ + grouped number in the preceding portion instead. */ end = new_end; } else @@ -123,7 +123,7 @@ correctly_grouped_prefix (const STRING_TYPE *begin, const STRING_TYPE *end, /* This number does not fill the first group, but is correct. */ return end; else - /* CP points to a thousands seperator character. */ + /* CP points to a thousands separator character. */ end = cp; } } diff --git a/stdlib/monetary.h b/stdlib/monetary.h index c2a1bc8..c8f3f4d 100644 --- a/stdlib/monetary.h +++ b/stdlib/monetary.h @@ -1,21 +1,21 @@ /* Header file for monetary value formatting functions. -Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. + Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef _MONETARY_H @@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */ __BEGIN_DECLS -/* Formating a monetary value according to the current locale. */ +/* Formatting a monetary value according to the current locale. */ extern ssize_t strfmon __P ((char *__s, size_t __maxsize, __const char *__format, ...)); diff --git a/stdlib/qsort.c b/stdlib/qsort.c index bc8d171..0c83c48 100644 --- a/stdlib/qsort.c +++ b/stdlib/qsort.c @@ -1,21 +1,21 @@ -/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Written by Douglas C. Schmidt (schmidt@ics.uci.edu). +/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Douglas C. Schmidt (schmidt@ics.uci.edu). -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include <ansidecl.h> #include <stdlib.h> @@ -40,7 +40,7 @@ Cambridge, MA 02139, USA. */ #define MAX_THRESH 4 /* Stack node declarations used to store unfulfilled partition obligations. */ -typedef struct +typedef struct { char *lo; char *hi; @@ -50,26 +50,26 @@ typedef struct #define STACK_SIZE (8 * sizeof(unsigned long int)) #define PUSH(low, high) ((void) ((top->lo = (low)), (top->hi = (high)), ++top)) #define POP(low, high) ((void) (--top, (low = top->lo), (high = top->hi))) -#define STACK_NOT_EMPTY (stack < top) +#define STACK_NOT_EMPTY (stack < top) /* Order size using quicksort. This implementation incorporates four optimizations discussed in Sedgewick: - 1. Non-recursive, using an explicit stack of pointer that store the - next array partition to sort. To save time, this maximum amount - of space required to store an array of MAX_INT is allocated on the - stack. Assuming a 32-bit integer, this needs only 32 * + 1. Non-recursive, using an explicit stack of pointer that store the + next array partition to sort. To save time, this maximum amount + of space required to store an array of MAX_INT is allocated on the + stack. Assuming a 32-bit integer, this needs only 32 * sizeof(stack_node) == 136 bits. Pretty cheap, actually. 2. Chose the pivot element using a median-of-three decision tree. - This reduces the probability of selecting a bad pivot value and + This reduces the probability of selecting a bad pivot value and eliminates certain extraneous comparisons. 3. Only quicksorts TOTAL_ELEMS / MAX_THRESH partitions, leaving - insertion sort to order the MAX_THRESH items within each partition. + insertion sort to order the MAX_THRESH items within each partition. This is a big win, since insertion sort is faster for small, mostly - sorted array segements. + sorted array segments. 4. The larger of the two sub-partitions is always pushed onto the stack first, with the algorithm then concentrating on the @@ -108,8 +108,8 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), char *pivot = pivot_buffer; /* Select median value from among LO, MID, and HI. Rearrange - LO and HI so the three values are sorted. This lowers the - probability of picking a pathological pivot value and + LO and HI so the three values are sorted. This lowers the + probability of picking a pathological pivot value and skips a comparison for both the LEFT_PTR and RIGHT_PTR. */ char *mid = lo + size * ((hi - lo) / size >> 1); @@ -118,7 +118,7 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), SWAP(mid, lo, size); if ((*cmp)((PTR) hi, (PTR) mid) < 0) SWAP(mid, hi, size); - else + else goto jump_over; if ((*cmp)((PTR) mid, (PTR) lo) < 0) SWAP(mid, lo, size); @@ -127,12 +127,12 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), pivot = pivot_buffer; left_ptr = lo + size; - right_ptr = hi - size; + right_ptr = hi - size; - /* Here's the famous ``collapse the walls'' section of quicksort. - Gotta like those tight inner loops! They are the main reason + /* Here's the famous ``collapse the walls'' section of quicksort. + Gotta like those tight inner loops! They are the main reason that this algorithm runs much faster than others. */ - do + do { while ((*cmp)((PTR) left_ptr, (PTR) pivot) < 0) left_ptr += size; @@ -140,23 +140,23 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), while ((*cmp)((PTR) pivot, (PTR) right_ptr) < 0) right_ptr -= size; - if (left_ptr < right_ptr) + if (left_ptr < right_ptr) { SWAP(left_ptr, right_ptr, size); left_ptr += size; right_ptr -= size; } - else if (left_ptr == right_ptr) + else if (left_ptr == right_ptr) { left_ptr += size; right_ptr -= size; break; } - } + } while (left_ptr <= right_ptr); /* Set up pointers for next iteration. First determine whether - left and right partitions are below the threshold size. If so, + left and right partitions are below the threshold size. If so, ignore one or both. Otherwise, push the larger partition's bounds on the stack and continue sorting the smaller one. */ @@ -164,22 +164,22 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), { if ((size_t) (hi - left_ptr) <= max_thresh) /* Ignore both small partitions. */ - POP(lo, hi); + POP(lo, hi); else - /* Ignore small left partition. */ + /* Ignore small left partition. */ lo = left_ptr; } else if ((size_t) (hi - left_ptr) <= max_thresh) /* Ignore small right partition. */ hi = right_ptr; else if ((right_ptr - lo) > (hi - left_ptr)) - { + { /* Push larger left partition indices. */ PUSH(lo, right_ptr); lo = left_ptr; } else - { + { /* Push larger right partition indices. */ PUSH(left_ptr, hi); hi = right_ptr; @@ -188,8 +188,8 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), } /* Once the BASE_PTR array is partially sorted by quicksort the rest - is completely sorted using insertion sort, since this is efficient - for partitions below MAX_THRESH size. BASE_PTR points to the beginning + is completely sorted using insertion sort, since this is efficient + for partitions below MAX_THRESH size. BASE_PTR points to the beginning of the array to sort, and END_PTR points at the very last element in the array (*not* one beyond it!). */ @@ -240,4 +240,3 @@ DEFUN(_quicksort, (pbase, total_elems, size, cmp), } } } - diff --git a/stdlib/random.c b/stdlib/random.c index ffa658d..370a610 100644 --- a/stdlib/random.c +++ b/stdlib/random.c @@ -35,16 +35,16 @@ then initialized to contain information for random number generation with that much state information. Good sizes for the amount of state information are 32, 64, 128, and 256 bytes. The state can be switched by - calling the setstate() function with the same array as was initiallized + calling the setstate() function with the same array as was initialized with initstate(). By default, the package runs with 128 bytes of state information and generates far better random numbers than a linear congruential generator. If the amount of state information is less than 32 bytes, a simple linear congruential R.N.G. is used. Internally, the - state information is treated as an array of longs; the zeroeth element of + state information is treated as an array of longs; the zeroth element of the array is the type of R.N.G. being used (small integer); the remainder of the array is the state information for the R.N.G. Thus, 32 bytes of state information will give 7 longs worth of state information, which will - allow a degree seven polynomial. (Note: The zeroeth word of state + allow a degree seven polynomial. (Note: The zeroth word of state information also has some other information stored in it; see setstate for details). The random number generation technique is a linear feedback shift register approach, employing trinomials (since there are fewer terms @@ -64,7 +64,7 @@ /* For each of the currently supported random number generators, we have a - break value on the amount of state information (you need at least thi + break value on the amount of state information (you need at least this many bytes of state info to support this random number generator), a degree for the polynomial (actually a trinomial) that the R.N.G. is based on, and separation between the two lower order coefficients of the trinomial. */ @@ -110,7 +110,7 @@ initstate(1, randtbl, 128); Note that this initialization takes advantage of the fact that srandom advances the front and rear pointers 10*rand_deg times, and hence the - rear pointer which starts at 0 will also end up at zero; thus the zeroeth + rear pointer which starts at 0 will also end up at zero; thus the zeroth element of the state information, which contains info about the current position of the rear pointer is just (MAX_TYPES * (rptr - state)) + TYPE_3 == TYPE_3. */ @@ -148,7 +148,7 @@ static struct random_data unsafe_state = the type of the current generator, the degree of the current polynomial being used, and the separation between the two pointers. Note that for efficiency of random, we remember the first location of - the state information, not the zeroeth. Hence it is valid to access + the state information, not the zeroth. Hence it is valid to access state[-1], which is used to store the type of the R.N.G. Also, we remember the last location, since this is more efficient than indexing every time to find the address of the last element to see if @@ -224,7 +224,7 @@ weak_alias (__initstate, initstate) Note: It is important that we also remember the locations of the pointers in the current state information, and restore the locations of the pointers from the old state information. This is done by multiplexing the pointer - location into the zeroeth word of the state information. Note that due + location into the zeroth word of the state information. Note that due to the order in which things are done, it is OK to call setstate with the same state as the current state Returns a pointer to the old state information. */ @@ -250,7 +250,7 @@ weak_alias (__setstate, setstate) /* If we are using the trivial TYPE_0 R.N.G., just do the old linear congruential bit. Otherwise, we do our fancy trinomial stuff, which is the - same in all ther other cases due to all the global variables that have been + same in all the other cases due to all the global variables that have been set up. The basic operation is to add the number at the rear pointer into the one at the front pointer. Then both pointers are advanced to the next location cyclically in the table. The value returned is the sum generated, diff --git a/stdlib/random_r.c b/stdlib/random_r.c index 823075b..d19fd17 100644 --- a/stdlib/random_r.c +++ b/stdlib/random_r.c @@ -35,16 +35,16 @@ then initialized to contain information for random number generation with that much state information. Good sizes for the amount of state information are 32, 64, 128, and 256 bytes. The state can be switched by - calling the setstate() function with the same array as was initiallized + calling the setstate() function with the same array as was initialized with initstate(). By default, the package runs with 128 bytes of state information and generates far better random numbers than a linear congruential generator. If the amount of state information is less than 32 bytes, a simple linear congruential R.N.G. is used. Internally, the - state information is treated as an array of longs; the zeroeth element of + state information is treated as an array of longs; the zeroth element of the array is the type of R.N.G. being used (small integer); the remainder of the array is the state information for the R.N.G. Thus, 32 bytes of state information will give 7 longs worth of state information, which will - allow a degree seven polynomial. (Note: The zeroeth word of state + allow a degree seven polynomial. (Note: The zeroth word of state information also has some other information stored in it; see setstate for details). The random number generation technique is a linear feedback shift register approach, employing trinomials (since there are fewer terms @@ -64,7 +64,7 @@ /* For each of the currently supported random number generators, we have a - break value on the amount of state information (you need at least thi + break value on the amount of state information (you need at least this many bytes of state info to support this random number generator), a degree for the polynomial (actually a trinomial) that the R.N.G. is based on, and separation between the two lower order coefficients of the trinomial. */ @@ -236,7 +236,7 @@ weak_alias (__initstate_r, initstate_r) Note: It is important that we also remember the locations of the pointers in the current state information, and restore the locations of the pointers from the old state information. This is done by multiplexing the pointer - location into the zeroeth word of the state information. Note that due + location into the zeroth word of the state information. Note that due to the order in which things are done, it is OK to call setstate with the same state as the current state Returns a pointer to the old state information. */ @@ -290,7 +290,7 @@ weak_alias (__setstate_r, setstate_r) /* If we are using the trivial TYPE_0 R.N.G., just do the old linear congruential bit. Otherwise, we do our fancy trinomial stuff, which is the - same in all ther other cases due to all the global variables that have been + same in all the other cases due to all the global variables that have been set up. The basic operation is to add the number at the rear pointer into the one at the front pointer. Then both pointers are advanced to the next location cyclically in the table. The value returned is the sum generated, diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index 99fcf2e..235b2f0 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -31,9 +31,6 @@ #define __need_NULL #include <stddef.h> -#define __need_Emath -#include <errno.h> - __BEGIN_DECLS /* Returned by `div'. */ diff --git a/stdlib/strfmon.c b/stdlib/strfmon.c index 85f8898..469908c 100644 --- a/stdlib/strfmon.c +++ b/stdlib/strfmon.c @@ -1,23 +1,23 @@ -/* strfmon -- formating a monetary value according to the current locale -Copyright (C) 1996 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper <drepper@cygnus.com> -and Jochen Hein <Jochen.Hein@informatik.TU-Clausthal.de>, 1996. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +/* Formatting a monetary value according to the current locale. + Copyright (C) 1996 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com> + and Jochen Hein <Jochen.Hein@informatik.TU-Clausthal.de>, 1996. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #include <ctype.h> #include <errno.h> @@ -355,7 +355,7 @@ strfmon (char *s, size_t maxsize, const char *format, ...) #define left_paren '(' #define right_paren ')' - startp = dest; /* Remember start so we can compute lenght. */ + startp = dest; /* Remember start so we can compute length. */ if (sign_posn == 0) out_char (left_paren); diff --git a/stdlib/strtod.c b/stdlib/strtod.c index 60a3de5..8c305ca 100644 --- a/stdlib/strtod.c +++ b/stdlib/strtod.c @@ -333,7 +333,7 @@ __mpn_lshift_1 (mp_limb_t *ptr, mp_size_t size, unsigned int count, Set *ENDPTR to the character after the last used one. If the number is smaller than the smallest representable number, set `errno' to ERANGE and return 0.0. If the number is too big to be represented, set `errno' to - ERANGE and return HUGE_VAL with the approriate sign. */ + ERANGE and return HUGE_VAL with the appropriate sign. */ FLOAT INTERNAL (STRTOF) (nptr, endptr, group) const STRING_TYPE *nptr; |