Digest-FarmHash

 view release on metacpan or  search on metacpan

lib/Digest/FarmHash.xs  view on Meta::CPAN

    } else {
        croak("usage: farmhash64($data [, $seed1, $seed2])");
    }
OUTPUT:
    RETVAL

void
farmhash128(const char* data, size_t length(data), ...)
PREINIT:
    uint128_t ret;
PPCODE:
    if (items == 1) {
        ret = Hash128(data, STRLEN_length_of_data);
    } else if (items == 3) {
        ret = Hash128WithSeed(data, STRLEN_length_of_data, Uint128(SvUV(ST(1)), SvUV(ST(2))));
    } else {
        croak("usage: farmhash128($data [, $seed])");
    }
    EXTEND(SP, 2);
    mPUSHu(Uint128Low64(ret));
    mPUSHu(Uint128High64(ret));

lib/Digest/FarmHash.xs  view on Meta::CPAN

#define farmhash_fingerprint32 Fingerprint32
uint32_t farmhash_fingerprint32(const char* data, size_t length(data))

#define farmhash_fingerprint64 Fingerprint64
uint64_t farmhash_fingerprint64(const char* data, size_t length(data))

void
farmhash_fingerprint128(const char* data, size_t length(data))
PREINIT:
    uint128_t ret;
PPCODE:
    ret = Fingerprint128(data, STRLEN_length_of_data);
    EXTEND(SP, 2);
    mPUSHu(Uint128Low64(ret));
    mPUSHu(Uint128High64(ret));



( run in 1.102 second using v1.01-cache-2.11-cpan-5511b514fd6 )