From jrheinlaender at gmx.de Tue May 1 12:54:27 2018 From: jrheinlaender at gmx.de (=?UTF-8?Q?Jan_Rheinl=c3=a4nder?=) Date: Tue, 1 May 2018 12:54:27 +0200 Subject: [GiNaC-devel] CLN and GiNaC patches for Win64 build In-Reply-To: References: <20120813072917.GB10841@vargsbox.jinr.ru> <98D1EEE2-439A-4619-AE67-8ADD6D6B30A2@gmail.com> <20120814194242.GA5039@vargsbox.jinr.ru> <999C378C-1529-4FC9-8EA5-64BED35F179E@gmail.com> Message-ID: <7ade4d46-1c08-adc7-3d9c-b88e5c5be269@gmx.de> Hi, I reviewed Robert's patches and added some of my own, that were necessary for GiNaC to work with CLN on Win64. They can be viewed on Github: === CLN === https://github.com/jrheinlaender/cln/commits/win64 There are two kinds of patches: - Patches required for Win64 platform (e.g. UL is 32 bit type on that platform). Mostly due to Robert (Number 1-10) - Cosmetic patches to avoid unnecessary compiler warnings (e.g. confusion of class and struct) Most patches I surrounded with #ifdef _M_AMD64 so that other platforms will be unaffected === GiNaC === https://github.com/jrheinlaender/ginac/commits/win64 - Here I removed some old patches that are not required any more because of improvements in MSVC 2015 - And added a few constructors from size_t I hope these patches are OK and can be included in master. Am 24.02.2018 um 12:49 schrieb Robert Szalai: > > Here is the previous win64 patch set... > > ---------- Forwarded message ---------- > From: "Robert Szalai" > > Date: Aug 15, 2012 02:22 > Subject: Re: [CLN-list] MinGW64 build > To: "CLN discussion list" > > Cc: > > Hi Alexei, > > I've splitted the path into 10 parts. There is a bigger one that > is only > s/long/intptr_t/? and s/unsigned long/uintptr_t/ > the rest is very small. > > Hopefully this can now be applied. > > > Ditto (the corresponding hunk is not quite optimal, though. > {s,u}int32 > > can be typedef'ed to {,u}int32_t => no need for ugly #if's). > > I was thinking of this, however we need exactly the same > underlying type as > (u)intptr_t for the same sized integer to avoid compiler confusion. > So in some cases (e.g. on i686 Linux) stdint.h might define > int32_t as int and intptr_t as long > and in this case the compiler will complain about multiple > definition of the same function. > > Bests, > Robert > > > > _______________________________________________ > CLN-list mailing list > CLN-list at ginac.de > https://www.cebix.net/mailman/listinfo/cln-list -------------- next part -------------- An HTML attachment was scrubbed... URL: From kreckel at in.terlu.de Tue May 1 20:41:58 2018 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Tue, 1 May 2018 20:41:58 +0200 Subject: [GiNaC-devel] CLN and GiNaC patches for Win64 build In-Reply-To: <7ade4d46-1c08-adc7-3d9c-b88e5c5be269@gmx.de> References: <20120813072917.GB10841@vargsbox.jinr.ru> <98D1EEE2-439A-4619-AE67-8ADD6D6B30A2@gmail.com> <20120814194242.GA5039@vargsbox.jinr.ru> <999C378C-1529-4FC9-8EA5-64BED35F179E@gmail.com> <7ade4d46-1c08-adc7-3d9c-b88e5c5be269@gmx.de> Message-ID: <6a66faac-e056-7314-58f2-ffbe695ef4b3@in.terlu.de> Hi Jan, Thanks for the patches! On 05/01/2018 12:54 PM, Jan Rheinl?nder wrote: > - And added a few constructors from size_t Interesting. What's the reason these ctors from size_t are needed? -richy. From git at ginac.de Tue May 1 20:43:52 2018 From: git at ginac.de (Richard B. Kreckel) Date: Tue, 1 May 2018 20:43:52 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-607-gf49f9a14 Message-ID: <20180501184352.2BE34D8011D@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via f49f9a14764515fd7c2ddc20d7c7cb651ba25cc0 (commit) from f532e05bf7638c592ee609943c349739500480bf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f49f9a14764515fd7c2ddc20d7c7cb651ba25cc0 Author: Jan Rheinl??nder Date: Tue May 1 20:43:04 2018 +0200 Remove MSVC-specific definition of __func__ and __alignof__. They are not required any more in C++11. ----------------------------------------------------------------------- Summary of changes: ginac/compiler.h | 5 ----- ginac/polynomial/primes_factory.h | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From jrheinlaender at gmx.de Wed May 2 20:22:09 2018 From: jrheinlaender at gmx.de (=?UTF-8?Q?Jan_Rheinl=c3=a4nder?=) Date: Wed, 2 May 2018 20:22:09 +0200 Subject: [GiNaC-devel] CLN and GiNaC patches for Win64 build In-Reply-To: <6a66faac-e056-7314-58f2-ffbe695ef4b3@in.terlu.de> References: <20120813072917.GB10841@vargsbox.jinr.ru> <98D1EEE2-439A-4619-AE67-8ADD6D6B30A2@gmail.com> <20120814194242.GA5039@vargsbox.jinr.ru> <999C378C-1529-4FC9-8EA5-64BED35F179E@gmail.com> <7ade4d46-1c08-adc7-3d9c-b88e5c5be269@gmx.de> <6a66faac-e056-7314-58f2-ffbe695ef4b3@in.terlu.de> Message-ID: Hi Richy, here's what the compiler says (sorry my system is German): factor.cpp(2254): error C2440: "Initialisierung": "std::size_t" kann nicht in "GiNaC::numeric" konvertiert werden factor.cpp(2254): note: Quelltyp konnte von keinem Konstruktor angenommen werden, oder die ?berladungsaufl?sung des Konstruktors ist mehrdeutig The code in line 2254 is: numeric modulus = (vnlst.nops() > 3) ? vnlst.nops() : 3; It initializes a numeric from the return value of nops(), which is size_t. Am 01.05.2018 um 20:41 schrieb Richard B. Kreckel: > Hi Jan, > > Thanks for the patches! > > On 05/01/2018 12:54 PM, Jan Rheinl?nder wrote: >> - And added a few constructors from size_t > Interesting. What's the reason these ctors from size_t are needed? > > -richy. > _______________________________________________ > GiNaC-devel mailing list > GiNaC-devel at ginac.de > https://www.cebix.net/mailman/listinfo/ginac-devel From kreckel at in.terlu.de Fri May 4 23:38:05 2018 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Fri, 4 May 2018 23:38:05 +0200 Subject: [GiNaC-devel] CLN and GiNaC patches for Win64 build In-Reply-To: References: <20120813072917.GB10841@vargsbox.jinr.ru> <98D1EEE2-439A-4619-AE67-8ADD6D6B30A2@gmail.com> <20120814194242.GA5039@vargsbox.jinr.ru> <999C378C-1529-4FC9-8EA5-64BED35F179E@gmail.com> <7ade4d46-1c08-adc7-3d9c-b88e5c5be269@gmx.de> <6a66faac-e056-7314-58f2-ffbe695ef4b3@in.terlu.de> Message-ID: On 05/02/2018 08:22 PM, Jan Rheinl?nder wrote: > here's what the compiler says (sorry my system is German): > > factor.cpp(2254): error C2440: "Initialisierung": "std::size_t" kann > nicht in "GiNaC::numeric" konvertiert werden > factor.cpp(2254): note: Quelltyp konnte von keinem Konstruktor > angenommen werden, oder die ?berladungsaufl?sung des Konstruktors ist > mehrdeutig > > The code in line 2254 is: > > numeric modulus = (vnlst.nops() > 3) ? vnlst.nops() : 3; > > It initializes a numeric from the return value of nops(), which is size_t. So on Windos, where unsigned int is the same as unsigned long, the two existing overloads of numeric ctor are ambiguous. Bummer. It's better to convert these prototypes to uint32_t, uint64_t from than add more overloads for size_t. This way, we need to maintain two overloads, rather than three. -richy. From git at ginac.de Thu May 31 17:49:15 2018 From: git at ginac.de (Richard B. Kreckel) Date: Thu, 31 May 2018 17:49:15 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-608-ge432b374 Message-ID: <20180531154915.60C76D800DC@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via e432b3743d3d32f6060600af580e49d7033dcae9 (commit) from f49f9a14764515fd7c2ddc20d7c7cb651ba25cc0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit e432b3743d3d32f6060600af580e49d7033dcae9 Author: Vitaly Magerya Date: Thu May 31 17:43:56 2018 +0200 Add Markowitz-ordered Gaussian elimination algorithm. This algorithm avoids the 'fill-in' problem of Gaussian elimination and significantly improves the times for solving large sparse systems. See: . ----------------------------------------------------------------------- Summary of changes: AUTHORS | 2 +- check/check_lsolve.cpp | 55 ++++++++++---------- ginac/flags.h | 8 ++- ginac/inifcns.cpp | 26 +++++++++- ginac/matrix.cpp | 134 ++++++++++++++++++++++++++++++++++++++++++++++--- ginac/matrix.h | 1 + 6 files changed, 189 insertions(+), 37 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Thu May 31 18:43:54 2018 From: git at ginac.de (Richard B. Kreckel) Date: Thu, 31 May 2018 18:43:54 +0200 (CEST) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-609-g634aa6e5 Message-ID: <20180531164354.CA08DD80145@cebix.net> This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GiNaC -- a C++ library for symbolic computations". The branch, master has been updated via 634aa6e548145d865327188a7a3517fdd0ce1cb3 (commit) from e432b3743d3d32f6060600af580e49d7033dcae9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 634aa6e548145d865327188a7a3517fdd0ce1cb3 Author: Vitaly Magerya Date: Thu May 31 18:39:08 2018 +0200 Allow expreseq in the arguments of lsolve(eqns, vars). See . ----------------------------------------------------------------------- Summary of changes: ginac/inifcns.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations