OK, well, ultimately, it still doesn't work. I added a line at the end so that you can sort of see where it fails, but I don't know why it does. There is a certain point in the Import function where it says to Stringjoin the expression with this " < ", and that leads to the empty set. I've tried putting in " << " and "<" all of which led to the empty set. I also tried putting in " ", but that led to an extremely large output and a graph with millions of zeros, something like 4,666,464 if memory serves.
It's sad that this example has to have graphs in the output, because that leads to such ridiculously large nonsensical looking outputs that I fear people will be put off from looking at it. I will repeat the code in another post but leave out the ugly "graphical" outputs.
Here is my code:
In[1]:= targetDir = CreateDirectory[]
Out[1]= "C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8"
In[2]:= lopass = Compile[{{x, _Real, 1}, dt, RC},
Module[{a = dt/(RC + dt), yprev = First[x], yi},
Table[yi = a*x[[i]] + (1 - a)*yprev;
yprev = yi;
yi, {i, 1, Length[x]}
]
]
];
In[3]:= (* build the example in a specified directory *)
fnSource = FileNameJoin[{targetDir, "lopass.c"}];
Export[fnSource, lopass];
FileNames["*", targetDir]
Out[5]= {"C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8\\lopass.c", \
"C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8\\lopass.h"}
In[6]:= (* main function C source *)
lopassmainSrc = "
#include \"stdio.h\"
#include \"stdlib.h\"
#include \"lopass.h\"
#include \"WolframRTL.h\"
static WolframLibraryData libData = 0;
int main()
{
int err = 0;
mint i, type, rank, nelems, *dims;
double *data;
MTensor x, y;
double dt;
double RC;
libData = WolframLibraryData_new(WolframLibraryVersion);
/* read x */
type = MType_Real;
rank = 1;
dims = (mint*)malloc(rank * sizeof(mint));
scanf(\" %d\", &nelems);
dims[0] = nelems;
err = (*(libData->MTensor_new))(type, rank, dims, &x);
if (err) return 1;
free(dims);
data = (*(libData->MTensor_getRealData))(x);
for(i = 0; i < nelems; i++) {
scanf(\" %lf\", &(data[i]));
}
/* read dt */
scanf(\" %lf\", &dt);
/* read RC */
scanf(\" %lf\", &RC);
err = Initialize_lopass(libData);
y = 0;
err = lopass(libData, x, dt, RC, &y);
printf(\"%d\\n\", err);
if(0 == err){
dims = (mint*)libData->MTensor_getDimensions(y);
nelems = dims[0];
data = (*(libData->MTensor_getRealData))(y);
printf(\"%d\\n\", nelems);
for(i = 0; i < nelems; i++)
printf(\"%f\\n\", data[i]);
}
Uninitialize_lopass(libData);
return 0;
}
";
In[7]:= (* create the main source file *)
lopassmainSrcFile = FileNameJoin[{targetDir, "lopassMain.c"}]
Export[lopassmainSrcFile, lopassmainSrc, "Text"];
Out[7]= "C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8\\lopassMain.c"
In[9]:= Needs["CCompilerDriver`"];
lopassExe = CreateExecutable[{fnSource, lopassmainSrcFile}, "lowpass",
"SystemLibraries" -> {}, "TargetDirectory" -> targetDir,
"Libraries" -> "WolframRTL_Static_Minimal"]
Out[10]= "C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8\\lowpass.exe"
In[11]:= dt = 0.01;
RC = 0.3;
input = Table[Sin[x] + Sin[x*10] + Sin[x*50], {x, 0, 10, dt}];
ListPlot[input, ImageSize -> Medium, Joined -> True]
Out[14]= \!\(\*
GraphicsBox[{{},
{RGBColor[0.24720000000000017`, 0.24, 0.6], LineBox[CompressedData["
1:eJxVW2lYzN/7TrZkC0X2sZa1yBKiGyFbEloI06ZVpn2vmZqZppoWJBUxfS2V
JdmTaAoJrSpKxUhU1koqS/z6Xz2fF39vXI8z53Oe7X62c0yxPGRkIy8nJ9fc
V07u//7u/dOiK/f//+DvjhW6i2vq6d8VoPli6uadHczvlNC66tmaoXN+EK2M
uIG1isaODK2KjuSRCQWD24iegAT/T5UV3CaiWYhI29xwZPVLoqdiQjjbe03m
WaKnY3PT2139b2bl9NIz0bIn71Kr4hGi1RFppRt5tOk5/X42JiWnRf28xXx/
LmJ3z3lf9bWd6PlY4uQh+xP8h2hN5K5Tt229LIdeegHKn2bdSdLoQ/RCrD9a
2OBs9o9+rwWb9OhP2oo/iV4E1tFXRU9/MPpYjDPVl++9HMzoawnenB8fGHek
gOilMM2ZKvqPfYJobWSsVzI5M+MO0cvwdBl/+NhxVUQvx2hjUdr4NkaeFRiW
PfFbkMp3onVg/V+L0KKzk+iVuNVfIjqezPC3Ch1uemujzJl1XVz6OOTSMOtW
ooEAh+ruIdff9tJcYOqePdr2OhLS72oMWWird8b9bS/NXQ2LLx4qOus+0/oa
GOgrt3/2/kbra2A8RO2g5aePtL4Wvk522y6YyGh9LQ6s//Yyc9ttWtfD6ksb
s0tGlNP5emgqGy3W8SB+5NYh8YeR1wRv0id3HQ6OsTibVMv4y3qU7k4Qv9t+
kr6/HuefXf2aPY74lduA1JuF10t8Wmh9A2YmaCfV7eqgdX1cnGl5vTizi9b1
sfx1X98xip20vhHVM8xFZ8+30vpGWN4K9t4Q+47WN0FhTq123sQbtL4J6WFx
zZOUGPtthvGuFQ831TcQ/5sRXOjs1LbjA61vwQBWTsNKoYzWtyDVak19Yt0j
Wt8KI+Q/XjasmL6/FY2tV/qPPVxP5xtAVemiZ7/1TbRuAD1JyVx2wAda3wbr
sJfWG3OraX0bxtw+csVcMZO+b4j54xee/DqK+IEhLoxYtGn6KsIL1xBr9EY1
G+j97qWlhiiNq+oe9Owv7d8OV7MXdn13E43taI7qUhY7/6L925ERPya1rzl9
T7od5fecBj779on2G0H/88Whw7aQfXukVdRXHhosqKP9RnC9/K15xj1alxph
oK6QM+n+F9q/A6VjGlbU5HTQ/h1wOr6vxBSEV+4OHBnRFl23tC969+9ATvDn
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
"]]}, {}},
AspectRatio->0.6180339887498948,
Axes->True,
AxesLabel->{None, None},
AxesOrigin->{0, 0.},
ImageSize->Medium,
Method->{},
PlotRange->{{0, 1001.}, {-2.98723801101878, 2.9757153662914786`}},
PlotRangeClipping->True,
PlotRangePadding->{{20.02, 20.02}, {0.11925906754620517`,
0.11925906754620517`}}]\)
In[15]:= inputText =
StringJoin[ToString[Length[input]], "\n", Riffle[ToString /@ input, "\n"],
ToString[dt], ToString[RC]];
inputFile = FileNameJoin[{targetDir, "input.txt"}]
Export[inputFile, inputText, "Text"];
Out[16]= "C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8\\input.txt"
In[18]:= SetDirectory[targetDir]; outputLines =
Import["!" <> FileNameTake[lopassExe, -1] <> " < " <> inputFile, "Lines"];
ResetDirectory[];
In[20]:= output = ToExpression /@ outputLines;
output =
If[MatchQ[output, {0, x_ /; x + 2 === Length[output], ___}],
Drop[output, 2],
$Failed
];
In[22]:= ListPlot[{input, output}, ImageSize -> Medium, Joined -> True]
Out[22]= \!\(\*
GraphicsBox[{{}, {{}, {},
{RGBColor[0.24720000000000017`, 0.24, 0.6], LineBox[CompressedData["
1:eJxVW2lYzN/7TrZkC0X2sZa1yBKiGyFbEloI06ZVpn2vmZqZppoWJBUxfS2V
JdmTaAoJrSpKxUhU1koqS/z6Xz2fF39vXI8z53Oe7X62c0yxPGRkIy8nJ9fc
V07u//7u/dOiK/f//+DvjhW6i2vq6d8VoPli6uadHczvlNC66tmaoXN+EK2M
uIG1isaODK2KjuSRCQWD24iegAT/T5UV3CaiWYhI29xwZPVLoqdiQjjbe03m
WaKnY3PT2139b2bl9NIz0bIn71Kr4hGi1RFppRt5tOk5/X42JiWnRf28xXx/
LmJ3z3lf9bWd6PlY4uQh+xP8h2hN5K5Tt229LIdeegHKn2bdSdLoQ/RCrD9a
2OBs9o9+rwWb9OhP2oo/iV4E1tFXRU9/MPpYjDPVl++9HMzoawnenB8fGHek
gOilMM2ZKvqPfYJobWSsVzI5M+MO0cvwdBl/+NhxVUQvx2hjUdr4NkaeFRiW
PfFbkMp3onVg/V+L0KKzk+iVuNVfIjqezPC3Ch1uemujzJl1XVz6OOTSMOtW
ooEAh+ruIdff9tJcYOqePdr2OhLS72oMWWird8b9bS/NXQ2LLx4qOus+0/oa
GOgrt3/2/kbra2A8RO2g5aePtL4Wvk522y6YyGh9LQ6s//Yyc9ttWtfD6ksb
s0tGlNP5emgqGy3W8SB+5NYh8YeR1wRv0id3HQ6OsTibVMv4y3qU7k4Qv9t+
kr6/HuefXf2aPY74lduA1JuF10t8Wmh9A2YmaCfV7eqgdX1cnGl5vTizi9b1
sfx1X98xip20vhHVM8xFZ8+30vpGWN4K9t4Q+47WN0FhTq123sQbtL4J6WFx
zZOUGPtthvGuFQ831TcQ/5sRXOjs1LbjA61vwQBWTsNKoYzWtyDVak19Yt0j
Wt8KI+Q/XjasmL6/FY2tV/qPPVxP5xtAVemiZ7/1TbRuAD1JyVx2wAda3wbr
sJfWG3OraX0bxtw+csVcMZO+b4j54xee/DqK+IEhLoxYtGn6KsIL1xBr9EY1
G+j97qWlhiiNq+oe9Owv7d8OV7MXdn13E43taI7qUhY7/6L925ERPya1rzl9
T7od5fecBj779on2G0H/88Whw7aQfXukVdRXHhosqKP9RnC9/K15xj1alxph
oK6QM+n+F9q/A6VjGlbU5HTQ/h1wOr6vxBSEV+4OHBnRFl23tC969+9ATvDn
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
"]]}}, {}},
AspectRatio->0.6180339887498948,
Axes->True,
AxesLabel->{None, None},
AxesOrigin->{0, 0.},
ImageSize->Medium,
Method->{},
PlotRange->{{0, 1001.}, {-2.98723801101878, 2.9757153662914786`}},
PlotRangeClipping->True,
PlotRangePadding->{{20.02, 20.02}, {0.11925906754620517`,
0.11925906754620517`}}]\)
In[23]:= DeleteDirectory[targetDir, DeleteContents -> True]
In[24]:= If[output === $Failed \[And] outputLines === {}, {output, outputLines,
targetDir}, Null]
Out[24]= {$Failed, {}, "C:\\Documents and Settings\\HP_Owner\\Local \
Settings\\Temp\\m-7dc3e81d-6370-48ba-93f4-809adf3127a8"}