[Scilab-Dev] Problem using double API

Vincent Lejeune vincent.lejeune at u-psud.fr
Thu Nov 5 22:59:36 CET 2009



It didn't work either, but I have find out what was breaking the code :

I was using the same name for scilab function and c-function, that
is to say, ocltest in Scilab called the ocltest C-function. When I changed
the name in my builder_gateway_c.sce file, everything worked as
expected.
However I don't know if this can be considered as a
"bug" , as this kind of naming convention is somehow not
recommanded...

Le Jeu 5 novembre 2009 16:38, Serge Steer a
écrit :
> 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
>> 
>> 
> 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/dev/attachments/20091105/537d68a9/attachment.htm>


More information about the dev mailing list