in reply to Inline CPP function not found
Does it run if you switch double& to double? If so, it's a lack of entry in the typemap to handle double&.
Update: I managed to get Inline::CPP installed (with a patch from a bug report), and confirmed that the problem is indeed that double& isn't handled. I was able to make the code work using the following:
int f(double a, double b, double c, SV* x, SV* y, SV* z) { int error = -2; SvUPGRADE(x,SVt_NV); SvNV_set(x,a+42); SvNOK_on(x); SvSETMAGIC(x); SvUPGRADE(y,SVt_NV); SvNV_set(y,b+42); SvNOK_on(y); SvSETMAGIC(y); SvUPGRADE(z,SVt_NV); SvNV_set(z,c+42); SvNOK_on(z); SvSETMAGIC(z); return error; }
It may also be possible to keep the original prototype by creating a typemap entry for double&.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Inline CPP function not found
by markov (Scribe) on May 16, 2011 at 21:29 UTC |