chemfp report command-line options

The report subcommand is primarily meant to diagnose how chemfp was compiled and its run-time configuration.

The following comes from chemfp report --help:

Usage: chemfp report [OPTIONS]

  Report chemfp similarity search implementation details.

Options:
  --help  Show this message and exit.

Example output:

This is the result of running chemfp report on my MacBook Pro laptop with an M1 processor:

== Configuration report for chemfp/4.1 ==
Python version: 3.11.1 (main, Dec 23 2022, 09:40:27) [Clang 14.0.0
(clang-1400.0.29.202)]
Platform: macOS-12.4-x86_64-i386-64bit
Chemfp compiled with: gcc 12.1.0 (with OpenMP, fully specialized)
Number of available threads: 8
Available method families: builtin popcnt
Available methods: builtin_1_1 builtin_8 builtin_8_8 builtin_16 builtin_24
builtin_32 builtin_32_8 builtin_40 builtin_48 builtin_56 builtin_64 builtin_72
builtin_80 builtin_88 builtin_96 builtin_104 builtin_112 builtin_120
builtin_128 builtin_128_8 builtin_128_32 builtin_128_128 popcnt_8 popcnt_8_8
popcnt_16 popcnt_24 popcnt_32 popcnt_32_8 popcnt_40 popcnt_48 popcnt_56
popcnt_64 popcnt_72 popcnt_80 popcnt_88 popcnt_96 popcnt_104 popcnt_112
popcnt_120 popcnt_128 popcnt_128_8 popcnt_128_32 popcnt_128_128
Size methods:
  size1_1: builtin_1_1
  size8_1: builtin_1_1
  size8_8: popcnt_8_8
  size8: popcnt_8
  size16: popcnt_16
  size24: popcnt_24
  size32: popcnt_32
  size40: popcnt_40
  size48: popcnt_48
  size56: popcnt_56
  size64: popcnt_64
  size72: popcnt_72
  size80: popcnt_80
  size88: popcnt_88
  size96: popcnt_96
  size104: popcnt_104
  size112: popcnt_112
  size120: popcnt_120
  size128: popcnt_128
  size128_1: builtin_1_1
  size128_8: popcnt_128_8
  size128_32: popcnt_128_32
  size128_128: popcnt_128_128
  size160: popcnt_128_32
  size192: popcnt_128_32
  size224: popcnt_128_32
  size256: popcnt_128_128
Option settings:
  report-popcount: 0
  report-intersect: 0
  report-algorithm: 0
  use-specialized-algorithms: 1