^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Count the digits of @val including a possible sign.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * (Typed on and submitted from hpa's mobile phone.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) int num_digits(int val)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) int m = 10;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) int d = 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) if (val < 0) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) d++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) val = -val;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) while (val >= m) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) m *= 10;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) d++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) return d;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) }