NAME
Sah::Schemas::Float - Sah schemas for various floating types
VERSION
This document describes version 0.013 of Sah::Schemas::Float (from Perl
distribution Sah-Schemas-Float), released on 2022-10-20.
SAH SCHEMAS
The following schemas are included in this distribution:
* inf
Inf or -Inf.
* int_or_inf
Integer, or Inf/-Inf.
* nan
NaN.
* negfloat
Negative float.
* neginf
-Inf.
* percent
A float.
This type is basically "float", with "str_as_percent" coerce rule.
So the percent sign is optional, but the number is always
interpreted as percent, e.g. "1" is interpreted as 1% (0.01).
In general, instead of using this schema, I recommend just using the
"float" type (which by default includes coercion rule to convert
from percent notation e.g. '1%' -> 0.01). Use this schema if your
argument really needs to be expressed in percents.
* posfloat
Positive float.
See also "ufloat" for floats that are equal or larger than 0.
* posinf
Inf but not -Inf.
* posint_or_posinf
Positive integer, or Inf.
Can be used to check value for number of items in a (possibly
infinite) sequence.
* share
A float between 0 and 1.
Accepted in one of these forms:
0.5 # a normal float between 0 and 1
10 # a float between 1 (exclusive) and 100, interpreted as percent
10% # a percentage string, between 0% and 100%
Due to different interpretations, particularly "1" (some people
might expect it to mean "0.01" or "1%") use of this type is
discouraged. Use Sah::Schema::percent instead.
* ufloat
Non-negative float.
See also "posfloat" for floats that are larger than 0.
* uint_or_posinf
Unsigned integer, or Inf.
Can be used to check value for number of items in a (possibly
infinite) sequence.
HOMEPAGE
Please visit the project's homepage at
.
SOURCE
Source repository is at
.
SEE ALSO
Sah - schema specification
Data::Sah - Perl implementation of Sah
AUTHOR
perlancar
CONTRIBUTING
To contribute, you can send patches by email/via RT, or send pull
requests on GitHub.
Most of the time, you don't need to build the distribution yourself. You
can simply modify the code, then test via:
% prove -l
If you want to build the distribution (e.g. to try to install it locally
on your system), you can install Dist::Zilla,
Dist::Zilla::PluginBundle::Author::PERLANCAR,
Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two
other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps
required beyond that are considered a bug and can be reported to me.
COPYRIGHT AND LICENSE
This software is copyright (c) 2022, 2020, 2019, 2018 by perlancar
.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
BUGS
Please report any bugs or feature requests on the bugtracker website
When submitting a bug or request, please include a test-file or a patch
to an existing test-file that illustrates the bug or desired feature.