MCPcopy Index your code
hub / github.com/RustPython/RustPython / separate_integer

Method separate_integer

crates/common/src/format.rs:382–404  ·  view source on GitHub ↗
(
        magnitude_str: String,
        inter: i32,
        sep: char,
        disp_digit_cnt: i32,
    )

Source from the content-addressed store, hash-verified

380 }
381
382 fn separate_integer(
383 magnitude_str: String,
384 inter: i32,
385 sep: char,
386 disp_digit_cnt: i32,
387 ) -> String {
388 let magnitude_len = magnitude_str.len() as i32;
389 let offset = (disp_digit_cnt % (inter + 1) == 0) as i32;
390 let disp_digit_cnt = disp_digit_cnt + offset;
391 let pad_cnt = disp_digit_cnt - magnitude_len;
392 let sep_cnt = disp_digit_cnt / (inter + 1);
393 let diff = pad_cnt - sep_cnt;
394 if pad_cnt > 0 && diff > 0 {
395 // separate with 0 padding
396 let padding = "0".repeat(diff as usize);
397 let padded_num = format!("{padding}{magnitude_str}");
398 Self::insert_separator(padded_num, inter, sep, sep_cnt)
399 } else {
400 // separate without padding
401 let sep_cnt = (magnitude_len - 1) / inter;
402 Self::insert_separator(magnitude_str, inter, sep, sep_cnt)
403 }
404 }
405
406 fn insert_separator(mut magnitude_str: String, inter: i32, sep: char, sep_cnt: i32) -> String {
407 let magnitude_len = magnitude_str.len() as i32;

Callers

nothing calls this directly

Calls 2

lenMethod · 0.45
repeatMethod · 0.45

Tested by

no test coverage detected