square :: Num a => a -> a现在,假设我希望在模算术中使用这个操作,即加法、乘法等对某个数字取模。这对于任何固定的模基都很容易实现,但我想要有一些通用的东西,我可以在不同的模基上重用。我定义了一个新类型并使其成为Num的实例;然而,为了使它正确地执行模运算,它依赖于模基n,由于此函数的通用设计,它可能会因调用而改变。一种解决方案可能是将“闭包变量”直接集成到数据类型本身中(例如,ModN (x, n)
我试图在有限域(p=2^191-19)上实现多精度无符号减法(p=2^191-19),但我不知道如何处理借入位!我的操作数用基-2^16表示为:这意味着T型数组的每个元素都有精确的16位数据(基-2^16表示)。如果结果为负数,我希望将结果加到素数中,以便在模算法中得到正的结果。以下是基于图书页-30(多精度减法算法)的实现: int i;
in