Project

General

Profile

Activity

From 05 Oct 2015 to 03 Nov 2015

03 Nov 2015

22:59 Feature #48: Squarefree factorization - multivariate polynomials, char 0
I'm not sure; I suspect it will not work in every case.
What coeff ring did you have in mind? Were you thinking o...
John Abbott
17:26 Feature #48: Squarefree factorization - multivariate polynomials, char 0
In @factor.C@ there is the line:... Anna Maria Bigatti
16:15 Bug #793: compilation on fedora 23: some worrying "error messages"
I'm compiling some other programs; compilation time varies from 2mins to almost 5mins. I'll ask the technical guy if... John Abbott
15:00 Bug #793: compilation on fedora 23: some worrying "error messages"
I'm recompiling (with full debugging), and the mysterious @Fatal error@ messages have not reappeared; and anyway desp... John Abbott
14:45 Bug #793: compilation on fedora 23: some worrying "error messages"
John Abbott wrote:
> The new computer took *100mins* to compile and run the examples. Just running the examples take...
Anna Maria Bigatti
12:56 Bug #793 (In Progress): compilation on fedora 23: some worrying "error messages"
The new computer took *100mins* to compile and run the examples. Just running the examples takes only 30secs.
John Abbott
11:34 Bug #793: compilation on fedora 23: some worrying "error messages"
I shall try to investigate this, but it may take a long time. The new computer seems to be quite fast (_e.g._ more t... John Abbott
14:15 Design #794 (Rejected): ar gives warnings on fedora 23
The archive creator @ar@ gives warnings about the use of @u@ flag with the @r@ flag (because the default is @D@).
...
John Abbott
11:31 Design #649: Make SmallFpImpl safer to use
I quite like @NonRedValue@; it is quite clear, and a bit long (to discourage "casual use"). I'll try changing the co... John Abbott

02 Nov 2015

15:53 Design #649: Make SmallFpImpl safer to use
John Abbott wrote:
> There is a question about names:
> * *@SmallFpImpl::value@* is the class for reduced values
>...
Anna Maria Bigatti
15:01 Bug #793 (Closed): compilation on fedora 23: some worrying "error messages"
Compilation on the new computer (with fedora 23, due for release tomorrow ?!!? according to Wikipedia) produced sever... John Abbott
14:41 Slug #792: configure: search for libgmp too slow
Since I believe that the @find@ command is the culprit, the solution would be to eliminate it. This could be done by... John Abbott
14:39 Slug #792: configure: search for libgmp too slow
The situation was the following. The new computer did not have GMP installed, so the attempt to use @-lgmp@ failed, ... John Abbott
14:16 Slug #792 (Closed): configure: search for libgmp too slow
I have new computer (here in Kassel). I am trying to build CoCoALib/CoCoA-5. The @configure@ script took *ages* to ... John Abbott

30 Oct 2015

18:49 Design #649: Make SmallFpImpl safer to use
When a @SmallFpImpl@ is printed currently it appears as @SmallFpImpl(p)@ where @p@ is the prime. Should the export c... John Abbott
18:45 Design #649: Make SmallFpImpl safer to use
I am not entirely happy with the length of the names for the export conventions:
* *@GlobalSettings::SymmResidues@*
...
John Abbott
16:06 Design #649: Make SmallFpImpl safer to use
I like all types in CoCoALib to be printable; naturally this includes *@value@* and *@uvalue@*.
@SmallFpImpl@ offers...
John Abbott
10:56 Design #649: Make SmallFpImpl safer to use
I now disagree with my comment number 3. I think that the impl using new types (classes) to represent the values is ... John Abbott
10:47 Support #791: Clean code for DistrMPolyClean
I'm hoping Anna will "volunteer" to do this ;-)
John Abbott

29 Oct 2015

21:55 Bug #784: threadsafety: Scott Meyers's advice about cached values
Victor Shoup said he made NTL threadsafe (using C++11) Anna Maria Bigatti
14:52 Bug #790: RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
John Abbott wrote:
> Now I am slightly undecided which implementation I prefer:
> Impl *(A)*:
> [...]
> Impl *(B)...
Anna Maria Bigatti
11:56 Bug #790: RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
Now I am slightly undecided which implementation I prefer:
Impl *(A)*:...
John Abbott
14:04 Support #791 (New): Clean code for DistrMPolyClean
There is quite a lot of cruft in @DistrMPolyClean.C@.
Remove everything that is no longer needed.
Perhaps also chec...
John Abbott
14:02 Bug #680 (Resolved): DistrMPolyClean does not use MemPool for summands?
I have now revised the code so that it uses its @MemPool@ for summands; essentially I had to "steal" the idea of @New... John Abbott

28 Oct 2015

18:29 Design #789: NumTheory: behaviour of InvMod when inverse does not exist
John Abbott wrote:
>
> Making @InvMod@ throw an exception is an interface change, so it could in principle break...
Anna Maria Bigatti
15:25 Bug #790 (Resolved): RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
The problem was a missing pair of curly brackets around a "then" clause comprising two commands (location @DistrMPoly... John Abbott
11:15 Bug #790: RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
I compiled CoCoALib with the @MemPool@ debugging options active.
In @test-SparsePolyRing1.C@ I inserted the followin...
John Abbott
11:12 Bug #790 (Closed): RingDistrMPolyInlFpPPImpl::mySummandPool frees ZERO PTR many times
I have run @test-SparsePolyRing1@ with @MemPool@ verbose active, and there were lots of warnings about freeing @ZERO ... John Abbott

26 Oct 2015

11:54 Design #789 (In Progress): NumTheory: behaviour of InvMod when inverse does not exist
Currently @InvMod(r,m)@ returns 0 if no inverse exists. This is simple to implement, and can easily be used by the c... John Abbott
11:43 Design #789 (Closed): NumTheory: behaviour of InvMod when inverse does not exist
Currently @InvMod(r,m)@ returns 0 if there is no inverse of @r@ modulo @m@.
Should it throw an exception (presumab...
John Abbott

22 Oct 2015

15:54 Bug #680: DistrMPolyClean does not use MemPool for summands?
John Abbott wrote:
> I was a bit surprised to find that @DistrMPolyClean@ is not as clean as I had expected.
oops. I...
Anna Maria Bigatti
15:37 Bug #680 (In Progress): DistrMPolyClean does not use MemPool for summands?
I have mimicked the idea of @NewSummandPtr@ from @DistrMPolyInlFpPP@. It all compiles, and the tests pass (miracle?)... John Abbott
15:14 Design #649: Make SmallFpImpl safer to use
I think this is a good choice: it is exactly what we do for @ring@, so the code is overall more coherent Anna Maria Bigatti
12:15 Design #649: Make SmallFpImpl safer to use
After speaking to Anna, I have added @IsZero@ and @IsOne@, and also the new calls @zero(SmallFp)@ and @one(SmallFp)@.... John Abbott
13:49 Support #788 (New): No doc for DistrMPolyInlFpPP
There is no documentation for @DistrMPolyInlFpPP@.
The documentation for @DistrMPolyInlPP@ is quite scant.
John Abbott

20 Oct 2015

17:37 Design #649: Make SmallFpImpl safer to use
Why did I interfere with working code? Well, it's not working now; it's not even compiling! :-(
Well, @SmallFpImpl@...
John Abbott
14:55 Feature #735: Convert a PPMonoidElem to RingElem with coefficient one
Hi Anna. Could you finish this issue, and take it to "feedback"? Thanks, J John Abbott
14:33 Feature #482 (In Progress): Unique copies of rings -- smart ctor
Continuing with the assumption that rings in the registry will be destroyed (in reverse) order when the @GlobalManage... John Abbott

19 Oct 2015

17:08 Design #787: Remove refcounts from RingElem?
The comment about memory consumption is partly related to issue #786; if the "waste" per ring is small enough, it may... John Abbott
16:53 Feature #180 (Resolved): GlobalManager: registration of global variables
I've added some doc to @GlobalManager.txt@; it's probably not the best place, but no other place springs to mind.
...
John Abbott
15:08 Feature #180: GlobalManager: registration of global variables
I wonder whether the possibility to register the pair ptr+dtor should be removed later on. At the moment it is used ... John Abbott
14:54 Feature #180: GlobalManager: registration of global variables
I have implemented the clean version; the "nifty" version can be kept for later if it turns out that the stack of dto... John Abbott

16 Oct 2015

16:19 Design #787: Remove refcounts from RingElem?
So far we've been creating rings for temporary computations without worrying too much (indeed: starting every time wi... Anna Maria Bigatti
14:07 Design #787 (New): Remove refcounts from RingElem?
Ref counts tend to work badly in multithreaded environments (since the incr/decr operations have to be atomic, and/or... John Abbott
14:34 Feature #180: GlobalManager: registration of global variables
It seems that C++ STL provides no guarantees about the order of destruction of elements in a container: see @http://s... John Abbott
14:20 Feature #180: GlobalManager: registration of global variables
Here is a "trick" which could work:
define a function @void CallDtor(void* dtor) { dtor(); }@ and then
to register an...
John Abbott
12:11 Feature #180 (In Progress): GlobalManager: registration of global variables
I discovered yesterday that this has already been implemented (at least partly).
Furthermore the implementation wa...
John Abbott
12:27 Feature #482: Unique copies of rings -- smart ctor
I am considering as a "first step" towards possibly implementing unique copies of (some) rings to implement a global ... John Abbott

15 Oct 2015

17:27 Design #785: finite fields: global register of fields already created?
John Abbott wrote:
> and the rings must be destroyed in the correct order (reverse order of construction).
> THIS ...
Anna Maria Bigatti
16:36 Design #785: finite fields: global register of fields already created?
I modified my prototype so that it registered the @std::map@ for global destruction, then realised that the order of ... John Abbott
15:49 Feature #142: Improve threadsafety
After looking around on internet it seems that C++98 has no portable way of dealing with threadsafety, but C++11 (and... John Abbott

14 Oct 2015

15:04 Design #786: MemPool: review min and max loaf sizes
Thanks, Anna, for volunteering!
The relevant lines are in @MemPool.C@ around line 100.
Change @MinLoafBytes@ to...
John Abbott
09:21 Design #786: MemPool: review min and max loaf sizes
I think that @implicit@ could be a good test.
I can do it, could you give me indications on the first tests to try?...
Anna Maria Bigatti
09:03 Feature #664: Impl small non-prime finite fields (using logs)
If we construct a @F_p[x]/(f)@ would it be possible to convert it internally to your @F_q@? (I'm very ignorant on th... Anna Maria Bigatti

13 Oct 2015

17:35 Design #785: finite fields: global register of fields already created?
John Abbott wrote:
> Presumably the global register will comprise two @std::map@ objects: one for characteristics wh...
Anna Maria Bigatti

12 Oct 2015

17:13 Feature #664: Impl small non-prime finite fields (using logs)
If CoCoALib offers a function which creates a (non-prime?) finite field given just its cardinality (or maybe characte... John Abbott
16:58 Design #785: finite fields: global register of fields already created?
Presumably the global register will comprise two @std::map@ objects: one for characteristics which fit into @long@, a... John Abbott
16:14 Design #785: finite fields: global register of fields already created?
JAA and Renzo discussed the idea of automatically creating all small, prime finite fields (up to size 32767, say) dur... John Abbott
11:49 Design #785: finite fields: global register of fields already created?
A global register of finite fields would imply that once a field has been created it cannot later be destroyed (unles... John Abbott
11:44 Design #785 (New): finite fields: global register of fields already created?
The rings @ZZ@ and @QQ@ are global and unique -- you cannot (any more) create two copies of @ZZ@ or of @QQ@.
The s...
John Abbott
16:36 Bug #784: threadsafety: Scott Meyers's advice about cached values
Here's an example of what Meyers suggests:... John Abbott
11:17 Bug #784: threadsafety: Scott Meyers's advice about cached values
We definitely want CoCoALib to be threadsafe. It mostly is when compiled with @-DCoCoA_THREADSAFE_HACK@, but some se... John Abbott
11:13 Bug #784 (In Progress): threadsafety: Scott Meyers's advice about cached values
The first 17 mins of the video @EffectiveModernCpart6.mp4@ by Scott Meyers are about correct threadsafe design of cod... John Abbott
16:01 Design #786: MemPool: review min and max loaf sizes
Someone should do some benchmarking to see if changing the lower/upper limits for loaf size has any measurable effect... John Abbott
15:58 Design #786: MemPool: review min and max loaf sizes
The problem arose when I experimented creating all (prime) finite fields up to characteristic 32767. There are about... John Abbott
15:50 Design #786: MemPool: review min and max loaf sizes
I am reasonably sure that the upper limit is far too large: as it currently stands it can ask the system for 64M of c... John Abbott
15:44 Design #786 (Closed): MemPool: review min and max loaf sizes
Currently each @MemPool@ has a minimum and maximum loaf size set to 64K and 64M respectively.
Review these values;...
John Abbott

09 Oct 2015

20:20 Bug #783 (Feedback): abs for MachineInt
Checked in several files: new @MachineInt.H@ and several consequential changes.
I got the redmine reference wrong wh...
John Abbott
13:49 Bug #783: abs for MachineInt
The problem of @::std::abs@ being hidden (when inside @namespace CoCoA@) persists even after @abs(MachineInt)@ has be... John Abbott
12:23 Bug #783: abs for MachineInt
I have implemented the suggestion in comment 3 above. Also changed all files which need to be changed; now running a... John Abbott
11:31 Bug #783: abs for MachineInt
I have observed to uses for @abs(MachineInt)@:
* to obtain the absolute value (_e.g._ in some division/remainder fun...
John Abbott
10:52 Bug #783 (In Progress): abs for MachineInt
I think there are two possible approaches:
# rename @abs(MachineInt)@
# ensure that the standard library @abs@ fns ...
John Abbott
10:50 Bug #783: abs for MachineInt
I found the problem when trying to investigate why @test-NumTheory1.C@ produced warnings (about comparing @signed@ an... John Abbott
10:46 Bug #783 (Closed): abs for MachineInt
There is a fn called @abs@ for @MachineInt@; it works fine (and returns an @unsigned long@).
The problem is that i...
John Abbott
20:18 Feature #586 (Rejected): BigInt ctor from a machine integer
Checked in the commented out defns of ctors for @BigInt@ direct from machine integer types.
Marking as "Rejected" ...
John Abbott
14:09 Feature #586: BigInt ctor from a machine integer
@Christof:
Yes, I implemented 8 new ctors for @BigInt@ direct from the various C++ machine integer types; and yes, t...
John Abbott
11:32 Feature #586: BigInt ctor from a machine integer
So to make sure I got it right. You implemented the constructures @BigInt(long)@ and so on, and now get this ambiguit... Christof Soeger
09:47 Feature #586: BigInt ctor from a machine integer
I've decided for option *(A)* "undo"; the others seem to be too much hassle+risk.
I'll comment out the new BigInt ...
John Abbott

08 Oct 2015

17:53 Feature #586: BigInt ctor from a machine integer
I'll think about it overnight, but suspect that "undo" is the best (=least bad) solution.
John Abbott
17:52 Feature #586: BigInt ctor from a machine integer
There is an option *(C)* but it is not realistic: I could define @operator>@ between @BigInt@ and each of the actual ... John Abbott
17:51 Feature #586: BigInt ctor from a machine integer
John Abbott wrote:
> Right now I do not see any good way out of this:
> * *(A)* undo: _i.e._ no implicit coversion ...
Anna Maria Bigatti
17:33 Feature #586: BigInt ctor from a machine integer
I have just encountered a bigger problem...
Line 167 of @BigInt.C@ wants to evaluate the expression @N > 0@ where @N...
John Abbott
16:58 Feature #586: BigInt ctor from a machine integer
John Abbott wrote:
> However C++ allows only a single stage of conversion when doing automatic conversions.
well,...
Anna Maria Bigatti
16:33 Feature #586: BigInt ctor from a machine integer
I have found a catch...
If @a@ and @b@ are variables of type @int@, and the only signature for @lcm@ expects two @Bi...
John Abbott
15:33 Feature #586: BigInt ctor from a machine integer
Here are the fns which would benefit from having implicit conversion to @BigInt@:
* @ILogBase@ --> need just 1 signa...
John Abbott
15:13 Feature #586: BigInt ctor from a machine integer
On several occasions the design of CoCoALib has preferred the path of "ease of use" over that of "absolute speed". S... John Abbott
12:18 Feature #586: BigInt ctor from a machine integer
There could be some minor benefit to @NumTheory.H@ especially @PowerMod@ which has 8 different signatures to cover al... John Abbott
12:04 Feature #586: BigInt ctor from a machine integer
As a check I reinserted the @explicit@ keyword and tried to compile: two (minor) problems arose in @NumTheory.C@ wher... John Abbott
11:02 Feature #586: BigInt ctor from a machine integer
It seems that I had forgotten about this task. I will try to finish it now. John Abbott
14:48 Support #621 (Closed): Release: CoCoALib-0.99536
Anna Maria Bigatti
14:47 Support #754 (Closed): Release: CoCoALib-0.99538 (together with CoCoA-5.1.2)
Anna Maria Bigatti
 

Also available in: Atom