Recent

Author Topic: mrMath matrix library  (Read 3436 times)

Alextp

  • Hero Member
  • *****
  • Posts: 888
    • UVviewsoft
mrMath matrix library
« on: November 04, 2018, 12:09:20 pm »
https://github.com/mikerabat/mrmath
It supports FPC. It has classes for matrix handling optimized in ASM.

Quote
FreePascal support has been added for both x86 and x64 windows platforms.
You find a unit test project in the "Test" folder called MathUtilsTestsFPC.lpr

Thaddy

  • Hero Member
  • *****
  • Posts: 9186
Re: mrMath matrix library
« Reply #1 on: November 04, 2018, 12:39:50 pm »
Correction: "optimized" Intel/amd ASM, and only in the context of Windows and Limited linuxes on Intel. So the assembler optimizations are utterly useless cross-platform.
Also: TASMNativeInt? FPC already has a type for that: OpaquePointer (from 3.2)

Otherwise looks good.
« Last Edit: November 04, 2018, 12:58:40 pm by Thaddy »
also related to equus asinus.

apeoperaio

  • Full Member
  • ***
  • Posts: 158
Re: mrMath matrix library
« Reply #2 on: December 10, 2018, 09:48:30 am »
mrmath is a very useful library for fast matrix manipulation. I am actually using it on win, linux, mac.

VTwin

  • Hero Member
  • *****
  • Posts: 787
  • Former Turbo Pascal 3 user
Re: mrMath matrix library
« Reply #3 on: December 11, 2018, 04:18:36 am »
This sounds great, thanks. Would appreciate confirmation that it is cross platform.
“Talk is cheap. Show me the code.” -Linus Torvalds

macOS 10.13.6: Lazarus 2.0 (2.0.7) fixes svn 62148 (64 bit Cocoa)
Ubuntu 18.04.3: Lazarus 2.0.6 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.0.6 (64 bit on VBox)
fpc 3.0.4

VTwin

  • Hero Member
  • *****
  • Posts: 787
  • Former Turbo Pascal 3 user
Re: mrMath matrix library
« Reply #4 on: December 11, 2018, 04:25:16 am »
Is this also 64 bit?
“Talk is cheap. Show me the code.” -Linus Torvalds

macOS 10.13.6: Lazarus 2.0 (2.0.7) fixes svn 62148 (64 bit Cocoa)
Ubuntu 18.04.3: Lazarus 2.0.6 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.0.6 (64 bit on VBox)
fpc 3.0.4

mikerabat

  • New Member
  • *
  • Posts: 26
Re: mrMath matrix library
« Reply #5 on: January 17, 2019, 02:18:40 pm »
it's for 32/64 bit and is cross platform (Win, Linux, Mac).

Just recently I overhauled the 32bit part to have faster function calls (assembler call directive).

There should be a few test projects for Win, Mac and Linux ;)

mikerabat

  • New Member
  • *
  • Posts: 26
Re: mrMath matrix library
« Reply #6 on: January 17, 2019, 02:20:33 pm »
By The way... TASMNativeInt was introduced for Delphi platforms that do not have a NativeInt ;)

mikerabat

  • New Member
  • *
  • Posts: 26
Re: mrMath matrix library
« Reply #7 on: January 20, 2019, 07:49:28 am »
Actually I can confirm it's compatible with x86/x64 Win/Linux/Mac
platforms.

Thaddy

  • Hero Member
  • *****
  • Posts: 9186
Re: mrMath matrix library
« Reply #8 on: January 20, 2019, 11:19:20 am »
Yes, but it is a pity it doesn't support my main platform which is 32/64 arm-linux.... :D

Otherwise it does what is says on the tin... Good job..
also related to equus asinus.

BlueIcaro

  • Hero Member
  • *****
  • Posts: 576
Re: mrMath matrix library
« Reply #9 on: March 22, 2019, 11:50:21 am »
Hi, where can I find  some help/info/description about the funcions and procedures?
thanks
/BlueIcaro
Remenber, the lazarus wiki is your friend: http://wiki.lazarus.freepascal.org/Main_Page
General questions (several lenguages) http://wiki.lazarus.freepascal.org/

mikerabat

  • New Member
  • *
  • Posts: 26
Re: mrMath matrix library
« Reply #10 on: March 28, 2019, 02:55:22 pm »
I started this:

https://github.com/mikerabat/mrmath/wiki

And a few examples can be downloaded here:
http://www.mrsoft.org/home/downloads.html