3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Octonion Specializations</title>
5 <link rel="stylesheet" href="../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../octonions.html" title="Chapter 16. Octonions">
9 <link rel="prev" href="octonion.html" title="Template Class octonion">
10 <link rel="next" href="oct_typedefs.html" title="Octonion Member Typedefs">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="octonion.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_typedefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
27 <a name="math_toolkit.oct_specialization"></a><a class="link" href="oct_specialization.html" title="Octonion Specializations">Octonion Specializations</a>
28 </h2></div></div></div>
29 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
31 <span class="keyword">template</span><span class="special"><></span>
32 <span class="keyword">class</span> <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span>
33 <span class="special">{</span>
34 <span class="keyword">public</span><span class="special">:</span>
35 <span class="keyword">typedef</span> <span class="keyword">float</span> <span class="identifier">value_type</span><span class="special">;</span>
37 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">,</span> <span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0f</span><span class="special">);</span>
38 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">>());</span>
39 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">>());</span>
40 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
41 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
43 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
44 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
46 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
47 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
48 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
49 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
50 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
51 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
52 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
53 <span class="keyword">float</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
55 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
56 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
57 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
58 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
60 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
61 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
63 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
64 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
65 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
66 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
67 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
68 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
70 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
71 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
72 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
73 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
74 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
76 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
77 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
78 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
79 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
80 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
82 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
83 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
84 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
85 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
86 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
88 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">float</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
89 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
90 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
91 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
92 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
93 <span class="special">};</span>
95 <a name="math_octonion_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special"><></span>
96 <span class="keyword">class</span> <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span>
97 <span class="special">{</span>
98 <span class="keyword">public</span><span class="special">:</span>
99 <span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
101 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">,</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">);</span>
102 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">>());</span>
103 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">q1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">>());</span>
104 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
105 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
107 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
108 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
110 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
111 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
112 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
113 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
114 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
115 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
116 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
117 <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
119 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
120 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
121 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
122 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
124 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
125 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
127 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
128 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
129 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
130 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
131 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
132 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
134 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
135 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
136 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
137 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
138 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
140 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
141 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
142 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
143 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
144 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
146 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
147 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
148 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
149 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
150 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
152 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
153 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
154 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
155 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
156 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
157 <span class="special">};</span>
159 <a name="math_octonion_long_double"></a><pre class="programlisting"><span class="keyword">template</span><span class="special"><></span>
160 <span class="keyword">class</span> <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span>
161 <span class="special">{</span>
162 <span class="keyword">public</span><span class="special">:</span>
163 <span class="keyword">typedef</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">value_type</span><span class="special">;</span>
165 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_a</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_b</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_c</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_d</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_e</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_f</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_g</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">requested_h</span> <span class="special">=</span> <span class="number">0.0L</span><span class="special">);</span>
166 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z2</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">>(),</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z3</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">>());</span>
167 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">q0</span><span class="special">,</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">z1</span> <span class="special">=</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">>());</span>
168 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">float</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
169 <span class="keyword">explicit</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.constructors">octonion</a><span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_recopier</span><span class="special">);</span>
171 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">real</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
172 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.real_and_unreal_parts">unreal</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
174 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
175 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
176 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
177 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
178 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_5</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
179 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_6</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
180 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_7</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
181 <span class="keyword">long</span> <span class="keyword">double</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_real_components">R_component_8</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
183 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
184 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
185 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_3</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
186 <span class="special">::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_complex_components">C_component_4</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
188 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_1</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
189 <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.individual_quaternion_components">H_component_2</a><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
191 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
192 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
193 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
194 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
195 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
196 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.assignment_operators">operator =</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">a_affecter</span><span class="special">);</span>
198 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
199 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
200 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
201 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
202 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator +=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
204 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
205 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
206 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
207 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
208 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator -=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
210 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
211 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
212 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
213 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
214 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator *=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
216 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
217 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
218 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">quaternion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
219 <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">X</span><span class="special">></span>
220 <span class="identifier">octonion</span><span class="special"><</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">></span> <span class="special">&</span> <a class="link" href="oct_mem_fun.html#math_toolkit.oct_mem_fun.other_member_operators">operator /=</a> <span class="special">(</span><span class="identifier">octonion</span><span class="special"><</span><span class="identifier">X</span><span class="special">></span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">rhs</span><span class="special">);</span>
221 <span class="special">};</span>
223 <span class="special">}</span> <span class="special">}</span> <span class="comment">// namespaces</span>
226 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
227 <td align="left"></td>
228 <td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
229 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
230 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
231 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
232 Daryle Walker and Xiaogang Zhang<p>
233 Distributed under the Boost Software License, Version 1.0. (See accompanying
234 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
239 <div class="spirit-nav">
240 <a accesskey="p" href="octonion.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../octonions.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="oct_typedefs.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>