57 #include "allheaders.h" 87 PROCNAME(
"l_dnaJoin");
90 return ERROR_INT(
"dad not defined", procName, 1);
97 if (iend < 0 || iend >= n)
100 return ERROR_INT(
"istart > iend; nothing to add", procName, 1);
102 for (i = istart; i <= iend; i++) {
131 PROCNAME(
"l_dnaaFlattenToDna");
134 return (
L_DNA *)ERROR_PTR(
"daa not defined", procName, NULL);
139 for (i = 0; i < nalloc; i++) {
165 PROCNAME(
"l_dnaConvertToNuma");
168 return (
NUMA *)ERROR_PTR(
"da not defined", procName, NULL);
172 for (i = 0; i < n; i++) {
193 PROCNAME(
"numaConvertToDna");
196 return (
L_DNA *)ERROR_PTR(
"na not defined", procName, NULL);
200 for (i = 0; i < n; i++) {
231 PROCNAME(
"l_dnaUnionByAset");
234 return (
L_DNA *)ERROR_PTR(
"da1 not defined", procName, NULL);
236 return (
L_DNA *)ERROR_PTR(
"da2 not defined", procName, NULL);
264 PROCNAME(
"l_dnaRemoveDupsByAset");
267 return (
L_DNA *)ERROR_PTR(
"das not defined", procName, NULL);
269 set = l_asetCreate(L_FLOAT_TYPE);
272 for (i = 0; i < n; i++) {
275 if (!l_asetFind(
set, key)) {
277 l_asetInsert(
set, key);
304 l_int32 n1, n2, i, n;
308 L_DNA *da_small, *da_big, *dad;
310 PROCNAME(
"l_dnaIntersectionByAset");
313 return (
L_DNA *)ERROR_PTR(
"da1 not defined", procName, NULL);
315 return (
L_DNA *)ERROR_PTR(
"da2 not defined", procName, NULL);
320 da_small = (n1 < n2) ? da1 : da2;
321 da_big = (n1 < n2) ? da2 : da1;
327 set2 = l_asetCreate(L_FLOAT_TYPE);
328 for (i = 0; i < n; i++) {
331 if (l_asetFind(set1, key) && !l_asetFind(set2, key)) {
333 l_asetInsert(set2, key);
337 l_asetDestroy(&set1);
338 l_asetDestroy(&set2);
357 PROCNAME(
"l_asetCreateFromDna");
360 return (
L_ASET *)ERROR_PTR(
"da not defined", procName, NULL);
362 set = l_asetCreate(L_FLOAT_TYPE);
364 for (i = 0; i < n; i++) {
367 l_asetInsert(
set, key);
387 l_int32 i, n, prev, cur;
390 PROCNAME(
"l_dnaDiffAdjValues");
393 return (
L_DNA *)ERROR_PTR(
"das not defined", procName, NULL);
397 for (i = 1; i < n; i++) {
l_ok l_dnaJoin(L_DNA *dad, L_DNA *das, l_int32 istart, l_int32 iend)
l_dnaJoin()
l_ok numaGetFValue(NUMA *na, l_int32 index, l_float32 *pval)
numaGetFValue()
l_int32 l_dnaGetCount(L_DNA *da)
l_dnaGetCount()
L_DNA * l_dnaUnionByAset(L_DNA *da1, L_DNA *da2)
l_dnaUnionByAset()
l_ok numaAddNumber(NUMA *na, l_float32 val)
numaAddNumber()
void l_dnaDestroy(L_DNA **pda)
l_dnaDestroy()
l_ok l_dnaGetIValue(L_DNA *da, l_int32 index, l_int32 *pival)
l_dnaGetIValue()
NUMA * numaCreate(l_int32 n)
numaCreate()
l_ok l_dnaAddNumber(L_DNA *da, l_float64 val)
l_dnaAddNumber()
l_int32 numaGetCount(NUMA *na)
numaGetCount()
L_DNA * l_dnaaFlattenToDna(L_DNAA *daa)
l_dnaaFlattenToDna()
L_DNA * numaConvertToDna(NUMA *na)
numaConvertToDna
L_DNA * l_dnaIntersectionByAset(L_DNA *da1, L_DNA *da2)
l_dnaIntersectionByAset()
L_DNA * l_dnaDiffAdjValues(L_DNA *das)
l_dnaDiffAdjValues()
l_ok l_dnaGetDValue(L_DNA *da, l_int32 index, l_float64 *pval)
l_dnaGetDValue()
L_DNA * l_dnaRemoveDupsByAset(L_DNA *das)
l_dnaRemoveDupsByAset()
NUMA * l_dnaConvertToNuma(L_DNA *da)
l_dnaConvertToNuma()
L_DNA * l_dnaCreate(l_int32 n)
l_dnaCreate()
L_DNA * l_dnaCopy(L_DNA *da)
l_dnaCopy()
L_ASET * l_asetCreateFromDna(L_DNA *da)
l_asetCreateFromDna()