有人可以这么好看,并检查我的C++到Java翻译?C++到Java的翻译
这是C++代码,我需要翻译(中rtcmix库http://rtcmix.org/的一部分)的第一部分:
static void trans(float a, float alpha, float b, int n, double *output){
int i;
float delta, interval = 0.0;
delta = b - a;
if (n <= 1) {
*output = a;
return;
}
interval = 1.0/(n - 1.0);
if (alpha != 0.0) {
float denom = 1.0/(1.0 - exp((double) alpha));
for (i = 0; i < n; i++)
*output++ = a + delta * (1.0 - exp((double) i * alpha * interval)) * denom;
}
else
for (i = 0; i < n; i++)
*output++ = a + delta * i * interval;
}
,这是我的Java编译:
static void trans(float a, float alpha, float b, int n, double output){
int i;
float delta, interval = 0;
delta = b - a;
if (n <= 1) {
output = a;
return;
}
interval = (float) (1.0/(n - 1.0));
if (alpha != 0.0) {
float denom = (float) (1.0/(1.0 - Math.exp((double) alpha)));
else
for (i = 0; i < n; i++)
output++;
output= a +delta * i * interval;
}
}
对自己运行你的代码不是很好吗?比如果你发现任何问题出现问题? –
在C变体中,'output'是一个数组,因此语句'* output ++ = ...'意味着数组中的当前位置被分配了表达式,然后前进到数组中的下一个位置。 –
@umesh没有,因为这只是第一部分和Im卡在第二个 – menemenemu