OSSP CVS Repository

ossp - Difference in ossp-pkg/ui64/ui64.pod versions 1.4 and 1.5
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

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