小编Mic*_*h W的帖子

在Ada中,是否有一种方法可以使枚举类型像模数类型一样 - 在最后一个范围之后换行为0?

我正在重写一个加密/压缩库,似乎每个字节处理的处理量很大.我更喜欢在选择加密可以采用的几种有限方式(正确方式)中使用枚举类型,但是当这些路径变为循环时,我必须添加额外的代码来测试类型'弹出和类型'的第一个.我永远可以写这样的条件的类型,或分配的类型加法/减法运算符的功能环绕的结果,但这是更多的代码和处理,将加起来快时,它具有运行每八字节以及其他所有内容.有没有办法让操作像一个简单的"mod"类型一样高效,就像

type Modular is mod 64 ....;
for ......;
pragma ....;
type Frequency_Counter is array(Modular) of Long_Integer;
Head : Modular := (others => 0);
Freq : Frequency_Counter(Size) := (others => 0);
Encryption_Label : Modular := Hash3;
Block_Sample : Modular := Hash5;
...
Hash3 := Hash3 + 1;
Freq (Hash3):= Freq(Hash3) + 1; -- Here is where my made-on-the-fly example is focused
Run Code Online (Sandbox Code Playgroud)

我想我可以使整个算法更高效,使用枚举类型,如果我能先手枚举类型做数学的处理器在同一周期数与国防部类型的数学.我在想办法方面有点创意,但他们显然不适合我用它们中的任何一个作为例子.我能想到的唯一可能超出我的技能,那就是使用内联ASM(气体汇编语言语法)制作一个程序,使操作非常直接地对待处理器.

PS:我知道这是一个小小的收获,单独.任何收益都适合申请.

math enums ada

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

如何在 Zsh 中使用浮点数“延迟”?

在 Zsh 中,有一个wait(针对进程或作业)命令、一个while(秒 == 延迟)命令和一个sched(如果 shell 仍在运行,请稍后执行)命令,但没有“延迟”命令。如果有的话,我担心这将仅限于整整一秒的延迟。我需要一个“延迟”语句,它本质上可以导致过程/任务在固定点数指定的时间内或直到某个时钟时间几乎不执行任何操作。

大多数脚本会使用“睡眠”,但我希望延迟计时器运行而不必打开 IO;我正在寻求一个理想,即几乎任何事情都可以在 Zsh 中完成。

有谁知道如何使一个函数(或者可能是内置/模块)在几秒钟内执行浮点空闲延迟?

linux shell sleep zsh

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

标签 统计

ada ×1

enums ×1

linux ×1

math ×1

shell ×1

sleep ×1

zsh ×1