1 f#
我只是编程的初学者,我希望将一些代码从C#转换为F#,
我已经使用了这段代码:
float[] v1=new float[10]
Run Code Online (Sandbox Code Playgroud)
我需要使用这个指针传递给函数:
ComputeBuffer<float> bufV1 =
new ComputeBuffer<float>(Context, ComputeMemoryFlags.ReadWrite |
ComputeMemoryFlags.UseHostPointer, v1);
Run Code Online (Sandbox Code Playgroud)
如果我在F#中创建一个数组,如下所示:
let v1 = [| 1.0..10.0 |]
Run Code Online (Sandbox Code Playgroud)
现在调用这样的动作:
let bufV1 = new ComputeBuffer<float>(Context,
ComputeMemoryFlags.ReadWrite |||
ComputeMemoryFlags.UseHostPointer, v1)
Run Code Online (Sandbox Code Playgroud)
这是一个错误?我如何传递指针?
(在.NET中,我们称这些东西为对象引用 ; v1
是对数组对象的引用.指针是不同的东西.)
注意F#所指的float
是C#所谓的内容double
.你可能需要
let v1 = [| 1.0f .. 10.0f |]
Run Code Online (Sandbox Code Playgroud)
其中f
后缀使值为F#float32
s(例如C#float
s).