summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-04-14 20:25:52 +0000
committerKarl Berry <karl@freefriends.org>2023-04-14 20:25:52 +0000
commite97b7bcb9d952da9d1ce6b1cc335f9732b5ed2d5 (patch)
tree4565166445629e5b4779c42b1fdf4398d4708f62 /Master/texmf-dist/tex/generic
parent538f033220da594727dfeadb2f2dea64d2eeb620 (diff)
pst-func (14apr23)
git-svn-id: svn://tug.org/texlive/trunk@66845 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic')
-rw-r--r--Master/texmf-dist/tex/generic/pst-func/pst-func.tex60
1 files changed, 57 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex
index 7960baf61b2..786942a07ab 100644
--- a/Master/texmf-dist/tex/generic/pst-func/pst-func.tex
+++ b/Master/texmf-dist/tex/generic/pst-func/pst-func.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-func.tex 689 2023-04-03 06:46:27Z herbert $
+%% $Id: pst-func.tex 697 2023-04-14 10:17:32Z herbert $
%%
%% This is file `pst-func.tex',
%%
@@ -31,8 +31,8 @@
% interface to the `xkeyval' package
\pst@addfams{pst-func}
%
-\def\fileversion{1.01}
-\def\filedate{2023/04/02}
+\def\fileversion{1.02}
+\def\filedate{2023/04/14}
\message{`PST-func' v\fileversion, \filedate\space (hv)}
%
\pstheader{pst-func.pro}
@@ -1573,6 +1573,60 @@ grestore
\ignorespaces%
}
%
+\def\psNonCentralFDist{\pst@object{psNonCentralFDist}}
+\def\psNonCentralFDist@i#1#2{%
+ \ifdim#1pt<\z@ \psframebox*{\color{red}!!!\#1 must be greater than 0!!!}
+ \else
+ \leavevmode
+ \pst@killglue
+ \begingroup
+ \addbefore@par{plotpoints=500,nue=1,mue=1,lambda=0}%
+ \use@par
+ \iffalse %\ifluatex for later use
+ \luaexec{ require("pst-func")
+ printDataPlotFileFDist(#1,#2,\psk@plotpoints,\psk@mue,\psk@nue,\psk@lambda,"\jobname-lua","true") }%
+ \fileplot{\jobname-lua.data}%
+ \else
+ \psplot[algebraic=false]{#1}{#2}[/F_BETA \psk@mue 2 div \psk@nue 2 div tx@FuncDict begin BETA end def]{
+ /constA Euler \psk@lambda -2 div exp def
+ /Sum
+ constA F_BETA
+% \psk@nue 2 div \psk@mue 2 div tx@FuncDict begin BETA end
+ div % first fraction
+ \psk@mue \psk@nue div \psk@mue 2 div exp
+ mul
+ \psk@nue dup \psk@mue x mul add div \psk@mue \psk@nue add 2 div exp
+ mul
+ x \psk@mue 2 div 1 sub exp
+ mul
+ def
+ /K 1 def
+ {
+ constA \psk@lambda 2 div K exp mul % nominator
+ \psk@nue 2 div \psk@mue 2 div K add tx@FuncDict begin BETA end K factorial mul % denominator
+ div % first fraction
+ \psk@mue \psk@nue div \psk@mue 2 div K add exp
+ mul
+ \psk@nue dup \psk@mue x mul add div \psk@mue \psk@nue add 2 div K add exp
+ mul
+ x \psk@mue 2 div 1 sub K add exp
+ mul
+ dup abs 1e-5 lt
+ { pop exit }
+ { Sum add /Sum ED
+ K 1 add /K ED } ifelse
+ K 100 ge { (Error ConfHyperFunc: K=100) == exit } if
+ } loop
+ Sum
+ }%
+ \fi
+ \endgroup
+ \fi
+ \ignorespaces
+}
+
+
+%
\define@key[psset]{pst-func}{m}[0]{\def\psk@cauchy@m{#1 }}
\define@key[psset]{pst-func}{b}[1]{\def\psk@cauchy@b{#1 }}
\psset[pst-func]{m=0,b=1}