qasmsim 1.3.1

A QASM interpreter and quantum simulator in Rust
Documentation
# Release notes


## Version 1.3.1

A bugfix by @byeongjee enable scientific notation with an exponent of more than two
digits.

### Fixes
- Fixed a bug in the lexer that prevented the interpreter from parsing scientific
notation numbers where exponents had more than two digits (@byeongjee)

## Version 1.3.0

This version adds support for running the WASM version of the simulator inside a
web worker.

### Features
- The WASM version of the simulator can now be run inside a web worker. This
allows to run the simulator in a separate thread, and avoid blocking the main
thread.

## Version 1.2.0

This version adds documenting comments to OpenQASM 2.0. The specification
mentions the comment before a gate definition may document the gate. The
sepecification does not mention if it is just one comment or all the comments
that precede the gate definition. This implementation considers all the comments
immediately before the line of the gate definition as documentation.

```
// This comment is not documentation.

// This is also
// not documentation either.

// This comment, and the next one,
// are the documentation of the following gate.
gate id q { }
```

### Features
- The command line tool has now the `--info` option to extract the gate
documentation from the source code.
- The crate has a new function, [`get_gate_info`] to extract the signature of a
gate, and its documentation.
- The WASM version has a new function, `getGateInfo`, to extract the signature
of a gate, and its documentation.

[`get_gate_info`](https://docs.rs/qasmsim/latest/qasmsim/fn.get_gate_info.html)

## Version 1.1.0

This version makes `qasmsim` dual license: [APACHE] and [MIT] as recommended in
the [Rust API guidelines].

[APACHE]: LICENSE-APACHE.txt
[MIT]: LICENSE-MIT.txt
[Rust API guidelines]: https://rust-lang.github.io/api-guidelines/necessities.html#crate-and-its-dependencies-have-a-permissive-license-c-permissive

### Features
- `RuntimeError` and `SemanticError` now implements error-related traits
`std::error::Error` and `std::fmt::Display`.

## Version 1.0.0

Most of the features of OPENQASM are implemented. Main features missing are
including arbitrary files with the `include` directive, and using the comment
closest to a function as its documentation.

The `grammar` module is **unstable** and can introduce backward-compatibility
breaking-changes from release to release. Use at your own risk.