File: test_atof.c

package info (click to toggle)
sphinxbase 0.8%2B5prealpha-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 10,592 kB
  • ctags: 3,296
  • sloc: ansic: 29,950; sh: 11,802; makefile: 679; python: 335; perl: 121; yacc: 93; lex: 50
file content (40 lines) | stat: -rw-r--r-- 803 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <locale.h>
#include <stdlib.h>

#include "strfuncs.h"

int
main(int argc, char *argv[])
{
	double foo;

	/* Ensure that it's really locale-independent. */
	if (setlocale(LC_ALL, "fr_CA.UTF-8") == NULL)
		fprintf(stderr, "Note: setlocale(LC_ALL, fr_CA.UTF-8) failed\n");
	
	foo = atof("1.5324523524523423");
	printf("atof(): 1.5324523524523423 %f\n", foo);

	foo = atof_c("1.5324523524523423");
	printf("1.5324523524523423 %f\n", foo);
	if (fabs(foo - 1.532) > 0.01)
		return 1;

	foo = atof_c("5e-3");
	printf("5e-3 %f\n", foo);
	if (fabs(foo - 0.005) > 0.01)
		return 1;

	foo = atof_c("1.2e+2");
	printf("1.2e+2 %f\n", foo);
	if (fabs(foo - 120.0) > 0.01)
		return 1;

	foo = atof_c("1e-80");
	printf("1e-80 %g\n", foo);

	return 0;
}