Ada 使用LCM函数时出现约束错误

Ada 使用LCM函数时出现约束错误,ada,Ada,我正在尝试用ada语言为Cheddar编写一个用户定义的任务调度策略。但当我编写以下代码时: mul:=1.0; for i in tasks_range loop if tasks.ready(i)=true then mul:=lcm(tasks.capacity(i),mul); end if; end loop; 它给出一个错误:引发异常:约束错误:表达式。adb:1876访问检查失败 我尝试将mul定义为整数,但也失败了 请帮助。我们需要很多信

我正在尝试用ada语言为Cheddar编写一个用户定义的任务调度策略。但当我编写以下代码时:

mul:=1.0;

for i in tasks_range loop
    if tasks.ready(i)=true then
        mul:=lcm(tasks.capacity(i),mul);
    end if;
end loop;   
它给出一个错误:引发异常:约束错误:表达式。adb:1876访问检查失败

我尝试将mul定义为整数,但也失败了


请帮助。

我们需要很多信息,以便真正为您提供有意义的帮助。
作为猜测,假设例外情况是
约束\u错误
,我将查看
任务的范围
任务。就绪
任务。容量
-鉴于这看起来不像是惯用的Ada代码,我猜您可能是(a)试图从其他语言转录方法/算法,或者(b)您不熟悉Ada的
任务
系统。

抱歉,但至少还有1870行代码可能与此有关。你将不得不削减它(相当多)以产生一个新的目标。另请参见。