Mercurial > hg > octave-nkf
comparison scripts/polynomial/ppval.m @ 7671:4fbaba9abec1
implement compiled binary lookup
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 28 Mar 2008 15:53:09 -0400 |
parents | a1dbe9d80eee |
children | eb63fbe60fab |
comparison
equal
deleted
inserted
replaced
7670:7a5dbd31eb76 | 7671:4fbaba9abec1 |
---|---|
37 yi = []; | 37 yi = []; |
38 else | 38 else |
39 transposed = (columns (xi) == 1); | 39 transposed = (columns (xi) == 1); |
40 xi = xi(:); | 40 xi = xi(:); |
41 xn = length (xi); | 41 xn = length (xi); |
42 idx = lookup (pp.x(2:pp.n), xi) + 1; | 42 idx = lookup (pp.x, xi, "lr"); |
43 dx = (xi - pp.x(idx)).'; | 43 dx = (xi - pp.x(idx)).'; |
44 dx = reshape (dx(ones(1,prod(pp.d)),:),[pp.d,xn]); | 44 dx = reshape (dx(ones(1,prod(pp.d)),:),[pp.d,xn]); |
45 c = reshape (pp.P(:,1), pp.n, prod (pp.d)); | 45 c = reshape (pp.P(:,1), pp.n, prod (pp.d)); |
46 yi = reshape (c(idx,:).', [pp.d, xn]); | 46 yi = reshape (c(idx,:).', [pp.d, xn]); |
47 for i = 2 : pp.k; | 47 for i = 2 : pp.k; |