Преглед на файлове

v.distance: fix precision

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@54458 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz преди 12 години
родител
ревизия
5fe9317726
променени са 2 файла, в които са добавени 26 реда и са изтрити 26 реда
  1. 18 18
      vector/v.distance/main.c
  2. 8 8
      vector/v.distance/print.c

+ 18 - 18
vector/v.distance/main.c

@@ -1384,28 +1384,28 @@ int main(int argc, char *argv[])
 		    sprintf(buf2, " %d", Near[i].to_cat);
 		    break;
 		case DIST:
-		    sprintf(buf2, " %f", Near[i].dist);
+		    sprintf(buf2, " %.17g", Near[i].dist);
 		    break;
 		case FROM_X:
-		    sprintf(buf2, " %f", Near[i].from_x);
+		    sprintf(buf2, " %.17g", Near[i].from_x);
 		    break;
 		case FROM_Y:
-		    sprintf(buf2, " %f", Near[i].from_y);
+		    sprintf(buf2, " %.17g", Near[i].from_y);
 		    break;
 		case TO_X:
-		    sprintf(buf2, " %f", Near[i].to_x);
+		    sprintf(buf2, " %.17g", Near[i].to_x);
 		    break;
 		case TO_Y:
-		    sprintf(buf2, " %f", Near[i].to_y);
+		    sprintf(buf2, " %.17g", Near[i].to_y);
 		    break;
 		case FROM_ALONG:
-		    sprintf(buf2, " %f", Near[i].from_along);
+		    sprintf(buf2, " %.17g", Near[i].from_along);
 		    break;
 		case TO_ALONG:
-		    sprintf(buf2, " %f", Near[i].to_along);
+		    sprintf(buf2, " %.17g", Near[i].to_along);
 		    break;
 		case TO_ANGLE:
-		    sprintf(buf2, " %f", Near[i].to_angle);
+		    sprintf(buf2, " %.17g", Near[i].to_angle);
 		    break;
 		case TO_ATTR:
 		    if (catval) {
@@ -1415,7 +1415,7 @@ int main(int argc, char *argv[])
 			    break;
 
 			case DB_C_TYPE_DOUBLE:
-			    sprintf(buf2, " %.15e", catval->val.d);
+			    sprintf(buf2, " %.17g", catval->val.d);
 			    break;
 
 			case DB_C_TYPE_STRING:
@@ -1482,28 +1482,28 @@ int main(int argc, char *argv[])
 			    sprintf(buf2, " null");
 			break;
 		    case DIST:
-			sprintf(buf2, " %f", Near[i].dist);
+			sprintf(buf2, " %.17g", Near[i].dist);
 			break;
 		    case FROM_X:
-			sprintf(buf2, " %f", Near[i].from_x);
+			sprintf(buf2, " %.17g", Near[i].from_x);
 			break;
 		    case FROM_Y:
-			sprintf(buf2, " %f", Near[i].from_y);
+			sprintf(buf2, " %.17g", Near[i].from_y);
 			break;
 		    case TO_X:
-			sprintf(buf2, " %f", Near[i].to_x);
+			sprintf(buf2, " %.17g", Near[i].to_x);
 			break;
 		    case TO_Y:
-			sprintf(buf2, " %f", Near[i].to_y);
+			sprintf(buf2, " %.17g", Near[i].to_y);
 			break;
 		    case FROM_ALONG:
-			sprintf(buf2, " %f", Near[i].from_along);
+			sprintf(buf2, " %.17g", Near[i].from_along);
 			break;
 		    case TO_ALONG:
-			sprintf(buf2, " %f", Near[i].to_along);
+			sprintf(buf2, " %.17g", Near[i].to_along);
 			break;
 		    case TO_ANGLE:
-			sprintf(buf2, " %f", Near[i].to_angle);
+			sprintf(buf2, " %.17g", Near[i].to_angle);
 			break;
 		    case TO_ATTR:
 			if (catval) {
@@ -1513,7 +1513,7 @@ int main(int argc, char *argv[])
 				break;
 
 			    case DB_C_TYPE_DOUBLE:
-				sprintf(buf2, " %.15e", catval->val.d);
+				sprintf(buf2, " %.17g", catval->val.d);
 				break;
 
 			    case DB_C_TYPE_STRING:

+ 8 - 8
vector/v.distance/print.c

@@ -22,25 +22,25 @@ int print_upload(NEAR * Near, UPLOAD * Upload, int i,
 		    fprintf(stdout, "|null");
 		break;
 	    case DIST:
-		fprintf(stdout, "|%f", Near[i].dist);
+		fprintf(stdout, "|%.17g", Near[i].dist);
 		break;
 	    case FROM_X:
-		fprintf(stdout, "|%f", Near[i].from_x);
+		fprintf(stdout, "|%.17g", Near[i].from_x);
 		break;
 	    case FROM_Y:
-		fprintf(stdout, "|%f", Near[i].from_y);
+		fprintf(stdout, "|%.17g", Near[i].from_y);
 		break;
 	    case TO_X:
-		fprintf(stdout, "|%f", Near[i].to_x);
+		fprintf(stdout, "|%.17g", Near[i].to_x);
 		break;
 	    case TO_Y:
-		fprintf(stdout, "|%f", Near[i].to_y);
+		fprintf(stdout, "|%.17g", Near[i].to_y);
 		break;
 	    case FROM_ALONG:
-		fprintf(stdout, "|%f", Near[i].from_along);
+		fprintf(stdout, "|%.17g", Near[i].from_along);
 		break;
 	    case TO_ALONG:
-		fprintf(stdout, "|%f", Near[i].to_along);
+		fprintf(stdout, "|%.17g", Near[i].to_along);
 		break;
 	    case TO_ANGLE:
 		fprintf(stdout, "|%f", Near[i].to_angle);
@@ -53,7 +53,7 @@ int print_upload(NEAR * Near, UPLOAD * Upload, int i,
 			break;
 
 		    case DB_C_TYPE_DOUBLE:
-			fprintf(stdout, "|%.15e", catval->val.d);
+			fprintf(stdout, "|%.17g", catval->val.d);
 			break;
 
 		    case DB_C_TYPE_STRING: