void createTestData(int precision, int location, int matrix) { int status = 0, type; // Allocate memory for data structures. type = precision | OSKAR_COMPLEX; if (matrix) type |= OSKAR_MATRIX; jones = oskar_mem_create(type, location, num_stations * num_sources, &status); ASSERT_EQ(0, status) << oskar_get_error_string(status); // Fill data structures with random data in sensible ranges. srand(0); oskar_mem_random_range(jones, 1.0, 10.0, &status); ASSERT_EQ(0, status) << oskar_get_error_string(status); }
void createTestData(int precision, int location, int matrix) { int status = 0, type; // Allocate memory for data structures. type = precision | OSKAR_COMPLEX; if (matrix) type |= OSKAR_MATRIX; jones = oskar_jones_create(type, location, num_stations, num_sources, &status); u_ = oskar_mem_create(precision, location, num_stations, &status); v_ = oskar_mem_create(precision, location, num_stations, &status); w_ = oskar_mem_create(precision, location, num_stations, &status); sky = oskar_sky_create(precision, location, num_sources, &status); tel = oskar_telescope_create(precision, location, num_stations, &status); ASSERT_EQ(0, status) << oskar_get_error_string(status); // Fill data structures with random data in sensible ranges. srand(2); oskar_mem_random_range(oskar_jones_mem(jones), 1.0, 5.0, &status); oskar_mem_random_range(u_, 1.0, 5.0, &status); oskar_mem_random_range(v_, 1.0, 5.0, &status); oskar_mem_random_range(w_, 1.0, 5.0, &status); oskar_mem_random_range( oskar_telescope_station_true_x_offset_ecef_metres(tel), 0.1, 1000.0, &status); oskar_mem_random_range( oskar_telescope_station_true_y_offset_ecef_metres(tel), 0.1, 1000.0, &status); oskar_mem_random_range( oskar_telescope_station_true_z_offset_ecef_metres(tel), 0.1, 1000.0, &status); oskar_mem_random_range(oskar_sky_I(sky), 1.0, 2.0, &status); oskar_mem_random_range(oskar_sky_Q(sky), 0.1, 1.0, &status); oskar_mem_random_range(oskar_sky_U(sky), 0.1, 0.5, &status); oskar_mem_random_range(oskar_sky_V(sky), 0.1, 0.2, &status); oskar_mem_random_range(oskar_sky_l(sky), 0.1, 0.9, &status); oskar_mem_random_range(oskar_sky_m(sky), 0.1, 0.9, &status); oskar_mem_random_range(oskar_sky_n(sky), 0.1, 0.9, &status); oskar_mem_random_range(oskar_sky_gaussian_a(sky), 0.1e-6, 0.2e-6, &status); oskar_mem_random_range(oskar_sky_gaussian_b(sky), 0.1e-6, 0.2e-6, &status); oskar_mem_random_range(oskar_sky_gaussian_c(sky), 0.1e-6, 0.2e-6, &status); ASSERT_EQ(0, status) << oskar_get_error_string(status); }