1 /***************************************************************************
2 * Copyright (C) 2007 by Shawn Starr <shawn.starr@rogers.com> *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA *
18 ***************************************************************************/
23 namespace WeatherFormula
26 float celsiusToF(float temperature
)
28 return (temperature
* 9 / 5 + 32);
31 float fahrenheitToC(float temperature
)
33 return (temperature
- 32) * 5 / 9;
36 float milesToKM(float miles
)
38 return (1.609344 * miles
);
41 float kilometersToMI(float km
)
43 return (0.621371192 * km
);
46 float kilopascalsToInches(float kpa
)
48 return ((0.02952997 * kpa
) * 10);
51 float inchesToKilopascals(float inches
)
53 return (inches
* 3.386389);
56 float millibarsToInches(float millibar
)
58 return (millibar
* 0.0295301);
61 float millibarsToKilopascals(float millibar
)
63 return (millibar
* 0.10);
66 float centimetersToIN(float cm
)
68 return (cm
* 0.393700787);
71 float inchesToCM(float inch
)
76 float millimetersToIN(float mm
)
78 return (mm
* 0.0393700787);
81 float inchesToMM(float inch
)
86 float kilometersToMS(float km
)
88 return (km
* 0.277778);
91 float milesToMS(float miles
)
93 return (miles
* 0.44704);
96 float knotsToMS(float knots
)
98 return (knots
* 1.9438);
101 float knotsToKM(float knots
)
103 return floor(knots
* 1.852 + 0.5);
106 float kilometersToKT(float km
)
108 return (km
* 0.539956803);
111 float milesToKT(float miles
)
113 return (miles
* 0.868976242);
115 float knotsToMI(float knots
)
117 return (knots
* 1.507794);
120 int knotsToBF(float knots
)
124 } else if (knots
>= 1 && knots
< 4) {
126 } else if (knots
>= 4 && knots
< 7) {
128 } else if (knots
>= 7 && knots
< 11) {
130 } else if (knots
>= 11 && knots
< 16) {
132 } else if (knots
>= 16 && knots
< 22) {
134 } else if (knots
>= 22 && knots
< 28) {
136 } else if (knots
>= 28 && knots
< 34) {
138 } else if (knots
>= 34 && knots
< 41) {
140 } else if (knots
>= 41 && knots
< 48) {
142 } else if (knots
>= 48 && knots
< 56) {
144 } else if (knots
>= 56 && knots
< 64) {
151 int milesToBF(float miles
)
153 return knotsToBF(miles
/ 1.1507794);
156 int kilometersToBF(float km
)
158 return knotsToBF(km
/ 1.852);
161 } // namespace WeatherFormula