Add Inf and NaN literals to the DSL (#933)

* Add Inf and NaN literals to the DSL

* Parser-build artifacts

* is_nan DSL function

* doc-build artifacts

* webdoc material
This commit is contained in:
John Kerl 2022-02-08 09:58:50 -05:00 committed by GitHub
parent ce4d137f03
commit d67868bd33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 449780 additions and 431433 deletions

View file

@ -189,18 +189,18 @@ FUNCTION LIST
fold format fsec2dhms fsec2hms get_keys get_values gmt2localtime gmt2sec gsub
haskey hexfmt hms2fsec hms2sec hostname int invqnorm is_absent is_array
is_bool is_boolean is_empty is_empty_map is_error is_float is_int is_map
is_nonempty_map is_not_array is_not_empty is_not_map is_not_null is_null
is_numeric is_present is_string joink joinkv joinv json_parse json_stringify
leafcount length localtime2gmt localtime2sec log log10 log1p logifit lstrip
madd mapdiff mapexcept mapselect mapsum max md5 mexp min mmul msub os pow
qnorm reduce regextract regextract_or_else round roundm rstrip sec2dhms
sec2gmt sec2gmtdate sec2hms sec2localdate sec2localtime select sgn sha1 sha256
sha512 sin sinh sort splita splitax splitkv splitkvx splitnv splitnvx sqrt
ssub strftime strftime_local string strip strlen strptime strptime_local sub
substr substr0 substr1 system systime systimeint tan tanh tolower toupper
truncate typeof unflatten unformat unformatx uptime urand urand32 urandelement
urandint urandrange version ! != !=~ % & && * ** + - . .* .+ .- ./ / // < <<
<= <=> == =~ > >= >> >>> ?: ?? ??? ^ ^^ | || ~
is_nan is_nonempty_map is_not_array is_not_empty is_not_map is_not_null
is_null is_numeric is_present is_string joink joinkv joinv json_parse
json_stringify leafcount length localtime2gmt localtime2sec log log10 log1p
logifit lstrip madd mapdiff mapexcept mapselect mapsum max md5 mexp min mmul
msub os pow qnorm reduce regextract regextract_or_else round roundm rstrip
sec2dhms sec2gmt sec2gmtdate sec2hms sec2localdate sec2localtime select sgn
sha1 sha256 sha512 sin sinh sort splita splitax splitkv splitkvx splitnv
splitnvx sqrt ssub strftime strftime_local string strip strlen strptime
strptime_local sub substr substr0 substr1 system systime systimeint tan tanh
tolower toupper truncate typeof unflatten unformat unformatx uptime urand
urand32 urandelement urandint urandrange version ! != !=~ % & && * ** + - . .*
.+ .- ./ / // < << <= <=> == =~ > >= >> >>> ?: ?? ??? ^ ^^ | || ~
COMMENTS-IN-DATA FLAGS
Miller lets you put comments in your data, such as
@ -2267,6 +2267,9 @@ FUNCTIONS FOR FILTER/PUT
is_map
(class=typing #args=1) True if argument is a map.
is_nan
(class=typing #args=1) True if the argument is the NaN (not-a-number) floating-point value. Note that NaN has the property that NaN != NaN, so you need 'is_nan(x)' rather than 'x == NaN'.
is_nonempty_map
(class=typing #args=1) True if argument is a map which is non-empty.

View file

@ -236,18 +236,18 @@ depth dhms2fsec dhms2sec erf erfc every exp expm1 flatten float floor fmtnum
fold format fsec2dhms fsec2hms get_keys get_values gmt2localtime gmt2sec gsub
haskey hexfmt hms2fsec hms2sec hostname int invqnorm is_absent is_array
is_bool is_boolean is_empty is_empty_map is_error is_float is_int is_map
is_nonempty_map is_not_array is_not_empty is_not_map is_not_null is_null
is_numeric is_present is_string joink joinkv joinv json_parse json_stringify
leafcount length localtime2gmt localtime2sec log log10 log1p logifit lstrip
madd mapdiff mapexcept mapselect mapsum max md5 mexp min mmul msub os pow
qnorm reduce regextract regextract_or_else round roundm rstrip sec2dhms
sec2gmt sec2gmtdate sec2hms sec2localdate sec2localtime select sgn sha1 sha256
sha512 sin sinh sort splita splitax splitkv splitkvx splitnv splitnvx sqrt
ssub strftime strftime_local string strip strlen strptime strptime_local sub
substr substr0 substr1 system systime systimeint tan tanh tolower toupper
truncate typeof unflatten unformat unformatx uptime urand urand32 urandelement
urandint urandrange version ! != !=~ % & && * ** + - . .* .+ .- ./ / // < <<
<= <=> == =~ > >= >> >>> ?: ?? ??? ^ ^^ | || ~
is_nan is_nonempty_map is_not_array is_not_empty is_not_map is_not_null
is_null is_numeric is_present is_string joink joinkv joinv json_parse
json_stringify leafcount length localtime2gmt localtime2sec log log10 log1p
logifit lstrip madd mapdiff mapexcept mapselect mapsum max md5 mexp min mmul
msub os pow qnorm reduce regextract regextract_or_else round roundm rstrip
sec2dhms sec2gmt sec2gmtdate sec2hms sec2localdate sec2localtime select sgn
sha1 sha256 sha512 sin sinh sort splita splitax splitkv splitkvx splitnv
splitnvx sqrt ssub strftime strftime_local string strip strlen strptime
strptime_local sub substr substr0 substr1 system systime systimeint tan tanh
tolower toupper truncate typeof unflatten unformat unformatx uptime urand
urand32 urandelement urandint urandrange version ! != !=~ % & && * ** + - . .*
\&.+ .- ./ / // < << <= <=> == =~ > >= >> >>> ?: ?? ??? ^ ^^ | || ~
.fi
.if n \{\
.RE
@ -3268,6 +3268,15 @@ gsub("prefix4529:suffix8567", "(....ix)([0-9]+)", "[\e1 : \e2]") gives "[prefix
.fi
.if n \{\
.RE
.SS "is_nan"
.if n \{\
.RS 0
.\}
.nf
(class=typing #args=1) True if the argument is the NaN (not-a-number) floating-point value. Note that NaN has the property that NaN != NaN, so you need 'is_nan(x)' rather than 'x == NaN'.
.fi
.if n \{\
.RE
.SS "is_nonempty_map"
.if n \{\
.RS 0