canonicalize function
See the library-level note above. Canonicalizes each whitespace-separated
sign in fsw independently.
Implementation
String canonicalize(String fsw) {
if (!_isAscii(fsw)) {
throw ArgumentError(
'canonicalize expects ASCII FSW; convert SWU input via swu2fsw first');
}
return fsw
.split(RegExp(r'\s+'))
.where((s) => s.isNotEmpty)
.map(_canonicalizeSign)
.join(' ');
}