小编aca*_*ola的帖子

用于java或scala中的整数分解的库

关于如何实现分解有很多问题,但是对于生产用途,我宁愿使用开源库来获得高效的东西并立即进行测试.我正在寻找的方法如下:

static int[] getPrimeFactors(int n)
Run Code Online (Sandbox Code Playgroud)

对于n = 12,它将返回{2,2,3}

库也可能具有处理long或甚至BigInteger类型的重载

问题不是关于特定的应用程序,而是关于有一个处理这个问题的库.许多人认为根据数字的范围需要不同的实现,在这方面,我希望库在运行时选择最合理的方法.

通过高效我并不意味着"世界上最快"(我不会在JVM上工作......),我只是意味着在一秒而不是一小时内处理int和long range.

java math scala factorization

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

如何使用AES-NI指令和GCC实现AES128加密/解密

我想通过使用AES-NI加速我的应用程序,我正在努力找到任何适用于GCC或随附的汇编程序的示例.我对使用SSL或任何其他库不感兴趣.

gcc aes-ni

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

"r0","r1"等在Scala中有特殊意义吗?

如果我将一些案例对象命名为"r0","r1"等,我会收到编译错误.如果我使用不同的名称,代码将按预期编译并运行.这是理性的,非常受欢迎!

代码:

package qndTests2

sealed abstract case class Reg()
trait RReg
trait RRegNotPc extends RReg
trait LowReg extends RReg
sealed abstract case class LowRegClass() extends Reg with LowReg
sealed abstract case class RRegNotPcClass() extends Reg with RRegNotPc
case object R0 extends LowRegClass
case object R1 extends LowRegClass
case object R2 extends RRegNotPcClass
case object R3 extends Reg with RReg

sealed abstract case class Base()
trait T1
trait T2 extends T1
trait T3 extends T1
sealed abstract case class CaseClassT3() extends …
Run Code Online (Sandbox Code Playgroud)

scala reserved-words

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

如何以编程方式检查scala解释器内发生的错误

我正在使用scala.tools.nsc.Interpreter执行scala代码片段当代码片段正确时,一切都很好,但是当它有错误时,我的代码无法找到并愉快地继续.我想获得一个异常或方法来调用以获取解释器在上次评估期间发生的任何错误.

我的代码:

import scala.tools.nsc.Interpreter
import scala.tools.nsc.Settings
object RuntimeEval {
  def main(args: Array[String]): Unit = {
    var msg = "fail"
    val eval = new RuntimeEval
    msg = eval.eval(msg,"\"success\"")
    println(msg)
    var anInt = 0
    while(true){
    println("Enter an integer")
      val userInput = Console.readLine
      anInt = eval.eval(anInt,userInput)
      println("-->"+anInt)
      println
    }
  }
}
class ResContainer(var value: Any)
class RuntimeEval {
  val settings = new Settings
  settings.classpath.value = System.getProperty("java.class.path")
  val interp = new Interpreter(settings)

  def eval[A <: Any](obj: A, expression: String): A={
    val res = new …
Run Code Online (Sandbox Code Playgroud)

interpreter scala

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

为什么trait方法需要asInstanceOf和class方法不需要

我已经定义了以下特征:

trait Felem[T <: Felem[T]] {                                               
  def mul(that: T): T
  def square: T = this.mul(this.asInstanceOf[T])                            
}
Run Code Online (Sandbox Code Playgroud)

我还根据这个特性定义了一个类:

class F2elem(val coef: Boolean) extends Felem[F2elem] {
  override def square: F2elem = this.mul(this)
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题是关于特征中"square"方法定义中"asInstanceOf"的需要.如果我删除它,我会收到以下错误:

error: type mismatch;
found   : Felem.this.type (with underlying type Felem[T])
required: T
def square: T = this.mul(this)
Run Code Online (Sandbox Code Playgroud)
  1. 为什么需要特质?
  2. 为什么课堂上不需要它?
  3. 在执行时间或内存方面是否需要花费任何成本?

generics scala traits

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

如何在python脚本中导入lldb

根据LLDB主页,LLDB可以在python脚本中导入,如下所示:

import lldb
Run Code Online (Sandbox Code Playgroud)

从发布包安装LLDB后(在Lubuntu 15.04上:sudo apt-get install lldb),我收到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/lldb/__init__.py", line 52, in <module>
_lldb = swig_import_helper()
File "/usr/lib/python2.7/dist-packages/lldb/__init__.py", line 44, in swig_import_helper
ImportError: No module named _lldb
Run Code Online (Sandbox Code Playgroud)

这是预料之中的!LLDB页面说:

LLDB具有Python脚本功能,并提供自己的名为lldb的Python模块.如果脚本在命令行lldb应用程序内运行,则Python模块将自动可用.但是,如果脚本要由命令行应用程序外部的Python解释器运行,则可以使用PYTHONPATH环境变量让Python解释器找到lldb模块.

通过使用-P标志调用命令行lldb工具可以获得正确的路径:

> export PYTHONPATH=`$llvm/build/Debug+Asserts/bin/lldb -P`
Run Code Online (Sandbox Code Playgroud)

如果您使用了不同的构建目录或进行了发布构建,则可能需要调整上述内容以满足您的需求.

所以那些有信心建立LLDB的人自己得到一个明确的指示,而那些只想使用已发布的软件包的新手会留下一个模糊的解释......

对于从发布包中安装所有内容的最基本情况,是否有人想出了"根据您的需求调整上述内容"的确切含义?lldb -P报告的路径无法解决问题:

user@user-VirtualBox:~$ lldb -P
/usr/lib/x86_64-linux-gnu/python2.7/site-packages
user@user-VirtualBox:~$ ls /usr/lib/x86_64-linux-gnu/python2.7/site-packages
ls: cannot access /usr/lib/x86_64-linux-gnu/python2.7/site-packages: No such file or directory
Run Code Online (Sandbox Code Playgroud)

python linux python-2.7 lldb

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