lines 222-265 of file: example/multi_thread/multi_atomic_three.cpp

{xrst_begin multi_atomic_three_setup}

Multi-Threaded atomic_three Set Up
##################################

Syntax
******
*ok* = ``multi_atomic_three_setup`` ( *y_squared* )

Purpose
*******
This routine splits up the computation into the individual threads.

Thread
******
It is assumed that this function is called by thread zero
and all the other threads are blocked (waiting).

y_squared
*********
This argument has prototype

   ``const vector<double>&`` *y_squared*

and its size is equal to the number of equations to solve.
It is the values that we are computing the square root of.

ok
**
This return value has prototype

   ``bool`` *ok*

If it is false,
``multi_atomic_three_setup`` detected an error.

Source
******
{xrst_literal
   // BEGIN SETUP C++
   // END SETUP C++
}

{xrst_end multi_atomic_three_setup}
