新足迹

 找回密码
 注册

精华好帖回顾

· 圣诞斐济7天6夜体验游 (2011-2-5) duck · 税务知识分享——学习了下今年7月1日开始实行的education expenses rebate (2008-7-9) xingbu
· BT大法见习操作及问题[随时更新] (2008-5-10) brad · 我用上次说的那个烫发棒烫出来的效果,很不错!! (2005-8-26) liz
Advertisement
Advertisement
查看: 1551|回复: 7

[IT] chatgpt 3.5 rust language 生成unit test 出错 [复制链接]

发表于 2023-4-6 10:13 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这是问题
write rust language unit test pub fn calculation_ema(array: &Vec<f64>, average: usize) -> Vec<f64> {
    let multiplier = 2.0 / (average as f64 + 1.0);

    let mut exponential_moving_average = array[0];
    let mut result = vec![];
    result.push(exponential_moving_average);

    for i in 1..array.len() {
        exponential_moving_average =
            array[i] * multiplier + exponential_moving_average * (1.0 - multiplier);

        result.push(exponential_moving_average);
    }

    result
}
++++++++++++++++++++++++++++++
这是回答
Sure! Here's a unit test for the calculation_ema function in Rust:

rust
Copy code
#[test]
fn test_calculation_ema() {
    let array = vec![10.0, 12.0, 15.0, 20.0, 18.0];
    let average = 3;
    let expected_result = vec![10.0, 11.0, 12.333333333333334, 15.11111111111111, 16.74074074074074];

    let result = calculation_ema(&array, average);

    assert_eq!(result, expected_result);
}
This test creates an input array [10.0, 12.0, 15.0, 20.0, 18.0] and an average of 3, and expects the output of the calculation_ema function to be [10.0, 11.0, 12.333333333333334, 15.11111111111111, 16.74074074074074]. The test checks that the actual output matches the expected output using the assert_eq macro.




Advertisement
Advertisement

发表于 2023-4-6 10:14 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这是我的修正

#[cfg(test)]
mod tests {
    // Note this useful idiom: importing names from outer (for mod tests) scope.
    use super::*;

    #[test]
    fn test_calculation_ema() {
        let array = vec![10.0, 12.0, 15.0, 20.0, 18.0];
        let average = 3;
        let expected_result = vec![10.0, 11.0, 13.0, 16.5, 17.25];

        let result = calculation_ema(&array, average);

        assert_eq!(result, expected_result);
    }
}

发表于 2023-4-6 10:55 来自手机 |显示全部楼层
此文章由 aqianer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 aqianer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
别太指望gpt
我让它出个linux的libgpiod例子,它出了一个,大概看没问题,但是用的api已经改名了,gpiod_chip_get_line。我接着问,说这个api太老,换最新的,它说对,是更新了,又生成一个,结果换成gpiod_chip_find_line,关键是库里面根本没有这个。还是那句话,一本正经的胡说八道

发表于 2023-4-6 11:17 |显示全部楼层
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
aqianer 发表于 2023-4-6 09:55
别太指望gpt
我让它出个linux的libgpiod例子,它出了一个,大概看没问题,但是用的api已经改名了,gpiod_ch ...

我不能理解为何不能时刻训练到现在的数据,既然要和google竞争市场,google的数据应该是实时的啦,我猜啦

发表于 2023-4-6 11:36 |显示全部楼层
此文章由 xxxxyyyy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xxxxyyyy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
刚刚发现电生磁,磁生电的时候,大家也觉得估计也就能用这个原理做个玩具。
会有人想象到它会成为现代社会的基石?

chatgpt已经有强人工智能的苗头,发展下去肯定很有前途。

发表于 2023-4-7 11:24 |显示全部楼层
此文章由 yrqin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yrqin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
DDD888 发表于 2023-4-6 10:17
我不能理解为何不能时刻训练到现在的数据,既然要和google竞争市场,google的数据应该是实时的啦,我猜啦 ...


快要出来了,现在公测(需要排队等)阶段:
https://mobilesyrup.com/2023/03/ ... ormation-post-2021/

不过不是训练,而是可以实时拿到最新的数据
Advertisement
Advertisement

发表于 2023-4-7 11:25 |显示全部楼层
此文章由 yrqin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yrqin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
xxxxyyyy 发表于 2023-4-6 10:36
刚刚发现电生磁,磁生电的时候,大家也觉得估计也就能用这个原理做个玩具。
会有人想象到它会成为现代社会 ...


是的,才只是个开端
后面的发展趋势、潜在的提升空间才是重中之重。。。

发表于 2023-4-7 11:38 |显示全部楼层
此文章由 nineyes 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 nineyes 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我试过之前用chatgpt写python,结果也是差不多,因为chatgpt会犯错,有时2021的数据会过时,
但是你可以把报的错还给他,他能修改之前的代码,往返3-4次后还是会有能用的结果

但是只有稍有复杂度的值得给他做
太简单的没必要,太难的他真的做不出(前后逻辑会出错),太过专业向的也做不出,比如hlsl语言他不是不能写,但是写出来的都靠编

或者像我这样的不会python但是想搞个python简单后端扔给他,耐心点还是会有结果,还会手把手教你部署,并且绝对比你自己学一遍快很多
人家是来卖萌的,不要认真

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部