OSSP CVS Repository

ossp - Check-in [2191]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 2191
Date: 2002-Jun-26 18:00:25 (local)
2002-Jun-26 16:00:25 (UTC)
User:rse
Branch:
Comment: polishing
Tickets:
Inspections:
Files:
ossp-pkg/ui64/README      1.1 -> 1.2     6 inserted, 4 deleted
ossp-pkg/ui64/ui64.pod      1.4 -> 1.5     26 inserted, 15 deleted

ossp-pkg/ui64/README 1.1 -> 1.2

--- README       2002/04/28 13:22:49     1.1
+++ README       2002/06/26 16:00:25     1.2
@@ -4,12 +4,14 @@
   | |_| | | (_) |__   _|
    \__,_|_|\___/   |_|  
                       
-  OSSP ui64 - 64-Bit Aithmetic
+  OSSP ui64 - 64-Bit Arithmetic
   Version 0.1.0 (28-Apr-2002)
 
   ABSTRACT
 
-  OSSP ui64 is ...
+  OSSP ui64 is a small ISO-C library providing portable 64-bit unsigned
+  integer arithmetic. It can be considered as a portable emulation of
+  the new ISO-C99 "unsigned long long" type.
 
   COPYRIGHT AND LICENSE
 
@@ -17,8 +19,8 @@
   Copyright (c) 2002 The OSSP Project <http://www.ossp.org/>
   Copyright (c) 2002 Cable & Wireless Deutschland <http://www.cw.com/de/>
 
-  This file is part of OSSP ui64, a 64-bit arithmetic which
-  can be found at http://www.ossp.org/pkg/lib/ui64/.
+  This file is part of OSSP ui64, a 64-bit arithmetic library
+  which can be found at http://www.ossp.org/pkg/lib/ui64/.
 
   Permission to use, copy, modify, and distribute this software for
   any purpose with or without fee is hereby granted, provided that


ossp-pkg/ui64/ui64.pod 1.4 -> 1.5

--- ui64.pod     2002/04/28 19:04:00     1.4
+++ ui64.pod     2002/06/26 16:00:25     1.5
@@ -66,10 +66,21 @@
 =head1 DESCRIPTION
 
 B<OSSP ui64> is a small B<ISO-C> library for portable 64-bit arithmetic.
-It allows to perform the usual arithmetical and bit-wise operations on
-a B<ISO-C> type B<ui64_t> which resembles a 64-bit unsigned integer
-type. The library does no dynamic memory allocations and instead passes
-B<ui64_t> values directly through the API functions.
+It allows to perform the usual arithmetical and bit-wise operations on a
+B<ISO-C> type B<ui64_t> which resembles a 64-bit unsigned integer type.
+
+In contrast to a built-in C type like the C94 B<unsigned long> or even
+the similar C99 B<unsigned long long>, the operations on B<ui64_t>
+provide full support for correct carry/overflow semantics.
+
+The library does no dynamic memory allocations at all and instead
+passes B<ui64_t> objects by value within the API. This provides a very
+convinient and low-overhead interface.
+
+Internally, B<OSSP ui64> stores the B<ui64_t> in exactly (the expected)
+8 octets which at any time hold the 64-bit value in a portable
+I<8-digits-to-base-256> representation. Nevertheless the B<ui64_t> type
+should be treated as an opaque type.
 
 =head1 APPLICATION PROGRAMMER INTERFACE (API)
 
@@ -81,11 +92,11 @@
 
 =item ui64_t B<ui64_zero>(void);
 
-The value 0, expressed as an ui64_t.
+The value 0, expressed as an B<ui64_t>.
 
 =item ui64_t B<ui64_max>(void);
 
-The maximum value expressable as an ui64_t.
+The maximum value expressable as an B<ui64_t>.
 
 =back
 
@@ -139,7 +150,7 @@
 
 =item ui64_t B<ui64_addn>(ui64_t I<x>, int I<y>, int *I<ov>);
 
-Same as B<ui64_add>, but I<y> and I<ov> are single digits to base 2^8.
+Same as B<ui64_add>, but I<y> and I<ov> are single digits to base 256.
 
 =item ui64_t B<ui64_sub>(ui64_t I<x>, ui64_t I<y>, ui64_t *I<ov>);
 
@@ -149,7 +160,7 @@
 
 =item ui64_t B<ui64_subn>(ui64_t I<x>, int I<y>, int *I<ov>);
 
-Same as B<ui64_sub>, but I<y> and I<ov> are single digits to base 2^8.
+Same as B<ui64_sub>, but I<y> and I<ov> are single digits to base 256.
 
 =item ui64_t B<ui64_mul>(ui64_t I<x>, ui64_t I<y>, ui64_t *I<ov>);
 
@@ -159,7 +170,7 @@
 
 =item ui64_t B<ui64_muln>(ui64_t I<x>, int I<y>, int *I<ov>);
 
-Same as B<ui64_mul>, but I<y> and I<ov> are single digits to base 2^8.
+Same as B<ui64_mul>, but I<y> and I<ov> are single digits to base 256.
 
 =item ui64_t B<ui64_div>(ui64_t I<x>, ui64_t I<y>, ui64_t *I<ov>);
 
@@ -169,7 +180,7 @@
 
 =item ui64_t B<ui64_divn>(ui64_t I<x>, int I<y>, int *I<ov>);
 
-Same as B<ui64_div>, but I<y> and I<ov> are single digits to base 2^8.
+Same as B<ui64_div>, but I<y> and I<ov> are single digits to base 256.
 
 =back
 
@@ -213,7 +224,7 @@
 
 =item int B<ui64_len>(ui64_t I<x>);
 
-Number of digits (1-8) to base 2^8 in I<x>.
+Number of digits (1-8) to base 256 in I<x>.
 
 =item int B<ui64_cmp>(ui64_t I<x>, ui64_t I<y>);
 
@@ -224,12 +235,12 @@
 
 =head1 HISTORY
 
-B<OSSP ui64> was invented in April 2002 by Ralf S. Engelschall
+B<OSSP ui64> was invented in April 2002 by I<Ralf S. Engelschall>
 E<lt>rse@engelschall.comE<gt> for use inside the B<OSSP> project. Its
 creation was prompted by the requirement to calculate with 64-bit
-integers inside B<OSSP tai>. The core implementation is derived
-from the B<XP> library in David R. Hanson's book C<C Interfaces and
-Implementations>.
+integers inside B<OSSP tai>, a time calculation library. The core
+implementation is derived from the B<XP> library in I<David R. Hanson>'s
+book I<C Interfaces and Implementations>.
 
 =head1 AUTHORS
 

CVSTrac 2.0.1