INNER CODE UNIT · Rust

parse_numeric

steineggerlab/folddisco · lib/pdbtbx-cif/src/lib.rs:217

fn parse_numeric(text: &str) -> Option<Value> {
    let mut chars_to_remove = 0;
    let first_char = text.chars().next().unwrap();
    // Parse a possible sign
    let mut minus = false;
    if first_char == '-' {
        minus = true;
        chars_to_remove += 1;
    } else if first_char == '+' {
        chars_to_remove += 1;
    }

    // Parse the integer part
    let mut integer_set = false;
    let mut value = 0;
    for c in text.chars().skip(chars_to_remove) {
        if let Some(num) = c.to_digit(10) {
            integer_set = true;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…