web/lib/Zend/Measure/Power.php
changeset 64 162c1de6545a
parent 19 1c2f13fd785c
child 68 ecaf28ffe26e
equal deleted inserted replaced
63:5b37998e522e 64:162c1de6545a
       
     1 <?php
       
     2 /**
       
     3  * Zend Framework
       
     4  *
       
     5  * LICENSE
       
     6  *
       
     7  * This source file is subject to the new BSD license that is bundled
       
     8  * with this package in the file LICENSE.txt.
       
     9  * It is also available through the world-wide-web at this URL:
       
    10  * http://framework.zend.com/license/new-bsd
       
    11  * If you did not receive a copy of the license and are unable to
       
    12  * obtain it through the world-wide-web, please send an email
       
    13  * to license@zend.com so we can send you a copy immediately.
       
    14  *
       
    15  * @category  Zend
       
    16  * @package   Zend_Measure
       
    17  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    18  * @license   http://framework.zend.com/license/new-bsd     New BSD License
       
    19  * @version   $Id: Power.php 20096 2010-01-06 02:05:09Z bkarwin $
       
    20  */
       
    21 
       
    22 /**
       
    23  * Implement needed classes
       
    24  */
       
    25 require_once 'Zend/Measure/Abstract.php';
       
    26 require_once 'Zend/Locale.php';
       
    27 
       
    28 /**
       
    29  * Class for handling power conversions
       
    30  *
       
    31  * @category   Zend
       
    32  * @package    Zend_Measure
       
    33  * @subpackage Zend_Measure_Power
       
    34  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    35  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    36  */
       
    37 class Zend_Measure_Power extends Zend_Measure_Abstract
       
    38 {
       
    39     const STANDARD = 'WATT';
       
    40 
       
    41     const ATTOWATT                               = 'ATTOWATT';
       
    42     const BTU_PER_HOUR                           = 'BTU_PER_HOUR';
       
    43     const BTU_PER_MINUTE                         = 'BTU_PER_MINUTE';
       
    44     const BTU_PER_SECOND                         = 'BTU_PER_SECOND';
       
    45     const CALORIE_PER_HOUR                       = 'CALORIE_PER_HOUR';
       
    46     const CALORIE_PER_MINUTE                     = 'CALORIE_PER_MINUTE';
       
    47     const CALORIE_PER_SECOND                     = 'CALORIE_PER_SECOND';
       
    48     const CENTIWATT                              = 'CENTIWATT';
       
    49     const CHEVAL_VAPEUR                          = 'CHEVAL_VAPEUR';
       
    50     const CLUSEC                                 = 'CLUSEC';
       
    51     const DECIWATT                               = 'DECIWATT';
       
    52     const DEKAWATT                               = 'DEKAWATT';
       
    53     const DYNE_CENTIMETER_PER_HOUR               = 'DYNE_CENTIMETER_PER_HOUR';
       
    54     const DYNE_CENTIMETER_PER_MINUTE             = 'DYNE_CENTIMETER_PER_MINUTE';
       
    55     const DYNE_CENTIMETER_PER_SECOND             = 'DYNE_CENTIMETER_PER_SECOND';
       
    56     const ERG_PER_HOUR                           = 'ERG_PER_HOUR';
       
    57     const ERG_PER_MINUTE                         = 'ERG_PER_MINUTE';
       
    58     const ERG_PER_SECOND                         = 'ERG_PER_SECOND';
       
    59     const EXAWATT                                = 'EXAWATT';
       
    60     const FEMTOWATT                              = 'FEMTOWATT';
       
    61     const FOOT_POUND_FORCE_PER_HOUR              = 'FOOT_POUND_FORCE_PER_HOUR';
       
    62     const FOOT_POUND_FORCE_PER_MINUTE            = 'FOOT_POUND_FORCE_PER_MINUTE';
       
    63     const FOOT_POUND_FORCE_PER_SECOND            = 'FOOT_POUND_FORCE_PER_SECOND';
       
    64     const FOOT_POUNDAL_PER_HOUR                  = 'FOOT_POUNDAL_PER_HOUR';
       
    65     const FOOT_POUNDAL_PER_MINUTE                = 'FOOT_POUNDAL_PER_MINUTE';
       
    66     const FOOT_POUNDAL_PER_SECOND                = 'FOOT_POUNDAL_PER_SECOND';
       
    67     const GIGAWATT                               = 'GIGAWATT';
       
    68     const GRAM_FORCE_CENTIMETER_PER_HOUR         = 'GRAM_FORCE_CENTIMETER_PER_HOUR';
       
    69     const GRAM_FORCE_CENTIMETER_PER_MINUTE       = 'GRAM_FORCE_CENTIMETER_PER_MINUTE';
       
    70     const GRAM_FORCE_CENTIMETER_PER_SECOND       = 'GRAM_FORCE_CENTIMETER_PER_SECOND';
       
    71     const HECTOWATT                              = 'HECTOWATT';
       
    72     const HORSEPOWER_INTERNATIONAL               = 'HORSEPOWER_INTERNATIONAL';
       
    73     const HORSEPOWER_ELECTRIC                    = 'HORSEPOWER_ELECTRIC';
       
    74     const HORSEPOWER                             = 'HORSEPOWER';
       
    75     const HORSEPOWER_WATER                       = 'HORSEPOWER_WATER';
       
    76     const INCH_OUNCE_FORCE_REVOLUTION_PER_MINUTE = 'INCH_OUNCH_FORCE_REVOLUTION_PER_MINUTE';
       
    77     const JOULE_PER_HOUR                         = 'JOULE_PER_HOUR';
       
    78     const JOULE_PER_MINUTE                       = 'JOULE_PER_MINUTE';
       
    79     const JOULE_PER_SECOND                       = 'JOULE_PER_SECOND';
       
    80     const KILOCALORIE_PER_HOUR                   = 'KILOCALORIE_PER_HOUR';
       
    81     const KILOCALORIE_PER_MINUTE                 = 'KILOCALORIE_PER_MINUTE';
       
    82     const KILOCALORIE_PER_SECOND                 = 'KILOCALORIE_PER_SECOND';
       
    83     const KILOGRAM_FORCE_METER_PER_HOUR          = 'KILOGRAM_FORCE_METER_PER_HOUR';
       
    84     const KILOGRAM_FORCE_METER_PER_MINUTE        = 'KILOGRAM_FORCE_METER_PER_MINUTE';
       
    85     const KILOGRAM_FORCE_METER_PER_SECOND        = 'KILOGRAM_FORCE_METER_PER_SECOND';
       
    86     const KILOPOND_METER_PER_HOUR                = 'KILOPOND_METER_PER_HOUR';
       
    87     const KILOPOND_METER_PER_MINUTE              = 'KILOPOND_METER_PER_MINUTE';
       
    88     const KILOPOND_METER_PER_SECOND              = 'KILOPOND_METER_PER_SECOND';
       
    89     const KILOWATT                               = 'KILOWATT';
       
    90     const MEGAWATT                               = 'MEGAWATT';
       
    91     const MICROWATT                              = 'MICROWATT';
       
    92     const MILLION_BTU_PER_HOUR                   = 'MILLION_BTU_PER_HOUR';
       
    93     const MILLIWATT                              = 'MILLIWATT';
       
    94     const NANOWATT                               = 'NANOWATT';
       
    95     const NEWTON_METER_PER_HOUR                  = 'NEWTON_METER_PER_HOUR';
       
    96     const NEWTON_METER_PER_MINUTE                = 'NEWTON_METER_PER_MINUTE';
       
    97     const NEWTON_METER_PER_SECOND                = 'NEWTON_METER_PER_SECOND';
       
    98     const PETAWATT                               = 'PETAWATT';
       
    99     const PFERDESTAERKE                          = 'PFERDESTAERKE';
       
   100     const PICOWATT                               = 'PICOWATT';
       
   101     const PONCELET                               = 'PONCELET';
       
   102     const POUND_SQUARE_FOOR_PER_CUBIC_SECOND     = 'POUND_SQUARE_FOOT_PER_CUBIC_SECOND';
       
   103     const TERAWATT                               = 'TERAWATT';
       
   104     const TON_OF_REFRIGERATION                   = 'TON_OF_REFRIGERATION';
       
   105     const WATT                                   = 'WATT';
       
   106     const YOCTOWATT                              = 'YOCTOWATT';
       
   107     const YOTTAWATT                              = 'YOTTAWATT';
       
   108     const ZEPTOWATT                              = 'ZEPTOWATT';
       
   109     const ZETTAWATT                              = 'ZETTAWATT';
       
   110 
       
   111     /**
       
   112      * Calculations for all power units
       
   113      *
       
   114      * @var array
       
   115      */
       
   116     protected $_units = array(
       
   117         'ATTOWATT'                    => array('1.0e-18',           'aW'),
       
   118         'BTU_PER_HOUR'                => array('0.29307197',        'BTU/h'),
       
   119         'BTU_PER_MINUTE'              => array('17.5843182',        'BTU/m'),
       
   120         'BTU_PER_SECOND'              => array('1055.059092',       'BTU/s'),
       
   121         'CALORIE_PER_HOUR'            => array(array('' => '11630', '*' => '1.0e-7'),    'cal/h'),
       
   122         'CALORIE_PER_MINUTE'          => array(array('' => '697800', '*' => '1.0e-7'),   'cal/m'),
       
   123         'CALORIE_PER_SECOND'          => array(array('' => '41868000', '*' => '1.0e-7'), 'cal/s'),
       
   124         'CENTIWATT'                   => array('0.01',              'cW'),
       
   125         'CHEVAL_VAPEUR'               => array('735.49875',         'cv'),
       
   126         'CLUSEC'                      => array('0.0000013332237',   'clusec'),
       
   127         'DECIWATT'                    => array('0.1',               'dW'),
       
   128         'DEKAWATT'                    => array('10',                'daW'),
       
   129         'DYNE_CENTIMETER_PER_HOUR'    => array(array('' => '1.0e-7','/' => '3600'), 'dyn cm/h'),
       
   130         'DYNE_CENTIMETER_PER_MINUTE'  => array(array('' => '1.0e-7','/' => '60'),   'dyn cm/m'),
       
   131         'DYNE_CENTIMETER_PER_SECOND'  => array('1.0e-7',            'dyn cm/s'),
       
   132         'ERG_PER_HOUR'                => array(array('' => '1.0e-7','/' => '3600'), 'erg/h'),
       
   133         'ERG_PER_MINUTE'              => array(array('' => '1.0e-7','/' => '60'),   'erg/m'),
       
   134         'ERG_PER_SECOND'              => array('1.0e-7',            'erg/s'),
       
   135         'EXAWATT'                     => array('1.0e+18',           'EW'),
       
   136         'FEMTOWATT'                   => array('1.0e-15',           'fW'),
       
   137         'FOOT_POUND_FORCE_PER_HOUR'   => array(array('' => '1.3558179', '/' => '3600'), 'ft lb/h'),
       
   138         'FOOT_POUND_FORCE_PER_MINUTE' => array(array('' => '1.3558179', '/' => '60'),   'ft lb/m'),
       
   139         'FOOT_POUND_FORCE_PER_SECOND' => array('1.3558179',         'ft lb/s'),
       
   140         'FOOT_POUNDAL_PER_HOUR'       => array(array('' => '0.04214011','/' => '3600'), 'ft pdl/h'),
       
   141         'FOOT_POUNDAL_PER_MINUTE'     => array(array('' => '0.04214011', '/' => '60'),  'ft pdl/m'),
       
   142         'FOOT_POUNDAL_PER_SECOND'     => array('0.04214011',        'ft pdl/s'),
       
   143         'GIGAWATT'                    => array('1.0e+9',            'GW'),
       
   144         'GRAM_FORCE_CENTIMETER_PER_HOUR' => array(array('' => '0.0000980665','/' => '3600'), 'gf cm/h'),
       
   145         'GRAM_FORCE_CENTIMETER_PER_MINUTE' => array(array('' => '0.0000980665','/' => '60'), 'gf cm/m'),
       
   146         'GRAM_FORCE_CENTIMETER_PER_SECOND' => array('0.0000980665', 'gf cm/s'),
       
   147         'HECTOWATT'                   => array('100',               'hW'),
       
   148         'HORSEPOWER_INTERNATIONAL'    => array('745.69987',         'hp'),
       
   149         'HORSEPOWER_ELECTRIC'         => array('746',               'hp'),
       
   150         'HORSEPOWER'                  => array('735.49875',         'hp'),
       
   151         'HORSEPOWER_WATER'            => array('746.043',           'hp'),
       
   152         'INCH_OUNCH_FORCE_REVOLUTION_PER_MINUTE' => array('0.00073948398',    'in ocf/m'),
       
   153         'JOULE_PER_HOUR'              => array(array('' => '1', '/' => '3600'), 'J/h'),
       
   154         'JOULE_PER_MINUTE'            => array(array('' => '1', '/' => '60'),   'J/m'),
       
   155         'JOULE_PER_SECOND'            => array('1',                 'J/s'),
       
   156         'KILOCALORIE_PER_HOUR'        => array('1.163',             'kcal/h'),
       
   157         'KILOCALORIE_PER_MINUTE'      => array('69.78',             'kcal/m'),
       
   158         'KILOCALORIE_PER_SECOND'      => array('4186.8',            'kcal/s'),
       
   159         'KILOGRAM_FORCE_METER_PER_HOUR' => array(array('' => '9.80665', '/' => '3600'), 'kgf m/h'),
       
   160         'KILOGRAM_FORCE_METER_PER_MINUTE' => array(array('' => '9.80665', '/' => '60'), 'kfg m/m'),
       
   161         'KILOGRAM_FORCE_METER_PER_SECOND' => array('9.80665',       'kfg m/s'),
       
   162         'KILOPOND_METER_PER_HOUR'     => array(array('' => '9.80665', '/' => '3600'), 'kp/h'),
       
   163         'KILOPOND_METER_PER_MINUTE'   => array(array('' => '9.80665', '/' => '60'),   'kp/m'),
       
   164         'KILOPOND_METER_PER_SECOND'   => array('9.80665',           'kp/s'),
       
   165         'KILOWATT'                    => array('1000',              'kW'),
       
   166         'MEGAWATT'                    => array('1000000',           'MW'),
       
   167         'MICROWATT'                   => array('0.000001',          'µW'),
       
   168         'MILLION_BTU_PER_HOUR'        => array('293071.07',         'mio BTU/h'),
       
   169         'MILLIWATT'                   => array('0.001',             'mM'),
       
   170         'NANOWATT'                    => array('1.0e-9',            'nN'),
       
   171         'NEWTON_METER_PER_HOUR'       => array(array('' => '1', '/' => '3600'), 'Nm/h'),
       
   172         'NEWTON_METER_PER_MINUTE'     => array(array('' => '1', '/' => '60'),   'Nm/m'),
       
   173         'NEWTON_METER_PER_SECOND'     => array('1',                 'Nm/s'),
       
   174         'PETAWATT'                    => array('1.0e+15',           'PW'),
       
   175         'PFERDESTAERKE'               => array('735.49875',         'PS'),
       
   176         'PICOWATT'                    => array('1.0e-12',           'pW'),
       
   177         'PONCELET'                    => array('980.665',           'p'),
       
   178         'POUND_SQUARE_FOOT_PER_CUBIC_SECOND' => array('0.04214011', 'lb ft²/s³'),
       
   179         'TERAWATT'                    => array('1.0e+12',           'TW'),
       
   180         'TON_OF_REFRIGERATION'        => array('3516.85284',        'RT'),
       
   181         'WATT'                        => array('1',                 'W'),
       
   182         'YOCTOWATT'                   => array('1.0e-24',           'yW'),
       
   183         'YOTTAWATT'                   => array('1.0e+24',           'YW'),
       
   184         'ZEPTOWATT'                   => array('1.0e-21',           'zW'),
       
   185         'ZETTAWATT'                   => array('1.0e+21',           'ZW'),
       
   186         'STANDARD'                    => 'WATT'
       
   187     );
       
   188 }