Algorithm-CP-IZ
view release on metacpan or search on metacpan
prev = cur;
cur++;
if (!cs_isIn(vint, cur)) {
RETVAL = prev;
break;
}
}
}
else {
RETVAL = cs_getNextValue(vint, val);
}
OUTPUT:
RETVAL
#if (IZ_VERSION_MAJOR == 3 && IZ_VERSION_MINOR >= 6)
void
cancel_search(iz)
void* iz
CODE:
cs_cancelSearch();
void*
cs_getValueSelector(vs)
int vs
CODE:
RETVAL = (void*)cs_getValueSelector(vs);
OUTPUT:
RETVAL
void*
valueSelector_init(vs, index, array, size)
void* vs;
int index
void* array
int size
PREINIT:
void* ext;
CODE:
if (sizeof(void*) > sizeof(int))
Newx(ext, 1, void*);
else
Newx(ext, 1, int);
if (ext) {
cs_initValueSelector(vs, index, array, size, ext);
}
RETVAL = ext;
OUTPUT:
RETVAL
void
cs_selectNextValue(vs, index, array, size, ext)
void* vs
int index
void* array
int size
void* ext
PREINIT:
CSvalueSelection r;
int rc;
PPCODE:
rc = cs_selectNextValue(&r, vs, index, array, size, ext);
if (rc) {
XPUSHs(sv_2mortal(newSViv(r.method)));
XPUSHs(sv_2mortal(newSViv(r.value)));
}
int
cs_endValueSelector(vs, index, array, size, ext)
void* vs
int index
void* array
int size
void* ext
PREINIT:
int rc;
CODE:
rc = cs_endValueSelector(vs, index, array, size, ext);
Safefree(ext);
RETVAL = rc;
OUTPUT:
RETVAL
void*
createSimpleValueSelector()
CODE:
if (vsSimpleObjRef == 0) {
vsSimpleObj = cs_createValueSelector(vsSimpleInit, vsSimpleNext, vsSimpleEnd);
}
vsSimpleObjRef++;
RETVAL = vsSimpleObj;
OUTPUT:
RETVAL
void
deleteSimpleValueSelector()
CODE:
vsSimpleObjRef--;
if (vsSimpleObjRef == 0) {
cs_freeValueSelector(vsSimpleObj);
vsSimpleObj = NULL;
if (vsSimpleArray) {
Safefree(vsSimpleArray);
vsSimpleArray = NULL;
vsSimpleArraySize = 0;
}
}
int
registerSimpleValueSelectorClass(index, init)
int index;
SV* init;
CODE:
if (prepareSimpleVS(index)) {
vsSimpleArray[index].init = init;
RETVAL = TRUE;
}
else {
RETVAL = FALSE;
( run in 0.615 second using v1.01-cache-2.11-cpan-71847e10f99 )