I'm unsuccessfully trying to compile this function
check[argA_, argB_] := argA[[1]] == argB[[1]];
assuming that both arguments argA and argB are of the form
{Real, String, ....}
Neither
cf = Compile[
{
{x, {_Real, _String}, 1},
{y, {_Real, _String}, 1}
},
x[[1]] == y[[1]]
];
nor
cf = Compile[
{
{x, {_Real, _String}, {1}},
{y, {_Real, _String}, {1}}
},
x[[1]] == y[[1]]
];
work as expected, and I can't see the underlying rule. I'm grateful for any explaination.