picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 40ca1fca176c7df5103ea68543f1be67dd2c6108
parent fa4631d6a2694507844508c1b0a8db9e9e8a231e
Author: Alexander Burger <abu@software-lab.de>
Date:   Fri, 20 May 2011 14:42:46 +0200

UB-Tree support (minor doc change)
Diffstat:
Mdoc/refU.html | 36+++++++++++++++++-------------------
1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/doc/refU.html b/doc/refU.html @@ -32,39 +32,39 @@ href="refL.html#locale">locale</a></code>. <dt><a name="+UB"><code>+UB</code></a> <dd>Prefix class for <code><a href="refA.html#+Aux">+Aux</a></code> to maintain an UB-Tree index instead of the direct values. This allows efficient range -access to multidimensional data. Currently, only numeric keys are supported. See -also <code><a href="ref.html#dbase">Database</a></code>. +access to multidimensional data. Only numeric keys are supported. See also +<code><a href="ref.html#dbase">Database</a></code>. <pre><code> (class +Pos +Entity) (rel x (+UB +Aux +Ref +Number) (y z)) -(rel y (+Ref +Number)) -(rel z (+Ref +Number)) +(rel y (+Number)) +(rel z (+Number)) : (scan (tree 'x '+Pos)) ... -(664594005183881683 . {D}) {D} -(899018453307525604 . {E}) {E} # UBKEY of (516516 690628 706223) +(664594005183881683 . {B}) {B} +(899018453307525604 . {C}) {C} # UBKEY of (516516 690628 706223) (943014863198293414 . {2}) {2} -(988682500781514058 . {C}) {C} -(994667870851824704 . {:}) {:} -(1016631364991047263 . {A}) {A} +(988682500781514058 . {A}) {A} +(994667870851824704 . {8}) {8} +(1016631364991047263 . {:}) {:} ... -: (show '{E}) -{E} (+Pos) +: (show '{C}) +{C} (+Pos) z 706223 y 690628 x 516516 --> {E} +-> {C} # Discrete queries work the same way as without the +UB prefix : (db 'x '+Pos 516516 'y 690628 'z 706223) --> {E} +-> {C} : (aux 'x '+Pos 516516 690628 706223) --> {E} +-> {C} : (? (db x +Pos (516516 690628 706223) @Pos)) - @Pos={E} + @Pos={C} -> NIL # Efficient range queries are are possible now @@ -77,10 +77,8 @@ also <code><a href="ref.html#dbase">Database</a></code>. (range @X @@ x) # Filter (range @Y @@ y) (range @Z @@ z) ) ) - @X=(416511 . 616519) @Y=(590621 . 890629) @Z=(606221 . 906229) @@={E} - @X=(416511 . 616519) @Y=(590621 . 890629) @Z=(606221 . 906229) @@={:} - - + @X=(416511 . 616519) @Y=(590621 . 890629) @Z=(606221 . 906229) @@={C} + @X=(416511 . 616519) @Y=(590621 . 890629) @Z=(606221 . 906229) @@={8} </code></pre> <dt><a name="u"><code>(u) -> T</code></a>