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 []]) {
  using((Arena arena) {
    final argsPointers = args
        .map((final arg) => arg.toCharPointer(arena))
        .toList();

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