App-MineralUtils

 view release on metacpan or  search on metacpan

lib/App/MineralUtils.pm  view on Meta::CPAN


=head2 convert_calcium_unit

Usage:

 convert_calcium_unit(%args) -> [$status_code, $reason, $payload, \%result_meta]

Convert an iron quantity from one unit to another.

Examples:

=over

=item * Show all possible conversions:

 convert_calcium_unit();

Result:

 [
   200,
   "OK",
   [
     {
       amount  => 1,
       pct_ca  => 100,
       unit    => "mg-ca-elem",
       summary => "Elemental calcium, in milligrams",
     },
     {
       amount  => 2.5,
       pct_ca  => 40.0432024570648,
       unit    => "mg-ca-carbonate",
       summary => "Calcium carbonate (CaCO3), in milligrams",
     },
     {
       amount  => 7.40740740740741,
       pct_ca  => 13.5266124405144,
       unit    => "mg-ca-pidolate",
       summary => "Calcium pidolate (C10H12CaN2O6), in milligrams",
     },
     {
       amount  => 5.43478260869565,
       pct_ca  => 18.3658693062048,
       unit    => "mg-ca-lactate",
       summary => "Calcium lactate (C6H10CaO6), in milligrams",
     },
     {
       amount  => 4.149377593361,
       pct_ca  => 24.1239967897271,
       unit    => "mg-ca-citrate-anhydrous",
       summary => "Calcium citrate anhydrous (C12H10Ca3O14), in milligrams",
     },
     {
       amount  => 4.739336492891,
       pct_ca  => 21.0751971954426,
       unit    => "mg-ca-citrate-tetrahydrate",
       summary => "Calcium citrate tetrahydrate (C12H18Ca3O18) [most common hydrate form of Ca-citrate], in milligrams",
     },
     {
       amount  => 10.6382978723404,
       pct_ca  => 9.40047849134494,
       unit    => "mg-ca-ascorbate-dihydrate",
       summary => "Calcium ascorbate dihydrate (C12H18CaO14), in milligrams",
     },
     {
       amount  => 10.752688172043,
       pct_ca  => 9.31245207612055,
       unit    => "mg-ca-gluconate",
       summary => "Calcium gluconate (C12H22CaO14), in milligrams",
     },
     {
       amount  => 5.23560209424084,
       pct_ca  => 19.0720472066242,
       unit    => "mg-ca-glycerophosphate",
       summary => "Calcium glycerophosphate (C3H7CaO6P), in milligrams",
     },
   ],
   {
     "table.fields"        => ["amount", "pct_ca", "unit", "summary"],
     "table.field_formats" => [
                                ["number", { precision => 3, thousands_sep => "" }],
                                ["number", { thousands_sep => "", precision => 3 }],
                                undef,
                                undef,
                              ],
     "table.field_aligns"  => ["number", "number", "left", "left"],
   },
 ]

=back

If target unit is not specified, will show all known conversions.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<quantity> => I<str> (default: "1 mg")

(No description)

=item * B<to_unit> => I<str>

(No description)


=back

Returns an enveloped result (an array).

First element ($status_code) is an integer containing HTTP-like status code
(200 means OK, 4xx caller error, 5xx function error). Second element
($reason) is a string containing error message, or something like "OK" if status is
200. Third element ($payload) is the actual result, but usually not present when enveloped result is an error response ($status_code is not 2xx). Fourth
element (%result_meta) is called result metadata and is optional, a hash
that contains extra information, much like how HTTP response headers provide additional metadata.

Return value:  (any)



( run in 1.677 second using v1.01-cache-2.11-cpan-f56aa216473 )