16   tfloat alpha12 = alpha2 - alpha1 ;
    17   tfloat alpha23 = alpha3 - alpha2 ;
    18   tfloat alpha31 = alpha1 - alpha3 ;
    20   tfloat L12_2 = (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ;
    21   tfloat L23_2 = (x3-x2)*(x3-x2) + (y3-y2)*(y3-y2) ;
    22   tfloat L13_2 = (x3-x1)*(x3-x1) + (y3-y1)*(y3-y1) ;
    23   tfloat L12 = sqrt( L12_2 ) ;
    24   tfloat L23 = sqrt( L23_2 ) ;
    25   tfloat L13 = sqrt( L13_2 ) ;
    27   tfloat A123 = acos( ( L12_2 + L23_2 - L13_2 ) / ( 2 * L12 * L23 ) ) ;
    28   tfloat A213 = acos( ( L12_2 + L13_2 - L23_2 ) / ( 2 * L12 * L13 ) ) ;
    29   tfloat A132 = acos( ( L13_2 + L23_2 - L12_2 ) / ( 2 * L13 * L23 ) ) ;
    31   tfloat cotA123 = Cot( A123 ) ;
    32   tfloat cotA213 = Cot( A213 ) ;
    33   tfloat cotA132 = Cot( A132 ) ;
    35   tfloat cot_alpha12 = Cot( alpha12 ) ;
    36   tfloat cot_alpha23 = Cot( alpha23 ) ;
    37   tfloat cot_alpha31 = Cot( alpha31 ) ;
    39   tfloat f1 = 1 / ( cotA213 - cot_alpha23 ) ;
    40   tfloat f2 = 1 / ( cotA123 - cot_alpha31 ) ;
    41   tfloat f3 = 1 / ( cotA132 - cot_alpha12 ) ;
    44   *x = ( f1 * x1 + f2 * x2 + f3 * x3 ) / F ;
    45   *y = ( f1 * y1 + f2 * y2 + f3 * y3 ) / F ;
 double tfloat
Defines the type for float/double.