Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « ceres « extern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0e6c195174c06278cc4f80871ad782b22130ea2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
commit aef9c9563b08d5f39eee1576af133a84749d1b48
Author: Alessandro Gentilini <agentilini@gmail.com>
Date:   Tue Oct 6 20:43:45 2015 +0200

    Add test for Bessel functions.
    
    Change-Id: Ief5881e8027643d7ef627e60a88fdbad17f3d884

commit 49c86018e00f196c4aa9bd25daccb9919917efee
Author: Alessandro Gentilini <agentilini@gmail.com>
Date:   Wed Sep 23 21:59:44 2015 +0200

    Add Bessel functions in order to use them in residual code.
    
    See "How can I use the Bessel function in the residual function?" at
    https://groups.google.com/d/msg/ceres-solver/Vh1gpqac8v0/NIK1EiWJCAAJ
    
    Change-Id: I3e80d9f9d1cadaf7177076e493ff46ace5233b76

commit dfb201220c034fde00a242d0533bef3f73b2907d
Author: Simon Rutishauser <simon.rutishauser@pix4d.com>
Date:   Tue Oct 13 07:33:58 2015 +0200

    Make miniglog threadsafe on non-windows system by using
    localtime_r() instead of localtime() for time formatting
    
    Change-Id: Ib8006c685cd8ed4f374893bef56c4061ca2c9747

commit 41455566ac633e55f222bce7c4d2cb4cc33d5c72
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Mon Sep 28 22:43:42 2015 +0100

    Remove link-time optimisation (LTO).
    
    - On GCC 4.9+ although GCC supports LTO, it requires use of the
      non-default gcc-ar & gcc-ranlib.  Whilst we can ensure Ceres is
      compiled with these, doing so with GCC 4.9 causes multiple definition
      linker errors of static ints inside Eigen when compiling the tests
      and examples when they are not also built with LTO.
    - On OS X (Xcode 6 & 7) after the latest update to gtest, if LTO
      is used when compiling the tests (& examples), two tests fail
      due to typeinfo::operator== (things are fine if only Ceres itself is
      compiled with LTO).
    - This patch disables LTO for all compilers. It should be revisited when
      the performance is more stable across our supported compilers.
    
    Change-Id: I17b52957faefbdeff0aa40846dc9b342db1b02e3

commit 89c40005bfceadb4163bd16b7464b3c2ce740daf
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Sep 27 13:37:26 2015 +0100

    Only use LTO when compiling Ceres itself, not tests or examples.
    
    - If Ceres is built as a shared library, and LTO is enabled for Ceres
      and the tests, then type_info::operator==() incorrectly returns false
      in gtests' CheckedDowncastToActualType() in the following tests:
    -- levenberg_marquardt_strategy_test.
    -- gradient_checking_cost_function_test.
      on at least Xcode 6 & 7 as reported here:
      https://github.com/google/googletest/issues/595.
    - This does not appear to be a gtest issue, but is perhaps an LLVM bug
      or an RTTI shared library issue.  Either way, disabling the use of
      LTO when compiling the test application resolves the issue.
    - Allow LTO to be enabled for GCC, if it is supported.
    - Add CMake function to allow easy appending to target properties s/t
      Ceres library-specific compile flags can be iteratively constructed.
    
    Change-Id: I923e6aae4f7cefa098cf32b2f8fc19389e7918c9

commit 0794f41cca440f7f65d9a44e671f66f6e498ef7c
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sat Sep 26 14:10:15 2015 -0700

    Documentation updates.
    
    1. Fix a typo in the Trust Region algorithm.
    2. Add ARL in the list of users.
    3. Update the version history.
    
    Change-Id: Ic286e8ef1a71af07f3890b7592dd3aed9c5f87ce

commit 90e32a8dc437dfb0e6747ce15a1f3193c13b7d5b
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Mon Sep 21 21:08:25 2015 +0100

    Use old minimum iOS version flags on Xcode < 7.0.
    
    - The newer style, which are more specific and match the SDK names
      are not available on Xcode < 7.0.
    
    Change-Id: I2f07a0365183d2781157cdb05fd49b30ae001ac5

commit 26cd5326a1fb99ae02c667eab9942e1308046984
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Mon Sep 21 10:16:01 2015 +0100

    Add gtest-specific flags when building/using as a shared library.
    
    - Currently these flags are only used to define the relevant DLL export
      prefix for Windows.
    
    Change-Id: I0c05207b512cb4a985390aefc779b91febdabb38

commit c4c79472112a49bc1340da0074af2d15b1c89749
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Sep 20 18:26:59 2015 +0100

    Clean up iOS.cmake to use xcrun/xcodebuild & libtool.
    
    - Substantial cleanup of iOS.cmake to use xcrun & xcodebuild to
      determine the SDK & tool paths.
    - Use libtool -static to link libraries instead of ar + ranlib, which
      is not compatible with Xcode 7+, this change should be backwards
      compatible to at least Xcode 6.
    - Force locations of unordered_map & shared_ptr on iOS to work around
      check_cxx_source_compiles() running in a forked CMake instance without
      access to the variables (IOS_PLATFORM) defined by the user.
    - Minor CMake style updates.
    
    Change-Id: I5f83a60607db34d461ebe85f9dce861f53d98277

commit 155765bbb358f1d19f072a4b54825faf1c059910
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Wed Sep 16 06:56:08 2015 -0700

    Import the latest version of gtest and gmock.
    
    Change-Id: I4b686c44bba823cab1dae40efa99e31340d2b52a

commit 0c4647b8f1496c97c6b9376d9c49ddc204aa08dd
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Wed Sep 16 20:01:11 2015 +0100

    Remove FAQ about increasing inlining threshold for Clang.
    
    - Changing the inlining threshold for Clang as described has a minimal
      effect on user performance.
    - The problem that originally prompted the belief that it did was
      due to an erroneous CXX flag configuration (in user code).
    
    Change-Id: I03017241c0f87b8dcefb8c984ec3b192afd97fc2

commit f4b768b69afcf282568f9ab3a3f0eb8078607468
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Mon Sep 14 13:53:24 2015 -0700

    Lint changes from William Rucklidge
    
    Change-Id: I0dac2549a8fa2bfd12f745a8d8a0db623b7ec1ac

commit 5f2f05c726443e35767d677daba6d25dbc2d7ff8
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Fri Sep 11 22:19:38 2015 -0700

    Refactor system_test
    
    1. Move common test infrastructure into test_util.
    2. system_test now only contains powells function.
    3. Add bundle_adjustment_test.
    
    Instead of a single function which computes everything,
    there is now a test for each solver configuration which
    uses the reference solution computed by the fixture.
    
    Change-Id: I16a9a9a83a845a7aaf28762bcecf1a8ff5aee805

commit 1936d47e213142b8bf29d3f548905116092b093d
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Tue Sep 8 23:27:42 2015 +0100

    Revert increased inline threshold (iff Clang) to exported Ceres target.
    
    - Increasing the inline threshold results in very variable performance
      improvements, and could potentially confuse users if they are trying
      to set the inline threshold themselves.
    - As such, we no longer export our inline threshold configuration for
      Clang, but instead document how to change it in the FAQs.
    
    Change-Id: I88e2e0001e4586ba2718535845ed1e4b1a5b72bc

commit a66d89dcda47cefda83758bfb9e7374bec4ce866
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sat Sep 5 16:50:20 2015 -0700

    Get ready for 1.11.0RC1
    
    Update version numbers.
    Drop CERES_VERSION_ABI macro.
    
    Change-Id: Ib3eadabb318afe206bb196a5221b195d26cbeaa0

commit 1ac3dd223c179fbadaed568ac532af4139c75d84
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sat Sep 5 15:30:01 2015 -0700

    Fix a bug in CompressedRowSparseMatrix::AppendRows
    
    The test for CompressedRowSparseMatrix::AppendRows tries to add
    a matrix of size zero, which results in an invalid pointer deferencing
    even though that pointer is never written to.
    
    Change-Id: I97dba37082bd5dad242ae1af0447a9178cd92027

commit 67622b080c8d37b5e932120a53d4ce76b80543e5
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sat Sep 5 13:18:38 2015 -0700

    Fix a pointer access bug in Ridders' algorithm.
    
    A pointer to an Eigen matrix was being used as an array.
    
    Change-Id: Ifaea14fa3416eda5953de49afb78dc5a6ea816eb

commit 5742b7d0f14d2d170054623ccfee09ea214b8ed9
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Wed Aug 26 09:24:33 2015 -0700

    Improve performance of SPARSE_NORMAL_CHOLESKY + dynamic_sparsity
    
    The outer product computation logic in SparseNormalCholeskySolver
    does not work well with dynamic sparsity. The overhead of computing
    the sparsity pattern of the normal equations is only amortized if
    the sparsity is constant. If the sparsity can change from call to call
    SparseNormalCholeskySolver will actually be more expensive.
    
    For Eigen and for CXSparse we now explicitly compute the normal
    equations using their respective matrix-matrix product routines and solve.
    Change-Id: Ifbd8ed78987cdf71640e66ed69500442526a23d4

commit d0b6cf657d6ef0dd739e958af9a5768f2eecfd35
Author: Keir Mierle <mierle@gmail.com>
Date:   Fri Sep 4 18:43:41 2015 -0700

    Fix incorrect detect structure test
    
    Change-Id: I7062f3639147c40b57947790d3b18331a39a366b

commit 0e8264cc47661651a11e2dd8570c210082963545
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sat Aug 22 16:23:05 2015 +0100

    Add increased inline threshold (iff Clang) to exported Ceres target.
    
    - When compiled with Clang, Ceres and all of the examples are compiled
      with an increased inlining-threshold, as the default value can result
      in poor Eigen performance.
    - Previously, client code using Ceres would typically not use an
      increased inlining-threshold (unless the user has specifically added
      it themselves).  However, increasing the inlining threshold can result
      in significant performance improvements in auto-diffed CostFunctions.
    - This patch adds the inlining-threshold flags to the interface flags
      for the Ceres CMake target s/t any client code using Ceres (via
      CMake), and compiled with Clang, will now be compiled with the same
      increased inlining threshold as used by Ceres itself.
    
    Change-Id: I31e8f1abfda140d22e85bb48aa57f028a68a415e

commit a1b3fce9e0a4141b973f6b4dd9b08c4c13052d52
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Mon Aug 31 14:14:56 2015 +0100

    Add optional export of Ceres build directory to new features list.
    
    Change-Id: I6f1e42b41957ae9cc98fd9dcd1969ef64c4cd96f

commit e46777d8df068866ef80902401a03e29348d11ae
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Mon Aug 31 12:41:54 2015 +0100

    Credit reporters of buildsystem bugs in version history.
    
    Change-Id: I16fe7973534cd556d97215e84268ae0b8ec4e11a

commit 01548282cb620e5e3ac79a63a391cd0afd5433e4
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sun Aug 30 22:29:27 2015 -0700

    Update the version history.
    
    Change-Id: I29873bed31675e0108f1a44f53f7bc68976b7f98

commit 2701429f770fce69ed0c77523fa43d7bc20ac6dc
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sun Aug 30 21:33:57 2015 -0700

    Use Eigen::Dynamic instead of ceres::DYNAMIC in numeric_diff.h
    
    Change-Id: Iccb0284a8fb4c2160748dfae24bcd595f1d4cb5c

commit 4f049db7c2a3ee8cf9910c6eac96be6a28a5999c
Author: Tal Ben-Nun <tbennun@gmail.com>
Date:   Wed May 13 15:43:51 2015 +0300

    Adaptive numeric differentiation using Ridders' method.
    
    This method numerically computes function derivatives in different
    scales, extrapolating between intermediate results to conserve function
    evaluations. Adaptive differentiation is essential to produce accurate
    results for functions with noisy derivatives.
    
    Full changelist:
    -Created a new type of NumericDiffMethod (RIDDERS).
    -Implemented EvaluateRiddersJacobianColumn in NumericDiff.
    -Created unit tests with f(x) = x^2 + [random noise] and
     f(x) = exp(x).
    
    Change-Id: I2d6e924d7ff686650272f29a8c981351e6f72091

commit 070bba4b43b4b7449628bf456a10452fd2b34d28
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Tue Aug 25 13:37:33 2015 -0700

    Lint fixes from William Rucklidge
    
    Change-Id: I719e8852859c970091df842e59c44e02e2c65827

commit 887a20ca7f02a1504e35f7cabbdfb2e0842a0b0b
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Wed Aug 12 21:41:43 2015 +0100

    Build position independent code when compiling Ceres statically.
    
    - Previously, when Ceres was built as a static library we did not
      compile position independent code.  This means that the resulting
      static library could not be linked against shared libraries, but
      could be used by executables.
    - To enable the use of a static Ceres library by other shared libraries
      as reported in [1], the static library must be generated from
      position independent code (except on Windows, where PIC does not
      apply).
    
    [1] https://github.com/Itseez/opencv_contrib/pull/290#issuecomment-130389471
    
    Change-Id: I99388f1784ece688f91b162d009578c5c97ddaf6

commit 860bba588b981a5718f6b73e7e840e5b8757fe65
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Tue Aug 25 09:43:21 2015 -0700

    Fix a bug in DetectStructure
    
    The logic for determing static/dynamic f-block size in
    DetectStructure was broken in a corner case, where the very first
    row block which was used to initialize the f_block_size contained
    more than one f blocks of varying sizes. The way the if block
    was structured, no iteration was performed on the remaining
    f-blocks and the loop failed to detect that the f-block size
    was actually changing.
    
    If in the remaining row blocks, there were no row blocks
    with varying f-block sizes, the function will erroneously
    return a static f-block size.
    
    Thanks to Johannes Schonberger for providing a reproduction for this
    rather tricky corner case.
    
    Change-Id: Ib442a041d8b7efd29f9653be6a11a69d0eccd1ec

commit b0cbc0f0b0a22f01724b7b647a4a94db959cc4e4
Author: Johannes Schönberger <hannesschoenberger@gmail.com>
Date:   Thu Aug 20 14:21:30 2015 -0400

    Reduce memory footprint of SubsetParameterization
    
    Change-Id: If113cb4696d5aef3e50eed01fba7a3d4143b7ec8

commit ad2a99777786101411a971e59576ca533a297013
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date:   Sat Aug 22 11:18:45 2015 +0200

    Fix for reoder program unit test when built without suitesparse
    
    This commit fixes failure of reorder_program_test when Ceres is built without
    any suitesparse.
    
    Change-Id: Ia23ae8dfd20c482cb9cd1301f17edf9a34df3235

commit 4bf3868beca9c17615f72ec03730cddb3676acaa
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sun Aug 9 15:24:45 2015 -0700

    Fix a bug in the Schur eliminator
    
    The schur eliminator treats rows with e blocks and row with
    no e blocks separately. The template specialization logic only
    applies to the rows with e blocks.
    
    So, in cases where the rows with e-blocks have a fixed size f-block
    but the rows without e-blocks have f-blocks of varying sizes,
    DetectStructure will return a static f-block size, but we need to be
    careful that we do not blindly use that static f-block size everywhere.
    
    This patch fixes a bug where such care was not being taken, where
    it was assumed that the static f-block size could be assumed for all
    f-block sizes.
    
    A new test is added, which triggers an exception in debug mode. In
    release mode this error does not present itself, due to a peculiarity
    of the way Eigen works.
    
    Thanks to Werner Trobin for reporting this bug.
    
    Change-Id: I8ae7aabf8eed8c3f9cf74b6c74d632ba44f82581

commit 1635ce726078f00264b89d7fb6e76fd1c2796e59
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Wed Aug 19 00:26:02 2015 -0700

    Fix a bug in the reordering code.
    
    When the user provides an ordering which starts at a non-zero group id,
    or has gaps in the groups, then CAMD, the algorithm used to reorder
    the program can crash or return garbage results.
    
    The solution is to map the ordering into grouping constraints, and then
    to re-number the groups to be contiguous using a call to
    MapValuesToContiguousRange. This was already done for CAMD based
    ordering for Schur type solvers, but was not done for SPARSE_NORMAL_CHOLESKY.
    
    Thanks to Bernhard Zeisl for not only reporting the bug but also
    providing a reproduction.
    
    Change-Id: I5cfae222d701dfdb8e1bda7f0b4670a30417aa89

commit 4c3f8987e7f0c51fd367cf6d43d7eb879e79589f
Author: Simon Rutishauser <simon.rutishauser@pix4d.com>
Date:   Thu Aug 13 11:10:44 2015 +0200

    Add missing CERES_EXPORT to ComposedLoss
    
    Change-Id: Id7db388d41bf53e6e5704039040c9d2c6bf4c29c

commit 1a740cc787b85b883a0703403a99fe49662acb79
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Tue Aug 11 18:08:05 2015 -0700

    Add the option to use numeric differentiation to nist and more_garbow_hillstrom
    
    Change-Id: If0a5caef90b524dcf5e2567c5b681987f5459401

commit ea667ede5c038d6bf3d1c9ec3dbdc5072d1beec6
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Aug 9 16:56:13 2015 +0100

    Fix EIGENSPARSE option help s/t it displays in CMake ncurses GUI.
    
    - Shorten description for EIGENSPARSE to a single line, as otherwise
      it is not correctly displayed in the ncurses CMake GUI.
    - Made explicit in description that this results in an LGPL licensed
      version of Ceres (this is also made clear in the CMake log output if
      EIGENSPARSE is enabled).
    
    Change-Id: I11678a9cbc7a817133c22128da01055a3cb8a26d

commit a14ec27fb28ab2e8d7f1c9d88e41101dc6c0aab5
Author: Richard Stebbing <richie.stebbing@gmail.com>
Date:   Fri Aug 7 08:42:03 2015 -0700

    Fix SparseNormalCholeskySolver with dynamic sparsity.
    
    The previous implementation incorrectly cached the outer product matrix
    pattern even when `dynamic_sparsity = true`.
    
    Change-Id: I1e58315a9b44f2f457d07c56b203ab2668bfb8a2

commit 3dd7fced44ff00197fa9fcb1f2081d12be728062
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Aug 9 16:38:50 2015 +0100

    Remove legacy dependency detection macros.
    
    - Before the new CMake buildsystem in 1.8, Ceres used non-standard
      HINTS variables for dependencies.  For backwards compatibility CMake
      macros were added to translate these legacy variables into the new
      (standard) variables.
    - As it has now been multiple releases since the legacy variables
      were used and they no longer appear in any of the documentation
      support for them has now expired.
    
    Change-Id: I2cc72927ed711142ba7943df334ee008181f86a2

commit 8b32e258ccce1eed2a50bb002add16cad13aff1e
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Aug 9 15:42:39 2015 +0100

    Fix failed if() condition expansion if gflags is not found.
    
    - If a CMake-ified version of gflags is not detected, then
      gflags_LIBRARIES is not set and the TARGET condition within a
      multiconditional if() statement prevents configuration.
    
    Change-Id: Ia92e97523d7a1478ab36539726b9540d7cfee5d0

commit cc8d47aabb9d63ba4588ba7295058a6191c2df83
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Aug 9 15:18:42 2015 +0100

    Update all CMake to lowercase function name style.
    
    - Updated to new CMake style where function names are all lowercase,
      this will be backwards compatible as CMake function names are
      case insensitive.
    - Updated using Emacs' M-x unscreamify-cmake-buffer.
    
    Change-Id: If7219816f560270e59212813aeb021353a64a0e2

commit 1f106904c1f47460c35ac03258d6506bb2d60838
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Aug 9 14:55:02 2015 +0100

    Update minimum iOS version to 7.0 for shared_ptr/unordered_map.
    
    - In order to correctly detect shared_ptr (& unordered_map)
      the iOS version must be >= 7.0 (Xcode 5.0+).  This only affects the
      SIMULATOR(64) platform builds, as the OS (device) build uses the
      latest SDK which is now likely 8.0+.
    
    Change-Id: Iefec8f03408b8cdc7a495f442ebba081f800adb0

commit 16ecd40523a408e7705c9fdb0e159cef2007b8ab
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sat Aug 8 17:32:31 2015 +0100

    Fix bug in gflags' <= 2.1.2 exported CMake configuration.
    
    - gflags <= 2.1.2 has a bug in its exported gflags-config.cmake:
      https://github.com/gflags/gflags/issues/110 whereby it sets
      gflags_LIBRARIES to a non-existent 'gflags' target.
    - This causes linker errors if gflags is installed in a non-standard
      location (as otherwise CMake resolves gflags to -lgflags which
      links if gflags is installed somewhere on the current path).
    - We now check for this case, and search for the correct gflags imported
      target and update gflags_LIBRARIES to reference it if found, otherwise
      proceed on to the original manual search to try to find gflags.
    
    Change-Id: Iceccc3ee53c7c2010e41cc45255f966e7b13d526

commit 56be8de007dfd65ed5a31c795eb4a08ad765f411
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Thu Jun 25 21:31:00 2015 +0100

    Add docs for new CXX11 option & mask option for Windows.
    
    - The CXX11 option has no effect on Windows, as there, any new C++11
      features are enabled by default, as such to avoid confusion we only
      present the option for non-Windows.
    
    Change-Id: I38925ae3bb8c16682d404468ba95c611a519b9b9

commit cf863b6415ac4dbf3626e70adeac1ac0f3d87ee5
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Thu Aug 6 14:52:18 2015 -0700

    Remove the spec file needed for generating RPMs.
    
    Now that ceres is part of RawHide, there is no need to carry
    this spec file with the ceres distribution.
    
    Change-Id: Icc400b9874ba05ba05b353e2658f1de94c72299e

commit 560940fa277a469c1ab34f1aa303ff1af9c3cacf
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sat Jul 11 22:21:31 2015 -0700

    A refactor of the cubic interpolation code
    
    1. Push the boundary handling logic into the underlying array
    object. This has two very significant impacts:
    
    a. The interpolation code becomes extremely simple to write
    and to test.
    
    b. The user has more flexibility in implementing how out of bounds
    values are handled. We provide one default implementation.
    
    Change-Id: Ic2f6cf9257ce7110c62e492688e5a6c8be1e7df2

commit dfdf19e111c2b0e6daeb6007728ec2f784106d49
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Wed Aug 5 15:20:57 2015 -0700

    Lint cleanup from Jim Roseborough
    
    Change-Id: Id6845c85644d40e635ed196ca74fc51a387aade4

commit 7444f23ae245476a7ac8421cc2f88d6947fd3e5f
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Mon Aug 3 12:22:44 2015 -0700

    Fix a typo in small_blas.h
    
    The reason this rather serious looking typo has not
    caused any problems uptil now is because NUM_ROW_B is
    computed but never actually used.
    
    Thanks to Werner Trobin for pointing this out.
    
    Change-Id: Id2b4d9326ec21baec8a85423e3270aefbafb611e

commit 5a48b92123b30a437f031eb24b0deaadc8f60d26
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sat Jul 4 17:59:52 2015 +0100

    Export Ceres build directory into local CMake package registry.
    
    - Optionally use CMake's export() functionality to export the Ceres
      build directory as a package into the local CMake package registry.
    - This enables the detection & use of Ceres from CMake *without*
      requiring that Ceres be installed.
    
    Change-Id: Ib5a7588446f490e1b405878475b6b1dd13accd1f

commit d9790e77894ea99d38137d359d6118315b2d1601
Author: Sameer Agarwal <sameeragarwal@google.com>
Date:   Sun Jul 12 19:39:47 2015 -0700

    Add ProductParameterization
    
    Often a parameter block is the Cartesian product of a number of
    manifolds. For example, a rigid transformation SE(3) = SO(3) x R^3
    In such cases, where you have the local parameterization
    of the individual manifolds available,
    ProductParameterization can be used to construct a local
    parameterization of the cartesian product.
    
    Change-Id: I4b5bcbd2407a38739c7725b129789db5c3d65a20

commit 7b4fb69dad49eaefb5d2d47ef0d76f48ad7fef73
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Sun Jun 28 21:43:46 2015 +0100

    Cleanup FindGflags & use installed gflags CMake config if present.
    
    - Split out gflags namespace detection methods:
      check_cxx_source_compiles() & regex, into separate functions.
    - Use installed/exported gflags CMake configuration (present for
      versions >= 2.1) if available, unless user expresses a preference not
      to, or specifies search directories, in which case fall back to manual
      search for components.
    -- Prefer installed gflags CMake configurations over exported gflags
       build directories on all OSs.
    - Remove custom version of check_cxx_source_compiles() that attempted
      to force the build type of the test project.  This only worked for
      NMake on Windows, not MSVC as msbuild ignored our attempts to force
      the build type.  Now we always use the regex method on Windows if
      we cannot find an installed gflags CMake configuration which works
      even on MSVC by bypassing msbuild.
    - Add default search paths for gflags on Windows.
    
    Change-Id: I083b267d97a7a5838a1314f3d41a61ae48d5a2d7

commit b3063c047906d4a44503dc0187fdcbbfcdda5f38
Author: Alex Stewart <alexs.mac@gmail.com>
Date:   Wed Jul 15 20:56:56 2015 +0100

    Add default glog install location on Windows to search paths.
    
    Change-Id: I083d368be48986e6780c11460f5a07b2f3b6c900