libedaxInitialize method

void libedaxInitialize([
  1. List<String> args = const []
])

Initialize libedax.

Be careful that the first argument in args is ignored.

final edax = LibEdax();
edax.libedaxInitialize(['', '-eval-file', 'data/eval.dat', '-book-file', 'data/book.dat', '-level', '16']);

If you want to know more, See Options Document.

Implementation

void libedaxInitialize([final List<String> args = const []]) {
  final argsPointers = args.map((final arg) => arg.toCharPointer()).toList();

  // Why `Int8` ? => See: https://github.com/dart-lang/ffigen/issues/72
  final pointerPointer = calloc<Pointer<Char>>(argsPointers.length);
  for (var k = 0; k < argsPointers.length; k++) {
    pointerPointer[k] = argsPointers[k];
  }
  _bindings.libedax_initialize(args.length, pointerPointer);
  calloc.free(pointerPointer);
}