小编pyt*_*hor的帖子

从命令行到环境的Makefile变量

有没有办法检测是否已从环境设置变量而不是命令行?

我希望有人援引以作区分make LIB=mylibmake与被定义$ LIB.

makefile

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

条件类型定义

我确信boost有一些功能可以做到这一点,但我不太了解相关的库.我有一个模板类,这是非常基本的,除了我需要定义条件类型的一个扭曲.这是我想要的伪代码

struct PlaceHolder {};
    template <typename T>
class C{
    typedef (T == PlaceHolder ? void : T) usefulType;
};
Run Code Online (Sandbox Code Playgroud)

如何编写有条件的那种类型?

c++ templates types

5
推荐指数
2
解决办法
1591
查看次数

确定定义类型的位置

我正在开发一个相当大的代码库,它有一点#ifdef魔法.我正在查看一个文件并尝试确定类型的定义位置.不幸的是,它包含了许多文件,其中包括许多文件,其中包括许多文件等.其中一些定义影响其定义你可以使用宏.结构非常复杂,经过10分钟的grepping和跟随包含链后,我仍然不知道使用了哪个定义.我记得visual studio有一个很好的功能,我可以右键单击该类型,它将显示类型的定义位置.有没有一个相当不错的linux工具读取make文件等?我确定有,但我仍然只是使用vim + grep来开发我的开发环境.

c++ linux ide definition

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

Cpp预处理器和文件名的基名,行号为字符串

我想"example.cpp:34"用预处理器生成表单的静态字符串,但__FILE__宏将扩展为"lib/example/example.cpp"__LINE__扩展34为整数.我可以使用预处理器构造所需的字符串吗?海湾合作委员会的扩展是可以的.

编辑这里最重要的部分是我想要一个静态C风格的字符串,所以我不能使用该basename函数.我想知道预处理器中是否有某种方法来复制该功能,可能还有一个boost扩展?

c++ gcc c-preprocessor

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

在python中检测文件是否在网络驱动器上

如何确定文件是否在网络驱动器上?我想包括路径看起来像是在本地磁盘上的情况,但路径中的目录之一实际上是到网络驱动器的符号链接。

python linux getdrivetype

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

使用lm并预测矩阵中的数据

R只使用了一点点而从不使用数据帧,这使得理解正确使用预测变得困难.我有我的纯矩阵数据,没有数据帧,叫他们ab,这是N x pM x p分别为矩阵.我可以运行回归lm(a[,1] ~ a[,-1]).我想用生成的lm对象预测b[,1]b[,-1].我天真的猜测predict(lm(a[,1] ~ a[,-1]), b[,-1])不起作用.使用它lm来获得预测向量的正确语法是什么?

r predict dataframe lm

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

熊猫:具有可变权重的指数衰减和

类似于Python Pandas DataFrame上的这个问题指数衰减,我想快速计算数据帧中某些列的指数衰减和.但是,数据帧中的行在时间上不是均匀间隔的.因此,虽然exponential_sum[i] = column_to_sum[i] + np.exp(-const*(time[i]-time[i-1])) * exponential_sum[i-1],重量np.exp(...)没有分解,但我不明白如何改变这个问题并仍然利用pandas/numpy矢量化.这个问题有熊猫矢量化解决方案吗?

为了说明所需的计算,这里是一个样本框架,其中使用衰减常数1 A存储的指数移动总和Sum:

    time  A       Sum
0   1.00  1  1.000000
1   2.10  3  3.332871
2   2.13 -1  2.234370
3   3.70  7  7.464850
4  10.00  2  2.013708
5  10.20  1  2.648684
Run Code Online (Sandbox Code Playgroud)

python exponential pandas

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

添加git hooks到google cloud repo

谷歌云带来的一件事是git repos.是否有可能为此回购添加钩子?我想推送,但我不知道如何访问.git/hooks.

git githooks google-cloud-platform

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

如何匹配文本并将其替换为基于Perl匹配的计算值?

我有一个函数,调用它f,它接受一个字符串并返回一个字符串.

我有一个文件,其行如下所示:

stuff:morestuff:stuff*:otherstuff:otherstuff*\n

冒号只显示为分隔符,*仅出现在每个单词的末尾.我想循环遍历文件并用f(stuff)替换所有东西*.上一行会去

stuff:morestuff:f(stuff):otherstuff:f(otherstuff)\n

我可以在几行中做到这一点,但必须有一种方法可以在一个方面做到这一点.

编辑 要清楚,通过f(stuff),我的意思是f调用"stuff",而不是字符串"f(stuff)".

regex perl

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

Boost :: spirit :: qi定义了计算器的nullaries

我正在尝试为数学表达式编写一个解析器,其中命名变量是boost::spirit(版本1_51_0)中的nullaries,我完全是新的.我定义typedef boost::function<double()> Value,我的规则将被声明如下:qi::rule<Iterator, Value()> expression, term, others, ...;

我用这个宏定义了nullaries上的二元运算符

#define BINARY_FUNCTOR(name, op)                        \
struct name                                             \
{                                                       \
  name(Value x, Value y): x_(x), y_(y) {}               \
  double operator()() { return x_() op y_(); }          \
  Value x_, y_;                                         \
}; 
Run Code Online (Sandbox Code Playgroud)

并且有ADD,SUB等从我所看到的例子,我期望的规则,这样的定义:

expression = term
             >> *( (lit('+') >> term[ADD(_val, _1)])
                 | (lit('-') >> term[SUB(_val, _1)])
                 );
Run Code Online (Sandbox Code Playgroud)

但这似乎不是正确的语法,因为我得到一个错误

boost/spirit/home/support/action_dispatch.hpp:162: error: no match for call to ‘(const<unnamed>::SUB) (boost::function<double ()()>&, boost::spirit::context<boost::fusion::cons<boost::function<double ()()>&, boost::fusion::nil>, boost::fusion::vector0<void> …
Run Code Online (Sandbox Code Playgroud)

c++ boost abstract-syntax-tree boost-spirit boost-spirit-qi

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