changeset 895:ba037fd21e9f bcSetupExperiment

Merge with default
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 22 Nov 2018 07:31:42 +0100
parents f6a8e6cc7408 (current diff) f30eafd6d4dc (diff)
children ba10f24bf476
files
diffstat 5 files changed, 40 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
diff -r f6a8e6cc7408 -r ba037fd21e9f +util/ReplaceableString.m
--- a/+util/ReplaceableString.m	Fri Nov 02 11:14:06 2018 +0100
+++ b/+util/ReplaceableString.m	Thu Nov 22 07:31:42 2018 +0100
@@ -58,3 +58,5 @@
 function b = padStr(a, n)
     b = sprintf('%-*s', n, a);
 end
+
+% TODO: Add a debug mode which prints without replacing?
diff -r f6a8e6cc7408 -r ba037fd21e9f TextTable.m
--- a/TextTable.m	Fri Nov 02 11:14:06 2018 +0100
+++ b/TextTable.m	Thu Nov 22 07:31:42 2018 +0100
@@ -41,6 +41,14 @@
             obj.fmtArray{i,j} = fmt;
         end
 
+        function formatGrid(obj, I, J, fmt)
+            for i = I
+                for j = J
+                    obj.fmtArray{i,j} = fmt;
+                end
+            end
+        end
+
         function formatRow(obj, i, fmt)
             obj.fmtArray(i,:) = {fmt};
         end
diff -r f6a8e6cc7408 -r ba037fd21e9f dealStruct.m
--- a/dealStruct.m	Fri Nov 02 11:14:06 2018 +0100
+++ b/dealStruct.m	Thu Nov 22 07:31:42 2018 +0100
@@ -1,9 +1,18 @@
 function varargout = dealStruct(s, fields)
-    default_arg('fields', fieldnames(s));
+    default_arg('fields', []);
 
-    assert(nargout == length(fields), 'Number of output arguements must match the number of fields');
-
-    for i = 1:length(fields)
-        varargout{i} = s.(fields{i});
+    if isempty(fields)
+        out = dealFields(s, fieldnames(s));
+        varargout = out(1:nargout);
+    else
+        assert(nargout == length(fields), 'Number of output arguements must match the number of fieldnames provided');
+        varargout = dealFields(s, fields);
     end
 end
+
+function out = dealFields(s, fields)
+    out = cell(1, length(fields));
+    for i = 1:length(fields)
+        out{i} = s.(fields{i});
+    end
+end
diff -r f6a8e6cc7408 -r ba037fd21e9f hgRevision.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hgRevision.m	Thu Nov 22 07:31:42 2018 +0100
@@ -0,0 +1,8 @@
+% Returns the short mercurial revision Id.
+%  ok is false if there are uncommited changes.
+function [revId, ok] = hgRevision()
+    [~, s] = system('hg id -i');
+    revId = strtrim(s);
+
+    ok = s(end) ~= '+';
+end
diff -r f6a8e6cc7408 -r ba037fd21e9f stuffStruct.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/stuffStruct.m	Thu Nov 22 07:31:42 2018 +0100
@@ -0,0 +1,8 @@
+function s = stuffStruct(varargin)
+    s = struct();
+
+    for i = 1:nargin
+        assert(~isempty(inputname(i)), 'All inputs must be variables.');
+        s.(inputname(i)) = varargin{i};
+    end
+end