equal
deleted
inserted
replaced
26 size_t samplesSize = 0; |
26 size_t samplesSize = 0; |
27 size_t* sampleSizes; |
27 size_t* sampleSizes; |
28 void* dict; |
28 void* dict; |
29 ZstdCompressionDict* result; |
29 ZstdCompressionDict* result; |
30 |
30 |
31 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "nO!|O!", kwlist, |
31 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "nO!|O!:train_dictionary", |
|
32 kwlist, |
32 &capacity, |
33 &capacity, |
33 &PyList_Type, &samples, |
34 &PyList_Type, &samples, |
34 (PyObject*)&DictParametersType, ¶meters)) { |
35 (PyObject*)&DictParametersType, ¶meters)) { |
35 return NULL; |
36 return NULL; |
36 } |
37 } |
55 samplesLen = PyList_Size(samples); |
56 samplesLen = PyList_Size(samples); |
56 for (sampleIndex = 0; sampleIndex < samplesLen; sampleIndex++) { |
57 for (sampleIndex = 0; sampleIndex < samplesLen; sampleIndex++) { |
57 sampleItem = PyList_GetItem(samples, sampleIndex); |
58 sampleItem = PyList_GetItem(samples, sampleIndex); |
58 if (!PyBytes_Check(sampleItem)) { |
59 if (!PyBytes_Check(sampleItem)) { |
59 PyErr_SetString(PyExc_ValueError, "samples must be bytes"); |
60 PyErr_SetString(PyExc_ValueError, "samples must be bytes"); |
60 /* TODO probably need to perform DECREF here */ |
|
61 return NULL; |
61 return NULL; |
62 } |
62 } |
63 samplesSize += PyBytes_GET_SIZE(sampleItem); |
63 samplesSize += PyBytes_GET_SIZE(sampleItem); |
64 } |
64 } |
65 |
65 |
131 |
131 |
132 self->dictData = NULL; |
132 self->dictData = NULL; |
133 self->dictSize = 0; |
133 self->dictSize = 0; |
134 |
134 |
135 #if PY_MAJOR_VERSION >= 3 |
135 #if PY_MAJOR_VERSION >= 3 |
136 if (!PyArg_ParseTuple(args, "y#", &source, &sourceSize)) { |
136 if (!PyArg_ParseTuple(args, "y#:ZstdCompressionDict", |
137 #else |
137 #else |
138 if (!PyArg_ParseTuple(args, "s#", &source, &sourceSize)) { |
138 if (!PyArg_ParseTuple(args, "s#:ZstdCompressionDict", |
139 #endif |
139 #endif |
|
140 &source, &sourceSize)) { |
140 return -1; |
141 return -1; |
141 } |
142 } |
142 |
143 |
143 self->dictData = PyMem_Malloc(sourceSize); |
144 self->dictData = PyMem_Malloc(sourceSize); |
144 if (!self->dictData) { |
145 if (!self->dictData) { |