草庐IT

haskell-mpi

全部标签

java - 从 Java 中调用 Haskell 函数的最佳方式

我正在寻找一种从Java程序中执行Haskell函数的有效方法。我考虑过使用exec()与GHC交互,但似乎应该有更好的方法。 最佳答案 我通常避免使用JNI类型的方法来跨运行时/语言进行链接。他们只是有太多的陷阱和很少的好处。我发现跨流程边界工作更容易。虽然我从未尝试过使用Haskell和Java,但它们都有支持XMLRPC的库,这听起来很适合您正在做的事情。所以:将Haskell程序设置为“服务”,并在需要时调用它的函数。 关于java-从Java中调用Haskell函数的最佳方式,

java - 为什么 Haskell 中的阶乘计算比 Java 中的快得多

我遇到的一个编程问题涉及计算大数(最多10^5的数)的阶乘。我见过一个简单的Haskell代码,它是这样的factorial::(Eqx,Numx)=>x->xfactorial0=1factoriala=a*factorial(a-1)它隐式地处理大量数字,并且即使在代码中不涉及任何缓存的情况下也能以某种方式运行得更快。当我尝试使用Java解决问题时,我不得不使用BigInteger来保存巨大的数字并使用迭代版本的阶乘publicstaticBigIntegerfactorialIterative(intn){if(n==0||n==1)returnBigInteger.valueO

java - 为什么 Haskell 中的阶乘计算比 Java 中的快得多

我遇到的一个编程问题涉及计算大数(最多10^5的数)的阶乘。我见过一个简单的Haskell代码,它是这样的factorial::(Eqx,Numx)=>x->xfactorial0=1factoriala=a*factorial(a-1)它隐式地处理大量数字,并且即使在代码中不涉及任何缓存的情况下也能以某种方式运行得更快。当我尝试使用Java解决问题时,我不得不使用BigInteger来保存巨大的数字并使用迭代版本的阶乘publicstaticBigIntegerfactorialIterative(intn){if(n==0||n==1)returnBigInteger.valueO

java - 为什么 Haskell 可以轻松处理非常大的数字?

Hugs>94535^445137632088232137705069605388766151562110489016400528215306972642477399980184684190324482770294348798270745496600945601673504187800060414350090853288746492038060516493211268703905952667210981892423492084444823161253257071865716023417728537773383010483404104907660991248823721960844599

java - 为什么 Haskell 可以轻松处理非常大的数字?

Hugs>94535^445137632088232137705069605388766151562110489016400528215306972642477399980184684190324482770294348798270745496600945601673504187800060414350090853288746492038060516493211268703905952667210981892423492084444823161253257071865716023417728537773383010483404104907660991248823721960844599

MPI和OpenMP实现蒙特卡罗算法

MPI和OpenMP实现蒙特卡罗算法一、蒙特卡洛算法介绍基本思想当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。数学应用:通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分。案例:通过在正方形内随机撒点,落在圆内的点/落在正方形内的点,就约等于圆的面积/正方形的面积=π

Windows系统下Visual studio 2022MPI 环境配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Windows系统下Visualstudio2022MPI环境配置前言一、MPI环境下载二、环境配置三、代码测试前言操作系统:win10工具:VisualStudio2022一、MPI环境下载首先前往MPI下载地址:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi?redirectedfrom=MSDN进入地址后,点击下方链接进行下载分别选中以下两个选项,分别下载exe与msi文件下载完后,进行安装。安装结束后可以在VisualStud

java - 如何在 Java 中模拟 Haskell 的 "Either a b"

如何编写一个类型安全的Java方法来返回a类或b类的东西?例如:public...either(booleanb){if(b){returnnewInteger(1);}else{returnnewString("hi");}}最干净的方法是什么?(我唯一想到的是使用异常,这显然很糟糕,因为它滥用了通用语言功能的错误处理机制......publicStringeither(booleanb)throwsIntException{if(b){returnnewString("test");}else{thrownewIntException(newInteger(1));}})

java - 如何在 Java 中模拟 Haskell 的 "Either a b"

如何编写一个类型安全的Java方法来返回a类或b类的东西?例如:public...either(booleanb){if(b){returnnewInteger(1);}else{returnnewString("hi");}}最干净的方法是什么?(我唯一想到的是使用异常,这显然很糟糕,因为它滥用了通用语言功能的错误处理机制......publicStringeither(booleanb)throwsIntException{if(b){returnnewString("test");}else{thrownewIntException(newInteger(1));}})

Linux下的MPI安装(类比linux软件的安装方式)

MPI(Message-PassingInterface),并不是一种新的语言,而是消息传递接口,它定义了一个可以被C、C++和Fortran程序调用的函数库[1]。我们可以用MPI来进行进程间的通信,以消息传递的方式来对分布式内存系统进行编程。通过安装MPICH构建MPI编程环境,从而进行并行程序的开发。MPICH是MPI(Message-PassingInterface)的一个应用实现,支持最新的MPI-2接口标准,是用于并行运算的工具。1.安装方案一(apt自动安装)直接运行利用apt安装,执行下面的命令,按照提示操作即可,但是我安装后使用还是有问题。apt安装命令:apt-getins