小编cls*_*udt的帖子

调试时检查地图的内容

对于调试,我需要查看地图(std::unordered_mapstd::map)的内容,Eclipse CDT调试器没有以可读的形式提供给我,例如{1: 2, 3:4, ...}

调试时检查地图内容的最佳方法是什么?

我是否必须使用print-statements返回调试?如果是的话,简洁的宏或函数如何将任何地图的内容打印为字符串?

c++ debugging unordered-map map

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

用于声明具有别名的类层次结构的Cython语法

这是一个抽象基类和一个具体的子类,我想通过Cython向Python公开:

class NodeDistance {

protected:
    const Graph& G;

public:
    NodeDistance(const Graph& G);
    virtual ~NodeDistance();
    virtual void preprocess() = 0;
    virtual double distance(node u, node v) = 0;
};


class NeighborhoodDistance: public NetworKit::NodeDistance {

public:
    NeighborhoodDistance(const Graph& G);
    virtual ~NeighborhoodDistance();
    virtual void preprocess();
    virtual double distance(node u, node v);
};
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试声明Cython类的接口.为了避免在cppclasses和Python包装器类之间发生命名冲突,我将每个声明Class为as _Class,然后是其正确的名称"Namespace::Class".

cdef extern from "../cpp/distmeasures/NodeDistance.h":
    cdef cppclass _NodeDistance "NetworKit::NodeDistance":
        _NodeDistance(_Graph G) except +
        void preprocess() except +
        double distance(node, node) except +


cdef …
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

OpenMP:'共享'的预定'共享'?

看到这个函数(矩阵向量积):

std::vector<double> times(std::vector<std::vector<double> > const& A, std::vector<double> const& b, int m, int n) {

    std::vector<double> c;
    c.resize(n);

    int i, j;
    double sum;

    #pragma omp parallel for default(none) private(i, j, sum) shared(m, n, A, b, c)
    for (i = 0; i < m; ++i) {
        sum = 0.0;
        for (j = 0; j < n; j++) {
            sum += A[i][j] * b[j];
        }
        c[i] = sum;
    }

    return c;
}
Run Code Online (Sandbox Code Playgroud)

尝试使用OpenMP编译时,编译器失败:

Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 …
Run Code Online (Sandbox Code Playgroud)

c++ vector openmp

7
推荐指数
2
解决办法
3458
查看次数

用C++编译时删除`restrict`关键字的宏

我需要在C++项目中包含一些最初用C编写的头文件.在头文件中,使用restrict关键字,这导致C++的语法错误.

我正在寻找一个预处理器宏,它检查我是否正在使用C++编译器进行编译,并restrict在这种情况下删除关键字.

c++ macros c-preprocessor

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

如何更改networkx/matplotlib图形绘制的属性?

NetworkX包含使用matplotlib绘制图形的功能.这是一个使用伟大的IPython Notebook(以...开头)的示例:ipython3 notebook --pylab inline

在此输入图像描述

很好,一开始.但是,如何影响图纸的属性,如着色,线宽和标签?我之前没有使用过matplotlib.

python matplotlib networkx ipython-notebook

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

IPython笔记本有"初始化单元"吗?

当我打开一个保存的IPython Notebook时,我需要使用导入,函数定义等来评估所有单元格以继续处理会话.点击Cell > Run All这样做很方便.但如果我不想重新评估所有计算呢?我是否需要每次手动挑选细胞进行评估?

对于这个问题,Mathematica有"初始化单元"的概念.您可以将笔记本中的某些单元格标记为初始化单元格,然后在打开笔记本后执行"评估初始化单元格".

IPython笔记本电脑有类似的解决方案吗?

wolfram-mathematica ipython python-3.x ipython-notebook

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

如何在Cython中返回新的C++对象?

我怀疑有一个简单的答案,但我需要一些帮助开始使用Cython.我有一个现有的C++代码库,我想通过Cython向Python公开.对于我想要公开的每个类,我创建了一个Cython cppclass _ClassName和Python包装类ClassName.

最简单的例子:

Object.h
CythonMinimal.pyx
setup.py
Run Code Online (Sandbox Code Playgroud)

内容Object.h:

class Object {

public:

    Object clone() {
        Object o;
        return o; 
    }

};
Run Code Online (Sandbox Code Playgroud)

内容CythonMinimal.pyx:

cdef extern from "Object.h":
    cdef cppclass _Object "Object":
        _Object() except +
        _Object clone()


cdef class Object:

    cdef _Object *thisptr

    def __cinit__(self):
        self.thisptr = new _Object()

    def __dealloc__(self):
        del self.thisptr

    def clone(self):
        return self.thisptr.clone()
Run Code Online (Sandbox Code Playgroud)

内容 setup.py

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext …
Run Code Online (Sandbox Code Playgroud)

c++ python cython

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

Cython支持C++ 11容器吗?

Cython为我们提供了一种导入C++标准库数据结构的简便方法,例如:

  from libcpp.vector cimport vector
    from libcpp.utility cimport pair
Run Code Online (Sandbox Code Playgroud)

但对于新的集装箱,C++ 11介绍:std::unordered_map,std::unordered_set等他们是否以同样的方式支持?我找不到合适的import语句.

c++ python cython c++-standard-library c++11

7
推荐指数
2
解决办法
3674
查看次数

IPython Notebook:如何组合HTML输出和matplotlib数字?

以下代码在IPython命令的结果单元格中输出呈现的HTML:

from IPython.core.display import HTML

def putHTML():
    source = """
    <h1>Yah, rendered HTML</h1>
    <h2>Here is an image</h2>
    <img src="http://lbkbd.in/wp-content/uploads/2014/10/HTML-Logo.png"/>
    """
    return HTML(source)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何使用此方法在HTML布局中包含matplotlib生成的图形?

html python matplotlib ipython ipython-notebook

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

为seaborn.boxplot中的特定框指定颜色

我大致如下调用seaborn.boxplot:

   seaborn.boxplot(ax=ax1,
                    x="centrality", y="score", hue="model", data=data], 
                    palette=seaborn.color_palette("husl", len(models) +1),
                    showfliers=False, 
                    hue_order=order,
                    linewidth=1.5)
Run Code Online (Sandbox Code Playgroud)

是否可以通过赋予特定颜色使一个盒子脱颖而出,同时用给定的调色板着色所有其他盒子?

在此输入图像描述

plot matplotlib seaborn

7
推荐指数
2
解决办法
5328
查看次数