找回密码
 欢迎注册
楼主: 无心人

[原创] 来点复杂的吧

[复制链接]
 楼主| 发表于 2009-2-24 19:16:49 | 显示全部楼层
明白怎么回事了
上面代码不能处理P31
偶太笨啦

  1. #define P31 0x7FFFFFFF

  2. __declspec(naked)
  3. DWORD __fastcall  modAdd(DWORD a, DWORD b)
  4. {
  5.     __asm
  6.    {
  7.    add ecx, edx
  8.    mov eax, ecx
  9.    sub ecx, P31
  10.     cmovnc eax, ecx
  11.     ret
  12.    }
  13. }

  14. __declspec(naked)
  15. DWORD __fastcall  modSub(DWORD a, DWORD b)
  16. {
  17.     __asm
  18.    {
  19.    mov eax, P31
  20.    sub eax, edx
  21.    add eax, ecx
  22.    mov ecx, eax
  23.    sub ecx, P31
  24.     cmovnc eax, ecx
  25.     ret
  26.    }
  27. }

  28. __declspec(naked)
  29. DWORD __fastcall  modMul(DWORD a, DWORD b)
  30. {
  31.     __asm
  32.    {
  33.    mov eax, ecx
  34.    mul edx
  35.    shld edx, eax, 1
  36.    and eax, P31
  37.    add eax, edx
  38.    mov ecx, eax
  39.    sub ecx, P31
  40.     cmovnc eax, ecx
  41.     ret
  42.    }
  43. }

复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-24 19:20:02 | 显示全部楼层
这次应该OK了吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-25 08:39:17 | 显示全部楼层
Linux下面到现在找到8个结果了(共处理了约3072个文件),都在
http://bbs.emath.ac.cn/viewthrea ... fromuid=20#pid16447

不过程序还有bug,麻烦的是windows下的程序遇到异常以后,自动被VC捕获,程序就不运行了。看来需要将异常全部阻止才可以。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-25 09:17:21 | 显示全部楼层
呵呵

还是要调试吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-25 09:24:41 | 显示全部楼层
呵呵,等什么时候有空闲时再看看。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-25 09:29:42 | 显示全部楼层
我想改你的srap
让能自动判定是否解决了当前文件
然后用wrap <start> <end>连续运算
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-25 09:57:40 | 显示全部楼层
比较好的方法是在程序finder和sfilter的main函数里面加入这样的结果
try{
   //all original code comes here
}catch(...){
    printf("error!!!!");
}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-25 13:46:41 | 显示全部楼层
现在我在windows下运行的机器也总算开始出一个解了,大部分还是Linux机器找到的,还找到一个18棵树18行的结果。
解真是稀少呀。输入数据是71个数据一个文件。现在估计至少500个以上文件才出一个解,估计总共也就几百个解 。然后还需要用它们来构造19棵树和20棵树的解。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-25 14:04:05 | 显示全部楼层
呵呵

假设有1000个结果
构造19,20的树,会有多少计算时间?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-25 14:14:22 | 显示全部楼层
如果能够将这1000个结果的坐标都求出来,那余下的应该很快。
不过估计这个方法不大行,毕竟现在求坐标我通常都是通过maxima软件辅助来做的。
所以应该还可以采用类似现在的方法去做。
1000个数据也就相当于现在十几个文件的数据量。即使那个时候产生解的比例要稍微高一些(我估计会如此,要不然解的数目太少了),哪也应该是很快的事。
所以现在这一步是主要的瓶颈
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-2 07:29 , Processed in 0.044568 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表