小编Fed*_*kin的帖子

显示MPI类型映射

type map是MPI中一个重要但令人困惑的概念.我想要一个例程来显示或打印我的类型地图.

例如(取自MPI-3标准),

 MPI_TYPE_CREATE_RESIZED(MPI_INT, -3, 9, type1) 
Run Code Online (Sandbox Code Playgroud)

结果在typemap中

{(lb_marker, -3), (int, 0), (ub_marker, 6)}.
Run Code Online (Sandbox Code Playgroud)

再次使用该类型:

MPI_TYPE_CONTIGUOUS(2, type1, type2) 
Run Code Online (Sandbox Code Playgroud)

而typemap是

{(lb_marker, -3), (int, 0), (int,9), (ub_marker, 15)}
Run Code Online (Sandbox Code Playgroud)

我想要一种自动显示该类型图的方法.

当然可以使用MPI_Type_get_contentsMPI_Type_get_envelope递归下降,直到达到内置类型.这是一个巨大的痛苦,我想我会有20年的时间来为我做这个.

有些工具很有前途但不太有效:

  • 我在这里找到了〜2001年的MPImap .首先,它需要针对现代Tcl/TK进行更新,修补以解决一些内存错误并在您执行此操作之后; 你得到一个没有反应的GUI.相反,我正在寻找一个我可以在运行时调用的库/例程.

  • MPIDU_Datatype_deubg是MPICH特定的内部类型转储例程.它不显示类型映射(它显示dataloop表示,再次关闭)

  • 曾经有一个名为XMPI的调试器,它在其功能中列出了显示MPI类型映射的能力.此调试器似乎特定于LAM-MPI,并且不使用get_contents/get_envelope.

mpi typemaps

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

如何在WPF/MVVM应用程序中处理依赖项注入

我正在启动一个新的桌面应用程序,我想使用MVVM和WPF构建它.

我也打算使用TDD.

问题是我不知道如何使用IoC容器将依赖项注入我的生产代码.

假设我有以下类和接口:

public interface IStorage
{
    bool SaveFile(string content);
}

public class Storage : IStorage
{
    public bool SaveFile(string content){
        // Saves the file using StreamWriter
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有另一个IStorage作为依赖项的类,假设这个类是一个ViewModel或一个业务类......

public class SomeViewModel
{
    private IStorage _storage;

    public SomeViewModel(IStorage storage){
        _storage = storage;
    }
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以轻松编写单元测试,以确保它们正常工作,使用模拟等.

问题是在实际应用中使用它.我知道我必须有一个链接IStorage接口默认实现的IoC容器,但我该怎么做呢?

例如,如果我有以下xaml会怎么样:

<Window 
    ... xmlns definitions ...
>
   <Window.DataContext>
        <local:SomeViewModel />
   </Window.DataContext>
</Window>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如何正确地"告诉"WPF注入依赖项?

另外,假设我需要一个SomeViewModel来自我的cs代码的实例,我应该怎么做?

我觉得我完全迷失了,我会感谢任何有关如何处理它的最好方法的例子或指导.

我熟悉StructureMap,但我不是专家.此外,如果有更好/更容易/开箱即用的框架,请告诉我.

提前致谢.

c# wpf dependencies dependency-injection mvvm

90
推荐指数
6
解决办法
6万
查看次数

在 JavaScript 中提升是如何实现的?

如果JavaScript是一种解释性语言,它如何执行提升。不解释型语言从上到下逐行执行代码。是否有任何类型的编译在后台工作?

javascript

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

标签 统计

c# ×1

dependencies ×1

dependency-injection ×1

javascript ×1

mpi ×1

mvvm ×1

typemaps ×1

wpf ×1