225 |
|
|
226 |
fun getInput (ty, name, optDefault) = (case ty |
fun getInput (ty, name, optDefault) = (case ty |
227 |
of Ty.T_Bool => |
of Ty.T_Bool => |
228 |
Inputs.getInput(name, (Option.map BV) o Bool.fromString, optDefault) |
CmdLineInputs.getInput(name, (Option.map BV) o Bool.fromString, optDefault) |
229 |
| Ty.T_Int => |
| Ty.T_Int => |
230 |
Inputs.getInput(name, (Option.map IV) o IntInf.fromString, optDefault) |
CmdLineInputs.getInput(name, (Option.map IV) o IntInf.fromString, optDefault) |
231 |
| Ty.T_String => Inputs.getInput(name, fn s => SOME(SV s), optDefault) |
| Ty.T_String => CmdLineInputs.getInput(name, fn s => SOME(SV s), optDefault) |
232 |
| Ty.T_Tensor(Ty.Shape[]) => |
| Ty.T_Tensor(Ty.Shape[]) => |
233 |
Inputs.getInput(name, (Option.map RV) o Real.fromString, optDefault) |
CmdLineInputs.getInput(name, (Option.map RV) o Real.fromString, optDefault) |
234 |
| Ty.T_Tensor(Ty.Shape[Ty.DimConst d]) => let |
| Ty.T_Tensor(Ty.Shape[Ty.DimConst d]) => let |
235 |
fun fromString s = let |
fun fromString s = let |
236 |
(* first split into fields by "," *) |
(* first split into fields by "," *) |
246 |
end |
end |
247 |
handle _ => NONE |
handle _ => NONE |
248 |
in |
in |
249 |
Inputs.getInput(name, fromString, optDefault) |
CmdLineInputs.getInput(name, fromString, optDefault) |
250 |
end |
end |
251 |
| Ty.T_Tensor shp => raise Fail "TODO: general tensor inputs" |
| Ty.T_Tensor shp => raise Fail "TODO: general tensor inputs" |
252 |
| _ => raise Fail(concat[ |
| _ => raise Fail(concat[ |