Blob
1 #include <u.h>2 #include <libc.h>3 #include "map.h"5 static int6 Xlagrange(struct place *place, double *x, double *y)7 {8 double z1,z2;9 double w1,w2,t1,t2;10 struct place p;11 copyplace(place,&p);12 if(place->nlat.l<0) {13 p.nlat.l = -p.nlat.l;14 p.nlat.s = -p.nlat.s;15 }16 Xstereographic(&p,&z1,&z2);17 csqrt(-z2/2,z1/2,&w1,&w2);18 cdiv(w1-1,w2,w1+1,w2,&t1,&t2);19 *y = -t1;20 *x = t2;21 if(place->nlat.l<0)22 *y = -*y;23 return(1);24 }26 proj27 lagrange(void)28 {29 return(Xlagrange);30 }