Modification History This page summarizes the changes in the source code from C Interfaces and Implementations in reverse chronological order. For more information about this book, see the World-Wide Web page at http://www.cs.princeton.edu/software/cii/. 09b3 Thu May 30 01:13:26 EDT 1996 This beta release is the last one before release 1.0, which will coincide with the publication of C Interfaces and Implementations in August 1996. There are too many bug fixes to list individually here, so the following summary describes only the interface changes and the new examples. cref/*.c: A version of xref that uses Text and Ring. iref/*.c: A version of xref that uses Text, Array, and MP. idents/*.c: A version of ids that uses Str and Seq. kref/*.c: A version of xref that uses Str and Seq. words/*.c: A version of ids that uses Text and Ring. src/bit.h: Renamed Bit_length to Bit_count, Bit_size to Bit_length, Bit_member to Bit_get, and removed Bit_remove. Removed Bit_remove. Changed Bit_put to Bit_put(set, n, bit), which now sets bit n in set to bit and returns the previous value of bit n. src/except.h: Added enumeration identifiers for the values assigned to Except_flag. src/ring.h: Changed Ring_put(ring, i, x) so it returns the previous value of ring[i] instead of x. src/seq.h: Changed Seq_put(seq, i, x) so it returns the previous value of seq[i] instead of x. src/set.h: Renamed Set_cvt to Set_fmt. src/str.h: Renamed Str_cvt to Str_fmt. src/table.h: Changed Table_put(table, key, value) so it returns the previous value associated with key instead of value, or null if table doesn't hold key. src/text.h: Changed the str field in Text_T to const char *str. Renamed Text_cvt to Text_fmt. src/xp.h: Changed the return type of XP_add, XP_sub, XP_sum, XP_diff, XP_product, XP_quotient, and XP_neg, and XP_fromstr to int, and changed the type of the last argument (carry, borrow, or y) to these functions to int. Changed the return type of XP_fromstr to int. Changed the prototype of XP_mul to int XP_mul(T z, int n, T x, int m, T y) so n and m precede the T values to which they apply. Changed the prototype of XP_div to int XP_div(int n, T q, T x, int m, T y, T r, T tmp) so n and m precede the T values to which they apply . Changed the type of the last argument (fill) to XP_lshift and XP_lshift to int. 09b2 Sat Feb 3 11:20:30 PST 1996 `const' qualifiers have been added to some of the arguments in many of the interfaces. The source files have been stamped with an RCS-like revision numbers. C++ keywords are no longer used as variables. calc/calc.c: Changed the negation operator _ to ~. mpcalc/mpcalc.c: Changed the negation and complement operators, _ and ~, to ~ and !. src/atom.h: Atom_new now accepts zero-length strings. src/atom.c: Changed Atom_new to accept len=0. src/bit.h: Removed Bit_cmp. Added Bit_eq, Bit_leq, and Bit_lt. src/bit.c: Changed internal representation to avoid the `struct hack,' removed Bit_cmp, and added implementations for Bit_eq, Bit_leq, and Bit_lt. src/except.h: Removed RETURN_VOID and changed the definition of RETURN so that it subsumes RETURN_VOID. src/ring.c: Fixed Ring_rotate so that Ring_rotate(r, 0) when r is empty works. src/set.h: The cmp(x,y) function passed to Set_new must now return an integer <0, =0, or >0 if xy. src/str.c: Fixed incorrect arguments to va_start in Str_catv. src/swtch.s: Added support for the DEC Alpha. src/table.h: The cmp(x,y) function passed to Table_new must now return an integer <0, =0, or >0 if xy. src/table.c: Fixed incorrect comparison in Table_remove that caused entries not to be removed. src/thread.h: Added Thread_Failed; Thread_new raises Thread_Failed when it cannot create a thread, instead of Mem_Failed. src/thread.c: Fixed incorrect arguments to memset in Thread_new, and changed Thread_new to raise Thread_Failed. Added support for the DEC Alpha to Thread_new. 09b1 Mon Oct 30 00:26:58 EST 1995 Initial beta release. Back to the CII home page. --------------------------------------------------------------------------- David Hanson / drh@cs.princeton.edu $Revision: 1.3 $ $Date: 1996/05/30 02:21:34 $