stick 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. data/CHANGES +7 -0
  2. data/COPYING +344 -0
  3. data/README +110 -0
  4. data/lib/stick/constants.rb +3 -0
  5. data/lib/stick/constants/cgs.rb +151 -0
  6. data/lib/stick/constants/mks.rb +158 -0
  7. data/lib/stick/constants/number.rb +33 -0
  8. data/lib/stick/constants/typeless_cgs.rb +141 -0
  9. data/lib/stick/constants/typeless_mks.rb +142 -0
  10. data/lib/stick/currency.rb +8 -0
  11. data/lib/stick/mapcar.rb +61 -0
  12. data/lib/stick/matrix.rb +1022 -0
  13. data/lib/stick/quaternion.rb +562 -0
  14. data/lib/stick/times.rb +441 -0
  15. data/lib/stick/units.rb +112 -0
  16. data/lib/stick/units/base.rb +980 -0
  17. data/lib/stick/units/currency.rb +159 -0
  18. data/lib/stick/units/data/binary/base.rb +4 -0
  19. data/lib/stick/units/data/cex.rb +5 -0
  20. data/lib/stick/units/data/currency-default.rb +5 -0
  21. data/lib/stick/units/data/currency-standard.rb +2 -0
  22. data/lib/stick/units/data/currency/base.rb +89 -0
  23. data/lib/stick/units/data/iec.rb +5 -0
  24. data/lib/stick/units/data/iec_binary/base.rb +6 -0
  25. data/lib/stick/units/data/si.rb +7 -0
  26. data/lib/stick/units/data/si/base.rb +9 -0
  27. data/lib/stick/units/data/si/derived.rb +26 -0
  28. data/lib/stick/units/data/si/extra.rb +22 -0
  29. data/lib/stick/units/data/uk.rb +10 -0
  30. data/lib/stick/units/data/uk/base.rb +22 -0
  31. data/lib/stick/units/data/units-default.rb +11 -0
  32. data/lib/stick/units/data/units-standard.rb +5 -0
  33. data/lib/stick/units/data/us.rb +10 -0
  34. data/lib/stick/units/data/us/base.rb +23 -0
  35. data/lib/stick/units/data/xmethods.rb +5 -0
  36. data/lib/stick/units/data/xmethods/cached.rb +84 -0
  37. data/lib/stick/units/data/xmethods/mapping.rb +87 -0
  38. data/lib/stick/units/loaders.rb +98 -0
  39. data/lib/stick/units/units.rb +109 -0
  40. data/meta/MANIFEST +76 -0
  41. data/meta/ROLLRC +2 -0
  42. data/meta/icli.yaml +16 -0
  43. data/meta/project.yaml +18 -0
  44. data/task/clobber/package +10 -0
  45. data/task/publish +57 -0
  46. data/task/release +10 -0
  47. data/task/setup +1616 -0
  48. data/task/test +25 -0
  49. data/test/spec_matrix.rb +342 -0
  50. data/test/test_currency.rb +26 -0
  51. data/test/test_matrix.rb +359 -0
  52. data/test/test_units.rb +205 -0
  53. data/work/TODO +20 -0
  54. data/work/bytes.rb +231 -0
  55. data/work/multipliers.rb +195 -0
  56. metadata +138 -0
@@ -0,0 +1,3 @@
1
+ # Load the most commonlt used constants.
2
+ require 'stick/constants/number'
3
+ require 'stick/constants/mks'
@@ -0,0 +1,151 @@
1
+ # Title:
2
+ #
3
+ # Math Constants CGS
4
+ #
5
+ # Copyright:
6
+ #
7
+ # Copyright (C) 2007 Stick Development Team
8
+ #
9
+ # License:
10
+ #
11
+ # GNU General Public License
12
+ #
13
+ # This program is free software; you can redistribute it and/or modify
14
+ # it under the terms of the GNU General Public License as published by
15
+ # the Free Software Foundation; either version 2 of the License, or (at
16
+ # your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful, but
19
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
+ # General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU General Public License
24
+ # along with this program; if not, write to the Free Software
25
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
+ #
27
+ # Authors:
28
+ #
29
+ # - Daniel Carrera
30
+ # - Brian Gough
31
+ # - Thomas Sawyer
32
+
33
+ require 'stick/units'
34
+
35
+ module Stick
36
+ module Constants
37
+
38
+ # = Constants in the CGS system (cm, kg, s)
39
+ #
40
+ # Large assortment of real world contants. The constants are stored in
41
+ # the Math::Constants:CGS module. Math::Constants::CGS provides the
42
+ # constants in cm kg s format, opposed to the standard m kg s.
43
+ #
44
+ # == Synopsis
45
+ #
46
+ # Stick::Constant::CGS::SPEED_OF_LIGHT #=> 2.99792458e10 cm / s
47
+
48
+ module CGS
49
+ extend Units
50
+
51
+ SPEED_OF_LIGHT = 2.99792458e10.cm/s # cm / s
52
+ GRAVITATIONAL_CONSTANT = 6.673e-8.cm**3/g*s**2 # cm^3 / g s^2
53
+ PLANCKS_CONSTANT_H = 6.62606876e-27.g*cm*82/s # g cm^2 / s
54
+ PLANCKS_CONSTANT_HBAR = 1.05457159642e-27.g*cm**2/s # g cm^2 / s
55
+ VACUUM_PERMEABILITY = 1.25663706144e-1.cm*g/A**2*s**2 # cm g / A^2 s^2
56
+ ASTRONOMICAL_UNIT = 1.49597870691e13.cm # cm
57
+ LIGHT_YEAR = 9.46053620707e17.cm # cm
58
+ PARSEC = 3.08567758135e18.cm # cm
59
+ GRAV_ACCEL = 9.80665e2.cm/s**2 # cm / s^2
60
+ ELECTRON_VOLT = 1.602176462e-12.g*cm**2/s**2 # g cm^2 / s^2
61
+ MASS_ELECTRON = 9.10938188e-28.g # g
62
+ MASS_MUON = 1.88353109e-25.g # g
63
+ MASS_PROTON = 1.67262158e-24.g # g
64
+ MASS_NEUTRON = 1.67492716e-24.g # g
65
+ RYDBERG = 2.17987190389e-11.g*cm**2/s**2 # g cm^2 / s^2
66
+ BOLTZMANN = 1.3806503e-16.g*cm**2/K*s**2 # g cm^2 / K s^2
67
+ BOHR_MAGNETON = 9.27400899e-20.A*cm**2 # A cm^2
68
+ NUCLEAR_MAGNETON = 5.05078317e-23.A*cm**2 # A cm^2
69
+ ELECTRON_MAGNETIC_MOMENT = 9.28476362e-20.A*cm**2 # A cm^2
70
+ PROTON_MAGNETIC_MOMENT = 1.410606633e-22.A*cm**2 # A cm^2
71
+ MOLAR_GAS = 8.314472e7.g*cm**2/K*mol*s**2 # g cm^2 / K mol s^2
72
+ STANDARD_GAS_VOLUME = 2.2710981e4.cm**3/mol # cm^3 / mol
73
+ MINUTE = 6e1.s # s
74
+ HOUR = 3.6e3.s # s
75
+ DAY = 8.64e4.s # s
76
+ WEEK = 6.048e5.s # s
77
+ INCH = 2.54e0.cm # cm
78
+ FOOT = 3.048e1.cm # cm
79
+ YARD = 9.144e1.cm # cm
80
+ MILE = 1.609344e5.cm # cm
81
+ NAUTICAL_MILE = 1.852e5.cm # cm
82
+ FATHOM = 1.8288e2.cm # cm
83
+ MIL = 2.54e-3.cm # cm
84
+ POINT = 3.52777777778e-2.cm # cm
85
+ TEXPOINT = 3.51459803515e-2.cm # cm
86
+ MICRON = 1e-4.cm # cm
87
+ ANGSTROM = 1e-8.cm # cm
88
+ HECTARE = 1e8.cm**2 # cm^2
89
+ ACRE = 4.04685642241e7.cm**2 # cm^2
90
+ BARN = 1e-24.cm**2 # cm^2
91
+ LITER = 1e3.cm**3 # cm^3
92
+ US_GALLON = 3.78541178402e3.cm**3 # cm^3
93
+ QUART = 9.46352946004e2.cm**3 # cm^3
94
+ PINT = 4.73176473002e2.cm**3 # cm^3
95
+ CUP = 2.36588236501e2.cm**3 # cm^3
96
+ FLUID_OUNCE = 2.95735295626e1.cm**3 # cm^3
97
+ TABLESPOON = 1.47867647813e1.cm**3 # cm^3
98
+ TEASPOON = 4.92892159375e0.cm**3 # cm^3
99
+ CANADIAN_GALLON = 4.54609e3.cm**3 # cm^3
100
+ UK_GALLON = 4.546092e3.cm**3 # cm^3
101
+ MILES_PER_HOUR = 4.4704e1.cm/s # cm / s
102
+ KILOMETERS_PER_HOUR = 2.77777777778e1.cm/s # cm / s
103
+ KNOT = 5.14444444444e1.cm/s # cm / s
104
+ POUND_MASS = 4.5359237e2.g # g
105
+ OUNCE_MASS = 2.8349523125e1.g # g
106
+ TON = 9.0718474e5.g # g
107
+ METRIC_TON = 1e6.g # g
108
+ UK_TON = 1.0160469088e6.g # g
109
+ TROY_OUNCE = 3.1103475e1.g # g
110
+ CARAT = 2e-1.g # g
111
+ UNIFIED_ATOMIC_MASS = 1.66053873e-24.g # g
112
+ GRAM_FORCE = 9.80665e2.cm*g/s**2 # cm g / s^2
113
+ POUND_FORCE = 4.44822161526e5.cm*g/s**2 # cm g / s^2
114
+ KILOPOUND_FORCE = 4.44822161526e8.cm*g/s**2 # cm g / s^2
115
+ POUNDAL = 1.38255e4.cm*g/s**2 # cm g / s^2
116
+ CALORIE = 4.1868e7.g*cm**2/s**2 # g cm^2 / s^2
117
+ BTU = 1.05505585262e10.g*cm**2/s**2 # g cm^2 / s^2
118
+ THERM = 1.05506e15.g*cm**2/s**2 # g cm^2 / s^2
119
+ HORSEPOWER = 7.457e9.g*cm**2/s**3 # g cm^2 / s^3
120
+ BAR = 1e6.g/cm*s**2 # g / cm s^2
121
+ STD_ATMOSPHERE = 1.01325e6.g/cm*s**2 # g / cm s^2
122
+ TORR = 1.33322368421e3.g/cm*s**2 # g / cm s^2
123
+ METER_OF_MERCURY = 1.33322368421e6.g/cm*s**2 # g / cm s^2
124
+ INCH_OF_MERCURY = 3.38638815789e4.g/cm*s**2 # g / cm s^2
125
+ INCH_OF_WATER = 2.490889e3.g/cm*s**2 # g / cm s^2
126
+ PSI = 6.89475729317e4.g/cm*s**2 # g / cm s^2
127
+ POISE = 1e0.g/cm*s # g / cm s
128
+ STOKES = 1e0.cm**2/s # cm^2 / s
129
+ FARADAY = 9.6485341472e4.A*s/mol # A s / mol
130
+ ELECTRON_CHARGE = 1.602176462e-19.A*s # A s
131
+ GAUSS = 1e-1.g/A*s**2 # g / A s^2
132
+ STILB = 1e0.cd/cm**2 # cd / cm^2
133
+ LUMEN = 1e0.cd*sr # cd sr
134
+ LUX = 1e-4.cd*sr/cm*2 # cd sr / cm^2
135
+ PHOT = 1e0.cd*sr/cm*2 # cd sr / cm^2
136
+ FOOTCANDLE = 1.076e-3.cd*sr/cm*2 # cd sr / cm^2
137
+ LAMBERT = 1e0.cd*sr/cm*2 # cd sr / cm^2
138
+ FOOTLAMBERT = 1.07639104e-3.cd*sr/cm*2 # cd sr / cm^2
139
+ CURIE = 3.7e10/s # 1 / s
140
+ ROENTGEN = 2.58e-7.A*s/g # A s / g
141
+ RAD = 1e2.cm**2/s**2 # cm^2 / s^2
142
+ SOLAR_MASS = 1.98892e33.g # g
143
+ BOHR_RADIUS = 5.291772083e-9.cm # cm
144
+ VACUUM_PERMITTIVITY = 8.854187817e-21.A**2*s**4/g*cm*83 # A^2 s^4 / g cm^3
145
+ NEWTON = 1e5.cm*g/s**2 # cm g / s^2
146
+ DYNE = 1e0.cm*g/s**2 # cm g / s^2
147
+ JOULE = 1e7.g*cm**2/s**2 # g cm^2 / s^2
148
+ ERG = 1e0.g*cm**2/s**2 # g cm^2 / s^2
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,158 @@
1
+ # TITLE:
2
+ #
3
+ # Constants MKS
4
+ #
5
+ # COPYRIGHT:
6
+ #
7
+ # Copyright (C) 2007 Stick Development Team
8
+ #
9
+ # LICENSE:
10
+ #
11
+ # GNU General Public License
12
+ #
13
+ # This program is free software; you can redistribute it and/or modify
14
+ # it under the terms of the GNU General Public License as published by
15
+ # the Free Software Foundation; either version 2 of the License, or (at
16
+ # your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful, but
19
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
+ # General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU General Public License
24
+ # along with this program; if not, write to the Free Software
25
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
+ #
27
+ # AUTHORS:
28
+ #
29
+ # - Daniel Carrera
30
+ # - Brian Gough
31
+ # - Thomas Sawyer
32
+
33
+ #
34
+ module Stick
35
+ module Constants
36
+
37
+ # = Constants in the MKS system (meters, kg, sec)
38
+ #
39
+ # Large assortment of real world contants in standard m kg s types.
40
+ # The constants are stored in the Math::Constants::KMS module,
41
+ # but this is included in Math for direct use by other Math libraries.
42
+ #
43
+ # == Synopsis
44
+ #
45
+ # Math::SPEED_OF_LIGHT #=> 2.99792458e8 m/s
46
+ # Stick::Constants::SPEED_OF_LIGHT #=> 2.99792458e8 m/s
47
+ # Stick::Constants::MKS::SPEED_OF_LIGHT #=> 2.99792458e8 m/s
48
+
49
+ module MKS
50
+ include Units
51
+
52
+ SPEED_OF_LIGHT = 2.99792458e8.m/s # m / s
53
+ GRAVITATIONAL_CONSTANT = 6.673e-11.m**3/kg*s**2 # m^3 / kg s^2
54
+ PLANCKS_CONSTANT_H = 6.62606876e-34.kg*m**2/s # kg m^2 / s
55
+ PLANCKS_CONSTANT_HBAR = 1.05457159642e-34.kg*m**2/s # kg m^2 / s
56
+ VACUUM_PERMEABILITY = 1.25663706144e-6.kg*m/A**2*s**2 # kg m / A^2 s^2
57
+ ASTRONOMICAL_UNIT = 1.49597870691e11.m # m
58
+ LIGHT_YEAR = 9.46053620707e15.m # m
59
+ PARSEC = 3.08567758135e16.m # m
60
+ GRAV_ACCEL = 9.80665e0.m/s**2 # m / s^2
61
+ ELECTRON_VOLT = 1.602176462e-19.kg*m**2/s**2 # kg m^2 / s^2
62
+ MASS_ELECTRON = 9.10938188e-31.kg # kg
63
+ MASS_MUON = 1.88353109e-28.kg # kg
64
+ MASS_PROTON = 1.67262158e-27.kg # kg
65
+ MASS_NEUTRON = 1.67492716e-27.kg # kg
66
+ RYDBERG = 2.17987190389e-18.kg*m**2/s**2 # kg m^2 / s^2
67
+ BOLTZMANN = 1.3806503e-23.kg*m**2/K*s**2 # kg m^2 / K s^2
68
+ BOHR_MAGNETON = 9.27400899e-24.A*m**2 # A m^2
69
+ NUCLEAR_MAGNETON = 5.05078317e-27.A*m**2 # A m^2
70
+ ELECTRON_MAGNETIC_MOMENT = 9.28476362e-24.A*m**2 # A m^2
71
+ PROTON_MAGNETIC_MOMENT = 1.410606633e-26.A*m**2 # A m^2
72
+ MOLAR_GAS = 8.314472e0.kg*m**2/K*mol*s**2 # kg m^2 / K mol s^2
73
+ STANDARD_GAS_VOLUME = 2.2710981e-2.m**3/mol # m^3 / mol
74
+ MINUTE = 6e1.s # s
75
+ HOUR = 3.6e3.s # s
76
+ DAY = 8.64e4.s # s
77
+ WEEK = 6.048e5.s # s
78
+ INCH = 2.54e-2.m # m
79
+ FOOT = 3.048e-1.m # m
80
+ YARD = 9.144e-1.m # m
81
+ MILE = 1.609344e3.m # m
82
+ NAUTICAL_MILE = 1.852e3.m # m
83
+ FATHOM = 1.8288e0.m # m
84
+ MIL = 2.54e-5.m # m
85
+ POINT = 3.52777777778e-4.m # m
86
+ TEXPOINT = 3.51459803515e-4.m # m
87
+ MICRON = 1e-6.m # m
88
+ ANGSTROM = 1e-10.m # m
89
+ HECTARE = 1e4.m**2 # m^2
90
+ ACRE = 4.04685642241e3.m**2 # m^2
91
+ BARN = 1e-28.m**2 # m^2
92
+ LITER = 1e-3.m**3 # m^3
93
+ US_GALLON = 3.78541178402e-3.m**3 # m^3
94
+ QUART = 9.46352946004e-4.m**3 # m^3
95
+ PINT = 4.73176473002e-4.m**3 # m^3
96
+ CUP = 2.36588236501e-4.m**3 # m^3
97
+ FLUID_OUNCE = 2.95735295626e-5.m**3 # m^3
98
+ TABLESPOON = 1.47867647813e-5.m**3 # m^3
99
+ TEASPOON = 4.92892159375e-6.m**3 # m^3
100
+ CANADIAN_GALLON = 4.54609e-3.m**3 # m^3
101
+ UK_GALLON = 4.546092e-3.m**3 # m^3
102
+ MILES_PER_HOUR = 4.4704e-1.m/s # m / s
103
+ KILOMETERS_PER_HOUR = 2.77777777778e-1.m/s # m / s
104
+ KNOT = 5.14444444444e-1.m/s # m / s
105
+ POUND_MASS = 4.5359237e-1.kg # kg
106
+ OUNCE_MASS = 2.8349523125e-2.kg # kg
107
+ TON = 9.0718474e2.kg # kg
108
+ METRIC_TON = 1e3.kg # kg
109
+ UK_TON = 1.0160469088e3.kg # kg
110
+ TROY_OUNCE = 3.1103475e-2.kg # kg
111
+ CARAT = 2e-4.kg # kg
112
+ UNIFIED_ATOMIC_MASS = 1.66053873e-27.kg # kg
113
+ ATOMIC_MASS = 1.66053873e-27.kg # kg
114
+ GRAM_FORCE = 9.80665e-3.kg*m/s**2 # kg m / s^2
115
+ POUND_FORCE = 4.44822161526e0.kg*m/s**2 # kg m / s^2
116
+ KILOPOUND_FORCE = 4.44822161526e3.kg*m/s**2 # kg m / s^2
117
+ POUNDAL = 1.38255e-1.kg*m/s**2 # kg m / s^2
118
+ CALORIE = 4.1868e0.kg*m**2/s**2 # kg m^2 / s^2
119
+ BTU = 1.05505585262e3.kg*m**2/s**2 # kg m^2 / s^2
120
+ THERM = 1.05506e8.kg*m**2/s**2 # kg m^2 / s^2
121
+ HORSEPOWER = 7.457e2.kg*m**2/s**3 # kg m^2 / s^3
122
+ BAR = 1e5.kg/m*s**2 # kg / m s^2
123
+ STD_ATMOSPHERE = 1.01325e5.kg/m*s**2 # kg / m s^2
124
+ TORR = 1.33322368421e2.kg/m*s**2 # kg / m s^2
125
+ METER_OF_MERCURY = 1.33322368421e5.kg/m*s**2 # kg / m s^2
126
+ INCH_OF_MERCURY = 3.38638815789e3.kg/m*s**2 # kg / m s^2
127
+ INCH_OF_WATER = 2.490889e2.kg/m*s**2 # kg / m s^2
128
+ PSI = 6.89475729317e3.kg/m*s**2 # kg / m s^2
129
+ POISE = 1e-1.kg*m**-1*s**-1 # kg m^-1 s^-1
130
+ STOKES = 1e-4.m**2/s # m^2 / s
131
+ FARADAY = 9.6485341472e4.A*s/mol # A s / mol
132
+ ELECTRON_CHARGE = 1.602176462e-19.A*s # A s
133
+ GAUSS = 1e-4.kg/A*s**2 # kg / A s^2
134
+ STILB = 1e4.cd/m**2 # cd / m^2
135
+ LUMEN = 1e0.cd*sr # cd sr
136
+ LUX = 1e0.cd*sr/m**2 # cd sr / m^2
137
+ PHOT = 1e4.cd*sr/m**2 # cd sr / m^2
138
+ FOOTCANDLE = 1.076e1.cd*sr/m**2 # cd sr / m^2
139
+ LAMBERT = 1e4.cd*sr/m**2 # cd sr / m^2
140
+ FOOTLAMBERT = 1.07639104e1.cd*sr/m**2 # cd sr / m^2
141
+ CURIE = 3.7e10/s # 1 / s
142
+ ROENTGEN = 2.58e-4.A*s/kg # A s / kg
143
+ RAD = 1e-2.m**2/s**2 # m^2 / s^2
144
+ SOLAR_MASS = 1.98892e30.kg # kg
145
+ BOHR_RADIUS = 5.291772083e-11.m # m
146
+ VACUUM_PERMITTIVITY = 8.854187817e-12.A**2*s**4/kg*m**3 # A^2 s^4 / kg m^3
147
+ NEWTON = 1e0.kg*m/s**2 # kg m / s^2
148
+ DYNE = 1e-5.kg*m/s**2 # kg m / s^2
149
+ JOULE = 1e0.kg*m**2/s**2 # kg m^2 / s^2
150
+ ERG = 1e-7.kg*m**2/s**2 # kg m^2 / s^2
151
+ end
152
+ end
153
+ end
154
+
155
+
156
+ module Math
157
+ include Stick::Constants::MKS
158
+ end
@@ -0,0 +1,33 @@
1
+ module Stick
2
+ module Constants
3
+ # = Unit-less constants
4
+ #
5
+ # Stick::Contants::Number::FINE_STRUCTURE #=> 7.297352533e-3
6
+ #
7
+ module Number
8
+ FINE_STRUCTURE = 7.297352533e-3 # 1
9
+ AVOGADRO = 6.02214199e23 # 1
10
+ YOTTA = 1e24 # 1
11
+ ZETTA = 1e21 # 1
12
+ EXA = 1e18 # 1
13
+ PETA = 1e15 # 1
14
+ TERA = 1e12 # 1
15
+ GIGA = 1e9 # 1
16
+ MEGA = 1e6 # 1
17
+ KILO = 1e3 # 1
18
+ MILLI = 1e-3 # 1
19
+ MICRO = 1e-6 # 1
20
+ NANO = 1e-9 # 1
21
+ PICO = 1e-12 # 1
22
+ FEMTO = 1e-15 # 1
23
+ ATTO = 1e-18 # 1
24
+ ZEPTO = 1e-21 # 1
25
+ YOCTO = 1e-24 # 1
26
+ end
27
+ include Number
28
+ end
29
+ end
30
+
31
+ module Math
32
+ include Stick::Contants::Number
33
+ end
@@ -0,0 +1,141 @@
1
+ # Title:
2
+ #
3
+ # Unitless CGS Constants
4
+ #
5
+ # Copyright:
6
+ #
7
+ # Copyright (C) 2003 Daniel Carrera, Brian Gough
8
+ #
9
+ # License:
10
+ #
11
+ # GNU General Public License
12
+ #
13
+ # This program is free software; you can redistribute it and/or modify
14
+ # it under the terms of the GNU General Public License as published by
15
+ # the Free Software Foundation; either version 2 of the License, or (at
16
+ # your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful, but
19
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
+ # General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU General Public License
24
+ # along with this program; if not, write to the Free Software
25
+ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
+ #
27
+ # Authors:
28
+ #
29
+ # - Daniel Carrera
30
+ # - Brian Gough
31
+ # - Thomas Sawyer
32
+
33
+ #
34
+ module Stick
35
+ module Constants
36
+ module Typeless
37
+ # Unitless Constants in the CGS system (cm, kg, s)
38
+
39
+ module CGS
40
+ SPEED_OF_LIGHT = 2.99792458e10 # cm / s
41
+ GRAVITATIONAL_CONSTANT = 6.673e-8 # cm^3 / g s^2
42
+ PLANCKS_CONSTANT_H = 6.62606876e-27 # g cm^2 / s
43
+ PLANCKS_CONSTANT_HBAR = 1.05457159642e-27 # g cm^2 / s
44
+ VACUUM_PERMEABILITY = 1.25663706144e-1 # cm g / A^2 s^2
45
+ ASTRONOMICAL_UNIT = 1.49597870691e13 # cm
46
+ LIGHT_YEAR = 9.46053620707e17 # cm
47
+ PARSEC = 3.08567758135e18 # cm
48
+ GRAV_ACCEL = 9.80665e2 # cm / s^2
49
+ ELECTRON_VOLT = 1.602176462e-12 # g cm^2 / s^2
50
+ MASS_ELECTRON = 9.10938188e-28 # g
51
+ MASS_MUON = 1.88353109e-25 # g
52
+ MASS_PROTON = 1.67262158e-24 # g
53
+ MASS_NEUTRON = 1.67492716e-24 # g
54
+ RYDBERG = 2.17987190389e-11 # g cm^2 / s^2
55
+ BOLTZMANN = 1.3806503e-16 # g cm^2 / K s^2
56
+ BOHR_MAGNETON = 9.27400899e-20 # A cm^2
57
+ NUCLEAR_MAGNETON = 5.05078317e-23 # A cm^2
58
+ ELECTRON_MAGNETIC_MOMENT = 9.28476362e-20 # A cm^2
59
+ PROTON_MAGNETIC_MOMENT = 1.410606633e-22 # A cm^2
60
+ MOLAR_GAS = 8.314472e7 # g cm^2 / K mol s^2
61
+ STANDARD_GAS_VOLUME = 2.2710981e4 # cm^3 / mol
62
+ MINUTE = 6e1 # s
63
+ HOUR = 3.6e3 # s
64
+ DAY = 8.64e4 # s
65
+ WEEK = 6.048e5 # s
66
+ INCH = 2.54e0 # cm
67
+ FOOT = 3.048e1 # cm
68
+ YARD = 9.144e1 # cm
69
+ MILE = 1.609344e5 # cm
70
+ NAUTICAL_MILE = 1.852e5 # cm
71
+ FATHOM = 1.8288e2 # cm
72
+ MIL = 2.54e-3 # cm
73
+ POINT = 3.52777777778e-2 # cm
74
+ TEXPOINT = 3.51459803515e-2 # cm
75
+ MICRON = 1e-4 # cm
76
+ ANGSTROM = 1e-8 # cm
77
+ HECTARE = 1e8 # cm^2
78
+ ACRE = 4.04685642241e7 # cm^2
79
+ BARN = 1e-24 # cm^2
80
+ LITER = 1e3 # cm^3
81
+ US_GALLON = 3.78541178402e3 # cm^3
82
+ QUART = 9.46352946004e2 # cm^3
83
+ PINT = 4.73176473002e2 # cm^3
84
+ CUP = 2.36588236501e2 # cm^3
85
+ FLUID_OUNCE = 2.95735295626e1 # cm^3
86
+ TABLESPOON = 1.47867647813e1 # cm^3
87
+ TEASPOON = 4.92892159375e0 # cm^3
88
+ CANADIAN_GALLON = 4.54609e3 # cm^3
89
+ UK_GALLON = 4.546092e3 # cm^3
90
+ MILES_PER_HOUR = 4.4704e1 # cm / s
91
+ KILOMETERS_PER_HOUR = 2.77777777778e1 # cm / s
92
+ KNOT = 5.14444444444e1 # cm / s
93
+ POUND_MASS = 4.5359237e2 # g
94
+ OUNCE_MASS = 2.8349523125e1 # g
95
+ TON = 9.0718474e5 # g
96
+ METRIC_TON = 1e6 # g
97
+ UK_TON = 1.0160469088e6 # g
98
+ TROY_OUNCE = 3.1103475e1 # g
99
+ CARAT = 2e-1 # g
100
+ UNIFIED_ATOMIC_MASS = 1.66053873e-24 # g
101
+ GRAM_FORCE = 9.80665e2 # cm g / s^2
102
+ POUND_FORCE = 4.44822161526e5 # cm g / s^2
103
+ KILOPOUND_FORCE = 4.44822161526e8 # cm g / s^2
104
+ POUNDAL = 1.38255e4 # cm g / s^2
105
+ CALORIE = 4.1868e7 # g cm^2 / s^2
106
+ BTU = 1.05505585262e10 # g cm^2 / s^2
107
+ THERM = 1.05506e15 # g cm^2 / s^2
108
+ HORSEPOWER = 7.457e9 # g cm^2 / s^3
109
+ BAR = 1e6 # g / cm s^2
110
+ STD_ATMOSPHERE = 1.01325e6 # g / cm s^2
111
+ TORR = 1.33322368421e3 # g / cm s^2
112
+ METER_OF_MERCURY = 1.33322368421e6 # g / cm s^2
113
+ INCH_OF_MERCURY = 3.38638815789e4 # g / cm s^2
114
+ INCH_OF_WATER = 2.490889e3 # g / cm s^2
115
+ PSI = 6.89475729317e4 # g / cm s^2
116
+ POISE = 1e0 # g / cm s
117
+ STOKES = 1e0 # cm^2 / s
118
+ FARADAY = 9.6485341472e4 # A s / mol
119
+ ELECTRON_CHARGE = 1.602176462e-19 # A s
120
+ GAUSS = 1e-1 # g / A s^2
121
+ STILB = 1e0 # cd / cm^2
122
+ LUMEN = 1e0 # cd sr
123
+ LUX = 1e-4 # cd sr / cm^2
124
+ PHOT = 1e0 # cd sr / cm^2
125
+ FOOTCANDLE = 1.076e-3 # cd sr / cm^2
126
+ LAMBERT = 1e0 # cd sr / cm^2
127
+ FOOTLAMBERT = 1.07639104e-3 # cd sr / cm^2
128
+ CURIE = 3.7e10 # 1 / s
129
+ ROENTGEN = 2.58e-7 # A s / g
130
+ RAD = 1e2 # cm^2 / s^2
131
+ SOLAR_MASS = 1.98892e33 # g
132
+ BOHR_RADIUS = 5.291772083e-9 # cm
133
+ VACUUM_PERMITTIVITY = 8.854187817e-21 # A^2 s^4 / g cm^3
134
+ NEWTON = 1e5 # cm g / s^2
135
+ DYNE = 1e0 # cm g / s^2
136
+ JOULE = 1e7 # g cm^2 / s^2
137
+ ERG = 1e0 # g cm^2 / s^2
138
+ end
139
+ end
140
+ end
141
+ end