retrieveihdrt.m

来自「一种快速的多叉搜索树」· M 代码 · 共 32 行

M
32
字号
function [ret, Xout, Yout, dist] = retrieveIHDRT(tid, X) 
% Retrieve a couple (Xout, Yout) from an IHDR tid tree based on X.
% [ret, Xout, Yout, dist] = retrieveIHDRT(tid, X) 
%
% OUTPUT:  
% ret   - 0: success, other: fail 
% Xout  - retrieved X
% Yout  - retrieved Y
% dist  - the Euclidean distance^2 between the retrieved Xout and X  
% INPUTS:
% tid   - The tree's handler
% X     - X vector
if ~libisloaded('IHDRDLL')
    loadlibrary('IHDRDLL', 'IHDRDLL.h');
end

sX = calllib('IHDRDLL','GetXdim', tid);
sY = calllib('IHDRDLL','GetYdim', tid);

Xout = zeros(sX,1); 
Yout = zeros(sY,1);
dist = inf;
pX = libpointer('doublePtr', X);
pXout = libpointer('doublePtr', Xout);
pYout = libpointer('doublePtr', Yout);
pDist = libpointer('doublePtr', dist);

ret = calllib('IHDRDLL','Retrieval', tid, pX, sX, pXout, pYout, sY, pDist);
dist = get(pDist,'Value');
Xout = get(pXout,'Value');
Yout = get(pYout,'Value');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?