Problem of Apollonius: Difference between revisions

Content deleted Content added
Oenone (talk | contribs)
add Ada
Tweaked D version
Line 246:
 
alias Tuple!(double, "x", double, "y", double, "r") Circle;
 
enum Tangent { externally, internally }
 
 
/**
Line 264 ⟶ 262:
Returns: The Circle that is tangent to c1, c2 and c3.
*/
Circle solveApollonius(constin Circle c1, constin Circle c2, constin Circle c3,
in Tangent t1, in Tangent t2, in Tangent t3) {
double s1 = (t1 == Tangent.externally) ? 1.0 : -1.0;
double s2 = (t2 == Tangent.externally) ? 1.0 : -1.0;
Line 318 ⟶ 316:
auto c3 = Circle(2.0, 4.0, 2.0);
 
alias Tangent.externally ete;
writeln(solveApollonius(c1, c2, c3, ete, ete, ete));
 
alias Tangent.internally iti;
writeln(solveApollonius(c1, c2, c3, iti, iti, iti));
}</lang>
}
</lang>
Output:
<pre>Tuple!(double,"x",double,"y",double,"r")(2, 2.1, 3.9)
Tuple!(double,"x",double,"y",double,"r")(2, 0.833333, 1.16667)</pre>
</pre>
 
=={{header|Fortran}}==