123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- /*
- * C-type: bool
- * Scilab type: boolean scalar
- */
- %fragment(SWIG_AsVal_frag(bool), "header") {
- SWIGINTERN int
- SWIG_AsVal_dec(bool)(SwigSciObject iVar, bool *pbValue) {
- SciErr sciErr;
- int iRet = 0;
- int *piAddrVar = NULL;
- int iTempValue = 0;
- sciErr = getVarAddressFromPosition(pvApiCtx, iVar, &piAddrVar);
- if (sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- if (!isBooleanType(pvApiCtx, piAddrVar)) {
- Scierror(SCILAB_API_ARGUMENT_ERROR, _("%s: Wrong type for input argument #%d: A boolean expected.\n"), SWIG_Scilab_GetFuncName(), iVar);
- return SWIG_ERROR;
- }
- if (!isScalar(pvApiCtx, piAddrVar)) {
- Scierror(SCILAB_API_ARGUMENT_ERROR, _("%s: Wrong size for input argument #%d: A boolean expected.\n"), SWIG_Scilab_GetFuncName(), iVar);
- return SWIG_ERROR;
- }
- iRet = getScalarBoolean(pvApiCtx, piAddrVar, &iTempValue);
- if (iRet) {
- return SWIG_ERROR;
- }
- *pbValue = iTempValue;
- return SWIG_OK;
- }
- }
- %fragment(SWIG_From_frag(bool), "header") {
- SWIGINTERN int
- SWIG_From_dec(bool)(bool bValue) {
- if (createScalarBoolean(pvApiCtx, SWIG_NbInputArgument(pvApiCtx)
- + SWIG_Scilab_GetOutputPosition(), bValue))
- return SWIG_ERROR;
- return SWIG_OK;
- }
- }
- /*
- * C-type: bool[]
- * Scilab type: boolean matrix
- */
- %fragment("SWIG_SciBoolean_AsBoolArrayAndSize", "header") {
- SWIGINTERN int
- SWIG_SciBoolean_AsBoolArrayAndSize(void *pvApiCtx, int iVar, int *iRows, int *iCols, bool **pbValue, char *fname) {
- SciErr sciErr;
- int *piAddrVar = NULL;
- int *piValue = NULL;
- sciErr = getVarAddressFromPosition(pvApiCtx, iVar, &piAddrVar);
- if (sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- if (isBooleanType(pvApiCtx, piAddrVar)) {
- int i;
- sciErr = getMatrixOfBoolean(pvApiCtx, piAddrVar, iRows, iCols, &piValue);
- if (sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- *pbValue = (bool*) malloc((*iRows) * (*iCols) * sizeof(bool));
- for (i = 0; i < (*iRows) * (*iCols); i++)
- (*pbValue)[i] = piValue[i] != 0;
- }
- else {
- Scierror(SCILAB_API_ARGUMENT_ERROR, _("%s: Wrong type for input argument #%d: A boolean matrix expected.\n"), fname, iVar);
- return SWIG_ERROR;
- }
- return SWIG_OK;
- }
- }
- %fragment("SWIG_SciBoolean_FromBoolArrayAndSize", "header") {
- SWIGINTERN int
- SWIG_SciBoolean_FromBoolArrayAndSize(void *pvApiCtx, int iVarOut, int iRows, int iCols, bool *pbValue) {
- SciErr sciErr;
- int *piValue = NULL;
- int i;
- piValue = (int*) malloc(iRows * iCols * sizeof(int));
- for (i = 0; i < iRows * iCols; i++)
- piValue[i] = pbValue[i];
- sciErr = createMatrixOfBoolean(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, iRows, iCols, piValue);
- if(sciErr.iErr) {
- printError(&sciErr, 0);
- free(piValue);
- return SWIG_ERROR;
- }
- free(piValue);
- return SWIG_OK;
- }
- }
- /*
- * C-type: int[]
- * Scilab type: boolean matrix
- */
- %fragment("SWIG_SciBoolean_AsIntArrayAndSize", "header") {
- SWIGINTERN int
- SWIG_SciBoolean_AsIntArrayAndSize(void *pvApiCtx, int iVar, int *iRows, int *iCols, int **piValue, char *fname) {
- SciErr sciErr;
- int *piAddrVar = NULL;
- sciErr = getVarAddressFromPosition(pvApiCtx, iVar, &piAddrVar);
- if (sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- if (isBooleanType(pvApiCtx, piAddrVar)) {
- int i;
- sciErr = getMatrixOfBoolean(pvApiCtx, piAddrVar, iRows, iCols, piValue);
- if (sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- }
- else {
- Scierror(SCILAB_API_ARGUMENT_ERROR, _("%s: Wrong type for input argument #%d: A boolean matrix expected.\n"), fname, iVar);
- return SWIG_ERROR;
- }
- return SWIG_OK;
- }
- }
- %fragment("SWIG_SciBoolean_FromIntArrayAndSize", "header") {
- SWIGINTERN int
- SWIG_SciBoolean_FromIntArrayAndSize(void *pvApiCtx, int iVarOut, int iRows, int iCols, int *piValue) {
- SciErr sciErr;
- sciErr = createMatrixOfBoolean(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + iVarOut, iRows, iCols, piValue);
- if(sciErr.iErr) {
- printError(&sciErr, 0);
- return SWIG_ERROR;
- }
- return SWIG_OK;
- }
- }
|