小编Ana*_* Wu的帖子

如果答案已经确定,Perl是否已优化以跳过剩余的逻辑操作数?

例如,我需要匹配一些文本if $do eq 'b'.如果我运行此代码:

if (($do eq 'b') && (/text/))
{
do stuff
}
Run Code Online (Sandbox Code Playgroud)

如果第一个括号是假的,perl会评估第一个括号和第二个括号,无论它在第二个括号的评估中是什么或者它会停止?

后续问题在这里.(我不知道是否应该提出新问题或在此发布)

optimization perl logic

4
推荐指数
1
解决办法
150
查看次数

在Perl中 - 如果需要,可以禁用短路评估吗?

这是一个后续问题这一个.

例如,假设我有三个程序需要运行,无论如何,如果所有程序都返回1则退出.

while (&proc1 && &proc2 && &proc3);
Run Code Online (Sandbox Code Playgroud)

因为Perl正在使用短路评估,所以代码可能会也可能不会执行subs&proc2和&proc3,具体取决于前面的操作数(如果操作数为false,则不会执行以下操作数; 此处wiki上的更多信息).如果需要,有没有办法关闭该功能?

optimization perl logic

2
推荐指数
2
解决办法
261
查看次数

生成要在Verilog中编译的多行

我正在开发一个VGA学校项目,我将在FPGA上进行综合.我正在使用Xilinx并使用Verilog作为HDL.该项目说我必须生成固定数量的粒子,在屏幕上显示它们,并且通过使用键盘,我将必须控制这些粒子的环境(如风,重力等).

我可以通过使用以下方法生成一个大小为1像素的粒子(大小并不重要):

  wire p1 =(posx>=part1x[13:4] && posx<=(part1x[13:4]+1) && posy>=part1y[12:4] && posy<=(part1y[12:4]+1));
Run Code Online (Sandbox Code Playgroud)

通过使用这个:

wire p1 =(posx>=part1x[13:4] && posx<=(part1x[13:4]+1) && posy>=part1y[12:4] && posy<=(part1y[12:4]+1));
wire p2 =(posx>=part2x[13:4] && posx<=(part2x[13:4]+2) && posy>=part2y[12:4] && posy<=(part2y[12:4]+2));
wire p3 =(posx>=part3x[13:4] && posx<=(part3x[13:4]+3) && posy>=part3y[12:4] && posy<=(part3y[12:4]+3));
Run Code Online (Sandbox Code Playgroud)

将创建三个粒子.

例如,如何在不编写100行代码的情况下生成100个(或更多)粒子?

verilog

1
推荐指数
1
解决办法
268
查看次数

标签 统计

logic ×2

optimization ×2

perl ×2

verilog ×1