;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defalias 'rtree-make-node '(macro . #[nil "\300\207" [(list (list nil) nil)] 1]))
(defalias 'rtree-set-left '(macro . #[(node left) "\302\303D	E\207" [node left setcar cdr] 3]))
(defalias 'rtree-set-right '(macro . #[(node right) "\302\303D	E\207" [node right setcdr cdr] 3]))
(defalias 'rtree-set-range '(macro . #[(node range) "\302	E\207" [node range setcar] 3]))
(defalias 'rtree-low '(macro . #[(node) "\301D\207" [node caar] 2]))
(defalias 'rtree-high '(macro . #[(node) "\301D\207" [node cdar] 2]))
(defalias 'rtree-set-low '(macro . #[(node number) "\302\303D	E\207" [node number setcar car] 3]))
(defalias 'rtree-set-high '(macro . #[(node number) "\302\303D	E\207" [node number setcdr car] 3]))
(defalias 'rtree-left '(macro . #[(node) "\301D\207" [node cadr] 2]))
(defalias 'rtree-right '(macro . #[(node) "\301D\207" [node cddr] 2]))
(defalias 'rtree-range '(macro . #[(node) "\301D\207" [node car] 2]))
(defalias 'rtree-normalize-range #[(range) "\247\203	 \211B\207" [range] 2])
(byte-code "\300\301\302\303#\210\304\305\301\306#\210\307\305\301\310#\207" [put rtree-normalize-range byte-optimizer byte-compile-inline-expand defalias rtree-normalise-range nil make-obsolete "25.1"] 4)
#@27 Make an rtree from RANGE.
(defalias 'rtree-make #[(range) "\243<\204	 C\301\302BG\"\207" [range rtree-make-1 nil] 3 (#$ . 1622)])
(defalias 'rtree-make-1 #[(range length) "\304\245\305C\305D\211\306V\203 	A\307\n\"\240\210	A@\211\247\203% \211B)\240\210\211AA\241\210\310\n\311#\306V\203E 	A\307\310\n\311#\"\241\210	*\207" [length node mid range 2 nil 0 rtree-make-1 - 1] 8])
#@46 Return non-nil if NUMBER is present in TREE.
(defalias 'rtree-memq #[(tree number) "\203* 	@@Y\203 	@AX\204* 	@@W\203\" A@\202% AA\211\204 \207" [tree number] 3 (#$ . 2024)])
#@21 Add NUMBER to TREE.
(defalias 'rtree-add #[(tree number) "\205\340 	@@Y\203 	@AX\203 \303\211\202 	@@W\203\201 	@@SU\203Y @	\240\210A@\203S A@@A	SU\203S @A@@@\240\210AA@A@\240\210\303\211\202 A@\203g A@\211\202 \303C\303D\211@	\240\210\n@	\241\210A\n\240\210\303)\202  	@ATU\203\270 @	\241\210AA\203\262 AA@@	TU\203\262 @AA@A\241\210AAAAA\241\210\303\211\202 AA\203\306 AA\211\202 \303C\303D\211@	\240\210\n@	\241\210A\n\241\210\303)\202  \207" [tree number new-node nil] 3 (#$ . 2215)])
#@63 Remove NUMBER from TREE destructively.  Returns the new tree.
(defalias 'rtree-delq #[(tree number) "\306\203J@@W\203 A@\211\202 @AV\203, AA\211\202 @@@AU\203\230 A@\203h AA\203h \211AA\fA@\203X \f\fA@\211\202I \f@\240\210A\fAA\240\210*\202DA@\206q AA	\204} \202\224 	A@=\203\216 	A\240\210\202\224 	A\241\210)\202D@@U\203\251 @T\240\210\202D@AU\203\272 @S\241\210\202D\306C\306D\211@@@\240\210@S\241\210@T\240\210A@\203 AA\203 A@\211	AA\203\365 	AA\211	\202\346 	A\241\210)\202CA@\203=A\241\210AA@\240\210A\306\240\210	\204#\202C	A@=\2034	A\240\210\202C	A\241\210\202CA\240\210)\306\211\204 \n*\207" [tree prev result number successor parent nil rest new-node predecessor] 3 (#$ . 2751)])
#@29 Convert TREE to range form.
(defalias 'rtree-extract #[(tree) "\303\211	\204\f \n\203= \n\203 \n	B\nAA\202 	\211A\242\211@@\n@AU\2031 \n@@\2023 \n@B\nA@\202 *\207" [result stack tree nil] 3 (#$ . 3549)])
#@46 Return the number of numbers stored in TREE.
(defalias 'rtree-length #[(tree) "\204 \301\207\302\303A@!@A@@ZT\303AA!#\207" [tree 0 + rtree-length] 5 (#$ . 3772)])
(provide 'rtree)
