From af05cfcbbc2511d0d41b4f43a988911804521552 Mon Sep 17 00:00:00 2001 From: Turiiya <34311583+tobealive@users.noreply.github.com> Date: Tue, 30 May 2023 14:24:27 +0200 Subject: [PATCH] toml, semver: minor optimization of conditions (#18299) --- vlib/semver/range.v | 2 +- vlib/toml/scanner/scanner.v | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/vlib/semver/range.v b/vlib/semver/range.v index 52aa4618d1..10344d12f9 100644 --- a/vlib/semver/range.v +++ b/vlib/semver/range.v @@ -34,7 +34,7 @@ struct InvalidComparatorFormatError { } fn (r Range) satisfies(ver Version) bool { - return true in r.comparator_sets.map(it.satisfies(ver)) + return r.comparator_sets.any(it.satisfies(ver)) } fn (set ComparatorSet) satisfies(ver Version) bool { diff --git a/vlib/toml/scanner/scanner.v b/vlib/toml/scanner/scanner.v index 50b47af767..9a5916e2d1 100644 --- a/vlib/toml/scanner/scanner.v +++ b/vlib/toml/scanner/scanner.v @@ -592,16 +592,17 @@ fn (mut s Scanner) extract_number() !string { for s.pos < s.text.len { c = s.at() // Adjust scanner position to floating point numbers - mut i, mut float_precision := 1, 0 - for c_ := u8(s.peek(i)); c_ != scanner.end_of_text && c_ != `\n`; c_ = u8(s.peek(i)) { - if !c_.is_digit() && c_ != `.` && c_ != `,` { - float_precision = 0 - break - } - if c_.is_digit() && c == `.` { + mut float_precision := 0 + if c == `.` { + mut i := 1 + for c_ := u8(s.peek(i)); c_ != scanner.end_of_text && c_ != `\n`; c_ = u8(s.peek(i)) { + if !c_.is_digit() && c_ != `,` { + float_precision = 0 + break + } float_precision++ + i++ } - i++ } s.pos += float_precision s.col += float_precision