本文整理汇总了C++中Py_BuildValue函数的典型用法代码示例。如果您正苦于以下问题:C++ Py_BuildValue函数的具体用法?C++ Py_BuildValue怎么用?C++ Py_BuildValue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Py_BuildValue函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: bondOrderFilter
//.........这里部分代码省略.........
PyErr_SetString(PyExc_MemoryError, "Could not allocate visiblePos");
return NULL;
}
for (i = 0; i < NVisibleIn; i++)
{
int index = visibleAtoms[i];
int ind3 = 3 * index;
int i3 = 3 * i;
visiblePos[i3 ] = pos[ind3 ];
visiblePos[i3 + 1] = pos[ind3 + 1];
visiblePos[i3 + 2] = pos[ind3 + 2];
}
/* box visible atoms */
boxes = setupBoxes(maxBondDistance, PBC, cellDims);
if (boxes == NULL)
{
free(visiblePos);
return NULL;
}
boxstat = putAtomsInBoxes(NVisibleIn, visiblePos, boxes);
if (boxstat)
{
free(visiblePos);
return NULL;
}
/* build neighbour list */
maxSep2 = maxBondDistance * maxBondDistance;
nebList = constructNeighbourList(NVisibleIn, visiblePos, boxes, cellDims, PBC, maxSep2);
/* only required for building neb list */
free(visiblePos);
freeBoxes(boxes);
/* return if failed to build the neighbour list */
if (nebList == NULL) return NULL;
/* allocate results structure */
results = malloc(NVisibleIn * sizeof(struct AtomStructureResults));
if (results == NULL)
{
PyErr_SetString(PyExc_MemoryError, "Could not allocate results");
freeNeighbourList(nebList, NVisibleIn);
return NULL;
}
/* first calc q_lm for each atom over all m values */
complex_qlm(NVisibleIn, visibleAtoms, nebList, pos, cellDims, PBC, results);
/* free neighbour list */
freeNeighbourList(nebList, NVisibleIn);
/* calculate Q4 and Q6 */
calculate_Q(NVisibleIn, results);
/* do filtering here, storing results along the way */
NVisible = 0;
for (i = 0; i < NVisibleIn; i++)
{
int j;
double q4 = results[i].Q4;
double q6 = results[i].Q6;
/* skip if not within the valid range */
if (filterQ4Enabled && (q4 < minQ4 || q4 > maxQ4))
continue;
if (filterQ6Enabled && (q6 < minQ6 || q6 > maxQ6))
continue;
/* store in visible atoms array */
visibleAtoms[NVisible] = visibleAtoms[i];
/* store calculated values */
scalarsQ4[NVisible] = q4;
scalarsQ6[NVisible] = q6;
/* update full scalars/vectors arrays */
for (j = 0; j < NScalars; j++)
{
int nj = j * NVisibleIn;
fullScalars[nj + NVisible] = fullScalars[nj + i];
}
for (j = 0; j < NVectors; j++)
{
int nj = j * NVisibleIn;
DIND2(fullVectors, nj + NVisible, 0) = DIND2(fullVectors, nj + i, 0);
DIND2(fullVectors, nj + NVisible, 1) = DIND2(fullVectors, nj + i, 1);
DIND2(fullVectors, nj + NVisible, 2) = DIND2(fullVectors, nj + i, 2);
}
NVisible++;
}
/* free results memory */
free(results);
return Py_BuildValue("i", NVisible);
}
开发者ID:brunoduran,项目名称:Atoman,代码行数:101,代码来源:bond_order.c
示例2: Track_last_sector
static PyObject*
Track_last_sector(dvda_Track *self, void *closure)
{
return Py_BuildValue("I", dvda_track_last_sector(self->track));
}
开发者ID:KristoforMaynard,项目名称:python-audio-tools,代码行数:5,代码来源:dvdamodule.c
示例3: TrackReader_channels
static PyObject*
TrackReader_channels(dvda_TrackReader *self, void *closure)
{
return Py_BuildValue("I", dvda_channel_count(self->reader));
}
开发者ID:KristoforMaynard,项目名称:python-audio-tools,代码行数:5,代码来源:dvdamodule.c
示例4: Title_number
static PyObject*
Title_number(dvda_Title *self, void *closure)
{
return Py_BuildValue("I", dvda_title_number(self->title));
}
开发者ID:KristoforMaynard,项目名称:python-audio-tools,代码行数:5,代码来源:dvdamodule.c
示例5: Title_pts_length
static PyObject*
Title_pts_length(dvda_Title *self, void *closure)
{
return Py_BuildValue("I", dvda_title_pts_length(self->title));
}
开发者ID:KristoforMaynard,项目名称:python-audio-tools,代码行数:5,代码来源:dvdamodule.c
示例6: Py_BuildValue
static PyObject *py_probe_step(PyMIActions *self) {
return Py_BuildValue("ill",
self->ss->oper_id,
self->ss->oper_step,
self->ss->oper_stepnum);
}
开发者ID:MagicGroup,项目名称:magicinstaller2,代码行数:6,代码来源:miactions.c
示例7: DVDA_titlesets
static PyObject*
DVDA_titlesets(dvda_DVDA *self, void *closure)
{
return Py_BuildValue("I", dvda_titleset_count(self->dvda));
}
开发者ID:KristoforMaynard,项目名称:python-audio-tools,代码行数:5,代码来源:dvdamodule.c
示例8: Track_popularity
static PyObject *
Track_popularity(Track * self)
{
return Py_BuildValue("i", sp_track_popularity(self->_track));
}
开发者ID:adamcik,项目名称:pyspotify,代码行数:5,代码来源:track.c
示例9: Track_error
static PyObject *
Track_error(Track * self)
{
return Py_BuildValue("i", sp_track_error(self->_track));
}
开发者ID:adamcik,项目名称:pyspotify,代码行数:5,代码来源:track.c
示例10: GMPy_RandomState_Repr
static PyObject *
GMPy_RandomState_Repr(RandomState_Object *self)
{
return Py_BuildValue("s", "<gmpy2.RandomState>");
};
开发者ID:godbomb,项目名称:gmpy,代码行数:5,代码来源:gmpy2_random.c
示例11: reset
static PyObject * reset(CPoly_GaussCoil *self, PyObject *args) {
return Py_BuildValue("d",0.0);
}
开发者ID:ricleal,项目名称:SasModeling,代码行数:5,代码来源:CPoly_GaussCoil.cpp
示例12: getIntType
//.........这里部分代码省略.........
return finishWithErr(d, k, &ps, "failed to parse cone field f");
}
if (getPosIntParam("l", &(k->l), 0, cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field l");
}
if (getConeArrDim("q", &(k->q), &(k->qsize), cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field q");
}
if (getConeArrDim("s", &(k->s), &(k->ssize), cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field s");
}
if (getConeFloatArr("p", &(k->p), &(k->psize), cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field p");
}
if (getPosIntParam("ep", &(k->ep), 0, cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field ep");
}
if (getPosIntParam("ed", &(k->ed), 0, cone) < 0) {
return finishWithErr(d, k, &ps, "failed to parse cone field ed");
}
d->stgs->verbose = verbose ? (scs_int) PyObject_IsTrue(verbose) : VERBOSE;
d->stgs->normalize = normalize ? (scs_int) PyObject_IsTrue(normalize) : NORMALIZE;
if(d->stgs->max_iters < 0) {
return finishWithErr(d, k, &ps, "max_iters must be positive");
}
if(d->stgs->scale < 0) {
return finishWithErr(d, k, &ps, "scale must be positive");
}
if(d->stgs->eps < 0) {
return finishWithErr(d, k, &ps, "eps must be positive");
}
if(d->stgs->cg_rate < 0) {
return finishWithErr(d, k, &ps, "cg_rate must be positive");
}
if(d->stgs->alpha < 0) {
return finishWithErr(d, k, &ps, "alpha must be positive");
}
if(d->stgs->rho_x < 0) {
return finishWithErr(d, k, &ps, "rho_x must be positive");
}
/* parse warm start if set */
d->stgs->warm_start = WARM_START;
if (warm) {
d->stgs->warm_start = getWarmStart("x", &(sol.x), d->n, warm);
d->stgs->warm_start |= getWarmStart("y", &(sol.y), d->m, warm);
d->stgs->warm_start |= getWarmStart("s", &(sol.s), d->m, warm);
}
Py_BEGIN_ALLOW_THREADS
/* Solve! */
scs(d, k, &sol, &info);
Py_END_ALLOW_THREADS
/* create output (all data is *deep copied*) */
/* x */
/* matrix *x; */
/* if(!(x = Matrix_New(n,1,DOUBLE))) */
/* return PyErr_NoMemory(); */
/* memcpy(MAT_BUFD(x), mywork->x, n*sizeof(scs_float)); */
veclen[0] = d->n;
x = PyArray_SimpleNewFromData(1, veclen, scs_floatType, sol.x);
PyArray_ENABLEFLAGS((PyArrayObject *) x, NPY_ARRAY_OWNDATA);
/* y */
/* matrix *y; */
/* if(!(y = Matrix_New(p,1,DOUBLE))) */
/* return PyErr_NoMemory(); */
/* memcpy(MAT_BUFD(y), mywork->y, p*sizeof(scs_float)); */
veclen[0] = d->m;
y = PyArray_SimpleNewFromData(1, veclen, scs_floatType, sol.y);
PyArray_ENABLEFLAGS((PyArrayObject *) y, NPY_ARRAY_OWNDATA);
/* s */
/* matrix *s; */
/* if(!(s = Matrix_New(m,1,DOUBLE))) */
/* return PyErr_NoMemory(); */
/* memcpy(MAT_BUFD(s), mywork->s, m*sizeof(scs_float)); */
veclen[0] = d->m;
s = PyArray_SimpleNewFromData(1, veclen, scs_floatType, sol.s);
PyArray_ENABLEFLAGS((PyArrayObject *) s, NPY_ARRAY_OWNDATA);
infoDict = Py_BuildValue(outarg_string,
"statusVal", (scs_int) info.statusVal, "iter", (scs_int) info.iter, "pobj", (scs_float) info.pobj,
"dobj", (scs_float) info.dobj, "resPri", (scs_float) info.resPri, "resDual", (scs_float) info.resDual,
"relGap", (scs_float) info.relGap, "resInfeas", (scs_float) info.resInfeas, "resUnbdd", (scs_float) info.resUnbdd,
"solveTime", (scs_float) (info.solveTime), "setupTime", (scs_float) (info.setupTime),
"status", info.status);
returnDict = Py_BuildValue("{s:O,s:O,s:O,s:O}", "x", x, "y", y, "s", s, "info", infoDict);
/* give up ownership to the return dictionary */
Py_DECREF(x);
Py_DECREF(y);
Py_DECREF(s);
Py_DECREF(infoDict);
/* no longer need pointers to arrays that held primitives */
freePyData(d, k, &ps);
return returnDict;
}
开发者ID:baxelrod,项目名称:scs,代码行数:101,代码来源:scsmodule.c
示例13: Py_BuildValue
static PyObject *version(PyObject* self) {
return Py_BuildValue("s", scs_version());
}
开发者ID:baxelrod,项目名称:scs,代码行数:3,代码来源:scsmodule.c
示例14: Py_BuildValue
static PyObject *SmtAstNode_getKind(PyObject *self, PyObject *noarg) {
return Py_BuildValue("k", PySmtAstNode_AsSmtAstNode(self)->getKind());
}
开发者ID:v0re,项目名称:Triton,代码行数:3,代码来源:PySmtAstNode.cpp
示例15: FormatMessageW
PyObject *PyErr_SetExcFromWindowsErrWithFilenameObjects(
PyObject *exc,
int ierr,
PyObject *filenameObject,
PyObject *filenameObject2)
{
int len;
WCHAR *s_buf = NULL; /* Free via LocalFree */
PyObject *message;
PyObject *args, *v;
DWORD err = (DWORD)ierr;
if (err==0) err = GetLastError();
len = FormatMessageW(
/* Error API error */
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, /* no message source */
err,
MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), /* Default language */
(LPWSTR) &s_buf,
0, /* size not used */
NULL); /* no args */
if (len==0) {
/* Only seen this in out of mem situations */
message = PyUnicode_FromFormat("Windows Error 0x%x", err);
s_buf = NULL;
} else {
/* remove trailing cr/lf and dots */
while (len > 0 && (s_buf[len-1] <= L' ' || s_buf[len-1] == L'.'))
s_buf[--len] = L'\0';
message = PyUnicode_FromWideChar(s_buf, len);
}
if (message == NULL)
{
LocalFree(s_buf);
return NULL;
}
if (filenameObject == NULL) {
assert(filenameObject2 == NULL);
filenameObject = filenameObject2 = Py_None;
}
else if (filenameObject2 == NULL)
filenameObject2 = Py_None;
/* This is the constructor signature for OSError.
The POSIX translation will be figured out by the constructor. */
args = Py_BuildValue("(iOOiO)", 0, message, filenameObject, err, filenameObject2);
Py_DECREF(message);
if (args != NULL) {
v = PyObject_Call(exc, args, NULL);
Py_DECREF(args);
if (v != NULL) {
PyErr_SetObject((PyObject *) Py_TYPE(v), v);
Py_DECREF(v);
}
}
LocalFree(s_buf);
return NULL;
}
开发者ID:10sr,项目名称:cpython,代码行数:63,代码来源:errors.c
示例16: Track_availability
static PyObject *
Track_availability(Track *self)
{
return Py_BuildValue("i",
sp_track_get_availability(g_session, self->_track));
}
开发者ID:adamcik,项目名称:pyspotify,代码行数:6,代码来源:track.c
示例17: semop
static PyObject *py_put_operation(PyMIActions *self, PyObject *args) {
int trycount;
shmstruct *ss;
char *operation;
operqueue_entry *oqe; int used;
int oper_id;
char *buffer; int remain;
int datalen;
ss = self->ss;
for (trycount = 0; trycount < 4; ++trycount) {
if (semop(self->semid, sbqput, SBOPLEN(sbqput)) >= 0) {
if (!PyArg_ParseTuple(args, "s:put_operation", &operation)) {
semop(self->semid, sbqunput, SBOPLEN(sbqunput));
return NULL;
}
datalen = strlen(operation) + 1;
if (ss->bufdata_len + datalen > ss->bufspace) {
PyErr_SetString(PyExc_ValueError, "Too long operation.");
semop(self->semid, sbqunput, SBOPLEN(sbqunput));
return NULL;
}
/* Save the operation entry. */
used = semctl(self->semid, SEMQUSED, GETVAL);
if (used < 0) {
PyErr_SetFromErrno(PyExc_OSError);
semop(self->semid, sbqunput, SBOPLEN(sbqunput));
return NULL;
}
oqe = ss->queue;
oqe[used - 1].oper_id = oper_id = self->oper_cnt++;
oqe[used - 1].operdata_len = datalen;
/* Save the operation into buffer. */
buffer = ss->data;
if (ss->bufdata_start + ss->bufdata_len + datalen <= ss->bufspace)
strcpy(buffer + ss->bufdata_start + ss->bufdata_len, operation);
else if (ss->bufdata_start + ss->bufdata_len < ss->bufspace) {
remain = ss->bufspace - ss->bufdata_start - ss->bufdata_len;
memcpy(buffer + ss->bufdata_start + ss->bufdata_len, operation, remain);
strcpy(buffer, operation + remain);
} else {
remain = ss->bufdata_start + ss->bufdata_len - ss->bufspace;
strcpy(buffer + remain, operation);
}
ss->bufdata_len += datalen;
if (semop(self->semid, sbqunlock, SBOPLEN(sbqunlock)) < 0) {
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return Py_BuildValue("i", oper_id); /* put successfully. */
}
if (errno == EAGAIN)
usleep(100); /* sleep 1/10 second. */
else {
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
}
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
开发者ID:MagicGroup,项目名称:magicinstaller2,代码行数:61,代码来源:miactions.c
示例18: Track_is_loaded
static PyObject *
Track_is_loaded(Track * self)
{
return Py_BuildValue("i", sp_track_is_loaded(self->_track));
}
开发者ID:adamcik,项目名称:pyspotify,代码行数:5,代码来源:track.c
示例19: Py_BuildValue
PyObject *KX_LightObject::pyattr_get_color(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
{
KX_LightObject* self = static_cast<KX_LightObject*>(self_v);
return Py_BuildValue("[fff]", self->m_lightobj->m_color[0], self->m_lightobj->m_color[1], self->m_lightobj->m_color[2]);
}
开发者ID:mcgrathd,项目名称:blender,代码行数:5,代码来源:KX_Light.cpp
示例20: Track_duration
static PyObject *
Track_duration(Track * self)
{
return Py_BuildValue("i", sp_track_duration(self->_track));
}
开发者ID:adamcik,项目名称:pyspotify,代码行数:5,代码来源:track.c
注:本文中的Py_BuildValue函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论