NAME
Class::Measure::Scientific::FX_992vb - units of measurement like the CASIO fx-992vb
VERSION
This document describes Class::Measure::Scientific::FX_992vb v0.0.7.
SYNOPSIS
use Class::Measure::Scientific::FX_992vb;
$m = Class::Measure::Scientific::FX_992vb->mass(1, 'u');
print $m->kg();
DESCRIPTION
Create, compare and convert units of measurement as the CASIO fx-992vb. This has little to do with the CASIO fx-992vb itself, the hardware just provides a stable curated scope of range and precision for the 128 constants used in this module so it won't be endlessly updated with more units or more precise constants.
SUBROUTINES/METHODS
Class::Measure::Scientific::FX_992vb->new(1, 'inHg')-
Constructs a new Class::Measure::Scientific::FX_992vb object. This is the same type of object as the following list of specific objects, but the specific objects might in the future be able to handle conflicting aliases for units which the generic constructor can't.
$f = Class::Measure::Scientific::FX_992vb->volume(1, 'cu');-
Construct a volume object. Unit must be one of
m3for cubic meter,bblfor barrel,dry_barrelfor dry barrel,bushel_ukfor UK bushel,bufor bushel,cufor cup,pt_dryfor dry pint,fbmfor board foot,floz_ukfor UK fluid ounce,floz_usfor US fluid ounce,gal_ukfor UK gallon,gal_usfor US gallon,pkfor peck,pt_ukfor pint,pt_usfor liquid pint,tbspfor tablespoon ortspfor teaspoon. $f = Class::Measure::Scientific::FX_992vb->area(1, 'acre');-
Construct an area object. Unit must be
m2for square meter oracrefor acre. $f = Class::Measure::Scientific::FX_992vb->length(1, 'fathom');-
Construct a length object. Unit must be one of
mfor meter,AUfor astronomical unit,lyfor light-year,nmifor Nautical mile,pcfor parsec,chainfor chain,fathomfor fathom,ftfor foot,ft_usfor US surveyors foot,infor inch,milfor mil (1/1000th inch),milefor mile,smfor US statute miles,ydfor yard,yd_usfor US yard,lambdacnfor Compton wavelength of neutron,lambdacpfor Compton wavelength of proton,a0for Bohr radius orrefor electron radius. $f = Class::Measure::Scientific::FX_992vb->duration(1, 'year');-
Construct a duration object. Unit must be
sfor seconds oryearfor tropical year. $f = Class::Measure::Scientific::FX_992vb->speed(1, 'c');-
Construct a speed object. Unit must be one of
mpsfor meter per second,mphfor miles per hour,knfor knot orcfor the speed of light. $f = Class::Measure::Scientific::FX_992vb->acceleration(1, 'g');-
Construct an acceleration object. Unit must be one of
gfor acceleration of free fall ormps2for meters per second squared. $f = Class::Measure::Scientific::FX_992vb->angle(90, 'deg');-
Construct an angle object. Unit must be one of
radfor radian,degfor degree,minutefor minute of arc,secondfor second of arc orgradefor gradian. $f = Class::Measure::Scientific::FX_992vb->mass(1, 'u');-
Construct a mass object. Unit must be one of
kgfor kilogram,ctfor metric carat,cwt_ukfor UK hundredweight,cwt_usfor US hundred weight,grfor grain,lbfor pound,lbtfor troy pound,ozfor ounce,oztfor troy ounce,slugfor slug,ton_ukfor long ton,ton_usfor short ton,m1hfor mass of hydrogen atom,mefor mass of electron,mnfor mass of neutron,mpfor mass of proton orufor atomic mass unit. $f = Class::Measure::Scientific::FX_992vb->force(1, 'pdl');-
Construct a force object. Unit must be one of
Nfor Newton,kgffor kilogram-force,lbffor pound-force orpdlfor poundal. $f = Class::Measure::Scientific::FX_992vb->pressure(1, 'inHg');-
Construct a pressure object. Unit must be one of
pafor Pascal,atfor technical atmosphere,atmfor standard atmosphere,mH2Ofor meter of water,mmHgfor millimeter mercury,Torrfor torr,ftH2Ofor foot of water,inH2Ofor inch of water,inHgfor inch of mercury orpsifor pounds per square inch. $f = Class::Measure::Scientific::FX_992vb->temperature(1, 'C');-
Construct a temperature object. Unit must be one of
Cfor degrees Celsius,Ffor degrees Fahrenheit orKfor Kelvin. $f = Class::Measure::Scientific::FX_992vb->energy(1, 'J');-
Construct an energy object. Unit must be one of
Jfor Joule,BTUfor British thermal unit,ftlbffor foot-pound,hpfor horsepower,cal15for 15 degree calorie,calitfor International calorie orcalthfor thermochemical calorie. $f = Class::Measure::Scientific::FX_992vb->power(1, 'ps');-
Construct a power object. Unit must be one of
Wfor Watts,psfor metric horsepower orBTUhfor BTU per hour. $f = Class::Measure::Scientific::FX_992vb->linear_density(1, 'D');-
Construct a linear density object. Unit must be one of
Dfor Denier orkgpmfor kilogram per meter. $f = Class::Measure::Scientific::FX_992vb->field_equation(1, 'G');-
Construct a field equation object. Unit must be one of
Gfor gravitational constant orNm2pkg2for Newton meter squared per kilogram squared. $f = Class::Measure::Scientific::FX_992vb->heat_capacity(1, 'BTUlbR');-
Construct a heat capacity object. Unit must be one of
BTUlbR(British thermal unit per pound Rankine) for specific heat capacity orJpkgKfor Joule per kilogram Kelvin. $f = Class::Measure::Scientific::FX_992vb->thermodynamic(1, 'BTUlb');-
Construct a thermodynamic object. Unit must be one of
BTUlbfor specific internal energy orJpkgfor Joule per kilogram. $f = Class::Measure::Scientific::FX_992vb->magnetic(1, 'muB');-
Construct a magnetic object. Unit must be one of
muBfor Bohr magneton,muefor magnetic moment of electron,muNfor nuclear magneton,mupfor magnetic moment of proton orAm2for Ampere meter squared. $f = Class::Measure::Scientific::FX_992vb->gyromagnetic(1, 'gammap');-
Construct a gyromagnetic object. Unit must be one of
gammapfor gyromagnetic ratio of proton,gammapaltfor gyromagnetic ratio of proton in water orAm2pJsfor Ampere meter squared per Joule second. $f = Class::Measure::Scientific::FX_992vb->electromagnetic(1, 'h');-
Construct a electromagnetic object. Unit must be one of
hfor Planck constant,hbarfor Planck constant per 2 Pi orJsfor Joule second. $f = Class::Measure::Scientific::FX_992vb->spectroscopic(1, 'Rinf');-
Construct a spectroscopic object. Unit must be one of
Rinffor Rydberg constant for heavy atoms orpmfor per meter. $f = Class::Measure::Scientific::FX_992vb->radioactive(1, 'Ci');-
Construct a radioactive object. Unit must be one of
Cifor Curie orBqfor becquerel. $f = Class::Measure::Scientific::FX_992vb->radiation(1, 'R');-
Construct a radiation object. Unit must be one of
Rfor Rontgen orCpkgfor coulomb per kilogram. $f = Class::Measure::Scientific::FX_992vb->flux(1, 'phi0');-
Construct a quantum flux object. Unit must be one of
phi0for magnetic flux quantum orWbfor weber. $f = Class::Measure::Scientific::FX_992vb->wavelength(1, 'c1');-
Construct a wavelength object. Unit must be one of
c1for first radiation constant orWm2for Watt meter squared. $f = Class::Measure::Scientific::FX_992vb->wavenumber(1, 'c2');-
Construct a wavenumber object. Unit must be one of
c2for second radiation constant ormKfor meter Kelvin. $f = Class::Measure::Scientific::FX_992vb->luminance(1, 'lam');-
Construct a luminance object. Unit must be one of
lamfor lambert,flamfor footlambert orcdpm2for candela per square meter. $f = Class::Measure::Scientific::FX_992vb->charge(1, 'e');-
Construct a charge object. Unit must be one of
efor elementary charge orCfor coulomb. $f = Class::Measure::Scientific::FX_992vb->electrolysis(1, 'F');-
Construct an electrolysis object. Unit must be one of
ffor Faraday constant (lowercase to avoid conflict with Fahrenheit) orCpmolfor coulombs per mole. $f = Class::Measure::Scientific::FX_992vb->entropy(1, 'k');-
Construct an entropy object. Unit must be one of
kfor Boltzmann constant orJpKfor Joule per Kelvin. $f = Class::Measure::Scientific::FX_992vb->proportionality(1, 'Na');-
Construct a proportionality object. Unit must be one of
Nafor Avogadro constant orpmolfor per mole. $f = Class::Measure::Scientific::FX_992vb->gas(1, 'R');-
Construct a gas object. Unit must be one of
Rfor molar gas constant orJpmolKfor Joule per mole Kelvin. $f = Class::Measure::Scientific::FX_992vb->mixture(1, 'Vm');-
Construct a mixture object. Unit must be one of
Vmfor molar volume orm3pmolfor cubic meter per mole. $f = Class::Measure::Scientific::FX_992vb->isotropic(1, 'alpha');-
Construct an isotropic object. Unit must be one of
alphafor polarizability of molecule orCm2pVfor coulomb meter squared per Volt. $f = Class::Measure::Scientific::FX_992vb->susceptibility(1, 'p');-
Construct a susceptibility object. Unit must be one of
pfor dipole of molecule orCmfor coulomb meter. $f = Class::Measure::Scientific::FX_992vb->displacement(1, 'Ds');-
Construct a displacement object. Unit must be one of
Dsfor G. electric flux density,Psfor G. electric polarization orCpm2for coulomb per square meter. Class::Measure::Scientific::FX_992vb::CONST(1);-
All constants are available as the class method
CONSTwhich takes the index of the constant as argument as number from 1 to 128. This is the way the constants are recalled on the CASIO fx-992vb.
CONFIGURATION AND ENVIRONMENT
None.
DEPENDENCIES
Perl 5.16
Class::Measure 0.08 or newer
INCOMPATIBILITIES
This module has the same incompatibilities as Class::Measure.
DIAGNOSTICS
This module uses Log::Log4perl for logging when resurrected.
BUGS AND LIMITATIONS
The values are based on the constants from the CASIO fx-992vb scientific calculator from the 90s, which are based on JIS-Z-8202-1988 (Japan Industrial Standards). These are not the latest standards and should not be used when more accurate values than those displayed in a pocket calculator from that era are expected. For example the 2019 redefinition of the SI base units is not and won't be implemented in this module.
Interval scales
While the CASIO fx-992vb has the constants to convert between Celsius, Fahrenheit and Kelvin - using zero Celsius in Kelvin, zero Fahrenheit in Celsius and degree Fahrenheit in Kelvin/Celsius - Celsius and Fahrenheit are only units on interval scales as opposed to Kelvin which has a defined thermodynamic zero which makes it a unit on a ratio scale. This module does of course convert directly between those scales, but for completeness the constants used in those calculations can also be accessed as class methods.
Zero Celsius
Class::Measure::Scientific::FX_992vb::zC()as 273.15 KelvinZero Fahrenheit
Class::Measure::Scientific::FX_992vb::zF()as -160/9 CelsiusFahrenheit Kelvin ratio
Class::Measure::Scientific::FX_992vb::FK()as 5/9
Dimensionless quantities
Some constants are dimensionless quantities, which means they are independent of the system of unit used and can't be used to convert between units so they are useless in the functionality of this module. These dimensionless quantity constants are listed here for completeness and are available as class methods.
Decibel level difference
Class::Measure::Scientific::FX_992vb::dB()as 0.11512925465Neper level difference
Class::Measure::Scientific::FX_992vb::Np()as 8.68588963807Fine-structure constant
Class::Measure::Scientific::FX_992vb::a()as 7.2973506e-3
Please report any bugs or feature requests at Bitbucket.
AUTHOR
Roland van Ipenburg, <roland@rolandvanipenburg.com>
LICENSE AND COPYRIGHT
Copyright 2020-2021 by Roland van Ipenburg This program is free software; you can redistribute it and/or modify it under the GNU General Public License v3.0.
DISCLAIMER OF WARRANTY
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.