有人遇到这个情况嘛? 请教翻墙高手,最近遇到这个情况,twitter、facebook无法登陆。其他还没发现无法登陆。
On Jun 9, 10:59 pm, 杜磊 <ceo.du...@gmail.com> wrote:
> 哪个朋友烦请给个twitter的ip 。。
>
> 在 2010年6月9日 下午10:43,杜磊 <ceo.du...@gmail.com>写道:
>
>
>
> > 这个.. 我第一次回复的居然不是这个邮件。是哪位兄弟单独回了封邮件误导我。。。
>
> > 我用的SSH + firefox + tunnlier (sock5) 。如果GFW能到做到境内网DNS监听那我已经无比佩服了。
> > 遥想当年啊。
>
> > 同时请问楼上,为什么gmail被封就没这类问题了.
>
On 6月9日, 下午4时31分, VPSee <vpsee...@gmail.com> wrote:
> 翻墙方式有很多种,请问你用的什么方式翻墙?如果简单认为改改 DNS 就可以翻墙就太小看我们 GFW 的智慧了。不能访问 twitter,
> facebook,那是因为得到了错误的 IP。
>
> 不是设置了正确的 google/opendns/whatever DNS 服务器吗,为什么还会得到错误的 IP 呢?
> 这里涉及到一个 DNS 污染问题,GFW 监听 DNS 查询端口一旦监测到关键词或域名就假装成目标 DNS 服务器然后给客户端电脑返回一个错误的
> IP,这样你输入的是 twitter.com 返回的却不是 twitter.com 的正确 IP。DNS 查询一般没有认证和加密机制而且基于
> UDP,所以 GFW 可以检测到你的 DNS 查询并污染结果。
>
> 2010/6/9 杜磊 <ceo.du...@gmail.com>
不知这边是否有人造过同样的轮子?有什么经验可以分享一下的么?
P.S:
测试的时候使用的是动态分配内存的矩阵类,静态缓冲是256个机器字长,算法大
致如下:
> self_type&
> operator *= ( const self_type& other )
> {
> assert( col() == other.row() );
>
> static const size_type threshold = 18;
>
> const size_type max_dims = std::max( max_dim(),
> other.max_dim() );
> const size_type min_dims = std::min( min_dim(),
> other.min_dim() );
>
> //0
> if ( (max_dims < threshold) || (min_dims == 1) )
> return direct_multiply( other );
>
> const size_type R = row();
> const size_type C = col();
> const size_type OC = other.col();
>
> //1
> if ( R & 1 )
> {
> //1 <1>
> if ( R & 2 )
> return rr1(other);
> //1 <2>
> return rr2(other);
> }
> //2
> if ( C & 1 )
> { //2 <1>
> if ( C & 2 )
> return cc1(other);
> //2 <2>
> return cc2(other);
> }
> //3
> if ( OC & 1 )
> { //3 <1>
> if ( OC & 2 )
> return oc1(other);
> //3 <2>
> return oc2(other);
> }
> //4
> return strassen_multiply( other );
> }
--
Milo Yip
Twitter @miloyip
http://www.cnblogs.com/miloyip/
http://miloyip.seezone.net/
其他的平台当然也会有一些科学计算库可用,这个要看具体是什么平台了。像矩阵乘法这类最基本的算法应该是非常成熟的,自己研究个老半天,结果别人早就已经实现并且公开了,性能还比你的好,那不是浪费时间么?
其他的平台当然也会有一些科学计算库可用,这个要看具体是什么平台了。像矩阵乘法这类最基本的算法应该是非常成熟的,自己研究个老半天,结果别人早就已经实现并且公开了,性能还比你的好,那不是浪费时间么?
可能是我解释的不清楚;或许就是如你测试的结果,临界值比较大实用性不高,所以其他的库才没有采用。如果真的很在乎性能的话,我建议还是找几个现成的库来 测试比较一下。
另外,刚才我测试了一下blas的表现,发现blas执行同样的操作所耗用的时间,大概是我的程序运行时间的90%稍多一点。
记得x86的CPU有三角函数的直接支持的。莫非我记错了?是的,而且我用以做比较的 glibc 就是直接这样做的
简单看了一下,写的还是比较严谨的。我另外提供一个思路,你有兴趣的话可以比较一下,生成一张f(x)=sinx的表,x从0到pi/2,然后计算时查表得sin值, 两个表项之间的结果可以用线性插值。然后统计一下误差,看看这个表多大时可以满足你的误差要求。
想問樓主是純研究還是有特定使用場合?
--
我再研究一下那个线性插值看看,刚才随估计随说的,不好意思
我剛想,在這種設備上,如果沒有native的浮點運算,對於sine這類函數,是否可以用fixed point而非floating
point? 因為sine函數的domain和codomain都很小,用fixed point表達沒問題。最後才把fixed
point轉為floating point?
另外,記得以前聽說過這種轉換可以更適合某些CPU:
a + bx + cx^2 + dx^3 = a + x(b + x(c + dx))
--
设若差表法为:
sin(x) \simeq table[i]+ (x-x_i)*(table[i+1]-table[i])
令\delta x = x_{n+1}-x_n
则插值法最大误差发生在
E = 1 - \cos (\frac{\delta x}{2})
令 E = 10^{-6}
则有
1 - \cos(\frac{PI}{N}) < 10^{-6}
解之可得 N \simeq 2221
P.S: 不过线性插值也要两次乘法啊,跟我先前误会的 sin(x) \simeq
\frac{table[i]+table[i+1]}{2} 不一样
N = \frac {\pi}{2 \, E}
其中 N 是表长, E 是精度。这个表长涵盖了 0 到 2 \pi 的数值,如果只考虑 0 到 \frac{\pi}{2} 的区间, 除以
4 即可。对应精度 0.00001,所需表长为 176 。
老贴重翻,仅为补遗。
2010/6/11 Hongzhang Liu <hongzh...@gmail.com>: