%module python_pybuffer %include <pybuffer.i> %include <cstring.i> /*functions for the test case*/ %pybuffer_mutable_binary(char *buf1, int len); %pybuffer_mutable_string(char *buf2); %pybuffer_binary(const char *buf3, int len); %pybuffer_string(const char *buf4); %inline %{ void func1(char *buf1, int len) { int i; for (i=0; i<len; ++i) buf1[i] = 'a'; return; } void func2(char *buf2) { strcpy(buf2, "Hello world!"); } int func3(const char *buf3, int len) { int count = 0; int i; for(i=0; i<len; ++i) if (isalnum(buf3[i])) ++count; return count; } size_t func4(const char *buf4) { return strlen(buf4); } %} /*functions for the benchmark*/ %pybuffer_mutable_string(char *str1); %cstring_mutable(char *str2); %inline %{ void title(char *str) { int outword = 1; while(*str) { if (isalnum(*str)) { if (outword) { outword = 0; *str = toupper(*str); } } else { outword = 0; } str++; } } void title1(char *str1) { title(str1); } void title2(char *str2) { title(str2); } %}
Generated by dwww version 1.15 on Tue Jul 2 00:16:44 CEST 2024.