相关疑难解决方法(0)

abs()vs fabs()速度差异和fabs的优势()

我在abs()和fabs()函数上运行了一些简单的测试,我不明白使用fabs()的优点是什么,如果是:

1)慢一点

2)仅适用于花车

3)如果在不同类型上使用,将抛出异常

In [1]: %timeit abs(5)
10000000 loops, best of 3: 86.5 ns per loop

In [3]: %timeit fabs(5)
10000000 loops, best of 3: 115 ns per loop

In [4]: %timeit abs(-5)
10000000 loops, best of 3: 88.3 ns per loop

In [5]: %timeit fabs(-5)
10000000 loops, best of 3: 114 ns per loop

In [6]: %timeit abs(5.0)
10000000 loops, best of 3: 92.5 ns per loop

In [7]: %timeit fabs(5.0)
10000000 loops, best of 3: 93.2 ns …
Run Code Online (Sandbox Code Playgroud)

python function absolute-value

20
推荐指数
1
解决办法
7535
查看次数

std :: abs(0u)是不是形成了?

鉴于以下计划:

#include <cmath>

int main()
{
    std::abs(0u) ;
}
Run Code Online (Sandbox Code Playgroud)

gcc并且clang不同意这是否是不正确的.使用gcclibstdc++代码建立无错误或警告(见直播),同时采用clanglibc++它生成以下错误(见直播):

error: call to 'abs' is ambiguous
std::abs(0u) ;
^~~~~~~~
Run Code Online (Sandbox Code Playgroud)

哪个结果是正确的?应该abs(0u)是暧昧与否?


MSalters指出了一个有趣的相关问题:std :: abs的模板版本.

c++ cmath language-lawyer c++11

16
推荐指数
1
解决办法
1971
查看次数

当应用于浮点值时,std::abs 和 std::fabs 之间有什么区别吗?

有一个相关的问题,但我相信它没有回答这个问题。

查看std::absstd::fabs文档,他们似乎具有完全相同的行为。作为个人注释,在我看来这std::fabs是可取的,因为它减轻了(见注释)中std::abs(int)定义的歧义。<cstdlib>

所以我的问题是:除了std::abs(int)潜在的歧义之外std::absstd::fabs在应用于浮点值之间以及在应用于浮点值时是否有任何区别?

c++ floating-point absolute-value

3
推荐指数
1
解决办法
5560
查看次数

为 std::sort 获取“非标准语法;使用 '&amp;' 创建指向成员的指针”

我试图在这里实现线性回归的代码,但由于返回几个错误而无法编译std::sort

#include "LinearRegression.h"
#include <iostream>
#include <algorithm>
#include <vector>

bool LinearRegression::custom_sort(double a, double b) /*sorts based on absolute min value or error*/
{
    double a1 = abs(a-0);
    double b1 = abs(b-0);
    return a1<b1;
}

void LinearRegression::predict()
{
    /*Intialization Phase*/
    double x[] = { 1, 2, 4, 3, 5 }; //defining x values
    double y[] = { 1, 3, 3, 2, 5 }; //defining y values
    double err;
    double b0 = 0; //initializing b0
    double b1 = 0; //initializing …
Run Code Online (Sandbox Code Playgroud)

c++ vector

-1
推荐指数
1
解决办法
513
查看次数