StreamConstants* getStreamConstants(const AstronomyParameters* ap, const Streams* streams) { int i; StreamConstants* sc; real stream_sigma; real sigma_sq2; sc = (StreamConstants*) mwMallocA(streams->number_streams * sizeof(StreamConstants)); for (i = 0; i < streams->number_streams; ++i) { stream_sigma = streams->parameters[i].sigma; if (stream_sigma == 0.0) { mw_printf("stream sigma 0.0 is invalid\n"); mwFreeA(sc); return NULL; } sc[i].large_sigma = (stream_sigma > SIGMA_LIMIT || stream_sigma < -SIGMA_LIMIT); sigma_sq2 = 2.0 * sqr(stream_sigma); sc[i].sigma_sq2_inv = 1.0 / sigma_sq2; sc[i].a = streamA(&streams->parameters[i]); sc[i].c = streamC(ap, ap->wedge, streams->parameters[i].mu, streams->parameters[i].r); } return sc; }
StreamConstants* getStreamConstants(const AstronomyParameters* ap, const Streams* streams) { unsigned int i; StreamConstants* sc; real stream_sigma; real sigma_sq2; sc = (StreamConstants*) mwMallocA(sizeof(StreamConstants) * streams->number_streams); for (i = 0; i < streams->number_streams; i++) { stream_sigma = streams->parameters[i].sigma; sc[i].large_sigma = (stream_sigma > SIGMA_LIMIT || stream_sigma < -SIGMA_LIMIT); sigma_sq2 = 2.0 * sqr(stream_sigma); sc[i].sigma_sq2_inv = 1.0 / sigma_sq2; sc[i].a = streamA(&streams->parameters[i]); sc[i].c = streamC(ap, ap->wedge, streams->parameters[i].mu, streams->parameters[i].r); } return sc; }