mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
43 lines
2.2 KiB
Plaintext
43 lines
2.2 KiB
Plaintext
<* This module is scheduled for removal, use std::core::ascii *>
|
|
module std::ascii;
|
|
|
|
macro bool in_range_m(c, start, len) => (uint)(c - start) < len;
|
|
macro bool is_lower_m(c) => in_range_m(c, 0x61, 26);
|
|
macro bool is_upper_m(c) => in_range_m(c, 0x41, 26);
|
|
macro bool is_digit_m(c) => in_range_m(c, 0x30, 10);
|
|
macro bool is_bdigit_m(c) => in_range_m(c, 0x30, 2);
|
|
macro bool is_odigit_m(c) => in_range_m(c, 0x30, 8);
|
|
macro bool is_xdigit_m(c) => in_range_m(c | 32, 0x61, 6) || is_digit_m(c);
|
|
macro bool is_alpha_m(c) => in_range_m(c | 32, 0x61, 26);
|
|
macro bool is_print_m(c) => in_range_m(c, 0x20, 95);
|
|
macro bool is_graph_m(c) => in_range_m(c, 0x21, 94);
|
|
macro bool is_space_m(c) => in_range_m(c, 0x9, 5) || c == 0x20;
|
|
macro bool is_alnum_m(c) => is_alpha_m(c) || is_digit_m(c);
|
|
macro bool is_punct_m(c) => !is_alnum_m(c) && is_graph_m(c);
|
|
macro bool is_blank_m(c) => c == 0x20 || c == 0x9;
|
|
macro bool is_cntrl_m(c) => c < 0x20 || c == 0x7f;
|
|
macro to_lower_m(c) => is_upper_m(c) ? c + 0x20 : c;
|
|
macro to_upper_m(c) => is_lower_m(c) ? c - 0x20 : c;
|
|
|
|
fn bool in_range(char c, char start, char len) => in_range_m(c, start, len);
|
|
|
|
fn bool char.in_range(char c, char start, char len) => in_range_m(c, start, len);
|
|
|
|
fn bool uint.in_range(uint c, uint start, uint len) => in_range_m(c, start, len);
|
|
fn bool uint.is_lower(uint c) @deprecated => is_lower_m(c);
|
|
fn bool uint.is_upper(uint c) @deprecated => is_upper_m(c);
|
|
fn bool uint.is_digit(uint c) @deprecated => is_digit_m(c);
|
|
fn bool uint.is_bdigit(uint c) @deprecated => is_bdigit_m(c);
|
|
fn bool uint.is_odigit(uint c) @deprecated => is_odigit_m(c);
|
|
fn bool uint.is_xdigit(uint c) @deprecated => is_xdigit_m(c);
|
|
fn bool uint.is_alpha(uint c) @deprecated => is_alpha_m(c);
|
|
fn bool uint.is_print(uint c) @deprecated => is_print_m(c);
|
|
fn bool uint.is_graph(uint c) @deprecated => is_graph_m(c);
|
|
fn bool uint.is_space(uint c) @deprecated => is_space_m(c);
|
|
fn bool uint.is_alnum(uint c) @deprecated => is_alnum_m(c);
|
|
fn bool uint.is_punct(uint c) @deprecated => is_punct_m(c);
|
|
fn bool uint.is_blank(uint c) @deprecated => is_blank_m(c);
|
|
fn bool uint.is_cntrl(uint c) @deprecated => is_cntrl_m(c);
|
|
fn uint uint.to_lower(uint c) @deprecated => (uint)to_lower_m(c);
|
|
fn uint uint.to_upper(uint c) @deprecated => (uint)to_upper_m(c);
|