Index: ossp-pkg/ui64/README RCS File: /v/ossp/cvs/ossp-pkg/ui64/README,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/ui64/README,v' 2>/dev/null --- 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 Copyright (c) 2002 Cable & Wireless Deutschland - 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 Index: ossp-pkg/ui64/ui64.pod RCS File: /v/ossp/cvs/ossp-pkg/ui64/ui64.pod,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/ui64/ui64.pod,v' 2>/dev/null --- 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 is a small B library for portable 64-bit arithmetic. -It allows to perform the usual arithmetical and bit-wise operations on -a B type B which resembles a 64-bit unsigned integer -type. The library does no dynamic memory allocations and instead passes -B values directly through the API functions. +It allows to perform the usual arithmetical and bit-wise operations on a +B type B which resembles a 64-bit unsigned integer type. + +In contrast to a built-in C type like the C94 B or even +the similar C99 B, the operations on B +provide full support for correct carry/overflow semantics. + +The library does no dynamic memory allocations at all and instead +passes B objects by value within the API. This provides a very +convinient and low-overhead interface. + +Internally, B stores the B 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 type +should be treated as an opaque type. =head1 APPLICATION PROGRAMMER INTERFACE (API) @@ -81,11 +92,11 @@ =item ui64_t B(void); -The value 0, expressed as an ui64_t. +The value 0, expressed as an B. =item ui64_t B(void); -The maximum value expressable as an ui64_t. +The maximum value expressable as an B. =back @@ -139,7 +150,7 @@ =item ui64_t B(ui64_t I, int I, int *I); -Same as B, but I and I are single digits to base 2^8. +Same as B, but I and I are single digits to base 256. =item ui64_t B(ui64_t I, ui64_t I, ui64_t *I); @@ -149,7 +160,7 @@ =item ui64_t B(ui64_t I, int I, int *I); -Same as B, but I and I are single digits to base 2^8. +Same as B, but I and I are single digits to base 256. =item ui64_t B(ui64_t I, ui64_t I, ui64_t *I); @@ -159,7 +170,7 @@ =item ui64_t B(ui64_t I, int I, int *I); -Same as B, but I and I are single digits to base 2^8. +Same as B, but I and I are single digits to base 256. =item ui64_t B(ui64_t I, ui64_t I, ui64_t *I); @@ -169,7 +180,7 @@ =item ui64_t B(ui64_t I, int I, int *I); -Same as B, but I and I are single digits to base 2^8. +Same as B, but I and I are single digits to base 256. =back @@ -213,7 +224,7 @@ =item int B(ui64_t I); -Number of digits (1-8) to base 2^8 in I. +Number of digits (1-8) to base 256 in I. =item int B(ui64_t I, ui64_t I); @@ -224,12 +235,12 @@ =head1 HISTORY -B was invented in April 2002 by Ralf S. Engelschall +B was invented in April 2002 by I Erse@engelschall.comE for use inside the B project. Its creation was prompted by the requirement to calculate with 64-bit -integers inside B. The core implementation is derived -from the B library in David R. Hanson's book C. +integers inside B, a time calculation library. The core +implementation is derived from the B library in I's +book I. =head1 AUTHORS