Sah::Schemas::Float - Sah schemas for various floating types
This document describes version 0.013 of Sah::Schemas::Float (from Perl distribution Sah-Schemas-Float), released on 2022-10-20.
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).
float
str_as_percent
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.
ufloat
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.
Non-negative float.
See also posfloat for floats that are larger than 0.
uint_or_posinf
Unsigned integer, or Inf.
Please visit the project's homepage at https://metacpan.org/release/Sah-Schemas-Float.
Source repository is at https://github.com/perlancar/perl-Sah-Schemas-Float.
Sah - schema specification
Data::Sah - Perl implementation of Sah
perlancar <perlancar@cpan.org>
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.
This software is copyright (c) 2022, 2020, 2019, 2018 by perlancar <perlancar@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Sah-Schemas-Float
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.
To install Sah::Schemas::Float, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sah::Schemas::Float
CPAN shell
perl -MCPAN -e shell install Sah::Schemas::Float
For more information on module installation, please visit the detailed CPAN module installation guide.