小编hid*_*kgb的帖子

从txtfiles中删除空行,从行的开头和结尾删除空格

哪一个会更好:

sed -e '/^$/d' *.txt
sed 'g/^$/d' -i *.txt
Run Code Online (Sandbox Code Playgroud)

另外,如何从文本文件中每行的开头和结尾删除空格?

bash replace spaces sed text-files

21
推荐指数
2
解决办法
2万
查看次数

用 10 条或更少的指令实现 tanh(x) 的最佳非三角浮点近似

描述

\n

对于没有内置浮点三角学的机器,我需要一个相当准确的快速双曲正切,因此例如通常的tanh(x) = (exp(2x) - 1) / (exp(2x) + 1)公式将需要近似值exp(2x)
\n所有其他指令,如加法、减法、乘法、除法,甚至 FMA(= 1 次操作中的 MUL+ADD)都存在。

\n

现在我有几个近似值,但没有一个在准确性方面令人满意。

\n

[评论更新:]

\n
    \n
  • trunc()/的说明floor()可用
  • \n
  • 有一种方法可以透明地将浮点数重新解释为整数并执行各种位操作
  • \n
  • 有一系列称为 SEL.xx(.GT、.LE 等)的指令,它们比较 2 个值并选择要写入目标的内容
  • \n
  • DIV 慢两倍,所以没有什么异常,DIV 可以使用
  • \n
\n

方法一

\n

\n

精度:\xc2\xb11.2% 绝对误差,请参见此处

\n

伪代码(A = 累加器寄存器,T = 临时寄存器):

\n
[1] FMA T, 36.f / 73.f, A, A   // T := 36/73 + X^2\n[2] MUL A, A, T                // A := X(36/73 …
Run Code Online (Sandbox Code Playgroud)

algorithm math floating-point ieee-754 approximation

16
推荐指数
2
解决办法
786
查看次数

CFRunLoopObserver与嵌套CFRunLoops

我有一个Cocoa UI应用程序,需要像其他UI事件循环许可一样快地更新其主窗口,所以我通过CFRunLoopObserver实现了主更新程序功能.我还有一个应用程序模式警报框和一个上下文菜单.

所以,我的问题是,当我在屏幕上同时显示警报和上下文菜单时,更新程序会卡住,可能是由于嵌套的运行循环数量超过了它在开始时附加到它上面的数量.令人惊讶的是,我可以通过复制观察者来缓解这个问题,并且它一直在运行 - 只有一个实例,从«blocking»嵌套循环开始时从现有的两个实例中随机选择.当它结束时(选择一个菜单项,一个警报超过其超时或手动解除 - 无论如何),事情恢复正常,被阻止的观察者重新获得运行能力.

现在的问题是:有没有办法让一个观察者得到执行,无论运行循环堆栈有多深?

macos cocoa core-foundation

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

强制GtkLabel剪切其居中对齐的文本

我有一个GtkLabel文本是保持居中,无论它是否比标签更短或更长.

例如,具有SS_CENTER样式标志集的Win32静态控件的行为类似于:

             ?===========================?
             ?     Lorem ipsum dolor     ?
             ?===========================?
Run Code Online (Sandbox Code Playgroud)

- 当文本短于对照时;

             ?===========================?
  Lorem ipsum?dolor sit amet, consectetur?adipiscing
             ?===========================?
Run Code Online (Sandbox Code Playgroud)

- 当文本比控件长时.

注意:用户看到的文本的唯一部分是在框架内.

我期望GtkLabel-s做同样的事情,但实际上它们以不同方式呈现居中文本:

             ?===========================?
             ?     Lorem ipsum dolor     ?
             ?===========================?
Run Code Online (Sandbox Code Playgroud)

- 当文本短于对照时;

             ?===========================?
             ?Lorem ipsum dolor sit amet,?consectetur adipiscing
             ?===========================?
Run Code Online (Sandbox Code Playgroud)

- 当文本比控件长时.

GtkLabel即使长时间内,如何使居中文本保持居中?

以防万一:用户看到的实际文本在~4 FPS时更新,在运行时之前是未知的.

gtk label text-alignment

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

双缓冲 waveOutWrite() 像地狱一样口吃

【谜底已解;对于那些寻求解释的人,它在这篇文章的底部]

下面是我尝试使用 WindowswaveOut*()函数编写的 Windows 音调生成器。

尽管按照 MSDN 实际上做了所有事情(例如应该手动重置的回调事件),但我无法从该死的东西中获得平滑的方波播放 - 实际上,任何平滑的播放,但为了简单起见,我演示了方块。缓冲区边框总是用点击来迎接我!看起来 Windows 只是忽略了我使用双缓冲的事实。

生成器本身与缓冲区大小无关,如果我使用更大的缓冲区,无缝播放会持续更长的时间——但是当缓冲区最终结束时,会发出咔哒声。

帮助。

#define _WIN32_IE 0x0500
#define _WIN32_WINNT 0x0501
#define WINVER _WIN32_WINNT

#include <windows.h>
#include <mmsystem.h>
#include <commctrl.h>

#include <stdint.h>
#include <stdio.h>
#include <math.h>



short freq, ampl;



typedef struct {
    long chnl, smpl, bits, size, swiz;
    void *sink, *data[2];
} WAVE;



LRESULT APIENTRY WndProc(HWND hWnd, UINT uMsg, WPARAM wPrm, LPARAM lPrm) {
    switch (uMsg) {
        case WM_DESTROY:
            PostQuitMessage(0);
            return 0;

        case WM_NOTIFY:
            switch (((NMHDR*)lPrm)->idFrom) { …
Run Code Online (Sandbox Code Playgroud)

c++ windows audio waveoutwrite waveout

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

从特里构建火焰图

我在定期生成的特里中有一些统计数据。我想根据两次尝试之间的差异生成火焰图。我怎么做?

t = pygtrie.StringTrie(separator=os.path.sep)

for dirpath, unused_dirnames, filenames in os.walk(ROOT_DIR):
    for filename in filenames:
        filename = os.path.join(dirpath, filename)
        try:
            filestat = os.stat(filename)
        except OSError:
            continue
        if stat.S_IFMT(filestat.st_mode) == stat.S_IFREG:
            t[filename] = filestat.st_size
Run Code Online (Sandbox Code Playgroud)

python algorithm trie flamegraph

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

使用 chartjs 以透明方式绘制两个图

在 Chartjs 中,我有两个图,如下所示

        var config = {
            type: 'line',
            data: {
                labels: [
                    "2017-07-03T01:05:00+0100",
                    ....

                ],


            datasets: [


                {
                    label: "Consumption",
                    fill: 'origin',
                    pointRadius: 0,
                    borderColor: "#0000ff",
                    backgroundColor: "rgba(255,10,13,255)",
                    data: [


                    0.015625,
                    0.0199861111111,
                    ...

                    ],
                }
                ,
                {
                    fill: 'origin',   
                    label: "PV",
                    pointRadius: 0,
                    borderColor: "#ebf909",
                    backgroundColor: "rgba(29,241,13,210)", 
                    data: [

                    0.0,

                    .....

                    ],
                }




                ]
            },
            options: {

                responsive: true,
                title:{
                    display:true,
                    text:"Chart.js Line Chart - Stacked Area"
                },
                tooltips: {
                    mode: 'index',
                },
                hover: {
                    mode: 'index' …
Run Code Online (Sandbox Code Playgroud)

chart.js

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

哪些指令会在 x86 CPU 上产生分支预测错误?

我这里有一个测试题。

哪些指令可能会减慢处理器的工作速度,然后流水线不会预测(分支预测)进一步的执行方式?

可能的答案: JGE | 添加 | 订阅 | 推 | JMP | JNZ | 多| JG | 称呼

如果我们谈论分支预测,JGE、JMP、JNZ 和 JG 是要走的路吗?

cpu x86 assembly pipeline branch-prediction

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

printf'ing浮动时的舍入问题

有人可以解释为什么C printf在第二种情况下会逐渐减少吗?

printf("%.03f", 79.2025); /* "79.203" */
printf("%.03f", 22.7565); /* "22.756" */
Run Code Online (Sandbox Code Playgroud)

c floating-point

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