MCPcopy Create free account
hub / github.com/XiaoBaiiiiii/colmap-pcd / ComputeDiagonalAddQ

Function ComputeDiagonalAddQ

lib/PBA/SparseBundleCPU.cpp:1575–1592  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1573
1574template <class Float>
1575void ComputeDiagonalAddQ(size_t ncam, const Float* qw, Float* d,
1576 const Float* sj = NULL) {
1577 if (sj) {
1578 for (size_t i = 0; i < ncam; ++i, qw += 2, d += 8, sj += 8) {
1579 if (qw[0] == 0) continue;
1580 Float j1 = qw[0] * sj[0];
1581 Float j2 = qw[1] * sj[7];
1582 d[0] += (j1 * j1 * 2.0f);
1583 d[7] += (j2 * j2 * 2.0f);
1584 }
1585 } else {
1586 for (size_t i = 0; i < ncam; ++i, qw += 2, d += 8) {
1587 if (qw[0] == 0) continue;
1588 d[0] += (qw[0] * qw[0] * 2.0f);
1589 d[7] += (qw[1] * qw[1] * 2.0f);
1590 }
1591 }
1592}
1593
1594///////////////////////////////////////
1595template <class Float>

Callers 1

ComputeDiagonalBlockFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected