File mttroot/mtt/lib/reduce/fix_c.r artifact ce0b4c95c5 part of check-in 30623ff1dd


%% Fixes for c-code generation

ON ROUNDED$ % No integer output

%% Changes x^y to pow(x,y)
 OPERATOR pow$
 FOR ALL x,y LET x^y = pow(x,y)$ % Use the pow function
 
 %% Derivatives
 FOR ALL f,g,x LET df(pow(f,g),x)=
 	   pow(f,g-1) * (df(f,x)*g + df(g,x)*f*log(f))$

 %% Special cases
 FOR ALL x LET pow(x,0) = 1$
 FOR ALL x LET pow(x,1) = x$


END$


MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]