Commit 71199a2a authored by Tim Peters's avatar Tim Peters

Added minimal IFBTree docs.

parent ede7ee45
...@@ -29,6 +29,16 @@ DB ...@@ -29,6 +29,16 @@ DB
raised. In ZODB 3.6, these optional arguments will be removed. raised. In ZODB 3.6, these optional arguments will be removed.
BTrees
------
- A new family of BTree types, in the ``IFBTree`` module, map
signed integers (32 bits) to C floats (also 32 bits). The
intended use is to help construct search indices, where, e.g.,
integer word or document identifiers map to scores of some
kind. This is easier than trying to work with scaled integer
score in an ``IIBTree``, and Zope3 has moved to ``IFBTrees``
for these purposes in its search code.
Tools Tools
----- -----
......
...@@ -59,11 +59,11 @@ touching every single key). ...@@ -59,11 +59,11 @@ touching every single key).
The BTrees package provides a large collection of related data The BTrees package provides a large collection of related data
structures. There are variants of the data structures specialized to structures. There are variants of the data structures specialized to
integers, which are faster and use less memory. There integers, which are faster and use less memory. There
are four modules that handle the different variants. The first two are five modules that handle the different variants. The first two
letters of the module name specify the types of the keys and values in letters of the module name specify the types of the keys and values in
mappings -- O for any object and I for integer. For example, the mappings -- O for any object, I for 32-bit signed integer, and F for
\module{BTrees.IOBTree} module provides a mapping with integer 32-bit C float. For example, the \module{BTrees.IOBTree} module provides
keys and arbitrary objects as values. a mapping with integer keys and arbitrary objects as values.
The four data structures provide by each module are a BTree, a Bucket, The four data structures provide by each module are a BTree, a Bucket,
a TreeSet, and a Set. The BTree and Bucket types are mappings and a TreeSet, and a Set. The BTree and Bucket types are mappings and
...@@ -85,10 +85,10 @@ is built out of multiple objects, which ZODB can load individually ...@@ -85,10 +85,10 @@ is built out of multiple objects, which ZODB can load individually
as needed. as needed.
The four modules are named \module{OOBTree}, \module{IOBTree}, The four modules are named \module{OOBTree}, \module{IOBTree},
\module{OIBTree}, and \module{IIBTree}. The two letter prefixes are \module{OIBTree}, \module{IIBTree}, and \module{IFBTree}. The two letter
repeated in the data types names. The \module{BTrees.OOBTree} module prefixes are repeated in the data types names. The \module{BTrees.OOBTree}
defines the following types: \class{OOBTree}, \class{OOBucket}, module defines the following types: \class{OOBTree}, \class{OOBucket},
\class{OOSet}, and \class{OOTreeSet}. Similarly, the other three modules \class{OOSet}, and \class{OOTreeSet}. Similarly, the other four modules
each define their own variants of those four types. each define their own variants of those four types.
The \function{keys()}, \function{values()}, and \function{items()} The \function{keys()}, \function{values()}, and \function{items()}
...@@ -179,8 +179,8 @@ BTrees -- \function{difference()}, \function{union()}, and ...@@ -179,8 +179,8 @@ BTrees -- \function{difference()}, \function{union()}, and
\function{intersection()}. The \function{difference()} function returns \function{intersection()}. The \function{difference()} function returns
a Bucket, while the other two methods return a Set. a Bucket, while the other two methods return a Set.
If the keys are integers, then the module also defines If the keys are integers, then the module also defines
\function{multiunion()}. If the values are integers, then the module \function{multiunion()}. If the values are integers or floats, then the
also defines \function{weightedIntersection()} and module also defines \function{weightedIntersection()} and
\function{weightedUnion()}. The function doc strings describe each \function{weightedUnion()}. The function doc strings describe each
function briefly. function briefly.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment