ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Tree-M/M.xs
(Generate patch)

Comparing Tree-M/M.xs (file contents):
Revision 1.1 by root, Sun May 6 00:45:51 2001 UTC vs.
Revision 1.5 by root, Wed May 23 02:11:14 2001 UTC

10typedef double *Key; 10typedef double *Key;
11 11
12static double * 12static double *
13sv2c(SV *sv, int ndims) 13sv2c(SV *sv, int ndims)
14{ 14{
15 if (!SvROK (sv) && SvTYPE (SvRV (sv)) != SVt_PVAV) 15 if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV)
16 croak ("Tree::M: key must be array references"); 16 croak ("Tree::M: key must be array reference");
17 17
18 AV *av = (AV *)SvRV (sv); 18 AV *av = (AV *)SvRV (sv);
19 19
20 if (av_len (av) != ndims -1) 20 if (av_len (av) != ndims -1)
21 croak ("Tree::M: illegal key, expected %d elements, found %d", 21 croak ("Tree::M: illegal key, expected %d elements, found %d",
41 return newRV_noinc ((SV *)av); 41 return newRV_noinc ((SV *)av);
42} 42}
43 43
44static AV *searchres; 44static AV *searchres;
45 45
46void add_result(double distance, int data, double *k, int ndims) 46void add_result(int data, double *k, int ndims)
47{ 47{
48 AV *r = newAV (); 48 AV *r = newAV ();
49 49
50 av_push (r, newSVnv (distance)); 50 av_push (r, c2sv (k, ndims));
51 av_push (r, newSViv (data)); 51 av_push (r, newSViv (data));
52 av_push (r, c2sv (k, ndims));
53 52
54 av_push (searchres, newRV_noinc ((SV *)r)); 53 av_push (searchres, newRV_noinc ((SV *)r));
55} 54}
56 55
57MODULE = Tree::M PACKAGE = Tree::M::MT 56MODULE = Tree::M PACKAGE = Tree::M
58 57
59PROTOTYPES: ENABLE 58PROTOTYPES: ENABLE
60 59
61PMT * 60PMT *
62new(class, ndims, min = 0.0, max = 255.0, steps = 65536.0) 61_new(class, ndims, min = 0.0, max = 255.0, steps = 256.0, pagesize = 4096)
63 int ndims 62 int ndims
64 double min 63 double min
65 double max 64 double max
66 double steps 65 double steps
66 unsigned int pagesize
67 CODE: 67 CODE:
68 RETVAL = new PMT(ndims, min, max, steps); 68 RETVAL = new PMT(ndims, min, max, steps, pagesize);
69 OUTPUT: 69 OUTPUT:
70 RETVAL 70 RETVAL
71 71
72void 72void
73PMT::create(path) 73PMT::create(path)
112 RETVAL = newRV_noinc ((SV *)searchres); 112 RETVAL = newRV_noinc ((SV *)searchres);
113 OUTPUT: 113 OUTPUT:
114 RETVAL 114 RETVAL
115 115
116void 116void
117PMT::sync()
118
119int
120PMT::maxlevel()
121
122void
117PMT::DESTROY() 123PMT::DESTROY()
118 124

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines