runmat-runtime 0.4.1

Core runtime for RunMat with builtins, BLAS/LAPACK integration, and execution APIs
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use runmat_builtins::{CharArray, Value};

pub(crate) fn extract_scalar_string(value: &Value) -> Option<String> {
    match value {
        Value::String(s) => Some(s.clone()),
        Value::CharArray(ca) if ca.rows == 1 => Some(ca.data.iter().collect()),
        Value::StringArray(sa) if sa.data.len() == 1 => Some(sa.data[0].clone()),
        _ => None,
    }
}

pub(crate) fn char_array_value(text: &str) -> Value {
    Value::CharArray(CharArray::new_row(text))
}

pub(crate) fn normalize_encoding_label(label: &str) -> String {
    label.trim().to_ascii_lowercase()
}