$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: boost_at_[hidden]
Date: 2008-05-20 23:59:22
Author: matthiasschabel
Date: 2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
New Revision: 45593
URL: http://svn.boost.org/trac/boost/changeset/45593
Log:
refactor physical dimensions out of SI electromagnetic units into separate physical_dimensions headers
fix namespace issue in examples/quaternion.cpp
Added:
   sandbox/units/boost/units/physical_dimensions/capacitance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/conductance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/conductivity.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/electric_charge.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/electric_potential.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/impedance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/inductance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/magnetic_field_intensity.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/magnetic_flux.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/magnetic_flux_density.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/permeability.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/permittivity.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/reluctance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/resistance.hpp   (contents, props changed)
   sandbox/units/boost/units/physical_dimensions/resistivity.hpp   (contents, props changed)
Text files modified: 
   sandbox/units/boost/units/systems/si/base.hpp                     |     4 ++--                                    
   sandbox/units/boost/units/systems/si/capacitance.hpp              |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/conductance.hpp              |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/conductivity.hpp             |     9 +++------                               
   sandbox/units/boost/units/systems/si/electric_charge.hpp          |     9 +++------                               
   sandbox/units/boost/units/systems/si/electric_potential.hpp       |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/impedance.hpp                |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/inductance.hpp               |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/magnetic_field_intensity.hpp |     9 +++------                               
   sandbox/units/boost/units/systems/si/magnetic_flux.hpp            |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/magnetic_flux_density.hpp    |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/permeability.hpp             |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/permittivity.hpp             |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/reluctance.hpp               |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/resistance.hpp               |     7 ++-----                                 
   sandbox/units/boost/units/systems/si/resistivity.hpp              |     7 ++-----                                 
   sandbox/units/libs/units/example/quaternion.cpp                   |     2 +-                                      
   17 files changed, 36 insertions(+), 81 deletions(-)
Added: sandbox/units/boost/units/physical_dimensions/capacitance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/capacitance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_CAPACITANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CAPACITANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for capacitance : L^-2 M^-1 T^4 I^2
+typedef derived_dimension<length_base_dimension,-2,
+                          mass_base_dimension,-1,
+						  time_base_dimension,4,
+						  current_base_dimension,2>::type   capacitance_type;            
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CAPACITANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/conductance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/conductance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_CONDUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CONDUCTANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for conductance : L^-2 M^-1 T^3 I^2
+typedef derived_dimension<length_base_dimension,-2,
+                          mass_base_dimension,-1,
+						  time_base_dimension,3,
+						  current_base_dimension,2>::type   conductance_type;   
+						  
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CONDUCTANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/conductivity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/conductivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_CONDUCTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_CONDUCTIVITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for conductivity : L^-3 M^-1 T^3 I^2
+typedef derived_dimension<length_base_dimension,-3,
+                          mass_base_dimension,-1,
+						  time_base_dimension,3,
+						  current_base_dimension,2>::type   conductivity_type;          
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_CONDUCTIVITY_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/electric_charge.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/electric_charge.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for electric charge : T^1 I^1
+typedef derived_dimension<time_base_dimension,1,
+                          current_base_dimension,1>::type     electric_charge_type;          
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ELECTRIC_CHARGE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/electric_potential.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/electric_potential.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_ELECTRIC_POTENTIAL_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_ELECTRIC_POTENTIAL_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for electric potential : L^2 M T^-3 I^-1
+typedef derived_dimension<length_base_dimension,2,
+                          mass_base_dimension,1,
+						  time_base_dimension,-3,
+						  current_base_dimension,-1>::type   electric_potential_type;        
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_ELECTRIC_POTENTIAL_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/impedance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/impedance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_IMPEDANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_IMPEDANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for impedance : L^2 M T^-3 I^-2  
+typedef derived_dimension<length_base_dimension,2,
+                          mass_base_dimension,1,
+						  time_base_dimension,-3,
+						  current_base_dimension,-2>::type   impedance_type;          
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_IMPEDANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/inductance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/inductance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_INDUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_INDUCTANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for inductance : L^2 M T^-2 I^-2
+typedef derived_dimension<length_base_dimension,2,
+                          mass_base_dimension,1,
+						  time_base_dimension,-2,
+						  current_base_dimension,-2>::type   inductance_type;       
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_INDUCTANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/magnetic_field_intensity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/magnetic_field_intensity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,30 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic field intensity : L^-1 I
+typedef derived_dimension<length_base_dimension,-1,
+                          current_base_dimension,1>::type    magnetic_field_intensity_type;      
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FIELD_INTENSITY_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/magnetic_flux.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/magnetic_flux.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_MAGNETIC_FLUX_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FLUX_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic flux : L^2 M T^-2 I^-1
+typedef derived_dimension<length_base_dimension,2,
+                          mass_base_dimension,1,
+						  time_base_dimension,-2,
+						  current_base_dimension,-1>::type   magnetic_flux_type;           
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FLUX_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/magnetic_flux_density.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/magnetic_flux_density.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,32 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for magnetic flux density : M T^-2 I^-1
+typedef derived_dimension<mass_base_dimension,1,
+                          time_base_dimension,-2,
+						  current_base_dimension,-1>::type    magnetic_flux_density_type;        
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_MAGNETIC_FLUX_DENSITY_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/permeability.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/permeability.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_PERMEABILITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_PERMEABILITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for permeability : L M T^-2 I^-2
+typedef derived_dimension<length_base_dimension,1,
+                          mass_base_dimension,1,
+						  time_base_dimension,-2,
+						  current_base_dimension,-2>::type   permeability_type;
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PERMEABILITY_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/permittivity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/permittivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_PERMITTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_PERMITTIVITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for permittivity : L^-3 M^-1 T^4 I^2
+typedef derived_dimension<length_base_dimension,-3,
+                          mass_base_dimension,-1,
+						  time_base_dimension,4,
+						  current_base_dimension,2>::type   permittivity_type;                
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_PERMITTIVITY_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/reluctance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/reluctance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_RELUCTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RELUCTANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for reluctance : L^-2 M^-1 T^2 I^2
+typedef derived_dimension<length_base_dimension,-2,
+                          mass_base_dimension,-1,
+						  time_base_dimension,2,
+						  current_base_dimension,2>::type   reluctance_type;            
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RELUCTANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/resistance.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/resistance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_RESISTANCE_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RESISTANCE_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for resistance : L^2 M T^-3 I^-2  
+typedef derived_dimension<length_base_dimension,2,
+						  mass_base_dimension,1,
+						  time_base_dimension,-3,
+						 current_base_dimension,-2>::type   resistance_type;              
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RESISTANCE_DERIVED_DIMENSION_HPP
Added: sandbox/units/boost/units/physical_dimensions/resistivity.hpp
==============================================================================
--- (empty file)
+++ sandbox/units/boost/units/physical_dimensions/resistivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -0,0 +1,34 @@
+// Boost.Units - A C++ library for zero-overhead dimensional analysis and 
+// unit/quantity manipulation and conversion
+//
+// Copyright (C) 2003-2008 Matthias Christian Schabel
+// Copyright (C) 2008 Steven Watanabe
+//
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNITS_RESISTIVITY_DERIVED_DIMENSION_HPP
+#define BOOST_UNITS_RESISTIVITY_DERIVED_DIMENSION_HPP
+
+#include <boost/units/derived_dimension.hpp>
+#include <boost/units/physical_dimensions/length.hpp>
+#include <boost/units/physical_dimensions/mass.hpp>
+#include <boost/units/physical_dimensions/time.hpp>
+#include <boost/units/physical_dimensions/current.hpp>
+
+namespace boost {
+
+namespace units {
+
+/// derived dimension for resistivity : L^3 M T^-3 I^-2
+typedef derived_dimension<length_base_dimension,3,
+                          mass_base_dimension,1,
+						  time_base_dimension,-3,
+						  current_base_dimension,-2>::type   resistivity_type;              
+
+} // namespace units
+
+} // namespace boost
+
+#endif // BOOST_UNITS_RESISTIVITY_DERIVED_DIMENSION_HPP
Modified: sandbox/units/boost/units/systems/si/base.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/base.hpp	(original)
+++ sandbox/units/boost/units/systems/si/base.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -42,8 +42,8 @@
                                         kelvin_base_unit, 
                                         mole_base_unit, 
                                         candela_base_unit, 
-					boost::units::angle::radian_base_unit, 
-					boost::units::angle::steradian_base_unit>::type system;
+					angle::radian_base_unit, 
+					angle::steradian_base_unit>::type system;
 
 /// dimensionless si unit
 typedef unit<dimensionless_type,system>         dimensionless;
Modified: sandbox/units/boost/units/systems/si/capacitance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/capacitance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/capacitance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/capacitance.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// capacitance : L^-2 M^-1 T^4 I^2
-typedef derived_dimension<length_base_dimension,-2,mass_base_dimension,-1,time_base_dimension,4,current_base_dimension,2>::type   capacitance_type;            
-
-typedef unit<si::capacitance_type,si::system>                                           capacitance;
+typedef unit<capacitance_type,si::system>    capacitance;
     
 BOOST_UNITS_STATIC_CONSTANT(farad,capacitance);
 BOOST_UNITS_STATIC_CONSTANT(farads,capacitance);
Modified: sandbox/units/boost/units/systems/si/conductance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/conductance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/conductance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/conductance.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// conductance : L^-2 M^-1 T^3 I^2
-typedef derived_dimension<length_base_dimension,-2,mass_base_dimension,-1,time_base_dimension,3,current_base_dimension,2>::type   conductance_type;                    
-
-typedef unit<si::conductance_type,si::system>                                           conductance;
+typedef unit<conductance_type,si::system>    conductance;
 
 BOOST_UNITS_STATIC_CONSTANT(siemen,conductance);    
 BOOST_UNITS_STATIC_CONSTANT(siemens,conductance);   
Modified: sandbox/units/boost/units/systems/si/conductivity.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/conductivity.hpp	(original)
+++ sandbox/units/boost/units/systems/si/conductivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -11,8 +11,8 @@
 #ifndef BOOST_UNITS_SI_CONDUCTIVITY_HPP
 #define BOOST_UNITS_SI_CONDUCTIVITY_HPP
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/conductivity.hpp>
 
 namespace boost {
 
@@ -20,11 +20,8 @@
 
 namespace si {
 
-/// conductivity : L^-3 M^-1 T^3 I^2
-typedef derived_dimension<length_base_dimension,-3,mass_base_dimension,-1,time_base_dimension,3,current_base_dimension,2>::type   conductivity_type;                    
-
-typedef unit<si::conductivity_type,si::system>                                          conductivity;
-                                            
+typedef unit<conductivity_type,si::system>    conductivity;
+                                        
 } // namespace si
 
 } // namespace units
Modified: sandbox/units/boost/units/systems/si/electric_charge.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/electric_charge.hpp	(original)
+++ sandbox/units/boost/units/systems/si/electric_charge.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/electric_charge.hpp>
 
 namespace boost {
 
@@ -23,11 +23,8 @@
 
 namespace si {
 
-/// electric charge : T^1 I^1
-typedef derived_dimension<time_base_dimension,1,current_base_dimension,1>::type     electric_charge_type;        
-
-typedef unit<si::electric_charge_type,si::system>               electric_charge;
-    
+typedef unit<electric_charge_type,si::system>    electric_charge;
+   
 BOOST_UNITS_STATIC_CONSTANT(coulomb,electric_charge);   
 BOOST_UNITS_STATIC_CONSTANT(coulombs,electric_charge);  
 
Modified: sandbox/units/boost/units/systems/si/electric_potential.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/electric_potential.hpp	(original)
+++ sandbox/units/boost/units/systems/si/electric_potential.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/electric_potential.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// electric potential : L^2 M T^-3 I^-1
-typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-3,current_base_dimension,-1>::type   electric_potential_type;        
-
-typedef unit<si::electric_potential_type,si::system>                                    electric_potential;
+typedef unit<electric_potential_type,si::system>    electric_potential;
     
 BOOST_UNITS_STATIC_CONSTANT(volt,electric_potential);   
 BOOST_UNITS_STATIC_CONSTANT(volts,electric_potential);  
Modified: sandbox/units/boost/units/systems/si/impedance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/impedance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/impedance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -11,8 +11,8 @@
 #ifndef BOOST_UNITS_SI_IMPEDANCE_HPP
 #define BOOST_UNITS_SI_IMPEDANCE_HPP
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/impedance.hpp>
 
 namespace boost {
 
@@ -20,10 +20,7 @@
 
 namespace si {
 
-/// impedance : L^2 M T^-3 I^-2  
-typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-3,current_base_dimension,-2>::type   impedance_type;              
-
-typedef unit<si::impedance_type,si::system>                                             impedance;
+typedef unit<impedance_type,si::system>    impedance;
                                             
 } // namespace si
 
Modified: sandbox/units/boost/units/systems/si/inductance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/inductance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/inductance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/inductance.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// inductance : L^2 M T^-2 I^-2
-typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-2,current_base_dimension,-2>::type   inductance_type;                
-
-typedef unit<si::inductance_type,si::system>                                            inductance;
+typedef unit<inductance_type,si::system>    inductance;
     
 BOOST_UNITS_STATIC_CONSTANT(henry,inductance);  
 BOOST_UNITS_STATIC_CONSTANT(henrys,inductance); 
Modified: sandbox/units/boost/units/systems/si/magnetic_field_intensity.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/magnetic_field_intensity.hpp	(original)
+++ sandbox/units/boost/units/systems/si/magnetic_field_intensity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -11,8 +11,8 @@
 #ifndef BOOST_UNITS_SI_MAGNETIC_FIELD_INTENSITY_HPP
 #define BOOST_UNITS_SI_MAGNETIC_FIELD_INTENSITY_HPP
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/magnetic_field_intensity.hpp>
 
 namespace boost {
 
@@ -20,11 +20,8 @@
 
 namespace si {
 
-/// magnetic field intensity : L^-1 I
-typedef derived_dimension<length_base_dimension,-1,current_base_dimension,1>::type                          magnetic_field_intensity_type;
-
-typedef unit<si::magnetic_field_intensity_type,si::system>                              magnetic_field_intensity;
-                                            
+typedef unit<magnetic_field_intensity_type,si::system>    magnetic_field_intensity;
+											                                           
 } // namespace si
 
 } // namespace units
Modified: sandbox/units/boost/units/systems/si/magnetic_flux.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/magnetic_flux.hpp	(original)
+++ sandbox/units/boost/units/systems/si/magnetic_flux.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/magnetic_flux.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// magnetic flux : L^2 M T^-2 I^-1
-typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-2,current_base_dimension,-1>::type   magnetic_flux_type;            
-
-typedef unit<si::magnetic_flux_type,si::system>                                         magnetic_flux;
+typedef unit<magnetic_flux_type,si::system>    magnetic_flux;
     
 BOOST_UNITS_STATIC_CONSTANT(weber,magnetic_flux);   
 BOOST_UNITS_STATIC_CONSTANT(webers,magnetic_flux);  
Modified: sandbox/units/boost/units/systems/si/magnetic_flux_density.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/magnetic_flux_density.hpp	(original)
+++ sandbox/units/boost/units/systems/si/magnetic_flux_density.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/magnetic_flux_density.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// magnetic flux density : M T^-2 I^-1
-typedef derived_dimension<mass_base_dimension,1,time_base_dimension,-2,current_base_dimension,-1>::type    magnetic_flux_density_type;        
-
-typedef unit<si::magnetic_flux_density_type,si::system>                     magnetic_flux_density;
+typedef unit<magnetic_flux_density_type,si::system>    magnetic_flux_density;
     
 BOOST_UNITS_STATIC_CONSTANT(tesla,magnetic_flux_density);   
 BOOST_UNITS_STATIC_CONSTANT(teslas,magnetic_flux_density);  
Modified: sandbox/units/boost/units/systems/si/permeability.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/permeability.hpp	(original)
+++ sandbox/units/boost/units/systems/si/permeability.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/permeability.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// permeability : L M T^-2 I^-2
-typedef derived_dimension<length_base_dimension,1,mass_base_dimension,1,time_base_dimension,-2,current_base_dimension,-2>::type   permeability_type;
-
-typedef unit<si::permeability_type,si::system>                                          permeability;
+typedef unit<permeability_type,si::system>    permeability;
 
 } // namespace si
 
Modified: sandbox/units/boost/units/systems/si/permittivity.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/permittivity.hpp	(original)
+++ sandbox/units/boost/units/systems/si/permittivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/permittivity.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// permittivity : L^-3 M^-1 T^4 I^2
-typedef derived_dimension<length_base_dimension,-3,mass_base_dimension,-1,time_base_dimension,4,current_base_dimension,2>::type   permittivity_type;                
-
-typedef unit<si::permittivity_type,si::system>                                          permittivity;
+typedef unit<permittivity_type,si::system>    permittivity;
 
 } // namespace si
 
Modified: sandbox/units/boost/units/systems/si/reluctance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/reluctance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/reluctance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -11,8 +11,8 @@
 #ifndef BOOST_UNITS_SI_RELUCTANCE_HPP
 #define BOOST_UNITS_SI_RELUCTANCE_HPP
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/reluctance.hpp>
 
 namespace boost {
 
@@ -20,10 +20,7 @@
 
 namespace si {
 
-/// reluctance : L^-2 M^-1 T^2 I^2
-typedef derived_dimension<length_base_dimension,-2,mass_base_dimension,-1,time_base_dimension,2,current_base_dimension,2>::type   reluctance_type;
-
-typedef unit<si::reluctance_type,si::system>                                            reluctance;
+typedef unit<reluctance_type,si::system>    reluctance;
 
 } // namespace si
 
Modified: sandbox/units/boost/units/systems/si/resistance.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/resistance.hpp	(original)
+++ sandbox/units/boost/units/systems/si/resistance.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -14,8 +14,8 @@
 #include <ostream>
 #include <boost/units/io.hpp>
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/resistance.hpp>
 
 namespace boost {
 
@@ -23,10 +23,7 @@
 
 namespace si {
 
-/// resistance : L^2 M T^-3 I^-2  
-typedef derived_dimension<length_base_dimension,2,mass_base_dimension,1,time_base_dimension,-3,current_base_dimension,-2>::type   resistance_type;              
-
-typedef unit<si::resistance_type,si::system>                                            resistance;
+typedef unit<resistance_type,si::system>    resistance;
 
 BOOST_UNITS_STATIC_CONSTANT(ohm,resistance);    
 BOOST_UNITS_STATIC_CONSTANT(ohms,resistance);   
Modified: sandbox/units/boost/units/systems/si/resistivity.hpp
==============================================================================
--- sandbox/units/boost/units/systems/si/resistivity.hpp	(original)
+++ sandbox/units/boost/units/systems/si/resistivity.hpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -11,8 +11,8 @@
 #ifndef BOOST_UNITS_SI_RESISTIVITY_HPP
 #define BOOST_UNITS_SI_RESISTIVITY_HPP
 
-#include <boost/units/derived_dimension.hpp>
 #include <boost/units/systems/si/base.hpp>
+#include <boost/units/physical_dimensions/resistivity.hpp>
 
 namespace boost {
 
@@ -20,10 +20,7 @@
 
 namespace si {
 
-/// resistivity : L^3 M T^-3 I^-2
-typedef derived_dimension<length_base_dimension,3,mass_base_dimension,1,time_base_dimension,-3,current_base_dimension,-2>::type   resistivity_type;              
-
-typedef unit<si::resistivity_type,si::system>                                           resistivity;
+typedef unit<resistivity_type,si::system>    resistivity;
 
 } // namespace si
 
Modified: sandbox/units/libs/units/example/quaternion.cpp
==============================================================================
--- sandbox/units/libs/units/example/quaternion.cpp	(original)
+++ sandbox/units/libs/units/example/quaternion.cpp	2008-05-20 23:59:19 EDT (Tue, 20 May 2008)
@@ -180,7 +180,7 @@
 
 int main(void)
 {
-    using namespace boost::math;
+	using boost::math::quaternion;
     using namespace boost::units;
     using namespace boost::units::test;