c_src: regenerate
[nit.git] / c_src / core__abstract_text._ffi.c
diff --git a/c_src/core__abstract_text._ffi.c b/c_src/core__abstract_text._ffi.c
new file mode 100644 (file)
index 0000000..c88b991
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+       Extern implementation of Nit module abstract_text
+*/
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include "core__abstract_text._ffi.h"
+#ifdef ANDROID
+       #include <android/log.h>
+       #define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, "Nit", __VA_ARGS__)
+#else
+       #define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)
+#endif
+#line 18 "../lib/core/text/abstract_text.nit"
+
+
+       #include <stdio.h>
+       #include <stdlib.h>
+       #include <string.h>
+long abstract_text___Int_int_to_s_len___impl( long self )
+{
+#line 1586 "../lib/core/text/abstract_text.nit"
+
+
+               return snprintf(NULL, 0, "%ld", self);
+       }
+void abstract_text___Int_native_int_to_s___impl( long self, char* nstr, long strlen )
+{
+#line 1591 "../lib/core/text/abstract_text.nit"
+
+
+               snprintf(nstr, strlen, "%ld", self);
+       }
+long abstract_text___Byte_byte_to_s_len___impl( unsigned char self )
+{
+#line 1531 "../lib/core/text/abstract_text.nit"
+
+
+               return snprintf(NULL, 0, "0x%02x", self);
+       }
+void abstract_text___Byte_native_byte_to_s___impl( unsigned char self, char* nstr, long strlen )
+{
+#line 1536 "../lib/core/text/abstract_text.nit"
+
+
+               snprintf(nstr, strlen, "0x%02x", self);
+       }
+char* abstract_text___Int_strerror_ext___impl( long self )
+{
+#line 1556 "../lib/core/text/abstract_text.nit"
+
+ return strerror(self); }
+void abstract_text___Char_u8char_tos___impl( uint32_t self, char* r, long len )
+{
+#line 1753 "../lib/core/text/abstract_text.nit"
+
+
+               r[len] = '\0';
+               switch(len){
+                       case 1:
+                               r[0] = self;
+                               break;
+                       case 2:
+                               r[0] = 0xC0 | ((self & 0x7C0) >> 6);
+                               r[1] = 0x80 | (self & 0x3F);
+                               break;
+                       case 3:
+                               r[0] = 0xE0 | ((self & 0xF000) >> 12);
+                               r[1] = 0x80 | ((self & 0xFC0) >> 6);
+                               r[2] = 0x80 | (self & 0x3F);
+                               break;
+                       case 4:
+                               r[0] = 0xF0 | ((self & 0x1C0000) >> 18);
+                               r[1] = 0x80 | ((self & 0x3F000) >> 12);
+                               r[2] = 0x80 | ((self & 0xFC0) >> 6);
+                               r[3] = 0x80 | (self & 0x3F);
+                               break;
+               }
+       }