00001 00005 /* Copyright (C) 2002 - 2010, Bernd Speiser */ 00006 00007 /* This file is part of PhysicalQuantities. 00008 00009 PhysicalQuantities is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License 00011 as published by the Free Software Foundation; either version 2 00012 of the License, or (at your option) any later version. 00013 00014 PhysicalQuantities is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 00022 02111-1307, USA. 00023 */ 00024 00025 /* classes for fractional quantity */ 00026 /* units for fraction are according to Mills et al., 1993, p. 77 ff. */ 00027 00028 #ifndef _Fraction_cc 00029 #define _Fraction_cc 00030 00031 // Quantity includes 00032 #include "Quantities/PhysicalQuantities/Fraction.h" 00033 00034 namespace quantity { 00035 namespace fraction { 00036 00037 /* definition of Fraction units */ 00038 /* the unity unit */ 00039 00040 template<> const std::string Unity::Namestring = "unity"; 00041 template<> const std::string Unity::Symbolstring = ""; 00042 template<> const bool Unity::SI = true; 00043 template<> const bool Unity::Exact = true; 00044 template<> const double Unity::StandardFactor = 1.0; 00045 00046 /* the percent */ 00047 00048 template<> const std::string Percent::Namestring = "percent"; 00049 template<> const std::string Percent::Symbolstring = "%"; 00050 template<> const bool Percent::SI = true; 00051 template<> const bool Percent::Exact = true; 00052 template<> const double Percent::StandardFactor = 0.01; 00053 00054 /* the parts per millions unit, ppm */ 00055 00056 template<> const std::string Ppm::Namestring = "ppm"; 00057 template<> const std::string Ppm::Symbolstring = "ppm"; 00058 template<> const bool Ppm::SI = true; 00059 template<> const bool Ppm::Exact = true; 00060 template<> const double Ppm::StandardFactor = 1.0e-6; 00061 00062 } 00063 00064 const std::string QuantityTraits<fraction::Class>::NameString (void) 00065 {return "fraction";} 00066 const std::string QuantityTraits<fraction::Class>::SymbolString (void) 00067 {return "";} 00068 00069 } 00070 00071 #endif /* _Fraction_cc */