diff options
Diffstat (limited to 'metapost/context/base/mp-tool.mpiv')
-rw-r--r-- | metapost/context/base/mp-tool.mpiv | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/metapost/context/base/mp-tool.mpiv b/metapost/context/base/mp-tool.mpiv index 4ca2ea0f9..672a051c2 100644 --- a/metapost/context/base/mp-tool.mpiv +++ b/metapost/context/base/mp-tool.mpiv @@ -289,14 +289,10 @@ vardef set_outer_boundingbox text q = % obsolete setbounds q to outerboundingbox q; enddef; -%D Some missing functions can be implemented rather straightforward (thanks to -%D Taco and others): +%D Some missing functions can be implemented rather +%D straightforward: -pi := 3.14159265358979323846 ; radian := 180/pi ; % 2pi*radian = 360 ; - -% let +++ = ++ ; - -numeric Pi ; Pi := pi ; % for some old compatibility reasons i guess +numeric Pi ; Pi := 3.1415926 ; vardef sqr primary x = x*x enddef ; vardef log primary x = if x=0: 0 else: mlog(x)/mlog(10) fi enddef ; @@ -306,6 +302,15 @@ vardef inv primary x = if x=0: 0 else: x**-1 fi enddef ; vardef pow (expr x,p) = x**p enddef ; +vardef asin primary x = x+(x**3)/6+3(x**5)/40 enddef ; +vardef acos primary x = asin(-x) enddef ; +vardef atan primary x = x-(x**3)/3+(x**5)/5-(x**7)/7 enddef ; +vardef tand primary x = sind(x)/cosd(x) enddef ; + +%D Here are Taco Hoekwater's alternatives (but vardef'd and primaried). + +pi := 3.1415926 ; radian := 180/pi ; % 2pi*radian = 360 ; + vardef tand primary x = sind(x)/cosd(x) enddef ; vardef cotd primary x = cosd(x)/sind(x) enddef ; @@ -316,11 +321,9 @@ vardef cot primary x = cos(x)/sin(x) enddef ; vardef asin primary x = angle((1+-+x,x)) enddef ; vardef acos primary x = angle((x,1+-+x)) enddef ; -vardef atan primary x = angle(1,x) enddef ; vardef invsin primary x = (asin(x))/radian enddef ; vardef invcos primary x = (acos(x))/radian enddef ; -vardef invtan primary x = (atan(x))/radian enddef ; vardef acosh primary x = ln(x+(x+-+1)) enddef ; vardef asinh primary x = ln(x+(x++1)) enddef ; @@ -1220,7 +1223,7 @@ enddef ; extra_endfig := extra_endfig & " naturalizepaths ; " ; -%D Nice tracer: +%D Noce tracer: def drawboundary primary p = draw p dashed evenly withcolor white ; |