草庐IT

asm-generic

全部标签

generics - Kotlin 中的逆变

我从来没有真正理解Java中的泛型,所以Kotlin似乎就是这种情况。考虑以下代码片段(这是一个人为的示例):classAnyComparator:Comparator{overridefuncompare(o1:Any,o2:Any):Int{TODO("notimplemented")}}funtest(){valx:Comparator=AnyComparator()//OK!valy:Comparator=AnyComparator()//Compilationerror}第二次分配失败并出现错误Typemismatch.Required:kotlin.ComparatorFo

generics - Kotlin 中的逆变

我从来没有真正理解Java中的泛型,所以Kotlin似乎就是这种情况。考虑以下代码片段(这是一个人为的示例):classAnyComparator:Comparator{overridefuncompare(o1:Any,o2:Any):Int{TODO("notimplemented")}}funtest(){valx:Comparator=AnyComparator()//OK!valy:Comparator=AnyComparator()//Compilationerror}第二次分配失败并出现错误Typemismatch.Required:kotlin.ComparatorFo

c++ - C/C++ 将 int 转换为 short 和内联 asm(特定于 ARM)

这不是一个微不足道的问题。注意:我不需要意见或建议来使用纯asm。我实际上需要完成我正在谈论的事情:在将结果分配给shortint时获得没有此符号/零扩展optcode的内联asm。我正在处理一个将16位短裤用于许多功能的库,我正在优化它。我需要使用内联asm添加一些优化函数。问题是在很多地方函数的结果被分配给一个短整型。即,编译器生成uxth或sxtharm操作码。我的目标是避免这个问题并确保不会生成这个无用的操作码。首先,我需要定义我的优化函数来返回shortint。这样,如果它被分配给一个int或一个shortint,就没有额外的操作码来转换结果。问题是我不知道如何跳过编译器在我

c++ - 在两个 ASM GCC 内联 block 之间传播进位

尊敬的程序集/C++开发人员,Thequestionis:Doespropagatethecarry(oranyflag)betweentwoASMblockisrealisticortotallyinsane,evenifitworks?几年前,我为低于512位(编译时)的大型算术开发了一个整数库。我此时没有使用GMP,因为对于这种规模,由于内存分配和二进制表示的模型选择,GMP变慢了bench.我必须承认我使用BOOST_PP创建了我的ASM(字符串block),它不是很出色(如果好奇请看一下vli)。图书馆运作良好。但是我注意到此时不可能在两个ASM内联block之间传播状态寄存

javascript - 当 asm.js 比普通 JS 代码更快时,我为什么要在 JS 中编写新代码?

Emscripten可以从C/C++生成比手工编写的JS代码更快的代码,那么这是否意味着我们应该用C/C++编写新代码并编译它们以在Web上运行?我读了Emscripten常见问题解答,它说“一定要编写新的JavaScript代码。”,这是为什么呢? 最佳答案 asm.js并不是执行Javascript类代码的更快方法。这是一种运行代码的更快方法,该代码已经被简化为机器代码的抽象级别。您似乎大大高估了yield:如果您让JS开发人员将C++当作JS来编写,您最终会得到错误代码,其速度远不如C++快,并且在其他方​​面也存在缺陷。许多

generics - 在 kotlin 的 lambda 中使用多种泛型类型

Koltin1.2.30我正在使用泛型和lambda函数。以下工作没有泛型类型funonScanExt():(Int,Int)->Int={num1,num2->num1+num2num1+num2}但是,对于泛型:funonScanExt():(T,T)->R={num1,num2->num1+num2num1+num2}我猜上面的方法是行不通的,因为泛型类型可能不是Number类型,并且有人可以传入String,如果涉及计算,lambda将不知道如何处理String类型。关于如何传入多个泛型并返回泛型类型的任何示例建议?非常感谢, 最佳答案

generics - 在 kotlin 的 lambda 中使用多种泛型类型

Koltin1.2.30我正在使用泛型和lambda函数。以下工作没有泛型类型funonScanExt():(Int,Int)->Int={num1,num2->num1+num2num1+num2}但是,对于泛型:funonScanExt():(T,T)->R={num1,num2->num1+num2num1+num2}我猜上面的方法是行不通的,因为泛型类型可能不是Number类型,并且有人可以传入String,如果涉及计算,lambda将不知道如何处理String类型。关于如何传入多个泛型并返回泛型类型的任何示例建议?非常感谢, 最佳答案

generics - kotlin 中的高阶(或递归?)泛型类型参数

我正在对一些高度声明性的代码进行原型(prototype)设计,而Kotlin附带的类型推断和安全性有很大帮助。目标之一是使主要类型的扩展(子类)非常容易实现。为了保持丰富的类型推断和表达能力,我发现在定义针对子类投影的通用扩展函数方面取得了一些成功。子类方法的所有类型信息,没有额外的子类实现,太好了。所以我正在尝试编写一个丰富的泛型函数来维护尽可能多的类型信息。问题在于这个函数对潜在的递归泛型类型进行操作,我想改组泛型类型参数。如果没有例子,这将无法描述。所以考虑:openclassGclassA:G()classB:G()classC:G()valba=B>()valcb=C>()

generics - kotlin 中的高阶(或递归?)泛型类型参数

我正在对一些高度声明性的代码进行原型(prototype)设计,而Kotlin附带的类型推断和安全性有很大帮助。目标之一是使主要类型的扩展(子类)非常容易实现。为了保持丰富的类型推断和表达能力,我发现在定义针对子类投影的通用扩展函数方面取得了一些成功。子类方法的所有类型信息,没有额外的子类实现,太好了。所以我正在尝试编写一个丰富的泛型函数来维护尽可能多的类型信息。问题在于这个函数对潜在的递归泛型类型进行操作,我想改组泛型类型参数。如果没有例子,这将无法描述。所以考虑:openclassGclassA:G()classB:G()classC:G()valba=B>()valcb=C>()

c++ - asm.js 规范中提到的 c/c++ 虚拟机是什么

在介绍部分的asm.js规范(在http://asmjs.org/spec/latest/)中说“asm.js语言提供了类似于C/C++虚拟机的抽象”..但我无法通过谷歌搜索找到有关“C/C++虚拟机”的任何信息。有人可以启发我或指出描述“c/c++虚拟机”的书籍/网站的方向 最佳答案 Cstandard谈论它做出假设的抽象机器。我想这就是asm.js的作者所说的。 关于c++-asm.js规范中提到的c/c++虚拟机是什么,我们在StackOverflow上找到一个类似的问题: