binary-ff1 0.2.0

Optimized Rust implementation of FF1 encryption with radix 2
Documentation
---
name: CI

"on": [push, pull_request]

env:
  QUICKCHECK_TESTS: 20000

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
          components: clippy, rustfmt
      - name: Run Clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          args: --all-targets -- -D warnings
      - name: Run rustfmt
        uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: -- --check

  build:
    strategy:
      matrix:
        target:
          - thumbv7m-none-eabi
          - thumbv7em-none-eabihf
        toolchain:
          - nightly
          - stable
          - 1.49.0
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          target: ${{ matrix.target }}
          toolchain: ${{ matrix.toolchain }}
          override: true
      - name: Build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --release --target ${{ matrix.target }}

  test:
    strategy:
      matrix:
        toolchain:
          - nightly
          - stable
          - 1.49.0
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: -- --skip reference_impl
      - name: Run reference implementation test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --test reference_impl