Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -1,4 +1,4 @@
fun isNumeric = logic by text value
fun isNumeric logic by text value
try
^|So funny:
|a) we check if it's castable to a real
@ -12,8 +12,8 @@ fun isNumeric = logic by text value
return false
end
end
fun main = int by List args
if args.length == 1
fun main int by List args
if args.length æ 1
writeLine(isNumeric(args[0]))
else
writeLine("value".padEnd(8, " ") + " " + "numeric")

View file

@ -0,0 +1,5 @@
H
g/^([-+]?[0-9]*)(\.[0-9]+([eE][+-]?[0-9]+)?)?$/s//\1\2 is numeric/
v/numeric/s/.*/& is not numeric/
,p
Q

View file

@ -1,34 +1,32 @@
(phixonline)-->
<span style="color: #008080;">function</span> <span style="color: #000000;">isNumber</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">s</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">return</span> <span style="color: #7060A8;">scanf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"%f"</span><span style="color: #0000FF;">)!={}</span>
<span style="color: #000080;font-style:italic;">-- Alt: isNumberString(object s) and
-- return string(s) and scanf(s,"%f")!={}, or even
-- return string(s) and scanf(substitute(trim(s),",",""),"%f")!={}</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
function isNumber(string s)
return scanf(s,"%f")!={}
-- Alt: isNumberString(object s) and
-- return string(s) and scanf(s,"%f")!={}, or even
-- return string(s) and scanf(substitute(trim(s),",",""),"%f")!={}
end function
<span style="color: #008080;">constant</span> <span style="color: #000000;">tests</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #008000;">"#a"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"#A"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0xA"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0(16)A"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"#FF"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"255"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"0."</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0.0"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"000.000"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0e0"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0e-2000"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">".14"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">".05"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"-5.2"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0xf"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"ten"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1B"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"#1B"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">" 12 "</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">trim</span><span style="color: #0000FF;">(</span><span style="color: #008000;">" 12 "</span><span style="color: #0000FF;">),</span><span style="color: #008000;">"1"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0o16"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0o18"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"0b10101111_11110000_11110000_00110011"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"1_000"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"50e"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"+123"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"+ 123"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"-0b10101"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"NaN"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"+.345"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"12..34"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"12e3.4"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0-2"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"192.168.0.1"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1.2e"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1 2"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"12.34"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">""</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"beef"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"#beef"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1,000,000"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"Inf"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1/2"</span><span style="color: #0000FF;">,</span>
<span style="color: #008000;">"1.5e+27"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"0x10.5"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"1."</span><span style="color: #0000FF;">}</span>
constant tests = {"#a","#A","0xA","0(16)A","#FF","255","0",
"0.","0.0","000.000","0e0","0e-2000"," ",
".14",".05","-5.2","0xf","ten","1B","#1B",
" 12 ",trim(" 12 "),"1","0o16","0o18",
"0b10101111_11110000_11110000_00110011",
"1_000","50e","+123","+ 123","-0b10101",
"NaN","+.345","12..34","12e3.4","0-2",
"192.168.0.1","1.2e","1 2","12.34","",
"beef","#beef","1,000,000","Inf","1/2",
"1.5e+27","0x10.5","1."}
<span style="color: #004080;">sequence</span> <span style="color: #000000;">numeric</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{},</span>
<span style="color: #000000;">notnumb</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{}</span>
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">tests</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span>
<span style="color: #004080;">string</span> <span style="color: #000000;">ti</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">tests</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">]</span>
<span style="color: #008080;">if</span> <span style="color: #000000;">isNumber</span><span style="color: #0000FF;">(</span><span style="color: #000000;">ti</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">then</span>
<span style="color: #000000;">numeric</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">numeric</span><span style="color: #0000FF;">,</span><span style="color: #000000;">ti</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">else</span>
<span style="color: #000000;">notnumb</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">notnumb</span><span style="color: #0000FF;">,</span><span style="color: #000000;">ti</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"numeric: "</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">pp</span><span style="color: #0000FF;">(</span><span style="color: #000000;">numeric</span><span style="color: #0000FF;">,{</span><span style="color: #004600;">pp_Indent</span><span style="color: #0000FF;">,</span><span style="color: #000000;">9</span><span style="color: #0000FF;">})</span>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\nnot numeric: "</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">pp</span><span style="color: #0000FF;">(</span><span style="color: #000000;">notnumb</span><span style="color: #0000FF;">,{</span><span style="color: #004600;">pp_Indent</span><span style="color: #0000FF;">,</span><span style="color: #000000;">13</span><span style="color: #0000FF;">})</span>
<!--
sequence numeric = {},
notnumb = {}
for i=1 to length(tests) do
string ti = tests[i]
if isNumber(ti) then
numeric = append(numeric,ti)
else
notnumb = append(notnumb,ti)
end if
end for
puts(1,"numeric: ")
pp(numeric,{pp_Indent,9})
puts(1,"\nnot numeric: ")
pp(notnumb,{pp_Indent,13})