Page 49 - DLIS103_LIBRARY_CLASSIFICATION_AND_CATALOGUING_THEORY
P. 49
Library Classification and Cataloguing Theory
Notes Our web pages include more information about these Collections. For more information about
call numbers and finding library materials, ask your librarian.
Task Explain how the call number help to search the book into the Library.
6.2 Class Number
Library class number (CLN) is a free library for arbitrary precision arithmetic.
It operates on signed integers, rational numbers, floating point numbers, complex num-
bers, modular numbers, and univariate polynomials.
Its implementation programming language is C++.
Notes CLN uses object oriented techniques and operator overloading to achieve a natural
algebraic syntax: The sum x of two variables a and b is written as x = a + b, as opposed to the
function sum (& x, a, b).
CLN uses class inheritance to model the natural subsets of the available number types: e.g., the
integer class is a subtype of the rational class, just as the integer numbers are a subset of the
rational numbers. The complex numbers and all its subtypes behave exactly like the types of
numbers known to the Common Lisp language, giving CLN another meaning: it becomes an
abbreviation of Common Lisp Numbers. Due to this, CLN can be and is used for implementations
of Common Lisp, other interpreted languages, or computer algebra systems.
Features and Overview
(a) CLN is a C++ library providing the following features:
Rich set of number classes: Integer (unlimited precision), rational, short float, single float,
double float, long float (unlimited precision), complex, modular integer, univariate poly-
nomial.
Elementary, logical, transcendental functions.
C++ as implementation language brings
Efficiency.
Type safety.
Algebraic syntax.
Memory efficiency:
Small integers and short floats are immediate, not heap allocated.
Automatic, non-interruptive garbage collection.
Speed efficiency:
Assembly language kernel for some CPUs,
Karatsuba and Schönhage-Strassen multiplication,
Binary splitting
Interoperability:
Garbage collection with no burden on the main application,
Hooks for memory allocation and exceptions.
44 LOVELY PROFESSIONAL UNIVERSITY