KIR@PRO
21.02.2009, 23:50
Доброго времени суток!
Прошу перевести эти две функции на дэлфи:
#include <stdio.h>
#include <string.h>
//раз функция
static inline long hash_1(char *arKey, int nKeyLength)
{
long h = 5381;
char *arEnd = arKey + nKeyLength;
while (arKey < arEnd) {
h += (h << 5);
h += (long) *arKey++;
}
return h;
}
//два функция
static inline long hash_2(char *arKey, int nKeyLength)
{
long h = 5381;
char *arEnd = arKey + nKeyLength;
while (arKey < arEnd) {
h += (h << 5);
h ^= (long) *arKey++;
}
return h;
}
//это ненадо это я понимаю)
int main()
{
char *chr = "GALLERY_BASEDIR";
int len = strlen(chr)+1;
printf("%ld\n", hash_php5(chr, len));
printf("%ld\n", hash_php4(chr, len));
}
ввиду моих плохих знаний в C++ возможности перевести нет поэтому прошу помоч.
Прошу перевести эти две функции на дэлфи:
#include <stdio.h>
#include <string.h>
//раз функция
static inline long hash_1(char *arKey, int nKeyLength)
{
long h = 5381;
char *arEnd = arKey + nKeyLength;
while (arKey < arEnd) {
h += (h << 5);
h += (long) *arKey++;
}
return h;
}
//два функция
static inline long hash_2(char *arKey, int nKeyLength)
{
long h = 5381;
char *arEnd = arKey + nKeyLength;
while (arKey < arEnd) {
h += (h << 5);
h ^= (long) *arKey++;
}
return h;
}
//это ненадо это я понимаю)
int main()
{
char *chr = "GALLERY_BASEDIR";
int len = strlen(chr)+1;
printf("%ld\n", hash_php5(chr, len));
printf("%ld\n", hash_php4(chr, len));
}
ввиду моих плохих знаний в C++ возможности перевести нет поэтому прошу помоч.