X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=HighwayHash.xs;h=d1cca3271507251079edaee9b1ee19eb47337cbd;hb=fb44a513cdfb85b3a6bddf97f246def598b63b73;hp=2bfbb0d72cae1bc7db6790bf5f26b4af5eb9bcce;hpb=096619f2ab2b023d65ef91911b804f2d186c3c69;p=digest-highwayhash.git diff --git a/HighwayHash.xs b/HighwayHash.xs index 2bfbb0d..d1cca32 100644 --- a/HighwayHash.xs +++ b/HighwayHash.xs @@ -9,17 +9,6 @@ #include "highwayhash.c" -/* - -uint64_t HighwayHash64(const uint8_t* data, size_t size, const uint64_t key[4]); - -void HighwayHash128(const uint8_t* data, size_t size, - const uint64_t key[4], uint64_t hash[2]); - -void HighwayHash256(const uint8_t* data, size_t size, -const uint64_t key[4], uint64_t hash[4]); - */ - void process_key(pTHX_ AV *key_av, uint64_t *key) { int i; SV *elt; @@ -35,14 +24,14 @@ void process_key(pTHX_ AV *key_av, uint64_t *key) { } } -uint64_t highway_hash64(AV *key_av, char *bytes, uint64_t size) { +uint64_t highway_hash64(AV *key_av, unsigned char *bytes, uint64_t size) { dTHX; uint64_t key[4]; process_key(aTHX_ key_av, key); return HighwayHash64(bytes, size, key); } -AV* highway_hash128(AV *key_av, char *bytes, uint64_t size) { +AV* highway_hash128(AV *key_av, unsigned char *bytes, uint64_t size) { dTHX; AV* result; uint64_t key[4]; @@ -55,11 +44,11 @@ AV* highway_hash128(AV *key_av, char *bytes, uint64_t size) { return result; } -AV* highway_hash256(AV *key_av, char *bytes, uint64_t size) { +AV* highway_hash256(AV *key_av, unsigned char *bytes, uint64_t size) { dTHX; AV* result; uint64_t key[4]; - uint64_t hash[2]; + uint64_t hash[4]; process_key(aTHX_ key_av, key); HighwayHash256(bytes, size, key, hash); result = newAV(); @@ -71,11 +60,12 @@ AV* highway_hash256(AV *key_av, char *bytes, uint64_t size) { } MODULE = Digest::HighwayHash PACKAGE = Digest::HighwayHash +PROTOTYPES: DISABLE BOOT: PERL_MATH_INT64_LOAD_OR_CROAK; -uint64_t highway_hash64(AV *key_av, char *bytes, uint64_t length(bytes)) +uint64_t highway_hash64(AV *key_av, unsigned char *bytes, uint64_t length(bytes)) -AV* highway_hash128(AV *key_av, char *bytes, uint64_t length(bytes)) +AV* highway_hash128(AV *key_av, unsigned char *bytes, uint64_t length(bytes)) -AV* highway_hash256(AV *key_av, char *bytes, uint64_t length(bytes)) +AV* highway_hash256(AV *key_av, unsigned char *bytes, uint64_t length(bytes))