问题标签 [gforth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
419 浏览

biginteger - Forth 中的大整数?

我在 Forth (ANS-94) 中开发了一个大整数系统(用于动态长度的数字),但它太慢了。有没有可用的快速系统?

此外,欢迎任何有关该主题的提示。

0 投票
1 回答
1835 浏览

forth - 如何在 Gforth 中编写 while() 循环

我想在Gforth中写一个 while() 循环。不幸的是,由于缺少示例,在线唯一的教程没有用,并且计数循环的示例(我不是在寻找)看起来根本不同。

如何表示这样的东西有哪些具体的例子?

或者真的,只是一些具体的方式来表示任何形式:

0 投票
2 回答
128 浏览

forth - 如何显示矩阵的内容?

考虑:

它是创建矩阵的定义,然后您分配如下值:

然后你把价值观塞进去……他们在那里……

(我认为)

在 Internet 上,您找不到任何可以解释这一点的东西。你如何显示矩阵的内容?

0 投票
3 回答
190 浏览

forth - 循环求和数组返回地址,如读取而不是正确答案。为什么?

我正在尝试编写一个程序来为我求和一个数组,但是当我尝试运行单词 sum 时,它一直给我一个非常长的数字,类似于一个地址。我尝试将它拆开并在终端中的单词之外逐行运行并手动循环工作正常,但是当我真正让它工作时它完全失败了。我究竟做错了什么?

上传就像一个魅力,但后来我去使用这个词

它返回一个非常长的数字,看起来像一个地址,而不是我添加来测试它的一些小数字列表的总和。

0 投票
3 回答
1111 浏览

winapi - 是否可以从 Forth 调用 Windows API?

在 C/C++ 中,Windows 可执行文件与导入包含 Windows API 过程的 DLL 文件的静态库链接。

但是我们如何从 Forth 代码(例如 GForth)中访问这些程序呢?有可能吗?

我知道有 Win32Forth 能够做 Win32 的东西,但我很感兴趣如何(以及是否)这可以在缺少此功能的 Forth 实现中完成(但确实在目标操作系统上运行并且可能能够交互在一定程度上使用它)。

目前我想到的是加载有问题的 DLL 文件并以某种方式定位要执行的过程的地址 - 但是,如何执行?(我所知道的是 Windows API 使用stdcall 约定)。我们如何定位没有 C 标头的过程?(我对 Forth 很陌生,对 C++ 还不太熟悉。如果我的想法是胡说八道,请多多包涵)。

0 投票
1 回答
202 浏览

arrays - Forth中大整数减法的错误算法

我的算法有一个神秘的错误,用于减去各种长度的无符号整数。它几乎适用于每一对数字,但如果 n 不小于单元格中的位数,则(2^n +1)-(2^n - 1) <> 2. 我不明白为什么算法不起作用。

这些数字存储在“cellimal”系统中的数组中(base = 2^bits),lowmem 中的最低有效单元格。ad1 处的数组要从 ad2 处的数组中减去,两者的 len 维数相同,结果应存储在 ad2 中:

注意:我认为错误来自从包含零值的单元格中借用...

也许有人可以纠正算法?

0 投票
1 回答
231 浏览

algorithm - 如何实现维基百科的素数测试算法?

在 Wikipedia 上,下面的算法应该通过概率 Rabin-Miller 素数测试来测试奇数 n 是否是复合数。

我在下面GitHub 上的 BigIntANSForth中的算法实现可能是错误的。前缀“b”代表“大”;有一个大数字的参数堆栈和一个额外的大数字堆栈'bx'。'ys' 也是一个单元格整数的额外堆栈。

条形前缀代表“巴雷特缩减”。

83568136581357135713573105731571385713857130571301111111111111111111111112429 是由于实现任何精度的复合,但由于Wolfram Alpha是素数。

我不确定我是否正确解释了算法。有什么建议吗?

0 投票
1 回答
282 浏览

gpio - Raspberry Pi 上的 GPIO 引脚是否可以从 gForth 访问?

我正在构建一个机器人并想使用 gForth 来开发软件。在查看手册并在网络上搜索后,我无法判断 GPIO 引脚是否可以从运行在 Raspberry PI 2 上的 gForth 中更改。在 Python 中有导入的 GPIO 库。但是,我在 gForth 中没有看到这方面的规定。

有没有人从 gForth 成功地做到这一点?非常感谢您的帮助。

0 投票
3 回答
354 浏览

arrays - Forth 中的多字节存储和获取 - 如何实现?

当使用大型数组时,能够将数组调整为每个数字的特定字节数会很好。大多数情况下,我希望快速例程将这些调整后的多字节数读取为堆栈上的单曲,反之,将单曲存储在针对特定字节数调整的数组中。在 64 位系统中,除了 1 个字节 (c@c!) 和 8 个字节 (@!) 之外,还需要其他单个数字数组。

那么如何实现

其中 b 是字节数。cs这个词!似乎工作

但是 cs@ 以及如何在没有 sp@ 或类似词的纯 ANS Forth 中做到这一点呢?

0 投票
2 回答
404 浏览

forth - ANS Forth 中的“打勾”发生了什么?

正如我记得 FIG-Forth 中的 'tick' ,当单词不在单词列表中时,它可以在不流产的情况下使用:

如果它在单词列表中,则给出对该单词的引用,否则给出“假”。

是否可以在 ANS Forth 中构造类似的东西以与 [if]、[then] 和 [else] 一起使用?