   return sqrt(p.x()*p.x() + p.y()*p.y());
}

const point&lt;float&gt; right(0, 1);
const point&lt;float&gt; up(1, 0);
const point&lt;float&gt; pi_over_4 = up + right;
const point&lt;float&gt; pi_over_4_normalized = pi_over_4 / length(pi_over_4);
</pre>

    <h2><a name="arithmetic">Arithmetic</a> Operators</h2>

    <p>The arithmetic operator templates ease the task of creating a custom
    numeric type. Given a core set of operators, the templates add related
    operators to the numeric class. These oper