Hi again,&nbsp;<div><br></div><div>&nbsp;Just to be fair, I have to add that boost.units needs a small set of additions in order to make easier and encourage other libraries to be generic. At least two:</div><div><br></div><div>&nbsp;1) division and multiplication by integer</div><div>currently this fails to compile</div><div><br></div><div>&nbsp;mid = (min + max)/2; // fails</div><div><br></div><div>because 2 is an integer.</div><div><br></div><div>&nbsp;2) comparison with "symbolic" 0, i.e. null,</div><div>for consistency with zero constructor. Currently</div><div><br></div><div>&nbsp;boost::quantity&lt;si::length&gt; a(0); // ok currently</div><div>&nbsp;if(a==0) ...; //not ok currently, workaround if(a == quantity&lt;...&gt;(0))</div><div>&nbsp;if(a &gt; 0) ...; //not ok currently,&nbsp;workaround if(a &gt; quantity&lt;...&gt;(0))</div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>&nbsp;a = 0; //not ok currently</div><div><br></div><div>these two operation are very common in math applications (like root finding :) ).</div><div><br></div><div>I have an implementation of 1) and 2) of my own (except operator= which is not possible to have a non member function),</div><div>I think if these very basic things are incorporated in boost.units then libraries with boost.units in mind will be easier to develop.</div><div><br></div><div>Alfredo</div><div><br></div>