Re: [NTG-context] How to use in Metafun, a function defined in Lua

2019-12-28 Thread Hans Hagen

On 12/28/2019 4:22 PM, Otared Kavian wrote:

Hi all,

I would like to use a math function defined in lua in Metafun in order to draw 
its graph, together with the graphs of some other functions.
As a simple example consider the following:

%%% begin lua-metafun-example.tex
\startluacode
function document.myfunction(n,x)
local S
S = math.sin(n*x)
return S
end
\stopluacode

\starttext

Here \type{document.myfunction(n,x)} is $\sin(nx)$. For instance when $n = 2$ 
and $x = 355/113$ we have:

\type{document.myfunction(2,355/113)} 
$=\cldcontext{document.myfunction(2,355/113)} \sim 0$.

\startplacefigure[title={Nothing works\dots}]
\startMPcode{GridAxis}
numeric gu ; gu = 5mm ; % gu = graph unit
draw image (
draw function (1,"x","document.myfunction(2,x)", % <-- this does not 
work
%   draw function (1,"x","sin(2*x)", % <-- this works
-355/113,355/113,.01)
scaled gu
withpen pencircle scaled .075pt
withcolor darkred ;
) xsized .7TextWidth ;
\stopMPcode
\stopplacefigure

\stoptext
%%% end lua-metafun-example.tex

Here one sees that the function « document.myfunction » is well defined in Lua 
and is known in ConTeXt, but I cannot use it in a Metapost code: how can one do 
that?

you confuse lua and mp functions

\startluacode
function MP.myfunction(n,x)
return math.sin(n*x)
end
\stopluacode

\starttext

\startMPcode
numeric gu ; gu = 5mm ;
vardef myfunction(expr n, x) = MP.myfunction(n,x) enddef ;
draw image (
draw function (1,"x","myfunction(2,x)",-355/113,355/113,.01)
scaled gu
withpen pencircle scaled .075pt
withcolor darkred ;
) xsized .7TextWidth ;
\stopMPcode

\stoptext



-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] How to use in Metafun, a function defined in Lua

2019-12-28 Thread Otared Kavian
Hi all,

I would like to use a math function defined in lua in Metafun in order to draw 
its graph, together with the graphs of some other functions.
As a simple example consider the following:

%%% begin lua-metafun-example.tex
\startluacode 
function document.myfunction(n,x)
local S
S = math.sin(n*x)
return S
end
\stopluacode

\starttext

Here \type{document.myfunction(n,x)} is $\sin(nx)$. For instance when $n = 2$ 
and $x = 355/113$ we have:

\type{document.myfunction(2,355/113)} 
$=\cldcontext{document.myfunction(2,355/113)} \sim 0$.

\startplacefigure[title={Nothing works\dots}]
\startMPcode{GridAxis}
numeric gu ; gu = 5mm ; % gu = graph unit
draw image (
draw function (1,"x","document.myfunction(2,x)", % <-- this does not 
work
%   draw function (1,"x","sin(2*x)", % <-- this works
-355/113,355/113,.01)
scaled gu 
withpen pencircle scaled .075pt
withcolor darkred ;
) xsized .7TextWidth ;
\stopMPcode
\stopplacefigure

\stoptext
%%% end lua-metafun-example.tex

Here one sees that the function « document.myfunction » is well defined in Lua 
and is known in ConTeXt, but I cannot use it in a Metapost code: how can one do 
that?

Thanks in advance for any help.
Best regards: Otared
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___