static enum user_response get_user_info_from_header(const realm_type type, char **user_name, struct user_info **user_item) { int ret_val = no_user_response; if ((type == ws_realm)) { if (is_basic(user_name) == 0) ret_val = access_denied_user_response; if (is_digest(user_name) == 0) ret_val = ok_user_response; } else { if (is_basic(user_name) < 0 && /* Load of *user_name here, but not after the is_digest call. */ is_digest(user_name) < 0) ; else if ((*user_item = find_user(*user_name)) != ((void *)0)) ret_val = ok_user_response; else ret_val = access_denied_user_response; if (ret_val != ok_user_response) g_free(*user_name); } return ret_val; }
typename QP_solver<Rep_>::ET QP_solver<Rep_>::nonbasic_original_variable_value(int i) const { if (check_tag(Is_in_standard_form())) return et0; CGAL_assertion(!is_basic(i)); return original_variable_value(i); }
void QP_solver<Rep_>:: multiply__2D_OxN_O(Value_iterator out) const { CGAL_qpe_precondition(!check_tag(Is_in_standard_form())); // initialize with zero vector: std::fill_n(out, B_O.size(), et0); for (int row_it = 0; row_it < qp_n; ++row_it, ++out) { D_pairwise_accessor d_row(qp_D, row_it); for (int i = 0; i < qp_n; ++i) if (!is_basic(i)) { const ET value = nonbasic_original_variable_value(i); *out += d_row(i) * value; } } }
void QP_solver<Rep_>:: multiply__A_S_BxN_O(Value_iterator out) const { // initialize with zero vector: std::fill_n(out, S_B.size(), et0); for (int i = 0; i < qp_n; ++i) if (!is_basic(i)) { const ET x_i = nonbasic_original_variable_value(i); const A_column a_col = qp_A[i]; Value_iterator out_it = out; for (Index_const_iterator row_it = S_B.begin(); row_it != S_B.end(); ++row_it, ++out_it) *out_it += x_i * a_col[*row_it]; } }
void QP_solver<Rep_>:: multiply__A_CxN_O(Value_iterator out) const { CGAL_qpe_precondition(!check_tag(Is_in_standard_form())); // initialize with zero vector: std::fill_n(out, C.size(), et0); for (int i = 0; i < qp_n; ++i) if (!is_basic(i)) { const ET x_i = nonbasic_original_variable_value(i); const A_column a_col = qp_A[i]; Value_iterator out_it = out; for (Index_const_iterator row_it = C.begin(); row_it != C.end(); ++row_it, ++out_it) *out_it += x_i * a_col[*row_it]; } }