[Scilab-Dev] Problem using double API
Serge Steer
Serge.Steer at scilab.org
Thu Nov 5 16:38:00 CET 2009
In my opinion the code should be (createMatrixOfDouble allocates the
array and returns a pointer)
#include "stack-c.h"
#include "api_scilab.h"
#include "Scierror.h"
int oclexec(char* fname)
{
SciErr sciErr;
int *pB;
int rowsB,colsB;
double* mB;
int k;
sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, rowsB, colsB,mB );
if(sciErr.iErr)
{
printError(&sciErr, 0);
return 0;
}
for(k=0;k<rowsB*colsB;++k)
{
mB[k]=1.0;
}
LhsVar(1)=Rhs+1;
return 0;
}
Vincent Lejeune a écrit :
>
> Hi,
>
> I don't know if it's a bug or if something is missing in my code...
> The issue is : using the following code, I cannot get scilab to
> display the
> mB matrix :
>
> #include "stack-c.h"
> #include "api_scilab.h"
> #include "Scierror.h"
>
> int oclexec(char* fname)
> {
> SciErr sciErr;
> int *pB;
> int rowsB,colsB;
> double* mB;
> int k;
>
> mB=(double*)malloc(rowsB*colsB*sizeof(double));
>
>
> for(k=0;k<rowsB*colsB;++k)
> {
> mB[k]=1.0;
> }
>
> sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, rowsB, colsB,mB );
> if(sciErr.iErr)
> {
> printError(&sciErr, 0);
> return 0;
> }
>
> LhsVar(1)=Rhs+1;
>
> return 0;
> }
>
> The gateway is compiling fine, but when I type B=ocltest(A); , the B
> matrix
> is equal to A, whereas it is expected to be a ones matrix.
>
> On the other hand, the unary test double_writing_api.tst works.
> I'am currently using the windows 1257195239 build (taken from the nightly
> build of scilab 5.2)
>
> Regards,
> Vincent
>
More information about the dev
mailing list