2007年10月31日星期三

GCC cross compiler of MIPS under GNU/Linux

Post here because It's useful and hard find...

Include: binutils,  gcc,  glibc, gdb

Must compile   binutils  in the first place !

#here is binutiles

./configure -target=mips-elf --program-prefix=mips-

make

make install

in GCC, suggesting only enable c rather than c++ or some else...
option "--disable-libssp" becouse libssp can't successfully compiled.

#here is GCC

./configure -target=mips -prefix=/usr/local --disable-libssp -program-prefix=mips- -enable-languages='c'
make


binutils and GCC is enough for my misp asm learning...

OK.~

TIPs:  `swiftfox` is very fast in my computer, i replace the build-in firefox with it.

2007年10月28日星期日

Google黑板报数学之美之集合

来源:Google 黑板报
作者:吴军

数学之美 一 统计语言模型
数学之美 二 谈谈中文分词
数学之美 三 隐含马尔可夫模型在语言处理中的应用
数学之美 四 怎样度量信息?
数学之美 五 简单之美:布尔代数和搜索引擎的索引
数学之美 六 图论和网络爬虫 (Web Crawlers)
数学之美 七 信息论在信息处理中的应用
数学之美 八 贾里尼克的故事和现代语言处理
数学之美 九 如何确定网页和查询的相关性
数学之美 十 有限状态机和地址识别
数学之美 十一 Google 阿卡 47 的制造者阿米特.辛格博士
数学之美 十二 余弦定理和新闻的分类
数学之美 十三 信息指纹及其应用
数学之美 十四 谈谈数学模型的重要性
数学之美 十五 繁与简 自然语言处理的几位精英
数学之美 十六(上)不要把所有的鸡蛋放在一个篮子里 最大熵模型
数学之美 十六(下)不要把所有的鸡蛋放在一个篮子里 最大熵模型
数学之美 十七 闪光的不一定是金子 谈谈搜索引擎作弊问题(Search Engine Anti-SPAM)
数学之美 十八 矩阵运算和文本处理中的分类问题
数学之美 十九 马尔可夫链的扩展 贝叶斯网络 (Bayesian Networks)
数学之美 二十 自然语言处理的教父 马库斯
数学之美 二十一 布隆过滤器(Bloom Filter)
数学之美 二十二 由电视剧《暗算》所想到的 — 谈谈密码学的数学原理

2007年10月23日星期二

八皇后问题的实现

最近重新复习了一下沙特人的算法书, 根据他的算法实现了8皇后问题,
自己用C做了一个实现。
12个皇后的问题在我的机器(AMD 3000+, 256,LINUX 2.6)上运行了4.7秒左右,
后来在忘上又找了一个实现,这是链接, 他的竟然只用0.04秒。SO 快。
佩服。
贴上代码:
我的:

#include <string.h>
#include <assert.h>

long nqueens(int);
int test_queens(const char *,const int , const int);

int main(void)
{
assert (nqueens(12) == 14200);
//assert (nqueens(13) == 73712);
}

long
nqueens(int n)
{
register int key = 0;
int scount = 0;
char retv[20];
int test_val;
memset(retv, 0, 20);
while( key >= 0) {
while( retv[key] <= n-1) { // n-1 means zero was a position
retv[key] = retv[key] + 1;
if ( (test_val = test_queens(retv,key, n)) == 1) //part answer
key++;
else if (test_val == 0)
{
scount++;
}
}
retv[key] = 0;
key--;
}
outter:
return(scount);
}

// if queens is illegel result return -1
// else if queens is legel return 0
// or part result return 1
int test_queens(const register char *v,const int key, const register int n)
{
for (int i = 0; i < n; i++) {
char vi = v[i], vk = v[key];
if (vi == 0 || vk == 0 )return 1;
if( i == key ) continue;
if (vi == vk || vk-vi == key - i || vk-vi == i - key)
return -1;
}
return 0;
}

>time ./my
real 0m0.556s
user 0m0.552s
sys 0m0.000s

那位兄台的

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
typedef unsigned long ulong;
static const ulong ulong_bit = sizeof(ulong) * CHAR_BIT;


static inline ulong search(ulong lb, ulong cb, ulong rb, ulong cnt) {
if (~0ul == cb)
cnt += 1;
else
for (ulong bs = lb | cb | rb; ~0ul != bs;) {
ulong b = ~bs & (bs+1);
bs |= b;
cnt = search((lb | b) << 1, cb | b, (rb | b) >> 1, cnt);
}
return cnt;
}static inline ulong nQs(ulong m) { return search(0, ~0ul >> m, 0, 0); }int main(int argc, char* argv[]) {
ulong a = argc < 2 ? ulong_bit : atol(argv[1]);
ulong n = a < ulong_bit ? a : ulong_bit; // n = min(a, ulong_bit)
printf("%li: %li total solutions\n", 12, nQs(12));
return 0;
}

>time ./internet
12: 14200 total solutions

real 0m0.081s
user 0m0.024s
sys 0m0.004s

2007年10月12日星期五

放开怀抱, 抛弃追求,
摊开胸膛, 面对阳光。

闭上眼睛, 感受。。
大树遮荫, 呼吸。。

梦里有片绿地, 大树, 和你我。

2007年10月2日星期二

关于

这是一个 WordPress 页面范例,您可以编辑本页面并增加您或者网站的信息,这样访问者便可知道您来自何方。您可以创建类似本页面的任意多的页面或者子页面,并通过 WordPress 来管理。

Our_Dream 开站了

新博开张!~~OKOK~