示例#1
0
 /// <summary>Gets the value of the integral \int_a^b f(x) dx.
 /// </summary>
 /// <param name="n">Number of pairs of integraion limits.</param>
 /// <param name="lowerBounds">The lower bounds.</param>
 /// <param name="upperBounds">The upper bounds.</param>
 /// <param name="result">Array of integration results (output). The size of the array should be sufficient to hold <paramref name="n"/>* ny values, where ny is the dimension of the vector-valued function. The integration results are packed according to the settings in <paramref name="resultHint"/>.</param>
 /// <param name="lowerBoundHint">A flag describing the structure of the left-side integration limits.</param>
 /// <param name="upperBoundHint">A flag describing the structure of the right-side integration limits.</param>
 /// <param name="resultHint">A flag describing the structure of the results.</param>
 /// <param name="ldataHint">Array that contains additional information about the structure of partition x and left-side integration limits. For details see table "Structure of the datahint Array" in the description of the df?Intepolate1D function in Intel Math Kernel Library Reference Manual.</param>
 /// <param name="rdataHint">Array that contains additional information about the structure of partition x and right-side integration limits. For details see table "Structure of the datahint Array" in the description of the df?Intepolate1D function in Intel Math Kernel Library Reference Manual.</param>
 /// <remarks>The arguments must be elements of the domain of definition, represented by <see cref="IRealValuedCurve.LowerBound"/> and <see cref="IRealValuedCurve.UpperBound"/>.</remarks>
 public void GetIntegral(int n, double[] lowerBounds, double[] upperBounds, double[] result, MklGridPointCurve.IntegrationLimitHint lowerBoundHint = MklGridPointCurve.IntegrationLimitHint.DF_NO_HINT, MklGridPointCurve.IntegrationLimitHint upperBoundHint = MklGridPointCurve.IntegrationLimitHint.DF_NO_HINT, MklGridPointCurve.IntegralResultHint resultHint = MklGridPointCurve.IntegralResultHint.DF_NO_HINT, double[] ldataHint = null, double[] rdataHint = null)
 {
     CheckErrorCode(_dfdIntegrate1D(m_Task, MklGridPointCurve.ComputationMethod.DF_METHOD_PP, n, lowerBounds, lowerBoundHint, upperBounds, upperBoundHint, ldataHint, rdataHint, result, resultHint), "dfdInterpolate1D");
 }
示例#2
0
 protected unsafe extern static int _dfdIntegrate1D(IntPtr task, MklGridPointCurve.ComputationMethod method, int nlim, double *llim, MklGridPointCurve.IntegrationLimitHint llimhint, double *rlim, MklGridPointCurve.IntegrationLimitHint rlimhint, double[] ldatahint, double[] rdatahint, double *r, MklGridPointCurve.IntegralResultHint rhint);
示例#3
0
 protected unsafe extern static int _dfdIntegrateEx1D(IntPtr task, MklGridPointCurve.ComputationMethod method, int nlim, double *llim, MklGridPointCurve.IntegrationLimitHint llimhint, double *rlim, MklGridPointCurve.IntegrationLimitHint rlimhint, double[] ldatahint, double[] rdatahint, double *r, MklGridPointCurve.IntegralResultHint rhint, dfdIntegralCallBack le_cb, IntPtr le_params, dfdIntegralCallBack re_cb, IntPtr re_params, dfdIntegralCallBack i_cb, IntPtr i_params, dfdIntegralCallBack search_cb, IntPtr search_params);
 /// <summary>Gets the value of the integral \int_a^b f(x) dx.
 /// </summary>
 /// <param name="n">Number of pairs of integraion limits.</param>
 /// <param name="lowerBounds">The lower bounds.</param>
 /// <param name="upperBounds">The upper bounds.</param>
 /// <param name="result">Array of integration results (output). The size of the array should be sufficient to hold <paramref name="n" />* ny values, where ny is the dimension of the vector-valued function. The integration results are packed according to the settings in <paramref name="resultHint" />.</param>
 /// <param name="lowerBoundHint">A flag describing the structure of the left-side integration limits.</param>
 /// <param name="upperBoundHint">A flag describing the structure of the right-side integration limits.</param>
 /// <param name="resultHint">A flag describing the structure of the results.</param>
 /// <param name="ldataHint">Array that contains additional information about the structure of partition x and left-side integration limits. For details see table "Structure of the datahint Array" in the description of the df?Intepolate1D function in Intel Math Kernel Library Reference Manual.</param>
 /// <param name="rdataHint">Array that contains additional information about the structure of partition x and right-side integration limits. For details see table "Structure of the datahint Array" in the description of the df?Intepolate1D function in Intel Math Kernel Library Reference Manual.</param>
 /// <remarks>
 /// The arguments must be elements of the domain of definition, represented by <see cref="IRealValuedCurve.LowerBound" /> and <see cref="IRealValuedCurve.UpperBound" />.
 /// </remarks>
 public void GetIntegral(int n, double[] lowerBounds, double[] upperBounds, double[] result, MklGridPointCurve.IntegrationLimitHint lowerBoundHint = MklGridPointCurve.IntegrationLimitHint.DF_NO_HINT, MklGridPointCurve.IntegrationLimitHint upperBoundHint = MklGridPointCurve.IntegrationLimitHint.DF_NO_HINT, MklGridPointCurve.IntegralResultHint resultHint = MklGridPointCurve.IntegralResultHint.DF_NO_HINT, double[] ldataHint = null, double[] rdataHint = null)
 {
     m_DataFitting.GetIntegral(n, lowerBounds, upperBounds, result, lowerBoundHint, upperBoundHint, resultHint, ldataHint, rdataHint);
 }