|
| l_int32 | setMsgSeverity (l_int32 newsev) |
| |
| l_int32 | returnErrorInt (const char *msg, const char *procname, l_int32 ival) |
| |
| l_float32 | returnErrorFloat (const char *msg, const char *procname, l_float32 fval) |
| |
| void * | returnErrorPtr (const char *msg, const char *procname, void *pval) |
| |
| l_int32 | filesAreIdentical (const char *fname1, const char *fname2, l_int32 *psame) |
| |
|
l_uint16 | convertOnLittleEnd16 (l_uint16 shortin) |
| |
|
l_uint16 | convertOnBigEnd16 (l_uint16 shortin) |
| |
|
l_uint32 | convertOnLittleEnd32 (l_uint32 wordin) |
| |
|
l_uint32 | convertOnBigEnd32 (l_uint32 wordin) |
| |
| l_int32 | fileCorruptByDeletion (const char *filein, l_float32 loc, l_float32 size, const char *fileout) |
| |
| l_int32 | fileCorruptByMutation (const char *filein, l_float32 loc, l_float32 size, const char *fileout) |
| |
| l_int32 | genRandomIntegerInRange (l_int32 range, l_int32 seed, l_int32 *pval) |
| |
| l_int32 | lept_roundftoi (l_float32 fval) |
| |
| l_int32 | l_hashStringToUint64 (const char *str, l_uint64 *phash) |
| |
| l_int32 | l_hashPtToUint64 (l_int32 x, l_int32 y, l_uint64 *phash) |
| |
| l_int32 | l_hashFloat64ToUint64 (l_int32 nbuckets, l_float64 val, l_uint64 *phash) |
| |
| l_int32 | findNextLargerPrime (l_int32 start, l_uint32 *pprime) |
| |
| l_int32 | lept_isPrime (l_uint64 n, l_int32 *pis_prime, l_uint32 *pfactor) |
| |
| l_uint32 | convertBinaryToGrayCode (l_uint32 val) |
| |
| l_uint32 | convertGrayCodeToBinary (l_uint32 val) |
| |
| char * | getLeptonicaVersion () |
| |
| void | startTimer (void) |
| |
|
l_float32 | stopTimer (void) |
| |
| L_TIMER | startTimerNested (void) |
| |
|
l_float32 | stopTimerNested (L_TIMER rusage_start) |
| |
| void | l_getCurrentTime (l_int32 *sec, l_int32 *usec) |
| |
| L_WALLTIMER * | startWallTimer (void) |
| |
| l_float32 | stopWallTimer (L_WALLTIMER **ptimer) |
| |
| char * | l_getFormattedDate () |
| |
Control of error, warning and info messages
l_int32 setMsgSeverity()
Error return functions, invoked by macros
l_int32 returnErrorInt()
l_float32 returnErrorFloat()
void *returnErrorPtr()
Test files for equivalence
l_int32 filesAreIdentical()
Byte-swapping data conversion
l_uint16 convertOnBigEnd16()
l_uint32 convertOnBigEnd32()
l_uint16 convertOnLittleEnd16()
l_uint32 convertOnLittleEnd32()
File corruption operation
l_int32 fileCorruptByDeletion()
l_int32 fileCorruptByMutation()
Generate random integer in given range
l_int32 genRandomIntegerInRange()
Simple math function
l_int32 lept_roundftoi()
64-bit hash functions
l_int32 l_hashStringToUint64()
l_int32 l_hashPtToUint64()
l_int32 l_hashFloat64ToUint64()
Prime finders
l_int32 findNextLargerPrime()
l_int32 lept_isPrime()
Gray code conversion
l_uint32 convertBinaryToGrayCode()
l_uint32 convertGrayToBinaryCode()
Leptonica version number
char *getLeptonicaVersion()
Timing
void startTimer()
l_float32 stopTimer()
L_TIMER startTimerNested()
l_float32 stopTimerNested()
void l_getCurrentTime()
L_WALLTIMER *startWallTimer()
l_float32 stopWallTimer()
void l_getFormattedDate()
For all issues with cross-platform development, see utils2.c.
Definition in file utils1.c.
| l_int32 fileCorruptByDeletion |
( |
const char * |
filein, |
|
|
l_float32 |
loc, |
|
|
l_float32 |
size, |
|
|
const char * |
fileout |
|
) |
| |
fileCorruptByDeletion()
- Parameters
-
| [in] | filein | |
| [in] | loc | fractional location of start of deletion |
| [in] | size | fractional size of deletion |
| [in] | fileout | corrupted file |
- Returns
- 0 if OK, 1 on error
Notes:
(1) loc and size are expressed as a fraction of the file size.
(2) This makes a copy of the data in filein, where bytes in the
specified region have deleted.
(3) If (loc + size) >= 1.0, this deletes from the position
represented by loc to the end of the file.
(4) It is useful for testing robustness of I/O wrappers when the
data is corrupted, by simulating data corruption by deletion.
Definition at line 378 of file utils1.c.
References l_binaryRead(), and l_binaryWrite().
| l_int32 fileCorruptByMutation |
( |
const char * |
filein, |
|
|
l_float32 |
loc, |
|
|
l_float32 |
size, |
|
|
const char * |
fileout |
|
) |
| |
fileCorruptByMutation()
- Parameters
-
| [in] | filein | |
| [in] | loc | fractional location of start of randomization |
| [in] | size | fractional size of randomization |
| [in] | fileout | corrupted file |
- Returns
- 0 if OK, 1 on error
Notes:
(1) loc and size are expressed as a fraction of the file size.
(2) This makes a copy of the data in filein, where bytes in the
specified region have been replaced by random data.
(3) If (loc + size) >= 1.0, this modifies data from the position
represented by loc to the end of the file.
(4) It is useful for testing robustness of I/O wrappers when the
data is corrupted, by simulating data corruption.
Definition at line 442 of file utils1.c.
References l_binaryRead(), and l_binaryWrite().
| l_int32 l_hashFloat64ToUint64 |
( |
l_int32 |
nbuckets, |
|
|
l_float64 |
val, |
|
|
l_uint64 * |
phash |
|
) |
| |
l_hashFloat64ToUint64()
- Parameters
-
| [in] | nbuckets | |
| [in] | val | |
| [out] | phash | hash value |
- Returns
- 0 if OK, 1 on error
Notes:
(1) Simple, fast hash for using dnaHash with 64-bit data
(e.g., sets and histograms).
(2) The resulting hash is called a "key" in a lookup
operation. The bucket for val in a dnaHash is simply
found by taking the mod of the hash with the number of
buckets (which is prime). What gets stored in the
dna in that bucket could depend on use, but for the most
flexibility, we store an index into the associated dna.
This is all that is required for generating either a hash set
or a histogram (an example of a hash map).
(3) For example, to generate a histogram, the histogram dna,
a histogram of unique values aligned with the histogram dna,
and a dnahash hashmap are built. See l_dnaMakeHistoByHash().
Definition at line 655 of file utils1.c.
Referenced by l_dnaFindValByHash(), l_dnaHashCreateFromDna(), l_dnaIntersectionByHash(), l_dnaMakeHistoByHash(), and l_dnaRemoveDupsByHash().
| l_int32 l_hashStringToUint64 |
( |
const char * |
str, |
|
|
l_uint64 * |
phash |
|
) |
| |
l_hashStringToUint64()
- Parameters
-
| [in] | str | |
| [out] | phash | hash vale |
- Returns
- 0 if OK, 1 on error
Notes:
(1) The intent of the hash is to avoid collisions by mapping
the string as randomly as possible into 64 bits.
(2) To the extent that the hashes are random, the probability of
a collision can be approximated by the square of the number
of strings divided by 2^64. For 1 million strings, the
collision probability is about 1 in 16 million.
(3) I expect non-randomness of the distribution to be most evident
for small text strings. This hash function has been tested
for all 5-character text strings composed of 26 letters,
of which there are 26^5 = 12356630. There are no hash
collisions for this set.
Definition at line 569 of file utils1.c.
Referenced by l_dnaHashCreateFromSarray(), sarrayFindStringByHash(), sarrayIntersectionByHash(), and sarrayRemoveDupsByHash().
| L_TIMER startTimerNested |
( |
void |
| ) |
|
startTimerNested(), stopTimerNested()
Example of usage:
L_TIMER t1 = startTimerNested();
....
L_TIMER t2 = startTimerNested();
....
fprintf(stderr, "Elapsed time 2 = %7.3f sec\n", stopTimerNested(t2));
....
fprintf(stderr, "Elapsed time 1 = %7.3f sec\n", stopTimerNested(t1));
Definition at line 891 of file utils1.c.