Welcome Guest! To enable all features please Login. New Registrations are disabled.

Notification

Icon
Error

Login


6 Pages<12345>»
Options
Go to last post Go to first unread
Offline kilele  
#41 Posted : 19 June 2013 21:28:18(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
It could be possible to decompile those dlls to make the source code compatible with 64-bit systems
Offline uni  
#42 Posted : 19 June 2013 22:07:22(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
This is not a good idea. It is much easier to use a virtual machine and run SMath Studio there. Fortunately, EFI is almost no one used. On the Internet it is difficult to find a library for Mathcad created by users. As for mathlib.dll, I have the source code. So I can rewrite the code in C# or C++/CLI.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline kilele  
#43 Posted : 19 June 2013 22:22:31(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
ugh..you'd be scrubbing your hands like the famous surgeon trying to revive a monster Good

I think you mean to prepare some package to load within virtualbox or alike ?
Offline uni  
#44 Posted : 19 June 2013 23:25:38(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
Yes Crazy , but there is another solution: CorFlags Conversion Tool. Andrey advised me. You can use this utility to change SMathStudio_Desktop.exe (set the 32BIT flag). Maybe this will help. The new program will run as a 32​​-bit program.

Edited by user 19 June 2013 23:27:48(UTC)  | Reason: Not specified

Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 20/06/2013(UTC)
Offline kilele  
#45 Posted : 20 June 2013 12:54:47(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
Who knows if some of those plugins are made with .net, in that case some of these free tools might help:
http://www.jetbrains.com/decompiler/
http://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.80).aspx
http://filegenreflector.codeplex.com/
http://reflectoraddins.codeplex.com/
Offline uni  
#46 Posted : 20 June 2013 16:10:37(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
EFI plugins can't be made with .net. This interface is designed to work only in unmanaged code (C, C++, Delphi, Fortran, assembler). For the 15 years of its existence nobody (almost) used it.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline omorr  
#47 Posted : 21 June 2013 09:50:47(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: uni Go to Quoted Post
Examples of user libraries using EFI:
1. C (С++): test
2. OPascal (Delphi7): NumericalRecipesPascal
3. Assembler (RadAsm): test2 (not finished)
4. Fortran 2003 (IVFC XE 12): TestFortran (not finished)


uni, could you explain please in few words, what does this actually mean? What is the connection between, say, Fortran 2003 (IVFC XE 12) and EFI plugin?

Cheers,
Radovan

When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline uni  
#48 Posted : 21 June 2013 12:08:03(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
This means that you can write a function in any of these languages. You can use the compilers of these languages ​​to create extensions for SMath Studio. Unmanaged code runs much faster. You can use the EFI interface as a wrapper for the old code. You can write an extension for SMath Studio directly on Fortran.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline omorr  
#49 Posted : 21 June 2013 13:29:36(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: uni Go to Quoted Post
This means that you can write a function in any of these languages. You can use the compilers of these languages ​​to create extensions for SMath Studio. Unmanaged code runs much faster. You can use the EFI interface as a wrapper for the old code. You can write an extension for SMath Studio directly on Fortran.

We mentioned such a possibility here and there on the Forum. I also nagged about this few times. If there could be a way to make some SMath packages
using any of older Fortran/C/C++ libraries, and use them within SMath...to be honest, it seems to me like a science fiction Shok

I remember there was such a possibility in Mathcad long time ago. As I remember, the EFI thing was in case (USEREFI mechanism). As I remember, there were some preferred compilers at that time (Fortran/C/C++, than Fortran was abandoned). From my point of view (as an average user) it was a bit complicated. Therefore, I've never tried myself to make a user defined DLL in Mathcad. I just know that some Mathcad Handbook writers used this and expanded Mathcad with their own functions packaged into DLLs. I actually am not aware that anyone made any DLLs from some old and well established Fortran or C/C++ libraries (I might be wrong regarding this).

Regards,
Radovan

Edited by user 21 June 2013 13:38:33(UTC)  | Reason: Not specified

When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline matthias  
#50 Posted : 21 June 2013 13:52:46(UTC)
matthias

Rank: Newbie

Groups: Registered
Joined: 26/05/2013(UTC)
Posts: 1
Germany
Location: Schleswig Holstein

Was thanked: 1 time(s) in 1 post(s)
Hello uni!

Thank for all of your nice plugins.

I like to give a hint for using the mcadefi plugin with windows 64.
I found an article about the dll issue:

http://blogs.technet.com...amework-not-working.aspx

I followed the instructions and now the efiplugin works fine with windows 7 ultimate 64

best regards
matthias
thanks 1 user thanked matthias for this useful post.
on 21/06/2013(UTC)
Offline uni  
#51 Posted : 21 June 2013 14:04:13(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
I did it for myself. Such libraries are much faster than SMath Studio plugins. You can use the Fortran code, just rewriting it under the Fortran 2003 standard. Fortran is still used. I wrote a simple fortran library in Visual Studio 2010 (with IVFC XE 12). This dll works in Mathcad too.

In the Developer's Guide (in the Mathcad Help) is used a workaround to use Fortran libraries. They use a wrapper in C to call functions from Fortran library. I do this directly.
Russia ☭ forever
Viacheslav N. Mezentsev
Offline omorr  
#52 Posted : 21 June 2013 16:05:07(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: matthias Go to Quoted Post

I like to give a hint for using the mcadefi plugin with windows 64.
I found an article about the dll issue:

http://blogs.technet.com...amework-not-working.aspx

I followed the instructions and now the efiplugin works fine with windows 7 ultimate 64

This one does not work for me. Still in the efi.txt

6/21/2013 2:51:32 PM [Error] is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline omorr  
#53 Posted : 21 June 2013 16:19:53(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Originally Posted by: uni Go to Quoted Post
I did it for myself. Such libraries are much faster than SMath Studio plugins. You can use the Fortran code, just rewriting it under the Fortran 2003 standard. Fortran is still used. I wrote a simple fortran library in Visual Studio 2010 (with IVFC XE 12). This dll works in Mathcad too.

In the Developer's Guide (in the Mathcad Help) is used a workaround to use Fortran libraries. They use a wrapper in C to call functions from Fortran library. I do this directly.

You said that you wrote a simple fortran library which works both in SMath and Mathcad. That is very interesting. It seems very easy to accomplish this, when you explained this Good , but I think there is no chance to do that by myself. Do you plan, by any chance, to make a plugin by using some existing, free available, Fortran numerical library?

Regards,
Radovan
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline uni  
#54 Posted : 21 June 2013 16:30:55(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
There are well-known IMSL® Numerical Libraries. Many people use this library, but it is commercial. This library exists in different versions (c# one of them). It can be used to extend SMath Studio.

Edited by user 21 June 2013 16:33:16(UTC)  | Reason: Not specified

uni attached the following image(s):
IMSL Demo.PNG
Russia ☭ forever
Viacheslav N. Mezentsev
Offline omorr  
#55 Posted : 21 June 2013 16:46:11(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
I used it long time ago. I remember IMSL FORTAN routines on some VAX machine, more than 20 years ago. Than on some Fortran, MS Power Station 4.0 and Digital,Compaq Visual Fortran, some 10 years ago (sometiimes used NAG as well). I have'nt been using it for a while (10 years or so). Some of them are free. Many years ago I poked into Netlib free library (Fortran company). I switched to some more "light weight" software Good . When you said that it can be inside SMath, I believe you - but it seems to me like a "science fiction" Shok .


Regards,
Radovan

Edited by user 21 June 2013 16:56:40(UTC)  | Reason: Not specified

When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline uni  
#56 Posted : 21 June 2013 17:21:15(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
It's not so hard to use IMSL library now. Simple example (c#) - calculating special function (Imsl.Math.Sfun) Gamma(x):


The program requires some additional files: ImslCS.dll, LicenseFlexLM.dll and license.dat Good
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 21/06/2013(UTC)
Offline uni  
#57 Posted : 21 June 2013 17:29:04(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,493
Man
Russian Federation

Was thanked: 1274 time(s) in 745 post(s)
Originally Posted by: omorr Go to Quoted Post
Originally Posted by: matthias Go to Quoted Post

I like to give a hint for using the mcadefi plugin with windows 64.
I found an article about the dll issue:

http://blogs.technet.com...amework-not-working.aspx

I followed the instructions and now the efiplugin works fine with windows 7 ultimate 64

This one does not work for me. Still in the efi.txt

6/21/2013 2:51:32 PM [Error] is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)

Regards,
Radovan


Try this assembly with the 32BIT flag.
File Attachment(s):
SMathStudio_Desktop_0.96.4909_32bit.zip (196kb) downloaded 85 time(s).
Russia ☭ forever
Viacheslav N. Mezentsev
thanks 2 users thanked uni for this useful post.
on 22/06/2013(UTC),  on 26/06/2013(UTC)
Offline omorr  
#58 Posted : 21 June 2013 17:50:49(UTC)
omorr


Rank: Administration

Groups: Registered, Advanced Member
Joined: 23/06/2009(UTC)
Posts: 1,740
Man
Serbia

Was thanked: 318 time(s) in 268 post(s)
Ha...it worked now Good . efi.txt is full of text now explaining what functions have been loaded Good

Thank you uni,

Regards,
Radovan

P.S. As I unpacked the entire archive OKAWSP6.dll error appeared. Explained here
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
Offline kilele  
#59 Posted : 21 June 2013 19:05:29(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
Could it be possible to make a plugin to make plugins from within SMath or via python scripting ?
I made this suggestion last year:
http://en.smath.info/for...DE-solvers.aspx#post5715

Edit:

This opensource program has an embedded compiler, Johns Hope's FPlot
http://en.smath.info/for...lot-plugin.aspx#post9935
BTW, read the "Download" section on the original site, that approach could be of help for Andrey in order to make the new portable builds without including.NET2.0

Edited by user 22 June 2013 16:20:20(UTC)  | Reason: Not specified

Offline kilele  
#60 Posted : 22 June 2013 17:42:35(UTC)
kilele


Rank: Advanced Member

Groups: Registered
Joined: 30/03/2011(UTC)
Posts: 393

Was thanked: 132 time(s) in 113 post(s)
As for using Fortran in Smath, it seems to be possible by means of Python with the tool F2PY
http://wiki.scipy.org/F2py
http://www.ucs.cam.ac.uk...ix-courses/pythonfortran
https://github.com/theha...thin/PyTrieste/wiki/F2Py
Users browsing this topic
6 Pages<12345>»
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.