当前位置: 首页>>代码示例>>C++>>正文


C++ Py_BuildValue函数代码示例

本文整理汇总了C++中Py_BuildValue函数的典型用法代码示例。如果您正苦于以下问题:C++ Py_BuildValue函数的具体用法?C++ Py_BuildValue怎么用?C++ Py_BuildValue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了Py_BuildValue函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的Py_BuildValue函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。