aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/cell.c
AgeCommit message (Collapse)Author
2021-05-17Resolve FIXMEs and TODOsThomas White
Prompted by the article linked below, for each FIXME/TODO I've either referenced an issue in the tracker, or removed it if it's not worth fixing. https://schleiss.io/plotting-source-code-todos-for-open-source-projects
2021-04-27Rename libcrystfel's config.h to libcrystfel-config.hThomas White
This removes the big potential for confusion, which has happened several times (see e.g. 095cbebaf6). It also fixes in-tree builds with CMake (but seriously, always use out-of-tree builds). Fixes #2.
2021-03-05Mass update of copyright dates in source code commentsThomas White
2021-01-11UnitCell: Store all representations once they're calculatedThomas White
Previously, the "getter" functions would re-calculate the requested representation every time they were called. This could mean doing a matrix inversion in the middle of a tight loop, wasting loads of time. Now, it stores the calculated values and returns them directly next time. Setting the parameters invalidates the values for all representations other than the one given. The cost of doing this is that the cell can no longer be "const" in the getter functions. This tracked through some other code, but nothing too severe.
2020-07-29Const-cleaningThomas White
2020-01-10Mass update of copyright datesThomas White
2019-08-22Add cell_get_G6() and corresponding structureThomas White
2019-06-19Const-cleanlinessThomas White
2019-05-07Update all source code comments to Doxygen formatThomas White
2019-03-13cell_transform_rational: Complain if matrix is singularThomas White
2019-03-13determine_centering: Check 1,1,1 in both directionsThomas White
The original centering must be able to provide a lattice point for 1,1,1 in the new centering. The new centering's 1,1,1 point must also map to a lattice point in the original centering. Note that it's no use checking 0,0,0, because it'll just be a load of zeroes.
2019-03-13Rename m to P, to match documentation (including ITA)Thomas White
2019-03-13Rename rtnl_mtx_solve and rtnl_mtx_mult to make their purpose clearerThomas White
2019-03-11Get rid of cell_transform_gsl_reciprocal()Thomas White
It's confusing to have matrices acting on both real and reciprocal vectors. Let's standardise instead on transformations always applying to real-space cells. It was only used in one place.
2019-03-11Change matrix notation to match ITA chapter 5.1Thomas White
2019-03-11Single point of truth for matrix memory layoutThomas White
2019-03-11Add remaining centering types and finalise centering determinationThomas White
2019-03-11Automatic centering determination after transformationThomas White
2019-03-11Initial centering determinationThomas White
2019-03-11Be clear about whether functions need rational or integer transformationsThomas White
2019-03-11Use IntegerMatrix for all unit cell transformationsThomas White
Get rid of UnitCellTransformation, a thin wrapper which didn't do anything.
2018-04-25Clarify error message about inverting matrixThomas White
2018-02-27const-cleanlinessThomas White
2017-09-22cell_new_from_cell(): Don't try to duplicate non-existent parametersThomas White
2017-03-03Return error code if cell can't be invertedThomas White
2014-09-19Remove cell_set_cartesian_{a,b,c}() from APIThomas White
2014-09-19Remove cell_{get,set}_pointgroup() from APIThomas White
2014-09-19Introduce CrystFEL unit cell filesThomas White
2013-09-13Fix incorrect handling of monoclinic C cellsThomas White
2013-07-31Set C=0 for gsl_cblas_dgemm()Thomas White
2012-10-15Add tfn_from_intmat()Thomas White
2012-10-02Finishing tweaks for uncentering stuffThomas White
Today, I have mostly been having my life made difficult by the PDB's invention of "H centering".
2012-10-02More work on transformationsThomas White
2012-10-02Implementation of UnitCellTransformationThomas White
2012-10-02WIPThomas White
2012-10-02WIPThomas White
2012-10-02WIP on cell transformationsThomas White
2012-10-02Remove space group from unit cellThomas White
2012-10-02Move unit cell utility stuff to separate moduleThomas White
2012-10-02WIPThomas White
2012-10-02Handle lattice type, centering and unique axis informationThomas White
2012-08-09Fix crash when there are too many unit cell candidatesThomas White
2012-08-08Fix buglets spotted by new compiler on Fedora 17Thomas White
2012-05-31Merge branch 'master' into tom/speedThomas White
Conflicts: .gitignore
2012-05-30FormattingThomas White
2012-05-25WIP on tidy-upThomas White
2012-03-12Update copyright notices to show actual contribution yearsThomas White
2012-03-09Update licence notices in line with recommendations from TTThomas White
2012-02-25Make --enable-gsl-fudge the defaultThomas White
There's absolutely no sensible reason why this should be optional - it doesn't cause any difficulties when enabled.
2012-02-22GPLv3 boilerplate commentsThomas White