From 0c73c04b26837465dea4db102e2585f40ca71b7d Mon Sep 17 00:00:00 2001 From: Ian Hinder Date: Fri, 27 Jan 2012 18:06:27 -0600 Subject: KrancScript.m: Handle multi-argument functions We still don't check the number of arguments --- Tools/CodeGen/KrancScript.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tools/CodeGen/KrancScript.m b/Tools/CodeGen/KrancScript.m index 7998e00..9d4bc67 100644 --- a/Tools/CodeGen/KrancScript.m +++ b/Tools/CodeGen/KrancScript.m @@ -138,11 +138,11 @@ process["indices"[inds_]] := _, ThrowError["Tensor indices must start with ^ or _"]]; is]; -process["func"["name"[name_],expr_]] := +process["func"["name"[name_],exprs__]] := Module[ {fns}, - fns = {"sin" -> Sin, "cos" -> Cos}; - If[MemberQ[First/@fns,name], (name/.fns)[process[expr]], + fns = {"sin" -> Sin, "cos" -> Cos, "if" -> IfThen}; + If[MemberQ[First/@fns,name], (name/.fns)@@Map[process,{exprs}], ThrowError["Unrecognised function: ", name]]]; process["expr"[mul_]] := process[mul]; -- cgit v1.2.3