#parser #physics #mass #atomic #evaluation #format #iter

ame2020

A parsing library for the Atomic Mass Evaluation 2020 format

2 releases

0.1.1 Nov 14, 2022
0.1.0 Nov 11, 2022

#2122 in Parser implementations

MIT/Apache

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: Provide Serialize and Deserialize implementations for serde.
  • arbitrary: Provide Arbitrary 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.4–1MB
~21K SLoC