bscore-lib 1.0.2

bowling score library for C (written in Rust)
Documentation
bscore-lib
==========

bowling score library for C (written in Rust)


build
-----

```
cargo build --release
```

output example (dll on Windows)
- target/release/bscore_lib.dll
- target/release/bscore_lib.dll.lib


sample
------

```C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <bscore_lib.h>

int disp_score(char *src, size_t len, bool mode)
{
  size_t sz = 0;
  bscore_s(src, len, mode, NULL, &sz);
  char *dst = (char *)malloc(sz);
  if(!dst) return -1;
  bscore_s(src, len, mode, dst, &sz);
  printf("%s", dst);
  free(dst);
  return 0;
}

int main(int ac, char **av)
{
  char src_300[] = "xxxxxxxxxxxx"; // 12x
  printf("only 300\n");
  disp_score(src_300, strlen(src_300), false);
  char src_ext[] = "xxxxxxxxxxxxxx"; // 12x + extra 2x
  printf("ext 300 false\n");
  disp_score(src_ext, strlen(src_ext), false);
  printf("ext 300 true\n");
  disp_score(src_ext, strlen(src_ext), true);
  char src_more[] = "9/xxxxxxxxxxxxx9/xxx"; // more
  printf("more false\n");
  disp_score(src_more, strlen(src_more), false);
  printf("more true\n");
  disp_score(src_more, strlen(src_more), true);
  return 0;
}

/*
only 300
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
ext 300 false
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
ext 300 true
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
more false
 9/   x   x   x   x   x   x   x   x xxx
 20  50  80 110 140 170 200 230 260 290
290
more true
 9/   x   x   x   x   x   x   x   x xxx
 20  50  80 110 140 170 200 230 260 290
290
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
  x   x   x   x   x   x   x   x   x xxx
 30  60  90 120 150 180 210 240 270 300
300
  x   x   x   x   x   x   x   x   x xx9
 30  60  90 120 150 180 210 240 270 299
299
  x   x   x   x   x   x   x   x   x x9/
 30  60  90 120 150 180 210 240 269 289
289
  x   x   x   x   x   x   x   x   x 9/x
 30  60  90 120 150 180 210 239 259 279
279
  x   x   x   x   x   x   x   x  9/ xxx
 30  60  90 120 150 180 209 229 249 279
279
*/
```


links
-----

library

- crate [https://crates.io/crates/bscore]https://crates.io/crates/bscore
- repository [https://github.com/nomissbowling/bscore-rs]https://github.com/nomissbowling/bscore-rs
- docs [https://docs.rs/bscore/latest/bscore/]https://docs.rs/bscore/latest/bscore/

cdylib

- crate [https://crates.io/crates/bscore-lib]https://crates.io/crates/bscore-lib
- repository [https://github.com/nomissbowling/bscore-lib]https://github.com/nomissbowling/bscore-lib
- docs [https://docs.rs/bscore-lib/latest/bscore_lib/]https://docs.rs/bscore-lib/latest/bscore_lib/

app sample

- [https://crates.io/crates/bowling_score]https://crates.io/crates/bowling_score
- [https://github.com/nomissbowling/bowling_score]https://github.com/nomissbowling/bowling_score

for python

- [https://github.com/nomissbowling/bscore]https://github.com/nomissbowling/bscore


License
-------

MIT