More consistent parameters
This commit is contained in:
parent
003076d156
commit
44fd08de5e
1 changed files with 16 additions and 13 deletions
29
module.cpp
29
module.cpp
|
|
@ -11,16 +11,14 @@ static PyObject* hash32(PyObject *self, PyObject *args)
|
||||||
PyObject *result;
|
PyObject *result;
|
||||||
|
|
||||||
args_len = (int32_t)PyTuple_Size(args);
|
args_len = (int32_t)PyTuple_Size(args);
|
||||||
if (args_len == 3) {
|
if (args_len == 2) {
|
||||||
if (!PyArg_ParseTuple(args, "sII", &value, &len, &seed)) {
|
if (!PyArg_ParseTuple(args, "s#I", &value, &len, &seed)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!PyArg_ParseTuple(args, "sI", &value, &len)) {
|
if (!PyArg_ParseTuple(args, "s#", &value, &len)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
seed = len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MurmurHash3_x86_32(value, len, seed, &h);
|
MurmurHash3_x86_32(value, len, seed, &h);
|
||||||
|
|
@ -44,16 +42,14 @@ static PyObject *hash128(PyObject *self, PyObject *args)
|
||||||
PyObject *tmp[4];
|
PyObject *tmp[4];
|
||||||
|
|
||||||
args_len = (int32_t)PyTuple_Size(args);
|
args_len = (int32_t)PyTuple_Size(args);
|
||||||
if (args_len == 3) {
|
if (args_len == 2) {
|
||||||
if (!PyArg_ParseTuple(args, "sII", &value, &len, &seed)) {
|
if (!PyArg_ParseTuple(args, "s#I", &value, &len, &seed)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!PyArg_ParseTuple(args, "sI", &value, &len)) {
|
if (!PyArg_ParseTuple(args, "s#", &value, &len)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
seed = len;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MurmurHash3_x86_128(value, len, seed, &out);
|
MurmurHash3_x86_128(value, len, seed, &out);
|
||||||
|
|
@ -68,7 +64,14 @@ static PyObject *hash128(PyObject *self, PyObject *args)
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
tmp[i] = PyLong_FromUnsignedLong(out[i]);
|
tmp[i] = PyLong_FromUnsignedLong(out[i]);
|
||||||
if (!tmp[i]) {
|
if (!tmp[i]) {
|
||||||
//Py_DECREF(result);
|
/*
|
||||||
|
for (i--; i > -1; i--) {
|
||||||
|
Py_DECREF(tmp[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
Py_DECREF(result);
|
||||||
|
*/
|
||||||
|
|
||||||
PyErr_SetString(PyExc_MemoryError, "PyLong_FromUnsignedLong() returned NULL.");
|
PyErr_SetString(PyExc_MemoryError, "PyLong_FromUnsignedLong() returned NULL.");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
@ -82,10 +85,10 @@ static PyObject *hash128(PyObject *self, PyObject *args)
|
||||||
static PyMethodDef methods[] = {
|
static PyMethodDef methods[] = {
|
||||||
{"hash32", hash32, METH_VARARGS,
|
{"hash32", hash32, METH_VARARGS,
|
||||||
"Calculate Murmur3 32-bit unsigned hash value. "
|
"Calculate Murmur3 32-bit unsigned hash value. "
|
||||||
"Parameters: <str>, <len>, [seed]"},
|
"Parameters: <str>, [seed]"},
|
||||||
{"hash128", hash128, METH_VARARGS,
|
{"hash128", hash128, METH_VARARGS,
|
||||||
"Calculate Murmur3 128-bit hash. Returns tuple. "
|
"Calculate Murmur3 128-bit hash. Returns tuple. "
|
||||||
"Parameters: <str>, <len>, [seed]"},
|
"Parameters: <str>, [seed]"},
|
||||||
{NULL, NULL, 0, NULL}
|
{NULL, NULL, 0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue