Build: #2 was successful Changes by Takeshi Nakazato
Code commits
casa6
-
Takeshi Nakazato 35aa5b675a4d465b976538cdcd112c1f70eb3772
Merge branch 'master' into CAS-14266
-
Srikrishna Sekhar 78334a52026c0c1d7851138cb0994cef9978b41d m
Pull request #776: CAS-14184
Merge in CASA/casa6 from CAS-14184 to master
* commit '23ace523ef21f0c5a04b5bd5f527a147712e0274': (55 commits)
CAS-14184 : Fix test to account for previous change
CAS-14184 : Remove print statements in deconvolve
CAS-14184 : Fix to deconvolve return dict
CAS-14184 : Fixes to gclean tests + masking bugfix
fixed typo in json entry.
Renamed test_task_gclean to test_imagerhelpers_gclean and moved it to the scripts directory. Added the new test script to the mapping json file to run automatically in Bamboo.
Added main at the end of tests. Removed unused imports Renamed class of test.
CAS-14184 : Bug fix for previous commit
CAS-14184 : Fix for mask MTMFS naming convention
CAS-14184 : Test for partial mask in gclean
CAS-14184 : Fix for history logging
CAS-14184 : Fix mask handling logic on startup
CAS-14184 : Fix typos in automasking params
CAS-14184 : Fixed masking params
CAS-14184 : More fixes to iteration control
CAS-14184 : Add check for user updated mask
CAS-14184 : Fix peakres calculation
CAS-14184 : Fixes for test failures
CAS-14184 : Bugfix for niter=0 peakres calculation
CAS-14184 : Fix cyclefactor param check
... -
Srikrishna Sekhar 23ace523ef21f0c5a04b5bd5f527a147712e0274 m
CAS-14184 : Fix test to account for previous change
The "test_mask_preserve_input_zero_mask" test in test_task_deconvolve
was failing because of the wrong stopcode. As of the previous commit the
stopcode is now over-written by the niter=0 dict, rather than what is
written by the C++ code. This has no operation impact apart from the
specific niter=0 case, and the stopcode for this test had to be changed
to reflect that. -
Srikrishna Sekhar a467ec080acdb61d659987fbe6e0753ee45a53aa m
Merge remote-tracking branch 'origin/master' into CAS-14184
-
Srikrishna Sekhar 17dcee84afc4faca43b8b41e7aab19691df4289e m
CAS-14184 : Remove print statements in deconvolve
-
Srikrishna Sekhar 8f601cfc309e7f73966f090414c2ed60d546ab12 m
CAS-14184 : Fix to deconvolve return dict
The task_deconvolve return dictionary did not contain "stopDescription"
for the niter=0 case. This commit fixes that issue. -
Srikrishna Sekhar 9ed09e701eb853bbf889175a6ecd0e461c727551 m
CAS-14184 : Fixes to gclean tests + masking bugfix
If a static user mask was provided in the input (e.g.,
circle[[50px,50px],10px]) the final mask-update deconvolve step was
breaking. It did not break for auto-masking or any other type of input
mask. This has been fixed by setting mask = '' in the last deconvolve
call, which still does the right thing for auto-masking etc.
Further, the default masking behaviour changed as of a few commits ago.
This was not reflected in the test cases, so they were all failing. The
tests have been updated to reflect this new behaviour as well. -
Sandra Castro ee54dadb2253e44ecff8d63cea658fe4bee68378 m
fixed typo in json entry.
-
Sandra Castro 4efe43b2c2c674172d60e978131877341ee8699d m
Renamed test_task_gclean to test_imagerhelpers_gclean and moved it to the scripts directory. Added the new test script to the mapping json file to run automatically in Bamboo.
-
Sandra Castro a0a4205bd456371e0e0c453561c0ade49eb211b0 m
Added main at the end of tests. Removed unused imports Renamed class of test.
-
Srikrishna Sekhar f6b7c80f4bfc7907d9bc95d0c9d6fd35a2d80c68 m
CAS-14184 : Bug fix for previous commit
Forgot to remove a second line that had the wrong maskname. Also removed
extraneous print statements in gclean -
Srikrishna Sekhar 50f6c9f8537719edab072fad4f639334fdce46e7 m
CAS-14184 : Fix for mask MTMFS naming convention
The mask for MT-MFS is called "imagename.mask" not "imagename.mask.tt0". -
Srikrishna Sekhar 53ab1f24ba528e45569bad98c99790b6ad3ae149 m
CAS-14184 : Test for partial mask in gclean
Added a unit test to check the use case of a single channel masked while
deconvolving a cube in gclean -
Sandra Castro 0a45919b4a432bf1eb9c52d556b7589ec2b6907e m
Pull request #774: CAS-13714
Merge in CASA/casa6 from CAS-13714 to master
* commit '9bd7a74d61dfcdb3638178e26880df518f04c9be':
This commit is unrelated to the changes on this branch. They are changes needed for the verification tests when running tests that are not in the casatasks/tests/tasks/ path. I also sorted again some of the entries in the json file that were out of place.
Removed unused function prepinputmask.
Removed casa5-related code from the tests. -
Srikrishna Sekhar 1f3998a5ff73643fb1fc9ade1ce1f9a4917b9655 m
CAS-14184 : Fix for history logging
If convergence was hit, the logger would repeatedly print out it's entire
history to the log. Issued a fix to account for that. -
Srikrishna Sekhar 730b65e03080d7411bacd914fef0d8b6e0e6e95b m
CAS-14184 : Fix mask handling logic on startup
The mask handling used to be in the frontend, but moved it to the
backend. It now correctly accounts for a restarted state with a
previously active mask.
The logic is :
- Initial launch : If usemask='user' and mask = '' then make sure the
default mask is filled with zeros before the GUI is launched. Leave mask
untouched for all other cases
- Restart :
- If usemask='user' and mask='' :
- If mask exists on disk - leave untouched
- If mask does not exist, make sure mask is filled with zeros
- Leave mask untouched for all other cases -
Srikrishna Sekhar 8efbcbc1ffda9b409d0e4a2831706e4e7e6ac01b m
CAS-14184 : Fix typos in automasking params
There were typos in the newly added automasking parameters that were
causing gclean to crash on startup. -
Srikrishna Sekhar a3f52b7c17da4127698d0d7d974bd865aeb50db5 m
CAS-14184 : Fixed masking params
Some auto-multithresh parameters were missing from the _gclean input,
added those in.
The order of masking was also incorrect, the auto-mask growing was
happening _prior_ to deconvolution rather than after. This has also been
fixed. -
Srikrishna Sekhar 3d8bd599cb1f4760840c16eb488519ab4115db7d m
CAS-14184 : More fixes to iteration control
-
Srikrishna Sekhar eca97e82ad9bd49865c951c595935bfe3e5ce4b8 m
CAS-14184 : Add check for user updated mask
The user can update/change the mask in between major cycles. Previously
gclean was invoking `deconvolve` to do this, but now there is an
additional function that uses `imstat` to check if the peakresidual has
changed because of a mask update in between major cycles.
This has implications on whether to continue deconvolution or not, and
therefore needs to be done before deconvolve is called. -
Srikrishna Sekhar de3560ad489ff41074dfc91879749d16c589b824 m
CAS-14184 : Fix peakres calculation
Added a check for masksum while calculating peakres across a cube. Only
in the case that masksum > 0 is peakres considered now.
This prevents the "bouncing" behaviour reported by Josh described below:
Iteration 1 :
field 0, chan 0, stokes 0, peakres [1.0149141550064087]
field 0, chan 1, stokes 0, peakres [5.736467361450195]
field 0, chan 2, stokes 0, peakres [4.154384136199951]
cyclethreshold = 1.0222507446548832
Above the cycle threshold is determined by the global peak value (5.736)
and chan 0 is cleaned down until the threshold. It returns to the GUI
and we click again, nothing happens because we are in convergence. But
peakres still gets updated as below.
Iteration 2 (after convergence)
field 0, chan 0, stokes 0, peakres [1.0149141550064087, 1.014911413192749]
field 0, chan 1, stokes 0, peakres [5.736467361450195, -0.0]
field 0, chan 2, stokes 0, peakres [4.154384136199951, 0.0]
cyclethreshold=0.18085938305290838
Here we have hit convergence, we take the niter=0 path in deconvolve and
set peakres=0 for channels with no mask. Now cyclethreshold is
determined by the residual in the first channel, and drops. But since we
are in the niter=0 path no deconvolution happens.
Iteration 3 :
field 0, chan 0, stokes 0, peakres [1.0149141550064087, 1.014911413192749, 0.6902092099189758]
field 0, chan 1, stokes 0, peakres [5.736467361450195, -0.0, 5.736467361450195]
field 0, chan 2, stokes 0, peakres [4.154384136199951, 0.0, 4.154384136199951]
cyclethreshold = 1.0222507446548832
We end up doing more deconvolution based on the previous cyclethreshold,
and now once again the new cyclethreshold is determined by the global
peak (5.736) and is too high to continue deconvolution. -
Srikrishna Sekhar 9f8146167b40abf769099d49001e6a9023fbe182 m
CAS-14184 : Fixes for test failures
There was a bug in how a non-existent mask was handled. This has now
been fixed. -
Takeshi Nakazato 798ee8caa94bceea79c81f92f861f33511707835
Merge branch 'master' into CAS-14266
-
Srikrishna Sekhar 03739099c27bf0e680281760efb1afac3d8d1800 m
CAS-14184 : Bugfix for niter=0 peakres calculation
If no mask was passed in for the niter=0 case, the `ImagingDict`
class set the `mask` parameter to -1 (instead of the pixel mask).
peakRes was always calcualted as `np.amax(image_pixels * mask_pixels)`
so when mask = -1 it picked the highest negative as the peakRes.
This commit fixes that bug, and has been confirmed to pass the
previously failing task_tclean tests.
Additionally, removed a check in test_task_tclean that asserted
len(summaryminor) == 0 for niter = 0. -
Sandra Castro 9bd7a74d61dfcdb3638178e26880df518f04c9be m
This commit is unrelated to the changes on this branch. They are changes needed for the verification tests when running tests that are not in the casatasks/tests/tasks/ path. I also sorted again some of the entries in the json file that were out of place.
-
Ville Suoranta 2ad6b58ab24c12d5185c3d880236e6897c2ea62d m
Pull request #773: CAS-14125
Merge in CASA/casa6 from CAS-14125 to master
* commit '84f7fac6687c36a544699c3c4d06fe9baa4998f6':
Use c++14 standard on all platforms
Add status messages
Require C++14 on Macs -
Sandra Castro dd2622d7de222d9b0f67353a2f4e328742e12bf3 m
Removed unused function prepinputmask.
-
Sandra Castro c6b60c4dead599f913170bb1d070f460d6b89111 m
Removed casa5-related code from the tests.
-
Ville Suoranta 84f7fac6687c36a544699c3c4d06fe9baa4998f6 m
Merge branch 'master' into CAS-14125
-
Srikrishna Sekhar 01c05a91e503376f7282a43f662f5633ca5a72ab m
CAS-14184 : Fix cyclefactor param check
Any value > 0 is valid for cyclefactor, but previously the parameter
check would insist that cyclefactor > 1. -
Srikrishna Sekhar 9e5d0d6e7f3d7db37740c7b05d34dde8f89bb5c5 m
CAS-14184 : More fixes for parameter checking
There was a bug checking the threshold value, where the incorrect value
is actually set internally prior to being checked. While this does not
affect interactive functionality, non-interactive tests were failing.
cyclefactor was being tested as an integer, but really it can be a
floating point value. This has been fixed as well. -
Srikrishna Sekhar 457953aacff9ef63c9c73db0ba2a503b147031ff m
CAS-14184 : More fixes to parameter checking
Parameter checking is no longer in a function, but rather just inside
gclean.update. There are two reasons for this :
(a) The parameters that come into __init__ already get verified in
interactiveclean, so we don't need to do an additional check at the end.
That leaves the only place to check parameters in gclean.update
(b) In order for the function to work, the internal variables (like
self._niter, self._nmajor etc.) will take on the incorrect value and
then only be checked. Which is not ideal, since we want to prevent these
variables from ever getting to an incorrect state.
The current code does error checking in-situ, so the variables never
enter an incorrect state, but will rather throw and error and go back to
the user to fix things. -
Srikrishna Sekhar 66e17f166f46affe4e0a21ffad67a9425a0f686f m
CAS-14184 : Bug fix to param checking
Fixed issue with parameter checking not doing the right thing - now if
the wrong param is sent into `gclean.update` it actually returns the
right exit code. -
Srikrishna Sekhar 3e186222b979bf8be3b8a7f2e604216599859296 m
CAS-14184 : Fix bug with parameter validation
Added a `return` statement in `gclean.update` so the parameter
validation goes through to the GUI.
`__init__` now raises a ValueError if the parameter validation fails. -
Srikrishna Sekhar ee8080438b76c0125e99c7a9c80f5e8c3cf92d57 m
CAS-14184 : Add parameter checking to gclean
The iteration control parameters (nmajor, niter etc.) that get passed in
via the GUI are currently being checked in casagui.interactiveclean.
This check should happen inside gclean.
The check makes sure that the iteration control params are of the right
type (int, float etc.) and have values that are in an allowable range
(i.e., niter = -100 is not allowed)
This check happens both during initialization of gclean (inside
__init__) as well as in the update() function when new parameters come
in via the GUI. -
Srikrishna Sekhar c8067df89a059ea966886125e6ec843dc9f66325 m
CAS-14184: Modify get_summaryminor_stopdesc
If no `stopcode` is passed in, it returns the entire dictionary. The
function is also now a @staticmethod so the class does not need to be
instantiated in order to call the function. -
Srikrishna Sekhar c4a906c0bb9de727d68986d564286492e132b139 m
CAS-14184 : Add summaryminor stopdesc retreival
Added a function that returns the summaryminor stop description given
the input summaryminor stopcode. This is to prevent carrying the
additional string in the dictionary returned by `gclean`.
This function lives inside the ImagingDict() class. -
Srikrishna Sekhar 7cb68583ca75a671d627b2d60247f79954601bfd m
CAS-14184 : Add verification tests
Added test_task_gclean (for now) that tests gclean in various usage
modes.
This test suite lives outside test_task_tclean and test_task_deconvolve
because it uses a combination of both tasks. -
Urvashi R._V <rurvashi@aoc.nrao.edu> b196061b932ce7b6d1c1d53231ab5a116e36e081 m
CAS-14148 : removed mask_changed
-
Urvashi R._V <rurvashi@aoc.nrao.edu> 58daecd1ba480a2525b744c2661372d360bbaa4d m
CAS-14148 : handling zero mask case some more
-
Urvashi R._V <rurvashi@aoc.nrao.edu> e2b2299e0d7876e29604d07f3f54b48da9a50847 m
CAS-14184 : More changes for iteration control
-
Srikrishna Sekhar c1d3a881803b15a6a0ba972a0241fe1d48080c41 m
CAS-14184 : Bugfix when niter==0
The inital call to _convergence_result when niter < 1 was returning
`self._convergence_result[3]` rather than `self._convergence_result[5]`.
In the last few commits _convergence_results when from a 4-tuple to a
6-tuple and so this needed to be changed accordingly. -
Srikrishna Sekhar 846585ebdb97573a704123b297208fc0e21d472b m
CAS-14184 : Add try/except catch in __next__
Wrapped the bulk of the __next__ function inside a `try/except` in order
to catch any exceptions thrown by tclean/deconvolve.
The error traceback is caught and is passed back as the stopdescription,
with an accompanying stopcode of -1 -
Srikrishna Sekhar 1183d826971e7c1d103d7537374bd543963f4fb3 m
CAS-14184 : min_peakres calculation ignores zeros
Checking for divergence via current_peakres > 3*min_peakres now ignores
a peak_residual of 0, since the only way to achieve that is with a fully
masked image. The minimum residual is now calculated ignoring any
values that are zero. -
Srikrishna Sekhar 76b3ccb537762664d274ddfbe4ca1e0ffa53ffa5 m
CAS-14184 : Fixed typo in _gclean.py
self._mask_changed did not have a leading _ in the _init function. -
Urvashi R._V <rurvashi@aoc.nrao.edu> 4a3195204565421ab8ecdb827eb167ff59d7c5ed m
CAS-14184 : passed global threshold to has_converged + added a way for the GUI to tell gclean that the mask has changed.
-
Urvashi R._V <rurvashi@aoc.nrao.edu> 3e54154f9133244c442531cf043321f80ac900c9 m
CAS-14184 : fix for zero mask stopping criterion
-
Urvashi R._V <rurvashi@aoc.nrao.edu> 3a82f48668c78033c785d3c1c958e264f21b81fa m
CAS-14184 : fixed deconvolve ret dir empty summaryminor, added zero floor for niter in _gclean
- casatasks/src/private/imagerhelpers/_gclean.py (version 3a82f48668c78033c785d3c1c958e264f21b81fa) (diffs)
- casatasks/src/private/imagerhelpers/imager_return_dict.py (version 3a82f48668c78033c785d3c1c958e264f21b81fa) (diffs)
- casatasks/src/private/task_deconvolve.py (version 3a82f48668c78033c785d3c1c958e264f21b81fa) (diffs)
-
Srikrishna Sekhar 8fc5aa6763835ed49863eab6397ce4e93ba9aa8f m
Merge remote-tracking branch 'origin/master' into CAS-14184
-
Srikrishna Sekhar ead1544c7c0e6c8a3cad70b59acb402233179024 m
CAS-14184 : Replace _nmajorleft with _nmajor
And similarly for _niterleft with _niter. -
Srikrishna Sekhar 51194c8eb79dc859107afdbd9e83d6766bee1191 m
CAS-14184 : tclean(niter=0) now contains threshold
The threshold keyword is correctly populated in the return dict for the
tclean(niter=0) case. -
Srikrishna Sekhar d363e411f08bd3cb26752ca675634e224f05f8c5 m
CAS-14184 : Fix threshold during dict merge
ImagingDict.merge() was not preserving the user-defined threshold correctly
because tclean(niter=0) did not populate the threshold key correctly whereas
deconvolve(niter > 0) does. merge() previously preferred the tclean `threshold`
key over `deconvolve`, leading to the bug where a threshold based stopping
criterion was not respected. This has now been fixed. -
Urvashi R._V <rurvashi@aoc.nrao.edu> c31ecf134e29c6fea3aac8e8e46a9fba1ce1e622 m
CAS-14184 : Several iteration control changes.
-
Srikrishna Sekhar 8c97c95f4244a67e91d8b7656b8b79f1c7b0a4d4 m
CAS-14184 : Add global stopping criteria in gclean
Added nmajorleft and niterleft to ImagingDict.has_converged() to keep a track
of the global convergence criteria. The convergence_result dict now also
contains this information, so it can be reflected in the InteractiveClean GUI. -
Urvashi R._V <rurvashi@aoc.nrao.edu> 61e75c0099909ea7d089ac222b3d8300304c6ca9 m
CAS-14184 : Fixed another instance of peakres_1 vs peakres1
-
Srikrishna Sekhar 1196d8f04f74694f92eba2383cca839fdc76f406 m
CAS-14184 : Initial deconvolve niter=0
The initial deconvolve call had niter=1 as a hack to populate
`maxpsfsidelobe` etc but Urvashi worked out how to get that populated
with `niter=0` within `task_deconvolve`. So now switching `deconvolve`
back to `niter=0` for the initial call inside `_gclean`. -
Srikrishna Sekhar c5b6a8113d0cdd47c5bf5728780214ef6a580094 m
CAS-14184 : More _gclean refactors
The refactored _gclean now handles more stopping criterion, and a few
bugfixes.
Also switched all the function names within ImagingDict to lower_case rather than camelCase
for consistency with the rest of the function names.- casatasks/src/private/imagerhelpers/_gclean.py (version c5b6a8113d0cdd47c5bf5728780214ef6a580094) (diffs)
- casatasks/src/private/imagerhelpers/imager_return_dict.py (version c5b6a8113d0cdd47c5bf5728780214ef6a580094) (diffs)
- casatasks/src/private/task_deconvolve.py (version c5b6a8113d0cdd47c5bf5728780214ef6a580094) (diffs)
- casatasks/src/private/task_tclean.py (version c5b6a8113d0cdd47c5bf5728780214ef6a580094) (diffs)
-
Srikrishna Sekhar 90a999c8df7d262deaa7ac3507c0972c1afaf985 m
CAS-14184 : Fix deconvolve mask update
The step to update the mask via `deconvolve` now happens only if the
image has not converged. Previously even if the image had converged, the
mask would go through a final update before returning to the user. The
update now happens inside an if (!hasConverged) condition. -
Urvashi R._V <rurvashi@aoc.nrao.edu> b7c2c35dd8c5a04d7c67ebc24d354847cac05725 m
CAS-14184 : added maxpsfsidelobe to deconvolve's niter=0 return dictionary
-
Srikrishna Sekhar 5fc05fdbeaacebdcaa6f44f01fd1ffbea0211ac6 m
CAS-14184 : Fix cyclethreshold bug
Fixed bug with calculating the initial cyclethreshold. The `deconvolve`
task was meant to be called with niter=1, gain=1e-6 to calculate
`maxpsfsidelobe` but instead it was being called with niter=0 and
leaving maxpsfsidelobe=0 in the first iteration.
This has now been fixed. -
Srikrishna Sekhar 14a0b58c55e1205ed10cacb6ad2d71af00f05e04 m
CAS-14184 : Refactor gclean
This commit is a fairly substantial refactor of _gclean.py to correctly
use tclean + deconvolve for the major and minor cycles respectively.
This refactor comes after discussions with Urvashi, and most of the
iteration control is based off the return dictionaries.
The `ImagingDict` class has a few additional functions for iteration
control, such as determining the cyclethreshold per minor cycle.
There are still several small bugs/issues to be resolved, but as of this
commit the basic imaging seems to work. -
Srikrishna Sekhar 4f358720e83da46a1f19c596e5eadefdf04cf94d m
CAS-14184 : More API changes inside _gclean
Added a ImagingDict.merge() function to merge the return dictionaries of
`deconvolve` and `tclean` rather than appending them together, since
appending them added extra entries causing the convergence plot to
break.
Now the dicts are first merged, and then the merged dictionaries are
appended and kept track of across major/minor cycles. -
Srikrishna Sekhar 22564133a6a6333ae2c5ea414bc532f49596b607 m
CAS-14184 : Use return dict API in _filter_convergence
The _filter_convergence function within _gclean has been modified to use
the tclean return dict API to access the keys within summary minor.
The API has also been modified to now contain attributes that reflect
the current number of fields, stokes, and channels in the `summaryminor`
keys. -
Srikrishna Sekhar d32324da94a8bcdb5b0e1c120d0246c1bada84d7 m
CAS-14184: Use deconvolve for minorcycle in gclean
Split the tclean call into using tclean for the major cycles and
deconvolve for the minor cycles. This also makes use of the
`ImagingDict` class in `imagerhelpers.imager_return_dict` that allows
muiltiple return dictionaries to be appended.
The `ReturnDict` and `ImagingDict` class within `imager_return_dict`
have been merged, and the changes have been propogated through
`task_tclean` and `task_deconvolve`. There was a lot of duplicate
functionality between the two classes which has now been consolidated.
The details of the masking behaviour still need to be more thoroughly
tested - namely the interaction between a user-specified input mask and
what is drawn within interactive clean.- casatasks/src/private/imagerhelpers/_gclean.py (version d32324da94a8bcdb5b0e1c120d0246c1bada84d7) (diffs)
- casatasks/src/private/imagerhelpers/imager_return_dict.py (version d32324da94a8bcdb5b0e1c120d0246c1bada84d7) (diffs)
- casatasks/src/private/task_deconvolve.py (version d32324da94a8bcdb5b0e1c120d0246c1bada84d7) (diffs)
- casatasks/src/private/task_tclean.py (version d32324da94a8bcdb5b0e1c120d0246c1bada84d7) (diffs)
-
Srikrishna Sekhar 108b672aab39e2d48e2bcbde2189dd0ea28faf08 m
Merge remote-tracking branch 'origin/master' into CAS-14184
-
Srikrishna Sekhar 1a5edb51f7d0e46c3d292c8032b5397d8f3c56d0 m
CAS-14184: Update/refactor ImagingDict
The ImagingDict class has been refactored, so the dictionary
initialization happens within the `__init__` function, so it does not need
to be initialized separately by the calling code.
The `_dict` suffix has also been dropped from the `append()` function. -
Srikrishna Sekhar b79f59f430108be9dd2e533dcfccd5e6c1ff7cc5 m
CAS-14184 : Add initial ImagingDict class
The ImagingDict class is meant to be an API that can accumulate the
return dictionaries from multiple tclean + deconvolve calls, and keep a
track of the total number of iterations, the peak residual per loop.
At the moment, every time a new dict is passed in, it
appends/accumulates a set of pre-defined keys, and only retains the
final value of the remaining keys. -
Ville Suoranta 39ff367812f6ed4f54c6a6bb2361b1aec8571f32 m
Use c++14 standard on all platforms
-
Ville Suoranta dd341af668d55938587ffa3d9bc42dd6fa574883 m
Add status messages
-
Ville Suoranta 1e8040dd90b7650e7a09aa9497c9b0d79ba08705 m
Merge branch 'master' into CAS-14125
-
Ville Suoranta c9d3fd1255a447392cd1971aed545308686171a1 m
Require C++14 on Macs