/// <summary>Adds a specific inequality constraint. /// </summary> /// <param name="equalityConstraintFunction">The equality constraint function, i.e. a argument x will be accepted iff |c(x)| < <paramref name="tolerance"/>.</param> /// <param name="tolerance">The tolerance.</param> /// <returns>A value indicating whether the equality constraint has been added.</returns> public NLoptResultCode AddEqualityConstraint(NLoptEqualityConstraintFunction equalityConstraintFunction, double tolerance) { if (m_NLopPtr == IntPtr.Zero) { throw new ObjectDisposedException("NLoptPtr"); } return(nlopt_add_equality(m_NLopPtr, equalityConstraintFunction, IntPtr.Zero, tolerance)); }
private static extern NLoptResultCode nlopt_add_equality(IntPtr opt, [MarshalAs(UnmanagedType.FunctionPtr)] NLoptEqualityConstraintFunction equalityConstraintFunction, IntPtr data, double tolerance);