log2

ld: undefined reference to symbol 'log2@@GLIBC_2.2.5'

匿名 (未验证) 提交于 2019-12-03 08:35:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Whats wrong with for (level = 1; level <= log2((double)size); level++) ^ Seems like its from using log2() but whats wrong? I am using it with OpenMPI code actually, but commenting this line fixes things. Full Source ( http://pastie.org/7559178 ) see line 40 [jiewmeng@JM Assign3]$ mpicc -o cpi cpi.c && mpirun -np 16 cpi /usr/bin/ld: /tmp/cca9x4he.o: undefined reference to symbol 'log2@@GLIBC_2.2.5' /usr/bin/ld: note: 'log2@@GLIBC_2.2.5' is defined in DSO /usr/lib/libm.so.6 so try adding it to the linker command line /usr/lib/libm.so.6: could

VHDL: use the length of an integer generic to determine number of select lines

匿名 (未验证) 提交于 2019-12-03 03:05:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to create a reusable barrel shifter; it takes an input array of bits and shifts them a certain number of positions (determined by another input). I want to parameterize the module so that it works for any n . The number of select lines required is determined by n --> i.e., SHIFT_CNT = log2(NUMBITS-1)+1 in the code below. It's considered bad form in my organization (and I think overall) to have ports that are not of std_logic_vector or std_logic , so I used a std_logic_vector for the number of select lines. I need to adjust the

cygwin support for C++11 in g++4.9.2

匿名 (未验证) 提交于 2019-12-03 02:30:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I am trying to test some C++11 code on Windows 7 under cygwin, and am getting compiling errors for functions that are defined starting with C++11, such as std::log2 and std::round . I am compiling with g++ -std=c++11 test.cpp , using gcc 4.9.2. Here is some minimal example that fails to compile: #include <cmath> #include <iostream> int main () { auto x = std :: log2 ( 10 ); std :: cout << x << std :: endl ; } error: g ++ - std = c ++ 11 test . cpp test . cpp : In function ‘ int main ()’: test . cpp : 5 : 11 : error : ‘ log2 ’ is

Combine legend in ggplot2

匿名 (未验证) 提交于 2019-12-03 02:18:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a plot of multiple geom_point and a single stat_function in ggplot2 . Is there a way to show a single legend? df <- data.frame("x"=c(1:5), "a"=c(1,2,3,3,3), "b"=c(1,1.1,1.3,1.5,1.5)) df <- melt(df, "x") p <- ggplot(df, aes(x=x, y=value)) + geom_point(aes(colour=variable, shape=variable)) + stat_function(aes(colour="log2(x)"), fun=log2) I want to have a single legend with the blue line and the two colored shapes. I tried scale_colour_discrete(name="legend", breaks=c("a", "b", "log2(x)")) + scale_shape_discrete(name="legend", breaks=c(

Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

匿名 (未验证) 提交于 2019-12-03 01:48:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Having issue filtering my result dataframe with an or condition. I want my result df to extract all column var values that are above 0.25 and below -0.25. This logic below gives me an ambiguous truth value however it work when I split this filtering in two separate operations. What is happening here? not sure where to use the suggested a.empty(), a.bool(), a.item(),a.any() or a.all(). result = result[(result['var']>0.25) or (result['var'] 回答1: The or and and python statements require truth -values. For pandas these are considered ambiguous

fft的vhdl实现

匿名 (未验证) 提交于 2019-12-03 00:38:01
所谓的FDRSE就是带同步复位置位时钟使能的d触发器。可以用来做多路数据稳定对齐。 N点基-2 FFT算法的实现方法(http://blog.163.com/tianyake@yeah/blog/static/749331412010979109623/) 从图4我们可以总结出对于点数为N=2^L的DFT快速计算方法的流程: 由于W N 的对称特性,第二象限为第一象限的实部取反,第三象限为虚实皆取反,第四象限为虚部取反,所以只需要存储第一象限即可,而且由于可约性,后几级旋转皆可以由第一级变换得到。 1.对于输入数据序列进行倒位序变换。 该变换的目的是使输出能够得到X(0)~X(N-1)的顺序序列,同样以8点DFT为例,该变换将顺序输入序列x(0)~x(7)变为如图4的x(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7)序列。( 此处倒位序实际上是二进制坐标翻转即可,原因与fft的基2有关,若为基4则为四进制的翻转 ) 事实上大多嵌入式系统中进行离散傅里叶变换一般都应该采用定点方式。对于使用蝶形运算的fft我们不能采用这种简单的放大旋转因子转为整数计算的方式。因为fft是一个非对称迭代过程,假设我们对旋转因子进行了放大,根据蝶形流图我们可以发现其最终的结果是,不同的输入被放大了不同的倍数,对于第一个输入x(0)永远也不会放大。举一个更加形象的例子

决策树

匿名 (未验证) 提交于 2019-12-03 00:37:01
决策树是一种常见的机器学习方法,一般一棵决策树为一颗多叉树. 每一个叶子节点就对应于一个决策结果.决策树的生成过程类似于数据结构中的树的生成过程. 输入: 训练集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } 属性集 A = { a 1 , a 2 , . . . , a d } A = { a 1 , a 2 , . . . , a d } 西瓜书基本算法: 过程: 函数TreeGenerate(D, A) 生成节点node if D中样本全属于同一类别C then 将node标记为C类叶节点; return end if if A为空 OR D中样本在A上的取值相同 then 将node标记为叶节点,其分类标记为D中样本数最多的类; return end if 从A中选择最优的划分属性a; for a 的每一个值av do 为node生成一个分支;令Dv表示D中在a上取值为av的样本集; if Dv 为空 then 将分支标记为叶节点,其类别标记为D中样本最多的类; return else 以TreeGenerate(Dv, A-{a*})为分支节点 end if end for

leetcode 162 Find Peak Element

女生的网名这么多〃 提交于 2019-12-02 11:03:36
leetcode 162 Find Peak Element 这个题目是MIT 6.006算法课中提到的第一个问题,也就是一维数组的Peak Finder问题。如果感兴趣看一看一下我的 MIT 6.006 Lecture 1-b 笔记 。 在对比不同解题思路的同时,我还对比了不同语言(c、C++、Python)。能够非常明显的看出在 效率方面 :c > C++ > Python;时间复杂度最高的 简单算法用c语言写 的效率也要大于C++写的低时间复杂度的算法,更不用说Python。当然如果看简洁程度,Python还是更优。详细情况请看具体实现。 清爽版传送门 问题描述 A peak element is an element that is greater than its neighbors. 峰值元素是指比相邻元素大的元素 Given an input array nums , where nums[i] ≠ \neq ̸ ​ = nums[i+1], find a peak element and return its index. 给定输入数组 nums ,规定nums[i] ≠ \neq ̸ ​ = nums[i+1]。从该数组中找到一个峰值元素并返回它的索引值。 The array may contain multiple peaks, in that case

线段树

旧巷老猫 提交于 2019-12-02 05:18:10
闲话 当我觉得我学习算法刚刚从萌新到入门的时候,一类给定一个区间然后给定一系列操作的题彻底的打击了我,那时我才醒悟,编程路上,我一直是萌新。 前言 啥是线段树? 线段树是一个具有树特性的数据结构,它是一颗 二叉搜索树 。如下图为区间[1,10]所建立的线段树 将每一个区间序列 二分 成小区间,线段树就存储小区间的信息,也就是每个小区间对应线段树中的一个结点。比如上图根节点对应[1,10] 对于每一个子节点而言,都表示整个序列中的一段子区间,如上图 橙色 节点; 对于每个叶子节点而言,都表示序列中的单个元素信息,如上图 绿色 节点; 子节点不断向自己的父亲节点传递信息,而父节点存储的信息则是它的每一个子节点信息的整合,也就是父亲是儿子们的 并 。 由于线段树的二分性质,对每一个子节点来说,左儿子的区间小于右儿子的区间,所以线段树也是 平衡树 。 有啥用? 将需要处理的信息看成一个个点,也就是叶子节点,然后通过父亲节点来将信息整合,做到通过树结构来进行操作对节点信息进行增删查改,大大降低复杂度。 最简单的应用就是记录区间是否被覆盖,随时查询当前被覆盖区间的总长度。 既然线段树利用区间二分建树,那么对子区间进行操作,只需要从根节点通过递归找到此区间即可, 一次操作时间肯定与树的高度有关,由于二叉树搜索树的关系,它的高度为log 2 (n), 所以完成一次操作的时间为O(log(n))。

决策树分类算法

[亡魂溺海] 提交于 2019-12-02 01:49:56
决策树算法是一种归纳分类算法,它通过对 训练集 的学习,挖掘出有用的 规则 ,用于对 新集 进行 预测 。在其生成过程中,分割时属性选择度量指标是关键。通过属性选择度量,选择出最好的将样本分类的属性。 决策树分类算法,包括ID3算法、C4.5算法和CART算法。都属于贪婪算法,自顶向下以递归的方式构造决策树。 ID3算法实例分析 第1步计算决策属性的熵——经验熵 第2步计算条件属性的熵——条件经验熵 2-1步计算年龄的条件熵和信息增益 2-2步计算收入的条件熵和信息增益 2-3步计算学生的条件熵和信息增益 2-4步计算信誉的条件熵和信息增益 选择节点 :选择信息增益最大的属性 继续重复以上步骤,选择下一个属性继续构造决策树。 C4.5算法实例分析 对毕业生的就业信息进行分析,寻找可能影响毕业生就业的因素。 第1步,计算决策属性的经验熵(训练集的全部信息量) entropy(就业情况)=entropy(14,8)= -14/22*log2(14/22) - 8/22*log2(8/22) =0.945660 第2步,计算每个属性的信息增益,以属性“性别”为例 entropy(男)=entropy(10,7)= -10/17*log2(10/17)- 7/17*log2(7/17) =0.977417 entropy(女)=entropy(4,1)= -4/5*log2(4/5)- 1