小编Kev*_*and的帖子

为什么没有用于加法和减法的BLAS例程

在BLAS中有类似的例程

dscal    scale a vector by a constant  
dinit    initialize a vector with given value
daxpy    perform y = a*x + y
Run Code Online (Sandbox Code Playgroud)

等等.但是显然没有用于向量加法或向量减法的例程.如果这是真的,那是什么原因呢?

特别是因为有例程执行更多的琐碎操作,如dinitdscal.当然人们可以使用daxpy带有a=1a=-1从给定的向量执行加法/减法,但在我看来,是过于复杂.

scientific-computing blas

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

有没有比使用嵌套 for 循环“更快”的方法来迭代二维数组?

我编写了一个程序,用于加密和解密使用四方密码读取的文件。目前,我将文件存储到字符数组中,将其传递到将其分解为二元组的函数中,并使用另一个函数中的嵌套 for 循环以这种方式对其进行加密。此时,我基本上正在尝试优化运行时间。是否有另一种方法可以迭代我正在使用的二维数组,该方法不使用两个 for 循环,或者最多只使用一个 for 循环?下面是相关代码:

文件处理程序.java

   import java.io.*;
    import java.util.*;

    public class FileHandler {
    private List<String> characters = new ArrayList<String>();
    public char fileToChar[];

    public void preEncryptionFile(String fileText) throws IOException {
        String line;

        FileInputStream fileReader = new FileInputStream(fileText);
        DataInputStream dataInputStream = new DataInputStream(fileReader);
        BufferedReader bufferedReader = 
               new BufferedReader(new InputStreamReader(dataInputStream));

        while ((line = bufferedReader.readLine()) != null) {
            characters.add(line);
        }

        String charsToString = characters.toString();

        charsToString = charsToString.replaceAll("[^a-zA-Z]", "").toUpperCase();

        fileToChar = charsToString.toCharArray();

        bufferedReader.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

FourSquareCipher.java

    import java.util.*;

    public class FourSquareCipher { …
Run Code Online (Sandbox Code Playgroud)

java arrays for-loop

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

C# - 数组内类的多态性

我正在尝试为 Object 数组内的类实例使用多态性:

ClassA a = new ClassA();
ClassB b = new ClassB();

Object[] classes = new Object[] { a, b };
Run Code Online (Sandbox Code Playgroud)

其中一个类的一个例子是:

public class ClassA 
{
    public string PrintOutput()
    {
        return "254,62,455,5,15,62,656";
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西:C# class polymorphism

此人遇到的问题是他们创建了一个类型为 A(其中一个类)的数组。将数组类型更改为 Object 会导致错误:可以找到不包含方法定义的对象/无法找到接受对象类型的第一个参数的可访问扩展方法。

编辑:目前,我只是想打印每个类中方法的输出:

foreach (Object obj in classes)
{
    Console.WriteLine(obj.PrintOutput());
}
Run Code Online (Sandbox Code Playgroud)

obj.PrintOutput() 是我收到上述错误的地方。

c# polymorphism

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

标签 统计

arrays ×1

blas ×1

c# ×1

for-loop ×1

java ×1

polymorphism ×1

scientific-computing ×1