NO

Author Topic: Fork of QD (2.3.17) dll  (Read 12980 times)

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Fork of QD (2.3.17) dll
« on: August 12, 2017, 09:23:20 AM »
Fork of QD (2.3.17) dll
c_test.c from it & QD.dll & QD.lib import library.

EDIT: missing headers and libs added.
EDIT  QDSSE.dll for 32-bit.
« Last Edit: December 01, 2020, 08:25:44 PM by TimoVJL »
May the source be with you

Offline jj2007

  • Member
  • *
  • Posts: 536
Re: Fork of QD (2.3.17) dll
« Reply #1 on: August 12, 2017, 05:07:04 PM »
That looks very interesting, thanks ;-)

The *.lib files are just import libs. How useful is that, if you need the DLL anyway?

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Re: Fork of QD (2.3.17) dll
« Reply #2 on: August 12, 2017, 05:11:32 PM »
Because it is C++ code, dll is obvious choice.
May the source be with you

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #3 on: August 13, 2017, 01:43:39 AM »
thanks you :)

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #4 on: August 13, 2017, 02:20:36 AM »
hello TimoVJL
is there a way for you to compile the 32-bit version using sse?,  then you won't have to worry about fpu_fix_start/fpu_fix_end.
I edited the makefile in QD-master\src and added -mfpmath=sse -msse2 to CPPFLAGS = -O2 -mfpmath=sse -msse2
but that's when using gcc, not sure how you would do that in PellesC.
btw, that's a very small-sized dll, only 115k, mine compiled with gcc was 1.2 meg even after stripping.
« Last Edit: August 13, 2017, 08:57:52 AM by jack »

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Re: Fork of QD (2.3.17) dll
« Reply #5 on: August 13, 2017, 09:01:16 AM »
It was compiled with msvc 2010 with dynamic dlls.
It uses msvcp100.dll.

I added SSE version, with cl option -arch:SSE too.
May the source be with you

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #6 on: August 13, 2017, 12:23:45 PM »
unfortunately it's still using the fpu.
« Last Edit: August 13, 2017, 12:39:25 PM by jack »

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #7 on: August 13, 2017, 02:50:22 PM »
TimoVJL, did you have to edit any of the source files in order for vs to compile the project?
I have visual studio 2013-pro and also later community editions but am not able to setup a dll project that will compile
I have an older project, qd-2.3.7 and the 32-bit version compiles ok but if I replace the source files with the newer version then I have problems, something like max is not defined in the namespace std and can't convert qd_read to int.

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Re: Fork of QD (2.3.17) dll
« Reply #8 on: August 13, 2017, 03:31:30 PM »
No.
build cmd attached.
May the source be with you

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #9 on: August 13, 2017, 04:54:44 PM »
thank you
but still the same problem when using vs-2013
Quote
src\qd_real.cpp(446) : error C2039: 'max' : is not a member of 'std'
src\qd_real.cpp(446) : error C2440: '=' : cannot convert from 'qd_real' to 'int'
I have vs-2010 somewhere.

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Re: Fork of QD (2.3.17) dll
« Reply #10 on: August 13, 2017, 07:27:29 PM »
so you have to add
Code: [Select]
#if _MSC_VER >= 18
#include <algorithm>
#endif
to dd_real.cpp and qd_real.cpp
May the source be with you

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #11 on: August 13, 2017, 07:55:56 PM »
you are the man  :)
works like a charm, thank you.

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #12 on: August 24, 2017, 01:37:17 PM »
tank you TimoVJL  :)
having a C version means we can have a static lib instead of a dll, will keep an eye on your progress.

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #13 on: August 27, 2017, 05:22:13 AM »
hello TimoVJL :)
just for fun I tried to compile the source files with gcc and there are no complaints, however if I try to compile to dll then there are three errors
undefined reference to `c_dd_error'
undefined reference to `c_dd_div_d_dd'
undefined reference to `dd_real_eps'
« Last Edit: August 27, 2017, 05:25:14 AM by jack »

Offline jack

  • Member
  • *
  • Posts: 66
Re: Fork of QD (2.3.17) dll
« Reply #14 on: August 27, 2017, 12:35:03 PM »
thank you