Volume.php 11 KB

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