Skip to content

Commit

Permalink
Generalise GetParameterDimensions for input and extra parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
Dylan Harries committed Dec 7, 2016
1 parent 593f4aa commit 5ce25e0
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions meta/Parameters.m
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,19 @@
GetType[sym_[indices__] /; And @@ (IsIndex /@ {indices})] :=
GetTypeFromDimension[sym, SARAH`getDimParameters[sym]];

GetParameterDimensions[sym_ /; (IsInputParameter[sym] || IsExtraParameter[sym])] :=
Module[{type},
type = GetType[sym];
Switch[type,
CConversion`ScalarType[_], {1},
CConversion`VectorType[_, n_], {type[[2]]},
CConversion`ArrayType[_, n_], {type[[2]]},
CConversion`MatrixType[_, m_, n_], {type[[2]], type[[3]]},
CConversion`TensorType[_, indices__], List @@ Rest[type],
_, Print["Error: unknown parameter type: ", ToString[type]]; Quit[1];
]
];

GetParameterDimensions[sym_] :=
Module[{dim},
dim = SARAH`getDimParameters[sym];
Expand Down

0 comments on commit 5ce25e0

Please sign in to comment.