dsqt$m (2) --- calculate double precision square root 04/27/83 | _C_a_l_l_i_n_g _I_n_f_o_r_m_a_t_i_o_n | longreal function dsqt$m (x) | longreal x | Library: vswtmath (Subsystem mathematical library) | _F_u_n_c_t_i_o_n | This function calculates the square root of a double | precision floating point value. Attempts to take the square | root of negative values will result in an error. The condi- | tion SWT_MATH_ERROR$ is signalled if there is an argument | error. An on-unit can be established to deal with this | error; the SWT Math Library contains a default handler named | 'err$m' which the user may utilize. The default return in | this case will be the square root of the absolute value of | the argument. | _I_m_p_l_e_m_e_n_t_a_t_i_o_n | The algorithm involved is based on Newton's approximation | method with an initial multiplicative approximation. The | argument is scaled to within the range [0.5, 2.0) and then | the algorithm is iterated to a solution. It is adapted from | the algorithm given in the book _S_o_f_t_w_a_r_e _M_a_n_u_a_l _f_o_r _t_h_e | _E_l_e_m_e_n_t_a_r_y _F_u_n_c_t_i_o_n_s by William Waite and William Cody, Jr. | (Prentice-Hall, 1980). | _C_a_l_l_s | Primos signl$ | _S_e_e _A_l_s_o | err$m (2), sqrt$m (2), | _S_W_T _M_a_t_h _L_i_b_r_a_r_y _U_s_e_r_'_s _G_u_i_d_e dsqt$m (2) - 1 - dsqt$m (2)