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...