Branch Coverage

include/ffi_platypus_call.h
Criterion Covered Total %
branch 570 1798 31.7


line true false branch
37 402 1 if(self->return_type->type_code == FFI_PL_TYPE_RECORD_VALUE
38 1 401 || self->return_type->type_code == (FFI_PL_TYPE_RECORD_VALUE | FFI_PL_SHAPE_CUSTOM_PERL))
65 596 399 for(i=0, perl_arg_index=(EXTRA_ARGS); i < self->ffi_cif.nargs; i++, perl_arg_index++)
4 2 for(i=0, perl_arg_index=(EXTRA_ARGS); i < self->ffi_cif.nargs; i++, perl_arg_index++)
2037 1651 for(i=0, perl_arg_index=(EXTRA_ARGS); i < self->ffi_cif.nargs; i++, perl_arg_index++)
70 595 1 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
4 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
1880 157 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
73 68 528 if(custom_flag)
0 4 if(custom_flag)
86 1951 if(custom_flag)
82 0 0 for(n=0; n < max; n++)
0 0 for(n=0; n < max; n++)
6 6 for(n=0; n < max; n++)
101 0 13 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 13 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 49 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 0 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 6 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 49 ffi_pl_arguments_set_uint8(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
104 0 3 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
3 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
6 27 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
6 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 6 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
27 0 ffi_pl_arguments_set_sint8(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
107 0 2 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 2 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 39 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 0 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 6 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 39 ffi_pl_arguments_set_uint16(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
110 0 2 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
2 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
6 27 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
6 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 6 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
27 0 ffi_pl_arguments_set_sint16(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
113 0 2 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 2 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 39 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
6 0 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 6 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
0 39 ffi_pl_arguments_set_uint32(arguments, i, SvOK(arg) ? SvUV(arg) : 0);
116 1 208 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
1 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 1 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
208 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 2 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
2 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
7 184 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
7 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
0 7 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
184 0 ffi_pl_arguments_set_sint32(arguments, i, SvOK(arg) ? SvIV(arg) : 0);
119 0 2 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 2 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
6 196 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
6 0 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 6 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
0 196 ffi_pl_arguments_set_uint64(arguments, i, SvOK(arg) ? SvU64(arg) : 0);
122 0 2 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
2 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
6 27 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
6 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
0 6 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
27 0 ffi_pl_arguments_set_sint64(arguments, i, SvOK(arg) ? SvI64(arg) : 0);
125 0 8 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
8 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
6 60 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
6 0 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 6 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
57 3 ffi_pl_arguments_set_float(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
128 0 17 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
17 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
6 60 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
6 0 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
0 6 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
57 3 ffi_pl_arguments_set_double(arguments, i, SvOK(arg) ? SvNV(arg) : 0.0);
131 6 148 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
6 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 6 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
136 12 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
20 197 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
20 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 20 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
197 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
134 1 51 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
1 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
0 1 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
51 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
0 2 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
0 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
0 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
2 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
15 386 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
15 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
0 15 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
386 0 ffi_pl_arguments_set_string(arguments, i, SvOK(arg) ? SvPV_nolen(arg) : NULL);
142 0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 3 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 3 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
0 0 ffi_pl_perl_to_long_double(arg, ptr);
3 0 ffi_pl_perl_to_long_double(arg, ptr);
170 8 6 if(SvROK(arg))
0 0 if(SvROK(arg))
33 6 if(SvROK(arg))
173 1 7 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
1 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 1 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
7 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 33 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
0 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
33 0 ptr = SvOK(arg2) ? SvPV(arg2, size) : NULL;
177 2 4 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
2 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 2 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
4 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
3 3 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
3 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
0 3 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
3 0 ptr = SvOK(arg) ? SvPV(arg, size) : NULL;
179 11 3 if(ptr != NULL && expected != 0 && size != expected)
11 0 if(ptr != NULL && expected != 0 && size != expected)
0 11 if(ptr != NULL && expected != 0 && size != expected)
0 0 if(ptr != NULL && expected != 0 && size != expected)
0 0 if(ptr != NULL && expected != 0 && size != expected)
0 0 if(ptr != NULL && expected != 0 && size != expected)
36 3 if(ptr != NULL && expected != 0 && size != expected)
36 0 if(ptr != NULL && expected != 0 && size != expected)
0 36 if(ptr != NULL && expected != 0 && size != expected)
188 6 2 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
5 1 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, record_class))
190 5 0 argument_pointers[i] = SvPV_nolen(SvRV(arg));
0 0 argument_pointers[i] = SvPV_nolen(SvRV(arg));
0 0 argument_pointers[i] = SvPV_nolen(SvRV(arg));
194 3 3 ffi_pl_croak("argument %d is not an instance of %s", i, record_class);
0 0 ffi_pl_croak("argument %d is not an instance of %s", i, record_class);
0 0 ffi_pl_croak("argument %d is not an instance of %s", i, record_class);
200 2 12 if(!SvROK(arg))
0 0 if(!SvROK(arg))
30 78 if(!SvROK(arg))
202 0 2 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
2 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
30 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
30 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 30 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg) ? INT2PTR(void*, SvIV(arg)) : NULL);
285 73 0 if(SvROK(arg))
0 0 if(SvROK(arg))
316 94 if(SvROK(arg))
288 6 67 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
6 0 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
0 0 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
0 0 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
166 150 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
166 0 if(SvTYPE(arg2) < SVt_PVAV && is_pointer)
294 0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint8_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
298 0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 9 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
9 0 *((int8_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
302 0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint16_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
306 0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 9 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
9 0 *((int16_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
310 0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 0 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
0 9 *((uint32_t*)ptr) = SvOK(arg2) ? SvUV(arg2) : 0;
314 0 6 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
6 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 11 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
0 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
11 0 *((int32_t*)ptr) = SvOK(arg2) ? SvIV(arg2) : 0;
318 0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 9 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 0 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
0 9 *((uint64_t*)ptr) = SvOK(arg2) ? SvU64(arg2) : 0;
322 0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 9 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
0 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
9 0 *((int64_t*)ptr) = SvOK(arg2) ? SvI64(arg2) : 0;
326 0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 9 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
7 2 *((float*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
330 0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 9 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
0 0 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
7 2 *((double*)ptr) = SvOK(arg2) ? SvNV(arg2) : 0.0;
336 0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
6 6 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
6 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
0 6 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
6 0 *((void**)ptr) = SvOK(tmp) ? INT2PTR(void *, SvIV(tmp)) : NULL;
342 0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 2 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 2 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
0 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
2 0 ffi_pl_perl_to_long_double(arg2, (long double*)ptr);
357 0 0 if(SvOK(arg2))
0 0 if(SvOK(arg2))
0 0 if(SvOK(arg2))
0 0 if(SvOK(arg2))
0 0 if(SvOK(arg2))
0 0 if(SvOK(arg2))
3 3 if(SvOK(arg2))
3 0 if(SvOK(arg2))
0 3 if(SvOK(arg2))
362 0 0 pv = SvPV(arg2, len);
0 0 pv = SvPV(arg2, len);
3 0 pv = SvPV(arg2, len);
380 67 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
12 55 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
12 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
12 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
0 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
0 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
0 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
0 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
150 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
21 129 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
21 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
21 0 else if(SvTYPE(arg2) == SVt_PVAV && (!is_pointer) || (is_pointer && self->platypus_api >= 2))
383 55 12 if(!is_pointer)
0 0 if(!is_pointer)
129 21 if(!is_pointer)
387 49 18 if(count == 0)
0 0 if(count == 0)
76 74 if(count == 0)
395 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
397 0 0 ((uint8_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 0 ((uint8_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 110 ((uint8_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
402 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
404 0 0 ((int8_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
0 0 ((int8_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
110 0 ((int8_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
408 0 0 Newx(ptr, count, uint16_t);
0 0 Newx(ptr, count, uint16_t);
0 11 Newx(ptr, count, uint16_t);
409 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
411 0 0 ((uint16_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 0 ((uint16_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 110 ((uint16_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
415 0 0 Newx(ptr, count, int16_t);
0 0 Newx(ptr, count, int16_t);
0 11 Newx(ptr, count, int16_t);
416 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
418 0 0 ((int16_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
0 0 ((int16_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
110 0 ((int16_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
422 0 0 Newx(ptr, count, uint32_t);
0 0 Newx(ptr, count, uint32_t);
0 11 Newx(ptr, count, uint32_t);
423 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
425 0 0 ((uint32_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 0 ((uint32_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
0 110 ((uint32_t*)ptr)[n] = SvUV(*av_fetch(av, n, 1));
429 0 0 Newx(ptr, count, int32_t);
0 0 Newx(ptr, count, int32_t);
0 11 Newx(ptr, count, int32_t);
430 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
432 0 0 ((int32_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
0 0 ((int32_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
110 0 ((int32_t*)ptr)[n] = SvIV(*av_fetch(av, n, 1));
436 0 0 Newx(ptr, count, uint64_t);
0 0 Newx(ptr, count, uint64_t);
0 11 Newx(ptr, count, uint64_t);
437 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
439 0 0 ((uint64_t*)ptr)[n] = SvU64(*av_fetch(av, n, 1));
0 0 ((uint64_t*)ptr)[n] = SvU64(*av_fetch(av, n, 1));
0 110 ((uint64_t*)ptr)[n] = SvU64(*av_fetch(av, n, 1));
443 0 0 Newx(ptr, count, int64_t);
0 0 Newx(ptr, count, int64_t);
0 11 Newx(ptr, count, int64_t);
444 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
446 0 0 ((int64_t*)ptr)[n] = SvI64(*av_fetch(av, n, 1));
0 0 ((int64_t*)ptr)[n] = SvI64(*av_fetch(av, n, 1));
110 0 ((int64_t*)ptr)[n] = SvI64(*av_fetch(av, n, 1));
450 0 0 Newx(ptr, count, float);
0 0 Newx(ptr, count, float);
0 11 Newx(ptr, count, float);
451 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
453 0 0 ((float*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
0 0 ((float*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
80 30 ((float*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
457 0 0 Newx(ptr, count, double);
0 0 Newx(ptr, count, double);
0 11 Newx(ptr, count, double);
458 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
460 0 0 ((double*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
0 0 ((double*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
80 30 ((double*)ptr)[n] = SvNV(*av_fetch(av, n, 1));
464 0 1 Newx(ptr, count, void*);
0 0 Newx(ptr, count, void*);
0 38 Newx(ptr, count, void*);
465 2 1 for(n=0; n
0 0 for(n=0; n
393 38 for(n=0; n
468 1 1 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
1 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 1 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
1 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
45 348 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
45 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
0 45 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
348 0 ((void**)ptr)[n] = SvOK(sv) ? INT2PTR(void*, SvIV(sv)) : NULL;
476 0 0 Newx(ptr, count, long double);
0 0 Newx(ptr, count, long double);
0 2 Newx(ptr, count, long double);
482 0 0 for(n=0; n
0 0 for(n=0; n
6 2 for(n=0; n
485 0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 6 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 6 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
0 6 ffi_pl_perl_to_long_double(sv, &((long double*)ptr)[n]);
491 0 16 Newx(ptr, count, float complex);
0 0 Newx(ptr, count, float complex);
0 0 Newx(ptr, count, float complex);
492 48 16 for(n=0; n
0 0 for(n=0; n
0 0 for(n=0; n
499 0 16 Newx(ptr, count, double complex);
0 0 Newx(ptr, count, double complex);
0 0 Newx(ptr, count, double complex);
500 48 16 for(n=0; n
0 0 for(n=0; n
0 0 for(n=0; n
508 0 34 Newx(ptr, count, char *);
0 0 Newx(ptr, count, char *);
0 0 Newx(ptr, count, char *);
509 148 34 for(n=0; n
0 0 for(n=0; n
0 0 for(n=0; n
512 34 114 if(SvOK(sv))
34 0 if(SvOK(sv))
0 0 if(SvOK(sv))
0 0 if(SvOK(sv))
0 0 if(SvOK(sv))
517 114 0 pv = SvPV(sv, len);
0 0 pv = SvPV(sv, len);
0 0 pv = SvPV(sv, len);
543 0 0 if(is_pointer)
0 0 if(is_pointer)
64 30 if(is_pointer)
552 0 73 if(is_bad)
0 0 if(is_bad)
30 380 if(is_bad)
554 0 0 if(is_pointer)
0 0 if(is_pointer)
0 30 if(is_pointer)
556 0 0 if(self->platypus_api >= 2)
0 0 if(self->platypus_api >= 2)
0 0 if(self->platypus_api >= 2)
583 20 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
20 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
0 0 if(sv_isobject(arg) && sv_derived_from(arg, self->argument_types[i]->extra[0].object.class))
589 0 2 ffi_pl_arguments_set_uint8(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint8(arguments, i, SvUV(arg2) );
592 2 0 ffi_pl_arguments_set_sint8(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint8(arguments, i, SvIV(arg2) );
595 0 2 ffi_pl_arguments_set_uint16(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint16(arguments, i, SvUV(arg2) );
598 2 0 ffi_pl_arguments_set_sint16(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint16(arguments, i, SvIV(arg2) );
601 0 2 ffi_pl_arguments_set_uint32(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvUV(arg2) );
0 0 ffi_pl_arguments_set_uint32(arguments, i, SvUV(arg2) );
604 2 0 ffi_pl_arguments_set_sint32(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint32(arguments, i, SvIV(arg2) );
0 0 ffi_pl_arguments_set_sint32(arguments, i, SvIV(arg2) );
607 0 2 ffi_pl_arguments_set_uint64(arguments, i, SvU64(arg2) );
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvU64(arg2) );
0 0 ffi_pl_arguments_set_uint64(arguments, i, SvU64(arg2) );
610 2 0 ffi_pl_arguments_set_sint64(arguments, i, SvI64(arg2) );
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvI64(arg2) );
0 0 ffi_pl_arguments_set_sint64(arguments, i, SvI64(arg2) );
613 0 4 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
4 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
0 0 ffi_pl_arguments_set_pointer(arguments, i, SvOK(arg2) ? INT2PTR(void*, SvIV(arg2)) : NULL);
616 0 0 ffi_pl_croak("Object argument %d type not supported %d", i, type_code);
0 0 ffi_pl_croak("Object argument %d type not supported %d", i, type_code);
0 0 ffi_pl_croak("Object argument %d type not supported %d", i, type_code);
621 0 0 ffi_pl_croak("Object argument %d must be an object of class %s", i, self->argument_types[i]->extra[0].object.class);
0 0 ffi_pl_croak("Object argument %d must be an object of class %s", i, self->argument_types[i]->extra[0].object.class);
0 0 ffi_pl_croak("Object argument %d must be an object of class %s", i, self->argument_types[i]->extra[0].object.class);
636 67 525 if(custom_flag)
0 4 if(custom_flag)
68 1951 if(custom_flag)
640 0 67 for(n=0; n < max; n++)
0 0 for(n=0; n < max; n++)
0 68 for(n=0; n < max; n++)
699 592 398 for(i=self->ffi_cif.nargs-1,perl_arg_index--; i >= 0; i--, perl_arg_index--)
4 2 for(i=self->ffi_cif.nargs-1,perl_arg_index--; i >= 0; i--, perl_arg_index--)
2025 1651 for(i=self->ffi_cif.nargs-1,perl_arg_index--; i >= 0; i--, perl_arg_index--)
703 14 578 switch(type_code)
0 4 switch(type_code)
108 1917 switch(type_code)
712 14 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
0 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
78 30 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
713 12 2 if(SvROK(arg))
0 0 if(SvROK(arg))
78 30 if(SvROK(arg))
733 73 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
0 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
350 60 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
734 73 0 if(ptr != NULL && SvOK(arg))
0 73 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
0 0 if(ptr != NULL && SvOK(arg))
346 64 if(ptr != NULL && SvOK(arg))
30 316 if(ptr != NULL && SvOK(arg))
30 0 if(ptr != NULL && SvOK(arg))
0 30 if(ptr != NULL && SvOK(arg))
736 73 0 SV *arg2 = SvROK(arg) ? SvRV(arg) : &PL_sv_undef;
0 0 SV *arg2 = SvROK(arg) ? SvRV(arg) : &PL_sv_undef;
316 0 SV *arg2 = SvROK(arg) ? SvRV(arg) : &PL_sv_undef;
737 67 6 if(SvTYPE(arg2) == SVt_PVAV)
0 0 if(SvTYPE(arg2) == SVt_PVAV)
150 166 if(SvTYPE(arg2) == SVt_PVAV)
741 55 12 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_ARRAY)
0 0 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_ARRAY)
129 21 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_ARRAY)
745 49 18 if(count == 0)
0 0 if(count == 0)
76 74 if(count == 0)
752 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
758 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
764 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
770 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
776 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
782 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
788 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
794 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
800 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
807 150 35 for(n=0; n
0 0 for(n=0; n
393 38 for(n=0; n
809 32 118 if( ((void**)ptr)[n] == NULL)
0 0 if( ((void**)ptr)[n] == NULL)
42 351 if( ((void**)ptr)[n] == NULL)
827 0 0 for(n=0; n
0 0 for(n=0; n
110 11 for(n=0; n
834 0 0 for(n=0; n
0 0 for(n=0; n
6 2 for(n=0; n
838 0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 6 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 0 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
0 6 ffi_pl_long_double_to_perl(sv, &((long double*)ptr)[n]);
844 48 16 for(n=0; n
0 0 for(n=0; n
0 0 for(n=0; n
852 48 16 for(n=0; n
0 0 for(n=0; n
0 0 for(n=0; n
862 6 0 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
6 0 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
0 0 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
0 0 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
166 0 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
103 63 else if(SvTYPE(arg2) < SVt_PVAV && !SvREADONLY(arg2))
894 0 0 if( *((void**)ptr) == NULL)
0 0 if( *((void**)ptr) == NULL)
3 6 if( *((void**)ptr) == NULL)
904 0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 2 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 0 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
0 2 ffi_pl_long_double_to_perl(arg2,(long double*)ptr);
918 0 0 if(*pv == NULL)
0 0 if(*pv == NULL)
0 6 if(*pv == NULL)
944 62 5 if(coderef != NULL)
0 0 if(coderef != NULL)
23 51 if(coderef != NULL)
946 62 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
0 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
23 0 arg = perl_arg_index < items ? ST(perl_arg_index) : &PL_sv_undef;
952 0 66 if(SvOK(sv))
0 0 if(SvOK(sv))
0 0 if(SvOK(sv))
6 0 if(SvOK(sv))
0 6 if(SvOK(sv))
971 378 20 if((type_code & FFI_PL_SHAPE_MASK) != FFI_PL_SHAPE_CUSTOM_PERL
2 0 if((type_code & FFI_PL_SHAPE_MASK) != FFI_PL_SHAPE_CUSTOM_PERL
1591 60 if((type_code & FFI_PL_SHAPE_MASK) != FFI_PL_SHAPE_CUSTOM_PERL
972 377 1 && type_code != FFI_PL_TYPE_RECORD_VALUE)
0 2 && type_code != FFI_PL_TYPE_RECORD_VALUE)
1591 0 && type_code != FFI_PL_TYPE_RECORD_VALUE)
973 444 377 ffi_pl_heap_free();
0 0 ffi_pl_heap_free();
1747 1591 ffi_pl_heap_free();
997 1 1 ffi_pl_heap_free();
2 2 ffi_pl_heap_free();
1019 1 1 ffi_pl_heap_free();
0 0 ffi_pl_heap_free();
1092 16 149 if(result.pointer == NULL)
17 523 if(result.pointer == NULL)
1094 4 12 if(self->platypus_api >= 2)
5 12 if(self->platypus_api >= 2)
1120 0 0 if(MY_CXT.loaded_math_longdouble == 1)
0 1 if(MY_CXT.loaded_math_longdouble == 1)
1168 5 6 if(result.pointer == NULL)
3 12 if(result.pointer == NULL)
1170 1 4 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_CUSTOM_PERL)
0 3 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_CUSTOM_PERL)
1181 1 1 ffi_pl_heap_free();
0 0 ffi_pl_heap_free();
1184 1 3 if(self->platypus_api >= 2)
1 2 if(self->platypus_api >= 2)
1208 1 5 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_CUSTOM_PERL)
0 12 if((type_code & FFI_PL_SHAPE_MASK) == FFI_PL_SHAPE_CUSTOM_PERL)
1219 1 1 ffi_pl_heap_free();
0 0 ffi_pl_heap_free();
1230 4 4 if(result.pointer == NULL)
0 0 if(result.pointer == NULL)
1232 2 2 if(self->platypus_api >= 2)
0 0 if(self->platypus_api >= 2)
1261 0 0 if(result.pointer == NULL)
39 79 if(result.pointer == NULL)
1263 0 0 if(self->platypus_api >= 2)
13 26 if(self->platypus_api >= 2)
1318 0 0 if( *((void**)result.pointer) == NULL )
3 3 if( *((void**)result.pointer) == NULL )
1329 0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 1 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 0 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
0 1 ffi_pl_long_double_to_perl(value, (long double*)result.pointer);
1375 6 27 if(result.pointer == NULL)
30 49 if(result.pointer == NULL)
1377 2 4 if(self->platypus_api >= 2)
10 20 if(self->platypus_api >= 2)
1389 9 18 if(count == 0 && type_code & FFI_PL_TYPE_OPAQUE)
9 0 if(count == 0 && type_code & FFI_PL_TYPE_OPAQUE)
4 45 if(count == 0 && type_code & FFI_PL_TYPE_OPAQUE)
4 0 if(count == 0 && type_code & FFI_PL_TYPE_OPAQUE)
1391 12 9 while(((void**)result.pointer)[count] != NULL)
14 4 while(((void**)result.pointer)[count] != NULL)
1396 0 27 Newx(sv, count, SV*);
0 49 Newx(sv, count, SV*);
1400 24 6 for(i=0; i
33 4 for(i=0; i
1406 0 0 for(i=0; i
33 4 for(i=0; i
1412 0 0 for(i=0; i
33 4 for(i=0; i
1418 0 0 for(i=0; i
33 4 for(i=0; i
1424 0 0 for(i=0; i
33 4 for(i=0; i
1430 0 0 for(i=0; i
33 4 for(i=0; i
1436 0 0 for(i=0; i
33 4 for(i=0; i
1442 0 0 for(i=0; i
33 4 for(i=0; i
1448 0 0 for(i=0; i
30 3 for(i=0; i
1454 0 0 for(i=0; i
30 3 for(i=0; i
1461 30 15 for(i=0; i
32 10 for(i=0; i
1463 3 27 if( ((void**)result.pointer)[i] == NULL)
9 23 if( ((void**)result.pointer)[i] == NULL)
1482 0 0 for(i=0; i
3 1 for(i=0; i
1485 0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 3 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 0 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
0 3 ffi_pl_long_double_to_perl(sv[i], &((long double*)result.pointer)[i]);
1491 9 3 for(i=0; i
0 0 for(i=0; i
1502 9 3 for(i=0; i
0 0 for(i=0; i
1597 13 3 if(result.pointer != NULL)
29 1 if(result.pointer != NULL)
1601 0 0 ffi_pl_heap_free();
0 0 ffi_pl_heap_free();
1608 14 3 ret_out = ffi_pl_custom_perl(
59 1 ret_out = ffi_pl_custom_perl(
1616 16 16 ffi_pl_heap_free();
84 60 ffi_pl_heap_free();
1618 13 3 if(ret_in != NULL)
59 1 if(ret_in != NULL)
1623 2 14 if(ret_out == NULL)
1 59 if(ret_out == NULL)
1625 0 2 if(self->platypus_api >= 2)
0 1 if(self->platypus_api >= 2)