var searchIndex = {}; searchIndex["gst"] = {"doc":"","items":[[0,"gst","gst","",null,null],[3,"Gst","gst::gst","`Gst` is a tree similar to a B+ tree but using a `GstKey` instead of requiring that the key\nimplements `Ord`",null,null],[4,"Error","","The Error type",null,null],[13,"NotFound","","",0,null],[0,"diag","","",null,null],[5,"print_gst","gst::gst::diag","",null,{"inputs":[{"name":"gst"}],"output":null}],[8,"GstKey","gst::gst","`GstKey` represents a the Generalized Search Tree.\nSee http://gist.cs.berkeley.edu/libgist-2.0/\nThe rename from `GiST` to Gst is because it conflicts with github gists and no one knows what the\n'i' stands for anyway.",null,null],[10,"consistent","","Return true if self contains (or overlaps) k.",1,null],[10,"expand","","Expand the Key to cover k.",1,null],[11,"union","","Given a slice of T, make a Self that contains them. Return None if the slice was empty.",1,null],[10,"penalty","","Return a float representing the cost of inserting T into the Key.\nAlso return a score so the machinations can compare scores from orphaned children.",1,null],[10,"pick_split","","Given a slice of Self, return a vector of indices of items that should be carved off into\ntheir own node.\nAssumes that the leaf was inserted in some kind of ordering.",1,null],[11,"clone","","",0,null],[11,"eq","","",0,null],[11,"fmt","","",0,null],[11,"new","","Create a new Gst",2,{"inputs":[],"output":{"name":"self"}}],[11,"insert","","Insert a Key and associated Value into the Gst.",2,null],[11,"get","","Retrieve all the keys and values inside a region.",2,null],[11,"remove","","Remove an item based on an exact key match.\nReturns the Key and Value on success, otherwise `Error::NotFound`",2,null],[0,"rtree","gst","",null,null],[3,"Point","gst::rtree","A two dimensional point which supports `Ord`.",null,null],[3,"Rect","","A Rectangle.",null,null],[12,"xmin","","",3,null],[12,"xmax","","",3,null],[12,"ymin","","",3,null],[12,"ymax","","",3,null],[4,"Axis","","",null,null],[13,"X","","",4,null],[13,"Y","","",4,null],[6,"RTree","","An [R* Tree](http://dbs.mathematik.uni-marburg.de/publications/myPapers/1990/BKSS90.pdf)",null,null],[11,"cmp","","",5,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"new","","A new point.",5,{"inputs":[{"name":"f32"},{"name":"f32"}],"output":{"name":"point"}}],[11,"distance","","Find the distance between two points.",5,null],[11,"into","","",5,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"from_float","","Create a `Rect` from floats.",3,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"self"}}],[11,"intersection","","Return the intersection of two `Rect`s. Return None if they do not intersect.\nAlso called 'overlap' in the R* tree paper.",3,null],[11,"area","","Return the area of a `Rect`",3,null],[11,"growth","","Return the difference in area of the `Rect` if it were to merge with another `Rect`",3,null],[11,"perimeter","","Return the perimeter of a `Rect`\nAlso called 'margin' in the R* tree paper.",3,null],[11,"cmp_x","","Comparison function if sorting by the x axis.",3,{"inputs":[{"name":"rect"},{"name":"rect"}],"output":{"name":"ordering"}}],[11,"cmp_y","","Comparison function if sorting by the y axis.",3,{"inputs":[{"name":"rect"},{"name":"rect"}],"output":{"name":"ordering"}}],[11,"consistent","","",3,null],[11,"expand","","",3,null],[11,"penalty","","Vanilla R tree algorithm: 1. choose subtree based on min growth.\nR* tree algorithm: 1. choose subtree based on min overlap growth. \n 2. use min growth as a tiebreaker\nWe use R* tree algorithm below.",3,null],[11,"pick_split","","",3,null],[11,"partial_cmp","","",3,null],[11,"cmp","","",3,null]],"paths":[[4,"Error"],[8,"GstKey"],[3,"Gst"],[3,"Rect"],[4,"Axis"],[3,"Point"]]}; initSearch(searchIndex);