Mathlink problem with lists of reals
- To: mathgroup@smc.vnet.net
- Subject: [mg11161] Mathlink problem with lists of reals
- From: Dave Grosvenor <dag@hplb.hpl.hp.com>
- Date: Mon, 23 Feb 1998 21:41:21 -0500
- Organization: Hewlett Packard Laboratories, Bristol, UK
Briefly
--------
Has anyone else had a problem passing a list of Reals from mathematica
to a c program?
Or am I making a real simple mistake?
I would be grateful for examples which do something similar.
Thanks
Dave Grosvenor
In detail
----------
I have got mathlink to pass lists of reals from c to mathematica. But
now I want to write the reals to a specified file. This is so simple
I cannot beleive it is not working.
I define the following template
:Begin:
:Function: writesample
:Pattern: WriteSample[filename_String, ns_RealList]
:Arguments: {filename, ns}
:ArgumentTypes: {String, RealList}
:ReturnType: Integer
:End:
This is called as follows:-
WriteSample["test.txt",{1.1,2.2}]
evaluating to
WriteSample["test.txt",{1.1,2.2}]
The call never reaches my c function code, which is defined as follows:-
int main(int argc,char* argv[])
{
int result;
result = MLMain(argc,argv);
return result;
}
int writesample(char* filename,double px[],long nx) {
FILE* outp = fopen(filename,"wb");
long i;
for (i=0;i<nx;i++){
fprintf(outp,"%e\n",px[i]);
}
fclose(outp);
}
I have put in assert(1!=1) at various points in the writesampletm.c file
which was generated from the template, and it seems to fail much
earlier...