小编Ste*_*ehl的帖子

计算有限域中的乘法逆

我写了一个扩展的欧几里德算法函数

xgcd :: FFElem -> FFElem -> (FFElem, FFElem)
Run Code Online (Sandbox Code Playgroud)

的是,对于非零有限域的元素A,BGF(p ),计算小号,使得SA + TB = 1 是否有一种方法可以使用xgcd在该领域来计算乘法逆?即,给定一个 ∈GF(p ),我要计算b,使得AB = 1∈GF(p ).


我也实现了这些功能

(+)       :: FFElem -> FFElem -> FFElem
(-)       :: FFElem -> FFElem -> FFElem
(*)       :: FFElem -> FFElem -> FFElem
(^)       :: FFElem -> Integer -> FFElem
ffQuotRem :: FFElem -> …
Run Code Online (Sandbox Code Playgroud)

math haskell cryptography abstract-algebra

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

我可以使用LLVM jit生成AVX矢量化代码吗?

我知道我可以在EngineBuilder中设置mcpu和mattr来生成矢量化代码.但我发现clang前端必须涉及使用-mavx的AVX.否则生成的程序集仅使用xmm寄存器.

有没有办法让LLVM知道8个浮点数可以放在AVX寄存器中而不涉及前端?


我的测试代码只是向量添加:

float a[N], b[N];
float c[N];
// initialize a and b
for (int i = 0; i < N; ++i)
    c[i] = a[i] + b[i];
Run Code Online (Sandbox Code Playgroud)

x86 jit llvm avx

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

如何执行llvm代码

我有计算 int“factorial.c”阶乘的 ac 代码。我将它编译为 llvm 可读代码“factorial.ll”,并在编译后的 llvm 代码中进行修改。目标是执行修改后的 llvm 代码并查看其输出,我该怎么做?

llvm llvm-ir

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

"真正的多态性"的例子?(最好使用Haskell)

我已经看到了很多关于"真正的多态性"的部分定义,例如这里这里,但是我无处可以通过两个具体的例子找到一个明显的差异示例.

我知道重载+运算符是某种形式的多态,并且它在Haskell和C++中的实现方式不同.有人可以准确地说明两种语言中的例子有什么不同吗?

c++ polymorphism haskell parametric-polymorphism

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

在Android应用程序中创建.CSV文件

如何在Android应用程序中创建.csv文件,我们将存储一些数据,如一些员工的详细信息?

csv android

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

在Objective C中包含模板化C++

我正在尝试将包含相当多模板的C++库包含到目标C应用程序中.

它似乎永久地阻塞了共享库中的一些内联语句:

template <class T>
inline T MIN(T a, T b) { return a > b ? b : a; }

template <class T>
inline T MAX(T a, T b) { return a > b ? a : b; }
Run Code Online (Sandbox Code Playgroud)

产出输出:

expected unqualified-id before '{' token
expected `)' before '{' token
Run Code Online (Sandbox Code Playgroud)

我正在编译选项.

g++ -x objective-c++ -Wall -O3 -I. -c demod_gui.m -o demod_gui
Run Code Online (Sandbox Code Playgroud)

所有其他模板似乎编译得很好,任何想法在这里可能是错的?在此先感谢您的帮助.

c++ templates objective-c

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

文字"0"中没有(Num int)的实例

我有一个简单的函数,并获得如下所示的编译错误:

fac::[int] -> int
fac [] = 0
fac (x:[]) = x
fac ([xs]) =  sum [xs]
Run Code Online (Sandbox Code Playgroud)

编译错误:

  No instance for (Num int) arising from the literal `0'
    Possible fix:
      add (Num int) to the context of
        the type signature for fac :: [int] -> int
    In the expression: 0
    In an equation for `fac': fac [] = 0
Run Code Online (Sandbox Code Playgroud)

这些代码有什么问题?

haskell

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

解析输入'let'Haskell时的错误

我想存储我从file中读取的列表中的字符串中的每个字符.所以我正在通过名为"st"和i ="0"的字符串列表进行递归,以便一次得到一个字符串,我从中调用此函数我的主要但我得到解析错误让我无法得到它.你能搞清楚吗?

get' st i=do

if i<(length st)

then print(st!!i)

let j=0

let j=i

let i=j+1

get' st i

else

print ("hi")
Run Code Online (Sandbox Code Playgroud)

haskell

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