int RTOp_ROp_fraction_to_boundary_construct( RTOp_value_type tau, struct RTOp_RTOp* op ) { #ifdef RTOp_DEBUG assert(op); #endif op->obj_data = NULL; op->vtbl = &RTOp_ROp_fraction_to_boundary_vtbl; op->vtbl->obj_data_vtbl->obj_create(NULL,NULL,&op->obj_data); return RTOp_ROp_fraction_to_boundary_init(tau,op); }
AbstractLinAlgPack::value_type AbstractLinAlgPack::fraction_to_boundary( const value_type tau, const Vector& x, const Vector& d, const Vector& xl, const Vector& xu ) { TEST_FOR_EXCEPT(0!=RTOp_ROp_fraction_to_boundary_init( tau, &fraction_to_boundary_op.op() )); fraction_to_boundary_op.reduct_obj_reinit(&*fraction_to_boundary_targ); const int num_vecs = 4; const Vector* vecs[num_vecs] = { &x, &d, &xl, &xu }; apply_op( fraction_to_boundary_op, num_vecs, vecs, 0, NULL ,&*fraction_to_boundary_targ ); return RTOp_ROp_fraction_to_boundary_val(fraction_to_boundary_op(*fraction_to_boundary_targ)); }