2 releases
0.1.1 | Nov 14, 2022 |
---|---|
0.1.0 | Nov 11, 2022 |
#2237 in Parser implementations
20KB
335 lines
ame2020-rs
A parsing library for the Atomic Mass Evaluation 2020 format
The data is represented by Nuclide
, and the parsing is mostly done by Iter
.
The data can be collected into a type that implements FromIterator
, such as Vec
.
Format
The format is documented in the preamble of the AME data file itself. This library parses data
formatted like the mass.mas20
file. The rounded version, and previous versions, such as
AME2016 are incompatible.
Examples
use ame2020::{Iter, Nuclide};
use std::{fs::File, io::BufReader};
let file = File::open("mass.mas20")?;
let file = BufReader::new(file);
let iter = Iter::new(file);
let data: Vec<Nuclide> = iter.collect::<Result<_, _>>()?;
Features
serde
: ProvideSerialize
andDeserialize
implementations for serde.arbitrary
: ProvideArbitrary
implementations for arbitrary, useful for fuzzing.
License
Licensed under either of
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~0.3–0.9MB
~20K SLoC