394 IntPtr[] utf8Strings =
new IntPtr[tokens.Length];
395 for (
int i = 0; i < tokens.Length; i++) {
396 byte[] utf8Bytes = System.Text.Encoding.UTF8.GetBytes(tokens[i] +
'\0');
397 utf8Strings[i] = Marshal.AllocHGlobal(utf8Bytes.Length);
398 Marshal.Copy(utf8Bytes, 0, utf8Strings[i], utf8Bytes.Length);
401 IntPtr tokensPtr = Marshal.AllocHGlobal(IntPtr.Size * tokens.Length);
402 Marshal.Copy(utf8Strings, 0, tokensPtr, utf8Strings.Length);
404 int status = AiliaTokenizer.ailiaTokenizerAddSpecialTokens(net, tokensPtr, (uint)tokens.Length);
406 Marshal.FreeHGlobal(tokensPtr);
407 foreach (IntPtr ptr
in utf8Strings) {
408 Marshal.FreeHGlobal(ptr);
413 Debug.Log(
"ailiaTokenizerAddSpecialTokens failed " + status);