-
Content Count
3701 -
Joined
-
Last visited
-
Days Won
185
Everything posted by David Heffernan
-
Delphi implementation of Aberth–Ehrlich method and precision problem
David Heffernan replied to at3s's topic in Algorithms, Data Structures and Class Design
@Kas Ob.It's pointless trying to argue about making the wrong solution work. -
Delphi implementation of Aberth–Ehrlich method and precision problem
David Heffernan replied to at3s's topic in Algorithms, Data Structures and Class Design
Try other compilers isn't going to make any difference here. Other compilers will face the same problems. I am reasonably confident that the correct way forward is to use the right tool for the job. And root finding of the characteristic polynomial is not the way to find eigenvalues on a finite computer. -
Delphi implementation of Aberth–Ehrlich method and precision problem
David Heffernan replied to at3s's topic in Algorithms, Data Structures and Class Design
If your goal is to find eigenvalues then you should use a dedicated library for that. There are a good few about that can handle matrices with sizes in the thousands. It sounds like you are trying to find roots of the characteristic polynomial. This is not a robust approach. -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
I don't need to. I'm not the one making the claim that all huge memory allocations should be made using VirtualAlloc. It's you that is making that claim. -
When can Class.Create fail?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Well not necessarily. Typically you let exceptions float upwards to be handled by some high level exception handler. -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
Not obvious at all. Usually you allocated memory because you wanted to use it. If you've swapped the entire block to disk then bringing a couple of pages back is the least of your worries. Solve your problem by avoiding swapping in the first place. Nothing you have said, in my view, supports your claim that all allocation of huge blocks should be done using VirtualAlloc. -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
I don't see any benchmark to support the assertion that all allocation of huge blocks should be done using VirtualAlloc. Can you point to it. -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
A valid benchmark from a real world program would make me consider what I said. -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
Premature optimisation -
Is interposer class really best to customize TPanel.Paint?
David Heffernan replied to Mike Torrettinni's topic in VCL
Yes, that's what I envisage -
System.GetMemory returning NIL
David Heffernan replied to dummzeuch's topic in RTL and Delphi Object Pascal
Can't understand why you aren't calling GetMem. -
Is interposer class really best to customize TPanel.Paint?
David Heffernan replied to Mike Torrettinni's topic in VCL
Another option is to use a layered window to add the additional painting. This is very flexible, not limited to panels, doesn't require any changes to the implementation of the controls. -
When can Class.Create fail?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
Two things can happen 1. The constructor succeeds and returns a valid object reference. 2. An exception is raised, propagates out of the constructor, and the assignment never happens. -
When can Class.Create fail?
David Heffernan replied to Mike Torrettinni's topic in Algorithms, Data Structures and Class Design
The try finally here isn't protecting the execution of the constructor. It protects against exceptions in the code that runs after the constructor completes, after the try. Look at the code in your post. The try finally is not active when the constructor runs. If an exception is raised in the constructor then the try is never reached. So, yes, you do need the try finally. -
How to keep track/organize all overloaded, extended 3rd party source code?
David Heffernan replied to Mike Torrettinni's topic in General Help
I literally wrote class helpers. It will. That's a problem if you are using other helpers for the class. Are you? -
How to keep track/organize all overloaded, extended 3rd party source code?
David Heffernan replied to Mike Torrettinni's topic in General Help
This is what class helpers are for. Likewise. -
How to keep track/organize all overloaded, extended 3rd party source code?
David Heffernan replied to Mike Torrettinni's topic in General Help
It's possible that the changes you are making to the third party code should be made in your code instead, thus side stepping the problem. -
A painful read from a development team that has bitten off way more than it can chew.
-
issues using filenames with spaces
David Heffernan replied to FranzB's topic in Algorithms, Data Structures and Class Design
Doesn't seem plausible. FileExists doesn't care about spaces. You'll want to do some debugging on a machine that exhibits the behaviour. -
question about GPL and Delphi
David Heffernan replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
could be a long wait -
Invalid Compiler Directive: 'MESSAGES'
David Heffernan replied to Incus J's topic in ICS - Internet Component Suite
Replace that with AtomicIncrement or the Increment method from System.SyncObjs.TInterlocked -
Translation of C headers.
David Heffernan replied to pyscripter's topic in RTL and Delphi Object Pascal
Problem could be how you call the function -
Why should I use good source control versioning system?
David Heffernan replied to Mike Torrettinni's topic in Tips / Blogs / Tutorials / Videos
It really makes not a lot of difference which vcs you use, compared to not using revision control. -
question about GPL and Delphi
David Heffernan replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
If your program requires the covered code in order to function then I think your code needs to also be GPL. Worth talking to the developer of the code. Often they will dual license for such eventualities. -
Probably it is mature now.