|  | 
| template<domain D :shared3p , dim N> | 
| D xor_uint16 | CRC16 (D xor_uint8[[N]] input, D xor_uint16 hash) | 
|  | 
| template<domain D :shared3p , dim N> | 
| D xor_uint32 | CRC32 (D xor_uint8[[N]] input, D xor_uint32 hash) | 
|  | 
| template<domain D :shared3p , dim N> | 
| D xor_uint16 | CRC16 (D xor_uint8[[N]] input) | 
|  | 
| template<domain D :shared3p , dim N> | 
| D xor_uint32 | CRC32 (D xor_uint8[[N]] input) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint32 | murmurHasherVec (D xor_uint32[[1]] hashee, public uint32[[1]] seed) | 
|  | 
|  | countZeroes (D xor_uint8[[1]] s) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | bl_str (string s, uint n) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | bl_str (string s) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_str (string s, uint n) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_str (string s) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strIsEmpty (D xor_uint8[[1]] s) | 
|  | 
| template<domain D :shared3p > | 
| string | bl_strDeclassify (D xor_uint8[[1]] ps) | 
|  | 
| template<domain D :shared3p > | 
| string | bl_strDeclassify (BlStringVector< D > str, uint i) | 
|  | 
| template<domain D :shared3p > | 
| D uint | bl_strLength (D xor_uint8[[1]] s) | 
|  | 
| template<domain D :shared3p > | 
| D uint | bl_strLength (BlStringVector< D > s, uint i) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | bl_strTrim (D xor_uint8[[1]] s) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_strTrim (BlStringVector< D > s) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strEquals (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strEquals (BlStringVector< D > s, BlStringVector< D > t) | 
|  | 
| template<domain D :shared3p > | 
| D uint | findSortingPermutation (D bool[[1]] arr) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | bl_strCat (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | zeroExtend (D xor_uint8[[1]] s, uint n) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strIsLessThan (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D uint | bl_strLevenshtein (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strEqPrefixes (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strContains (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D int64 | bl_strFind (D xor_uint8[[1]] needle, BlStringVector< D > haystack) | 
|  | 
| template<domain D :shared3p > | 
| D uint | bl_strIndexOf (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D uint | bl_strHamming (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_strShuffle (BlStringVector< D > s) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_strShuffle (BlStringVector< D > s, D uint8[[1]] key) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | bl_strLengthenBound (BlStringVector< D > s, uint biggerBound) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strEmpty (BlStringVector< D > s) | 
|  | 
| template<domain D :shared3p > | 
| D bool | bl_strLessThan (BlStringVector< D > x, BlStringVector< D > y) | 
|  | 
| template<domain D :shared3p > | 
| uint | bl_strVectorLength (BlStringVector< D > s) | 
|  | 
| template<domain D :shared3p > | 
| void | tdbVmapAddBlStringValue (uint params, string key, BlStringVector< D > vec) | 
|  | 
| template<domain D :shared3p > | 
| void | tdbVmapAddBlStringType (uint vmap, D uint domainProxy, uint bound) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | tdbVmapGetBlString (uint vmap, string key, uint idx) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | tdbReadBlStringColumn (string ds, string table, uint col) | 
|  | 
| template<domain D :shared3p > | 
| BlStringVector< D > | tdbReadBlStringColumn (string ds, string table, string name) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | kl_str (string s) | 
|  | 
| template<domain D :shared3p > | 
| string | kl_strDeclassify (D xor_uint8[[1]] ps) | 
|  | 
| template<domain D :shared3p > | 
| uint | kl_strLength (D xor_uint8[[1]] str) | 
|  | 
| template<domain D :shared3p > | 
| D bool | kl_strEquals (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D bool | kl_strIsLessThan (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | kl_strCat (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D bool | kl_strEqPrefixes (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D bool | kl_strContains (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D uint | kl_strIndexOf (D xor_uint8[[1]] str, D xor_uint8[[1]] pat) | 
|  | 
| template<domain D :shared3p > | 
| D uint | kl_strHamming (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D uint | kl_strLevenshtein (D xor_uint8[[1]] s, D xor_uint8[[1]] t) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | cw128GenKey (uint rowLen) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | cw128Hash (D xor_uint8[[1]] data, uint rowLen) | 
|  | 
| template<domain D :shared3p > | 
| D xor_uint8 | cw128Hash (D xor_uint8[[1]] data, D xor_uint8[[1]] key, uint rowLen) | 
|  |