From: Andy Little (andy_at_[hidden])
Date: 2004-01-07 06:49:18


"David B. Held" <dheld_at_[hidden]> wrote in message
news:btgpfo$o56$1_at_sea.gmane.org...
> "Andy Little" <andy_at_[hidden]> wrote in message
> news:btgmo3$j8h$1_at_sea.gmane.org...
> > [...]
> > Feel free to recode in your 'problem domain' with m and s my
> > friend. I'll take my syntax .
>
> But you didn't show the code using your syntax, so there's nothing
> to compare. You show the code with your syntax, and I'll show it
> with postfix units, and then we'll have apples and apples.

cant do that still working on my lib...
testing bits though:

#include "C:/projects/physical_quantities/pqs.hpp"
#include "Scalar.h"
using namespace physical_quantities;
class Rotor{
public:
 Rotor();
 ~Rotor();
 Scalar<double> m_cl;
 Scalar<double> m_tsr;
 Scalar<q_length::mm> m_rotor_diameter;
 Scalar<q_length::mm> m_hub_diameter;
 Scalar<q_velocity::m_div_s> m_windspeed;
 Scalar<q_power::W> m_power_output;
 Scalar<int> m_num_blades;
 Scalar<double> m_rpm;
    Scalar<double> m_ellipticality;
    Scalar<q_mass::kg> m_mass;
    Scalar<q_length::mm> m_moment;
};

... hows that? I've shown you mine... now show me yours
or anything equivalent will do

>
> > BTW what about performance? Or doesnt that matter?
>
> struct unit { };
>
> template <typename T>
> T operator*(T lhs, unit rhs) { return T; }
>
> unit meters;
>
> int d = 4 * meters;

>
> I'm not saying this is how any of the libraries work, but it should give
> you some idea of what is possible.

zero runtime initialisation cost is Fact with my lib now.

regards
Andy Little