小编Joh*_*han的帖子

运行测试时 VS Code 中没有输出

我正在使用.NET Core Test Explorer扩展在 VS Code 中运行XUnit test-ptoject 。我试图在测试期间写入输出,但没有任何效果。我尝试过以不同的方式编写输出,但在任何地方都看不到任何输出。有没有人在运行测试时设法以某种方式在 VS Code 中看到输出?

这是一个小示例类:

using Xunit;
using Xunit.Abstractions;
using System.Diagnostics;

public class TestClass
{

    private ITestOutputHelper _output;


    public TestClass(ITestOutputHelper output)
    {
        _output = output;
    }

    [Fact]
    public void Test2()
    {
        _output.WriteLine("Hello");
        Debug.WriteLine("Hello");
        Console.WriteLine("Hello");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# .net-core visual-studio-code

11
推荐指数
1
解决办法
6803
查看次数

分组时从函数分配多个结果

我有这段代码完全可以实现我想要的功能,但是我不得不为每个组调用三次函数,这似乎效率很低。

library(data.table)

myRegr = function(x, y) {
    regr = lm.fit(cbind(1, x), y)
    coefs = regr$coef
    k = coefs[[2]]
    m = coefs[[1]]
    r2 = 1 - var(regr$residuals) / var(y)

    return (c(k = k, m = m, r2 = r2))
}

dt = data.table(a = c(0, 0, 0, 1, 1, 1), 
                x = c(12, 21, 15, 34, 32, 31), 
                y = c(3, 1, 6, 4, 2, 8))

result = dt[,list(minX = min(x),
                    minY = min(y),
                    k = myRegr(x, y)["k"],
                    m = myRegr(x, …
Run Code Online (Sandbox Code Playgroud)

r data.table

6
推荐指数
1
解决办法
65
查看次数

GLSL 优化:检查变量是否在范围内

在我的着色器中,我有变量 b,需要确定它位于哪个范围内,然后将正确的值分配给变量 a。我最终得到了很多 if 语句:

    float a = const1;

    if (b >= 2.0 && b < 4.0) {
        a = const2;
    } else if (b >= 4.0 && b < 6.0) {
        a = const3;
    } else if (b >= 6.0 && b < 8.0) {
        a = const4;
    } else if (b >= 8.0) {
        a = const5;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是这是否会导致性能问题(分支)以及如何优化它?我已经研究了 step 和 smoothstep 函数,但还没有找到实现此目的的好方法。

opengl-es glsl webgl

4
推荐指数
1
解决办法
5054
查看次数

R - 如何从 lm.fit 中提取斜率和截距?

我需要一种比 lm() 方法更快的线性回归方法。我发现 lm.fit() 速度要快一些,但我想知道如何使用结果。例如使用此代码:

x = 1:5
y = 5:1

regr = lm.fit(as.matrix(x), y)
str(regr)
Run Code Online (Sandbox Code Playgroud)

输出:

List of 8
 $ coefficients : Named num 0.636
  ..- attr(*, "names")= chr "x1"
 $ residuals    : num [1:5] 4.364 2.727 1.091 -0.545 -2.182
 $ effects      : Named num [1:5] -4.719 1.69 -0.465 -2.619 -4.774
  ..- attr(*, "names")= chr [1:5] "x1" "" "" "" ...
 $ rank         : int 1
 $ fitted.values: num [1:5] 0.636 1.273 1.909 2.545 3.182
 $ assign       : NULL …
Run Code Online (Sandbox Code Playgroud)

r linear-regression

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

算术溢出取决于按列分组

我收到此错误,但仅在按特定列分组时出现:

Arithmetic overflow error converting expression to data type int.
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么。这是导致它的查询(总和函数是罪魁祸首):

SELECT  a.AtgardAvvattningId, 
        a.ObjektId,
        sum(p.SlutLopLangd - p.StartLopLangd) As TotalLangd
    FROM AtgardAvvattning a 
        INNER JOIN Objekt o ON o.ObjektId = a.ObjektId 
        INNER JOIN Position p ON p.AvvattningAtgardId = a.AtgardAvvattningId 
        INNER JOIN Vna v ON v.PositionId = p.PositionId 
    WHERE v.OID IN (...) 
    GROUP BY a.AtgardAvvattningId, a.ObjektId, o.AtgardsDatum
    ORDER BY a.ObjektId
Run Code Online (Sandbox Code Playgroud)

p.SlutLopLangd 和 p.StartLopLangd 都是 int 列。如果我在求和之前将值转换为 bigint,它会起作用:

    sum(CONVERT(bigint, p.SlutLopLangd - p.StartLopLangd)) As TotalLangd
Run Code Online (Sandbox Code Playgroud)

给出这个结果:

AtgardAvvattningId 对象ID 总面积
直流9... 9B2... 25684
儿童早期发展... 9B2... …

sql sql-server arithmetic-overflow

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