summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
committerNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
commit78e6b19d4678a9d641c4afa4ca800288cfa0a9d5 (patch)
treead774593055c02ade73402379b9df52568f6940f /graphics/pstricks/contrib/pst-func/tex/pst-func.tex
parentb17717e3829bc08efb71ec2537d9d894c8b82d45 (diff)
CTAN sync 202304150301
Diffstat (limited to 'graphics/pstricks/contrib/pst-func/tex/pst-func.tex')
-rw-r--r--graphics/pstricks/contrib/pst-func/tex/pst-func.tex60
1 files changed, 57 insertions, 3 deletions
diff --git a/graphics/pstricks/contrib/pst-func/tex/pst-func.tex b/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
index 7960baf61b..786942a07a 100644
--- a/graphics/pstricks/contrib/pst-func/tex/pst-func.tex
+++ b/graphics/pstricks/contrib/pst-func/tex/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}