gpt4 book ai didi

android - Renderscript 返回 F64 分配类型,你如何在 java 中读取它?

转载 作者:行者123 更新时间:2023-11-29 16:06:52 25 4
gpt4 key购买 nike

我使用 F64 作为元素创建了一个分配,因为我需要 64 位精度进行计算:

Allocation mOutAllocation = Allocation.createSized(mRS,Element.F64(mRS),1,Allocation.USAGE_SCRIPT);

我试图在调用 mScript.forEach_root(mOutAllocation) 后取回结果。通常,您通常会将 mOutAllocation 复制到一个数组并处理该数组,但 double 不是可用的数组类型之一(只有 bytes[]、int[]、float[]、short[] 和 bitmap)。

mScript.forEach_root(mOutAllocation);
double[] x = new double[1];

mInAllocation.copyTo(x);

有什么想法吗?

最佳答案

你能把它读成 long 并将这些位转换为 double 吗?

假设您不需要字节交换,Double.longBitsToDouble(long bits) 应该进行转换。

它需要一个 long(64 位)并将该位模式解释为 IEEE double 。

编辑:尝试将 int[] 转换为 long

int[] ints = new int[]{0x01234567, 0x89abcdef};
long l = (long)ints[0] + ((long)ints[1])<<32;
double d = Double.longBitsToDouble(l);

关于android - Renderscript 返回 F64 分配类型,你如何在 java 中读取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17459211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com