From: Andras V. <and...@ui...> - 2012-08-17 08:40:52
|
Dear Raimar, Thanks for your work on this. I merged into the master branch and updated the documentation. I also agree with what you did for the Mac OS support. I also merged into BlitzCVS_compatibility from raimar/BlitzCVS_cmake. As to the consistency checks for Composite at compile time, they come on three levels: * Composite itself only checks whether all the quantum numbers are addressed by an Act. So this is e.g. not allowed: composite::result_of::Make<Act<0,1>,Act<0,2>,Act<0,3>,Act<3,2,5,1> >::type because 4 is not addressed and hence the Composite object has no way to figure out what kind of Free object is there. * The instantiated slice iterators do some further checks for each Act individually: - RANK must be greater than or equal to the arity of Act - Act must not "contain" duplicated "elements" (Act<3,2,3,1> not allowed) - each element in Act must be smaller than RANK * Finally, tmptools::Vector checks for the non-negativity of each element (as it is supposed to be a non-negative compile-time vector) This is followed by a check at runtime, when the actual elements become available, whether the legs of the Act objects are consistent among each other. Cf. composite::FillFrees::Inner::operator() . Best regards, András On Thu, Aug 16, 2012 at 3:46 PM, Raimar Sandner <rai...@ui...> wrote: > I updated all the include guards to make them consistent (raimar/tccStaging) and documented the conventions used (raimar/Documentation). > The rules are: > > filename with path relative to project dir -> uppercase -> replace '.' and '/' with '_' -> append _INCLUDED > > With this convention in place fixing include guards can be easily automated in the future by parsing for lines which contain _INCLUDED and rewrite them. > > Actually, this does the job: > > for f in $(find * -name *.h -o -name *.tcc);\ > do \ > perl -pi -e "s[(\S*_INCLUDED)]{my \$newguard=uc(qq(${f}_INCLUDED));\$newguard=~ s|[./]|_|g; qq(\$newguard)}e" $f; \ > done > > This will scan every .h and .tcc file and replace any include guard which contains _INCLUDED by one that conforms to the rules above. > > > > On Tuesday 14 August 2012 11:38:26 Raimar Sandner wrote: >> Dear András, >> >> I removed MCWF.h and added explicit template instantiations for >> BinarySystem. The result is in raimar/tccStaging, and it compiles in >> release mode again. >> >> Best regards >> Raimar >> >> On Monday 13 August 2012 11:04:59 Andras Vukics wrote: >> > Dear Raimar, >> > >> > To me, everything you did here seems fine, I have only one small question: >> > * Why is there a separate MCWF.h, and if there is, why does >> > Evolution.h not include it ? EvolutionHigh.h used to pull in >> > everything needed to evolve on quantumtrajectories. >> > >> > Please check out the branch tccStaging where I have updated >> > utils/testsuite and corrected a few small problems. The testsuite can >> > be run simply with >> > bjam (release) >> > in the utils/testsuite folder. >> > >> > I made a small test, and compilation dependencies have indeed >> > decreased with this scheme: >> > >> > quantumdata/impl/StateVector.tcc: 51 targets depends on it (used to be >> > 58 targets) >> > elements/frees/impl/Mode.tcc: 32 targets (58 targets) >> > >> > utils/include/impl/Evolved.tcc: 50 targets (60 targets) >> > utils/include/impl/BlitzArraySliceIterator.tcc: 50 targets (54 targets) >> > >> > Thanks and best regards, >> > András >> > >> > >> > >> > On Sat, Aug 11, 2012 at 2:03 AM, Raimar Sandner >> > >> > <rai...@ui...> wrote: >> > > Dear András, >> > > >> > > I have pushed raimar/tcc_new (and removed raimar/tcc). Tcc_new is >> > > already >> > > branched from the latest r229 of master so that you don't need to merge >> > > with the binary and composite changesets again. >> > > >> > > I tried to stick to what we have discussed recently and also updated the >> > > code organization rationales accordingly (raimar/Documentation). >> > > >> > > Please note that I have also converted the pair >> > > BlitzArraySlieIterator.h/tcc to the new style by defining the macros in >> > > a >> > > separate file which is included in both headers. Now the tcc scheme is >> > > consistent across the framework, but if you don't like this approach >> > > just >> > > leave out the last commit when you merge. >> > > >> > > Furthermore I have added LazyDensityOperator.tcc, and converted some of >> > > the >> > > frees headers to Free_.h so that Free.h can bundle Free_.h (or >> > > impl/Free.tcc if present) together with ParsFree.h. However, I have not >> > > changed the interaction header files in the same way yet. Currently >> > > these >> > > are not used anywhere in the framework and Pars... headers are just >> > > included in the corresponding interaction header file, so script users >> > > have only to include this one header file anyway. >> > > >> > > Best regards >> > > Raimar >> > > >> > > >> > > PS: probably the testsuites are pretty much broken right now because of >> > > all >> > > these changes, but I could not start them to check. How do I run the >> > > tests >> > > with bjam again? >> > > >> > > ------------------------------------------------------------------------ >> > > -- >> > > ---- Live Security Virtual Conference >> > > Exclusive live event will cover all the ways today's security and >> > > threat landscape has changed and how IT managers can respond. >> > > Discussions >> > > will include endpoint security, mobile security and the latest in >> > > malware >> > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> > > _______________________________________________ >> > > Cppqed-support mailing list >> > > Cpp...@li... >> > > https://lists.sourceforge.net/lists/listinfo/cppqed-support > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Cppqed-support mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppqed-support |