* 新增 Rust 原生 ICSP 规划库 (Cargo 项目, CubicSpline 算法, FFI 接口) * 新增 Flyshot.Native.Planning C# 互操作项目 (P/Invoke 封装) * 更新 ControllerClientCompat 适配新的规划接口 * 添加构建脚本 (Copy-NativePlanningArtifacts.ps1) * 新增互操作测试及一致性对比测试 * 更新解决方案文件和设计文档
25 lines
987 B
C#
25 lines
987 B
C#
namespace Flyshot.Native.Planning;
|
|
|
|
/// <summary>
|
|
/// 描述 Rust ICSP 规划器使用的收敛和最终约束选项。
|
|
/// </summary>
|
|
/// <param name="Threshold">收敛指标 <c>sum(abs(scale - 1))</c> 的停止阈值。</param>
|
|
/// <param name="MaxIterations">最大迭代索引;执行范围包含该索引对应轮次。</param>
|
|
/// <param name="EnforceFinalScale">是否拒绝历史最优结果中仍然超限的段。</param>
|
|
/// <param name="FinalScaleTolerance">最终段缩放因子相对 1.0 的非负容差。</param>
|
|
public sealed record NativeIcspPlannerOptions(
|
|
double Threshold,
|
|
int MaxIterations,
|
|
bool EnforceFinalScale,
|
|
double FinalScaleTolerance)
|
|
{
|
|
/// <summary>
|
|
/// 获取与现有托管 <c>ICspPlanner</c> 一致的默认选项。
|
|
/// </summary>
|
|
public static NativeIcspPlannerOptions Default { get; } = new(
|
|
Threshold: 1e-3,
|
|
MaxIterations: 1000,
|
|
EnforceFinalScale: true,
|
|
FinalScaleTolerance: 1e-2);
|
|
}
|