45 #include <config_auto.h>
48 #include "allheaders.h"
77 return (
L_DNAHASH *)ERROR_PTR(
"negative hash size", __func__, NULL);
85 if ((dahash->
dna = (
L_DNA **)LEPT_CALLOC(nbuckets,
sizeof(
L_DNA *)))
88 return (
L_DNAHASH *)ERROR_PTR(
"dna ptr array not made", __func__, NULL);
91 dahash->nbuckets = nbuckets;
109 if (pdahash == NULL) {
110 L_WARNING(
"ptr address is NULL!\n", __func__);
114 if ((dahash = *pdahash) == NULL)
117 for (i = 0; i < dahash->nbuckets; i++)
119 LEPT_FREE(dahash->
dna);
145 return (
L_DNA *)ERROR_PTR(
"dahash not defined", __func__, NULL);
146 bucket = key % dahash->nbuckets;
147 da = dahash->
dna[bucket];
151 else if (copyflag ==
L_COPY)
178 return ERROR_INT(
"dahash not defined", __func__, 1);
179 bucket = key % dahash->nbuckets;
180 da = dahash->
dna[bucket];
183 return ERROR_INT(
"da not made", __func__, 1);
184 dahash->
dna[bucket] = da;
L_DNA * l_dnaCreate(l_int32 n)
l_dnaCreate()
l_ok l_dnaAddNumber(L_DNA *da, l_float64 val)
l_dnaAddNumber()
L_DNA * l_dnaClone(L_DNA *da)
l_dnaClone()
void l_dnaDestroy(L_DNA **pda)
l_dnaDestroy()
L_DNA * l_dnaCopy(L_DNA *da)
l_dnaCopy()
void l_dnaHashDestroy(L_DNAHASH **pdahash)
l_dnaHashDestroy()
L_DNAHASH * l_dnaHashCreate(l_int32 nbuckets, l_int32 initsize)
l_dnaHashCreate()
L_DNA * l_dnaHashGetDna(L_DNAHASH *dahash, l_uint64 key, l_int32 copyflag)
l_dnaHashGetDna()
l_ok l_dnaHashAdd(L_DNAHASH *dahash, l_uint64 key, l_float64 value)
l_dnaHashAdd()
l_ok lept_isPrime(l_uint64 n, l_int32 *pis_prime, l_uint32 *pfactor)
lept_isPrime()
l_ok findNextLargerPrime(l_int32 start, l_uint32 *pprime)
findNextLargerPrime()