小编Upu*_*ara的帖子

并行和并发编程

我计划增强我对并行和并发编程的了解.有人可以帮我找一些在线学习资源吗?

谢谢,

parallel-processing concurrency

4
推荐指数
1
解决办法
1391
查看次数

为2D阵列生成IL

我想使用System.Reflection.Emit命名空间为2D数组构造生成IL .

我的C#代码是

Array 2dArr  = Array.CreateInstance(typeof(int),100,100); 
Run Code Online (Sandbox Code Playgroud)

使用ildasm,我意识到为上面的C#代码生成了以下IL代码.

IL_0006:  call       class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle)
IL_000b:  ldc.i4.s   100
IL_000d:  ldc.i4.s   100
IL_000f:  call       class [mscorlib]System.Array [mscorlib]System.Array::CreateInstance(class [mscorlib]System.Type, 
                                                                                           int32,
                                                                                           int32)
Run Code Online (Sandbox Code Playgroud)

我能够生成最后三个IL语句,如下所示.

MethodInfo createArray = typeof(Array).GetMethod("CreateInstance",
                new Type[] { typeof(Type),typeof(int),typeof(int) });
gen.Emit(OpCodes.Ldc_I4_1);
           gen.Emit(OpCodes.Ldc_I4_1);
           gen.Emit(OpCodes.Call, createArray);
Run Code Online (Sandbox Code Playgroud)

但我不清楚如何生成拳头IL声明(即IL_0006: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle))

你有什么主意吗?

此外,有人能指出一些关于如何使用System.Reflection.Emit命名空间以生成IL代码的好教程/文档吗?

c# il reflection.emit

4
推荐指数
1
解决办法
559
查看次数

在Gnuplot中绘制具有不同点样式的曲线

我正在使用Gnuplot绘制图表.在图中我绘制了三条属于三个数据集的平滑曲线.

目前我正在使用以下Gnuplot脚本.

reset
set terminal png
set xlabel "Square matrix size"

set ylabel "Time (in milliseconds)"
set yrange [0:750]

set title "Lower Triangular Matrix"
set key reverse Left outside
set grid
set output 'matrixlt.png'
set style data linespoints
plot "matrixlowertriangle.dat" using 1:2 lt 1 lw 2 smooth bezier title 'MatPro', \
     "matrixlowertriangle.dat" using 1:3 lt 2 lw 2 smooth bezier title 'C#' , \
     "matrixlowertriangle.dat" using 1:4 lt 3 lw 2 smooth bezier title 'C++'
Run Code Online (Sandbox Code Playgroud)

通过上面的脚本,我得到了以下图表. 在此输入图像描述

现在我想使用唯一的点样式绘制属于同一曲线的每个点.(例如,使用一种点类型属于C#的每个点和不同样式的C++数据点.)

我尝试了一些教程,但仍然没有运气.有人可以帮助我完成这项任务吗?

gnuplot

4
推荐指数
1
解决办法
2万
查看次数

软件容错

有谁知道如何在空中交通管制系统中实施软件容错?

有些网址会非常有用.

fault-tolerance fault

3
推荐指数
1
解决办法
344
查看次数

为每个英语单词生成唯一序列号的算法

对于应用程序,我需要为每个英语单词生成唯一的序列号.

什么是最好的方法?

一个限制是序列号生成算法应该在普通台式计算机中非常有效.

谢谢

algorithm

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

机器学习/信息检索项目

我正在读硕士.在计算机科学和刚刚完成的第一年的源.(这是一个为期两年的课程).很快我就不得不向M.Sc.提交一份提案.项目.我选择了以下主题.

"机器学习在信息检索系统中文档排名的适用性".研究人员一直在使用各种机器学习算法对文档进行排名.因此,作为该项目的第一阶段,我将进行一次完整的文献调查,并找出当前方法的优缺点.在项目的第二阶段,我将提出一种新的(修改的)算法,以克服当前方法的局限性.

实际上我的问题是这种类型的项目是否适合作为硕士学位.项目?此外,如果有人在信息检索领域有一些有趣的想法,是否有可能与我分享这些想法.

谢谢

information-retrieval machine-learning

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

平行斐波纳契数计算器

我正在使用任务并行库(TPL)来计算斐波纳契数.计划如下:

        public static int Fib(int n)
        {
            if (n <= 1)
            {
                return n;
            }
            Task<int> task = Task.Factory.StartNew<int>(() => Fib(n - 1));
            var p = Fib(n - 2);
            return task.Result + p;
        }

        public static void Main(string[] args)
        {

            Stopwatch watch = new Stopwatch();
            watch.Start();
            Console.WriteLine("Answer: " + Fib(44));
            watch.Stop();
            Console.WriteLine("Time: " + watch.ElapsedMilliseconds);
        }
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个程序需要很长时间才能完成.但是这个程序的序列版本(如下所示)花费不到30秒来计算第44个Fibonacci数.

 public class FibTester
    {
        public static int Fib(int n)
        {
            if (n <= 1)
            {
                return n;
            }
            var q = Fib(n …
Run Code Online (Sandbox Code Playgroud)

c# fibonacci task-parallel-library

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

椭圆曲线密码学

我正在研究"椭圆曲线密码学".看起来像那样; 很难理解"身份元素"的概念.

其实我的问题是为什么我们需要"身份元素"?据我所知,我们需要"身份元素"来定义任何组元素P的反向-P.我是否正确?

还有人能给我看一些关于椭圆曲线加密的介绍材料吗?

cryptography

0
推荐指数
1
解决办法
1653
查看次数