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.
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
23 * Implement needed classes
25 require_once 'Zend/Measure/Abstract.php';
26 require_once 'Zend/Locale.php';
29 * Class for handling acceleration conversions
32 * @package Zend_Measure
33 * @subpackage Zend_Measure_Volume
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
37 class Zend_Measure_Volume
extends Zend_Measure_Abstract
39 const STANDARD
= 'CUBIC_METER';
41 const ACRE_FOOT
= 'ACRE_FOOT';
42 const ACRE_FOOT_SURVEY
= 'ACRE_FOOT_SURVEY';
43 const ACRE_INCH
= 'ACRE_INCH';
44 const BARREL_WINE
= 'BARREL_WINE';
45 const BARREL
= 'BARREL';
46 const BARREL_US_DRY
= 'BARREL_US_DRY';
47 const BARREL_US_FEDERAL
= 'BARREL_US_FEDERAL';
48 const BARREL_US
= 'BARREL_US';
49 const BARREL_US_PETROLEUM
= 'BARREL_US_PETROLEUM';
50 const BOARD_FOOT
= 'BOARD_FOOT';
51 const BUCKET
= 'BUCKET';
52 const BUCKET_US
= 'BUCKET_US';
53 const BUSHEL
= 'BUSHEL';
54 const BUSHEL_US
= 'BUSHEL_US';
55 const CENTILTER
= 'CENTILITER';
57 const CORD_FOOT
= 'CORD_FOOT';
58 const CUBIC_CENTIMETER
= 'CUBIC_CENTIMETER';
59 const CUBIC_CUBIT
= 'CUBIC_CUBIT';
60 const CUBIC_DECIMETER
= 'CUBIC_DECIMETER';
61 const CUBIC_DEKAMETER
= 'CUBIC_DEKAMETER';
62 const CUBIC_FOOT
= 'CUBIC_FOOT';
63 const CUBIC_INCH
= 'CUBIC_INCH';
64 const CUBIC_KILOMETER
= 'CUBIC_KILOMETER';
65 const CUBIC_METER
= 'CUBIC_METER';
66 const CUBIC_MILE
= 'CUBIC_MILE';
67 const CUBIC_MICROMETER
= 'CUBIC_MICROMETER';
68 const CUBIC_MILLIMETER
= 'CUBIC_MILLIMETER';
69 const CUBIC_YARD
= 'CUBIC_YARD';
70 const CUP_CANADA
= 'CUP_CANADA';
72 const CUP_US
= 'CUP_US';
73 const DECILITER
= 'DECILITER';
74 const DEKALITER
= 'DEKALITER';
76 const DRUM_US
= 'DRUM_US';
78 const FIFTH
= 'FIFTH';
79 const GALLON
= 'GALLON';
80 const GALLON_US_DRY
= 'GALLON_US_DRY';
81 const GALLON_US
= 'GALLON_US';
83 const GILL_US
= 'GILL_US';
84 const HECTARE_METER
= 'HECTARE_METER';
85 const HECTOLITER
= 'HECTOLITER';
86 const HOGSHEAD
= 'HOGSHEAD';
87 const HOGSHEAD_US
= 'HOGSHEAD_US';
88 const JIGGER
= 'JIGGER';
89 const KILOLITER
= 'KILOLITER';
90 const LITER
= 'LITER';
91 const MEASURE
= 'MEASURE';
92 const MEGALITER
= 'MEGALITER';
93 const MICROLITER
= 'MICROLITER';
94 const MILLILITER
= 'MILLILITER';
95 const MINIM
= 'MINIM';
96 const MINIM_US
= 'MINIM_US';
97 const OUNCE
= 'OUNCE';
98 const OUNCE_US
= 'OUNCE_US';
100 const PECK_US
= 'PECK_US';
102 const PINT_US_DRY
= 'PINT_US_DRY';
103 const PINT_US
= 'PINT_US';
105 const PIPE_US
= 'PIPE_US';
107 const QUART_GERMANY
= 'QUART_GERMANY';
108 const QUART_ANCIENT
= 'QUART_ANCIENT';
109 const QUART
= 'QUART';
110 const QUART_US_DRY
= 'QUART_US_DRY';
111 const QUART_US
= 'QUART_US';
112 const QUART_UK
= 'QUART_UK';
114 const STERE
= 'STERE';
115 const TABLESPOON
= 'TABLESPOON';
116 const TABLESPOON_UK
= 'TABLESPOON_UK';
117 const TABLESPOON_US
= 'TABLESPOON_US';
118 const TEASPOON
= 'TEASPOON';
119 const TEASPOON_UK
= 'TEASPOON_UK';
120 const TEASPOON_US
= 'TEASPOON_US';
124 * Calculations for all volume units
128 protected $_units = array(
129 'ACRE_FOOT' => array('1233.48185532', 'ac ft'),
130 'ACRE_FOOT_SURVEY' => array('1233.489', 'ac ft'),
131 'ACRE_INCH' => array('102.79015461', 'ac in'),
132 'BARREL_WINE' => array('0.143201835', 'bbl'),
133 'BARREL' => array('0.16365924', 'bbl'),
134 'BARREL_US_DRY' => array(array('' => '26.7098656608', '/' => '231'), 'bbl'),
135 'BARREL_US_FEDERAL' => array('0.1173477658', 'bbl'),
136 'BARREL_US' => array('0.1192404717', 'bbl'),
137 'BARREL_US_PETROLEUM' => array('0.1589872956', 'bbl'),
138 'BOARD_FOOT' => array(array('' => '6.5411915904', '/' => '2772'), 'board foot'),
139 'BUCKET' => array('0.01818436', 'bucket'),
140 'BUCKET_US' => array('0.018927059', 'bucket'),
141 'BUSHEL' => array('0.03636872', 'bu'),
142 'BUSHEL_US' => array('0.03523907', 'bu'),
143 'CENTILITER' => array('0.00001', 'cl'),
144 'CORD' => array('3.624556416', 'cd'),
145 'CORD_FOOT' => array('0.453069552', 'cd ft'),
146 'CUBIC_CENTIMETER' => array('0.000001', 'cm³'),
147 'CUBIC_CUBIT' => array('0.144', 'cubit³'),
148 'CUBIC_DECIMETER' => array('0.001', 'dm³'),
149 'CUBIC_DEKAMETER' => array('1000', 'dam³'),
150 'CUBIC_FOOT' => array(array('' => '6.54119159', '/' => '231'), 'ft³'),
151 'CUBIC_INCH' => array(array('' => '0.0037854118', '/' => '231'), 'in³'),
152 'CUBIC_KILOMETER' => array('1.0e+9', 'km³'),
153 'CUBIC_METER' => array('1', 'm³'),
154 'CUBIC_MILE' => array(array('' => '0.0037854118', '/' => '231', '*' => '75271680', '*' => '3379200'),
156 'CUBIC_MICROMETER' => array('1.0e-18', 'µm³'),
157 'CUBIC_MILLIMETER' => array('1.0e-9', 'mm³'),
158 'CUBIC_YARD' => array(array('' => '0.0037854118', '/' => '231', '*' => '46656'), 'yd³'),
159 'CUP_CANADA' => array('0.0002273045', 'c'),
160 'CUP' => array('0.00025', 'c'),
161 'CUP_US' => array(array('' => '0.0037854118', '/' => '16'), 'c'),
162 'DECILITER' => array('0.0001', 'dl'),
163 'DEKALITER' => array('0.001', 'dal'),
164 'DRAM' => array(array('' => '0.0037854118', '/' => '1024'), 'dr'),
165 'DRUM_US' => array('0.208197649', 'drum'),
166 'DRUM' => array('0.2', 'drum'),
167 'FIFTH' => array('0.00075708236', 'fifth'),
168 'GALLON' => array('0.00454609', 'gal'),
169 'GALLON_US_DRY' => array('0.0044048838', 'gal'),
170 'GALLON_US' => array('0.0037854118', 'gal'),
171 'GILL' => array(array('' => '0.00454609', '/' => '32'), 'gi'),
172 'GILL_US' => array(array('' => '0.0037854118', '/' => '32'), 'gi'),
173 'HECTARE_METER' => array('10000', 'ha m'),
174 'HECTOLITER' => array('0.1', 'hl'),
175 'HOGSHEAD' => array('0.28640367', 'hhd'),
176 'HOGSHEAD_US' => array('0.2384809434', 'hhd'),
177 'JIGGER' => array(array('' => '0.0037854118', '/' => '128', '*' => '1.5'), 'jigger'),
178 'KILOLITER' => array('1', 'kl'),
179 'LITER' => array('0.001', 'l'),
180 'MEASURE' => array('0.0077', 'measure'),
181 'MEGALITER' => array('1000', 'Ml'),
182 'MICROLITER' => array('1.0e-9', 'µl'),
183 'MILLILITER' => array('0.000001', 'ml'),
184 'MINIM' => array(array('' => '0.00454609', '/' => '76800'), 'min'),
185 'MINIM_US' => array(array('' => '0.0037854118','/' => '61440'), 'min'),
186 'OUNCE' => array(array('' => '0.00454609', '/' => '160'), 'oz'),
187 'OUNCE_US' => array(array('' => '0.0037854118', '/' => '128'), 'oz'),
188 'PECK' => array('0.00909218', 'pk'),
189 'PECK_US' => array('0.0088097676', 'pk'),
190 'PINT' => array(array('' => '0.00454609', '/' => '8'), 'pt'),
191 'PINT_US_DRY' => array(array('' => '0.0044048838', '/' => '8'), 'pt'),
192 'PINT_US' => array(array('' => '0.0037854118', '/' => '8'), 'pt'),
193 'PIPE' => array('0.49097772', 'pipe'),
194 'PIPE_US' => array('0.4769618868', 'pipe'),
195 'PONY' => array(array('' => '0.0037854118', '/' => '128'), 'pony'),
196 'QUART_GERMANY' => array('0.00114504', 'qt'),
197 'QUART_ANCIENT' => array('0.00108', 'qt'),
198 'QUART' => array(array('' => '0.00454609', '/' => '4'), 'qt'),
199 'QUART_US_DRY' => array(array('' => '0.0044048838', '/' => '4'), 'qt'),
200 'QUART_US' => array(array('' => '0.0037854118', '/' => '4'), 'qt'),
201 'QUART_UK' => array('0.29094976', 'qt'),
202 'SHOT' => array(array('' => '0.0037854118', '/' => '128'), 'shot'),
203 'STERE' => array('1', 'st'),
204 'TABLESPOON' => array('0.000015', 'tbsp'),
205 'TABLESPOON_UK' => array(array('' => '0.00454609', '/' => '320'), 'tbsp'),
206 'TABLESPOON_US' => array(array('' => '0.0037854118', '/' => '256'), 'tbsp'),
207 'TEASPOON' => array('0.000005', 'tsp'),
208 'TEASPOON_UK' => array(array('' => '0.00454609', '/' => '1280'), 'tsp'),
209 'TEASPOON_US' => array(array('' => '0.0037854118', '/' => '768'), 'tsp'),
210 'YARD' => array(array('' => '176.6121729408', '/' => '231'), 'yd'),
211 'STANDARD' => 'CUBIC_METER'