Esempio n. 1
0
int main ( int argc, char *argv[] )

/******************************************************************************/
/*
  Purpose:

    MAIN is the main program for C_INTRINSICS.

  Licensing:

    This code is distributed under the GNU LGPL license. 

  Modified:

    16 April 2011

  Author:

    John Burkardt
*/
{
  timestamp ( );
  printf ( "\n" );
  printf ( "C_INTRINSICS:\n" );
  printf ( "  Test the C intrinsic library.\n" );

  test_abs ( );
  test_acos ( );
  test_asin ( );
  test_atan ( );
  test_atan2 ( );
  test_ceil ( );
  test_cos ( );
  test_cosh ( );
  test_exp ( );
  test_fabs ( );
  test_floor ( );
  test_fmod ( );
  test_frexp ( );
  test_ldexp ( );
  test_log ( );
  test_log10 ( );
  test_modf ( );
  test_pow ( );
  test_sin ( );
  test_sinh ( );
  test_sqrt ( );
  test_tan ( );
  test_tanh ( );
/*
  Terminate.
*/
  printf ( "\n" );
  printf ( "C_INTRINSICS:\n" );
  printf ( "  Normal end of execution.\n" );
  printf ( "\n" );
  timestamp ( );

  return 0;
}
Esempio n. 2
0
int main() {
  test_cos_det();
  test_sin_det();
  test_atan2_det();
  test_atan2();
  test_pow_det();
  test_pow_singleton_exp();
  test_pow();
  test_fmod_det();
  test_fmod();
  test_sqrt_det();
  test_sqrt();
  test_exp_det();
  test_log_det();
  test_log10_det();

  test_powf_det();
  test_powf_singleton_exp();
  test_powf();
  test_sqrtf_det();
  test_sqrtf();
  test_expf_det();
  test_logf_det();
  test_log10f_det();

  test_diff_pow_powf();

  test_floor_det();
  test_ceil_det();
  test_trunc_det();
  test_round_det();
  test_floor();
  test_ceil();
  test_trunc();
  test_round();

  test_floorf_det();
  test_ceilf_det();
  test_truncf_det();
  test_roundf_det();
  test_floorf();
  test_ceilf();
  test_truncf();
  test_roundf();

  return 0;
}
Esempio n. 3
0
int main(int argc, char* argv[]) {
	if (argc != EXPECTED_ARGC) {
		std::cout << "ERROR: Expected " << EXPECTED_ARGC-1 << " arguments, got " << argc-1 << std::endl;
		std::cout << "Usage is: zcta.exe [processed data file] [output file]" << std::endl;
		return 1;
	}

	std::cout << "Setting up custom memory allocation... " << std::endl;
	initGMPMemoryFunctions();
	std::cout << "Testing the math (sanity check on GMP)... " <<std::endl;
	test_atan2();
	testHorizontalPointComparator();
	testHorizontalLineComparator();
	testVerticalPointComparator();
	testVerticalLineComparator();
	try {
		boost::unordered_set<ZCTA> zctas;
		boost::unordered_set<ZCTASegment> segments;
		boost::timer t1;
		std::cout << "Reading and reconstituting data from " << argv[DATA_FILE_INDEX] << std::endl;
		{
			std::ifstream data(argv[DATA_FILE_INDEX]);
			boost::unordered_map<ZCTA, std::vector<LineSegment> > blob;
			data >> blob;
			for (boost::unordered_map<ZCTA, std::vector<LineSegment> >::const_iterator i = blob.cbegin(); i != blob.cend(); ++i) {
				zctas.insert(i->first);
				const std::vector<LineSegment>& vec = i->second;
				for (int j = 0; j < vec.size(); j++)
					segments.insert(ZCTASegment(vec[j], i->first));
			}
		}
		std::cout << "Loaded data in " << t1.elapsed() << std::endl;
		std::cout << zctas.size() << " ZCTAs with " << segments.size() << " segments" << std::endl;

#ifdef REMOVE_HH_ZCTAS
		t1.restart();
		{
			std::vector<boost::unordered_set<ZCTA>::iterator> iters;
			for (boost::unordered_set<ZCTA>::iterator i = zctas.begin(); i != zctas.end(); i++)
				if (i->id().find("HH") != std::string::npos)
					iters.push_back(i);
			for (int i = 0; i < iters.size(); i++)
				zctas.erase(iters[i]);
		}
		{
			std::vector<boost::unordered_set<ZCTASegment>::iterator> iters;
			for (boost::unordered_set<ZCTASegment>::iterator i = segments.begin(); i != segments.end(); i++)
				if (i->zcta().id().find("HH") != std::string::npos)
					iters.push_back(i);
			for (int i = 0; i < iters.size(); i++)
				segments.erase(iters[i]);
		}
		std::cout << "Removed HH ZCTAs in " << t1.elapsed() << std::endl;
		std::cout << zctas.size() << " ZCTAs with " << segments.size() << " segments" << std::endl;
#endif

		AdjacencySet hadj;
		HorizontalAlgorithm ha(segments, ADJACENCY_TOLERANCE, &hadj);
		t1.restart();
		ha();
		std::cout << "Computed with horizontal sweep line in " << t1.elapsed() << ": " << hadj.size() << " adjacencies" << std::endl;

		AdjacencySet vadj;
		VerticalAlgorithm va(segments, ADJACENCY_TOLERANCE, &vadj);
		t1.restart();
		va();
		std::cout << "Computed with vertical sweep line in " << t1.elapsed() << ": " << vadj.size() << " adjacencies" << std::endl;

		t1.restart();
		vadj.merge(hadj);
		std::cout << "Merged adjacency sets in " << t1.elapsed() << std::endl;

		std::cout << "Total adjacencies: " << vadj.size() << std::endl;

		std::cout << "Writing output to " << argv[OUTPUT_FILE_INDEX] << std::endl;
		print(argv[OUTPUT_FILE_INDEX], zctas, vadj);
	} catch(std::exception& e) {
		std::cout << e.what() << std::endl;
	}
	return 0;
}
Esempio n. 4
0
int main()
{
    test_acos();
    test_asin();
    test_atan();
    test_atan2();
    test_ceil();
    test_cos();
    test_cosh();
    test_exp();
    test_fabs();
    test_floor();
    test_fmod();
    test_frexp();
    test_ldexp();
    test_log();
    test_log10();
    test_modf();
    test_pow();
    test_sin();
    test_sinh();
    test_sqrt();
    test_tan();
    test_tanh();
    test_signbit();
    test_fpclassify();
    test_isfinite();
    test_isinf();
    test_isnan();
    test_isnormal();
    test_isgreater();
    test_isgreaterequal();
    test_isless();
    test_islessequal();
    test_islessgreater();
    test_isunordered();
    test_acosh();
    test_asinh();
    test_atanh();
    test_cbrt();
    test_copysign();
    test_erf();
    test_erfc();
    test_exp2();
    test_expm1();
    test_fdim();
    test_fma();
    test_fmax();
    test_fmin();
    test_hypot();
    test_ilogb();
    test_lgamma();
    test_llrint();
    test_llround();
    test_log1p();
    test_log2();
    test_logb();
    test_lrint();
    test_lround();
    test_nan();
    test_nearbyint();
    test_nextafter();
    test_nexttoward();
    test_remainder();
    test_remquo();
    test_rint();
    test_round();
    test_scalbln();
    test_scalbn();
    test_tgamma();
    test_trunc();
}