草庐IT

fortran90

全部标签

C# 将位图旋转 90 度

我正在尝试使用以下函数将位图旋转90度。它的问题是当高度和宽度不相等时它会截掉部分图像。注意returnBitmapwidth=original.height和它的height=original.width谁能帮我解决这个问题或指出我做错了什么?privateBitmaprotateImage90(Bitmapb){BitmapreturnBitmap=newBitmap(b.Height,b.Width);Graphicsg=Graphics.FromImage(returnBitmap);g.TranslateTransform((float)b.Width/2,(float)b.

javascript - 如何在 ThreeJS 中将网格旋转 90 度?

我有一个网格,我想在ThreeJS中旋转90度。这是当前情况的图像:我希望所选网格与大网格平行旋转。我试过像这样旋转矩阵:matrix=newTHREE.Matrix4().makeRotationX(1.57)但是网格进入奇怪的旋转。有没有更简单的方法将它旋转90度? 最佳答案 threejs旋转使用弧度(你可能知道)你可以用这个mesh.rotation.x=Math.PI/2;或mesh.rotation.set(newTHREE.Vector3(0,0,Math.PI/2));

go - 从 go 调用 fortran 库的最小示例

我正在寻找这两种语言之间FFI的最小示例,一个调用Fortran库的Go程序的非常简单的helloworld。我想强调的是,我不是在寻找外部资源、建议或教程,我只是在寻找golang中的最小代码片段,以及Fortran中的相应格式。这个网站上有很多例子:CallingCfromfortran(ifort,gfortran)callingC#fromFortranReadC++'HelloWorld'fromFortranCallGofunctionsfromC从golang调用CCallingHaskellFFIFunctionPtrsfromCCallingpythonfromfor

c - 在 C90 中实现无溢出系统堆栈

我刚刚读到GoogleGo如何在默认情况下使每个线程的堆栈大小减小,然后在发生溢出时链接到新堆栈(请参阅here中的第16页)。我想知道在C中执行此操作的最佳方法。我不得不说我不是C专家,所以可能有更好的方法来检测C上的堆栈溢出,但鉴于我的无知,我认为我会如何实现它:我首先想到的是,每次我们有一个新的堆栈时,我们都会得到一个堆栈变量的地址,这样我们就有了大致的起始堆栈地址。然后我们需要能够检索线程有多少堆栈空间。如果线程不是主线程,这是可能的,但我不知道我们如何在C上获取此信息。然后我们需要通过检索当前堆栈变量地址来检查(每个函数调用,它可能是)已经使用了多少堆栈。如果我们检测到可能的

linux - 是否有适用于 Linux 的高性能 Fortran 编译器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion现在我使用Sun-Studio,但Oracle对它要价高得离谱。是否有用于Linux的高性能Fortran编译器可以与Sun-Studio的性能相媲美?GNU的Fortran编译器要慢得多。

linux - Fortran 中的共享库,最小示例不起作用

我想了解如何在Linux下使用Fortran动态创建和链接共享库。我有两个文件:第一个,liblol.f90,如下所示:subroutinefunc()print*,'lol!'endsubroutinefunc我用gfortran-shared-fPIC-oliblol.soliblol.f90编译它第二个文件main.f90如下所示:programmaincallfunc()endprogrammain当我现在尝试使用命令gfortran-L编译它时。-llolmain.f90-omain,我收到以下错误:/tmp/ccIUIhcE.o:Infunction`MAIN__':mai

Android 将位图旋转 90 度会导致图像被压扁。需要在纵向和横向之间进行真正的旋转

我正在尝试将位图图像旋转90度以将其从横向格式更改为纵向格式。示例:[a,b,c,d][e,f,g,h][i,j,k,l]顺时针旋转90度变成[i,e,a][j,f,b][k,g,c][l,h,d]使用下面的代码(来自在线示例),图像旋转了90度,但保留了横向纵横比,因此您最终会得到一个垂直压扁的图像。难道我做错了什么?我需要使用另一种方法吗?如果这样更容易,我也愿意旋转用于创建位图的jpeg文件。//createamatrixforthemanipulationMatrixmatrix=newMatrix();//resizethebitmapmatrix.postScale(sca

Android获取相机位图的方向?并向后旋转-90度

我有这个代码://choosedapicturepublicvoidonActivityResult(intrequestCode,intresultCode,Intentdata){if(resultCode==RESULT_OK){if(requestCode==ImageHelper.SELECT_PICTURE){Stringpicture="";UriselectedImageUri=data.getData();//OIFILEManagerStringfilemanagerstring=selectedImageUri.getPath();//MEDIAGALLERYSt

memory - MPI Fortran 代码 : how to share data on node via openMP?

我正在编写一个已经使用MPI的Fortan代码。现在,我面临一种情况,一组数据增长得非常大,但每个进程都相同,所以我希望每个节点只将它存储在内存中一次,并且一个节点上的所有进程都访问相同的数据。为每个进程存储一次会超出可用RAM。是否有可能使用openMP实现类似的目标?每个节点的数据共享是我唯一想要的,不需要其他每个节点的并行化,因为这已经通过MPI完成。 最佳答案 如果仅用于共享数据block,则无需实现混合MPI+OpenMP代码。你实际上要做的是:1)将世界通信器分成跨越同一主机/节点的组。如果你的MPI库实现了MPI-3.

arrays - 在 Fortran 中分配时自动分配数组

我们最近发现我们正在对Fortran中的未分配数组进行赋值。GNUgfortran编译器没有发现错误,代码在OSX和Linux下都运行。但是,IBMPowerPC上出现相同的代码段错误。我的问题是,以下代码是否正确?似乎分配给array的数组在某些架构上会自动分配内存,而在其他架构上则不会。这里有具体的实现细节吗?代码是混合的C/Fortran代码:#includevoidassign_array_(doublex[],int*n);voidprint_array_();intmain(){intn,i;double*x;n=5;x=(double*)malloc(sizeof(dou