Piecewise inside a Module or Block, I don't understand this behavior.

*To*: mathgroup at smc.vnet.net*Subject*: [mg83260] Piecewise inside a Module or Block, I don't understand this behavior.*From*: "W. Craig Carter" <ccarter at mit.edu>*Date*: Fri, 16 Nov 2007 05:31:22 -0500 (EST)

Hello, I have a Piecewise function calculated in a module: Here is a simplifed example of something which has a behavior that puzzles me. a[c_, d_] := Module[{e, f}, e = d^2; f = c^2; Return[Piecewise[{e, 0 < x < 1/2}, {f, 1/2 < x <= 1}]]]; a[1,2] (*doen't return what I had anticipated*) (*However this does*) a[c_, d_] := Module[{e, f}, e = d^2; f = c^2; Return[Piecewise[{d^2, 0 < x < 1/2}, {c^2, 1/2 < x <= 1}]]]; a[1,2] (*The same goes for Block, and putting an explicit Evaluate inside the local function*) (*This behavior seems to be unique to Piecewise*) a[c_, d_] := Module[{e, f}, e = d^2; f = c^2; Return[MyFunction[{e, 0 < x < 1/2}, {f, 1/2 < x <= 1}]]]; a[1,2] I can't find anything about Piecewise, or in Module and Block documentation that gives me a hint. Anyone know what is going on? Thanks, Craig PS: I have a work-around: aAlt[c_, d_] := Module[{e, f}, e = d^2; f = c^2; {{e, 0 < x < 1/2}, {f, 1/2 < x <= 1}}]; Piecewise@aAlt[1,2] but, I am still curious....