Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,46 @@
|
|||
Pi := 3.14159;
|
||||
vardef torad expr x = Pi*x/180 enddef; % conversions
|
||||
vardef todeg expr x = 180x/Pi enddef;
|
||||
vardef sin expr x = sind(todeg(x)) enddef; % radians version of sind
|
||||
vardef cos expr x = cosd(todeg(x)) enddef; % and cosd
|
||||
|
||||
vardef sign expr x = if x>=0: 1 else: -1 fi enddef; % commodity
|
||||
|
||||
vardef tand expr x = % tan with arg in degree
|
||||
if cosd(x) = 0:
|
||||
infinity * sign(sind(x))
|
||||
else: sind(x)/cosd(x) fi enddef;
|
||||
vardef tan expr x = tand(todeg(x)) enddef; % arg in rad
|
||||
|
||||
% INVERSE
|
||||
|
||||
% the arc having x as tanget is that between x-axis and a line
|
||||
% from the center to the point (1, x); MF angle says this
|
||||
vardef atand expr x = angle(1,x) enddef;
|
||||
vardef atan expr x = torad(atand(x)) enddef; % rad version
|
||||
|
||||
% known formula to express asin and acos in function of
|
||||
% atan; a+-+b stays for sqrt(a^2 - b^2) (defined in plain MF)
|
||||
vardef asin expr x = 2atan(x/(1+(1+-+x))) enddef;
|
||||
vardef acos expr x = 2atan((1+-+x)/(1+x)) enddef;
|
||||
|
||||
vardef asind expr x = todeg(asin(x)) enddef; % degree versions
|
||||
vardef acosd expr x = todeg(acos(x)) enddef;
|
||||
|
||||
% commodity
|
||||
def outcompare(expr a, b) = message decimal a & " = " & decimal b enddef;
|
||||
|
||||
% output tests
|
||||
outcompare(torad(60), Pi/3);
|
||||
outcompare(todeg(Pi/6), 30);
|
||||
|
||||
outcompare(Pi/3, asin(sind(60)));
|
||||
outcompare(30, acosd(cos(Pi/6)));
|
||||
outcompare(45, atand(tand(45)));
|
||||
outcompare(Pi/4, atan(tand(45)));
|
||||
|
||||
outcompare(sin(Pi/3), sind(60));
|
||||
outcompare(cos(Pi/4), cosd(45));
|
||||
outcompare(tan(Pi/3), tand(60));
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue