1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #include "slatec-internal.hpp"
- static integer const c__2 = 2;
- static integer const c__1 = 1;
- integer initds_(double const *os, integer const *nos, float const *eta)
- {
-
- integer ret_val, i__1;
- float r__1;
-
- integer i__ = 0, ii;
- float err;
-
- --os;
-
- if (*nos < 1) {
- xermsg_("SLATEC", "INITDS", "Number of coefficients is less than 1", &
- c__2, &c__1, (ftnlen)6, (ftnlen)6, (ftnlen)37);
- }
- err = (float)0.;
- i__1 = *nos;
- for (ii = 1; ii <= i__1; ++ii) {
- i__ = *nos + 1 - ii;
- err += (r__1 = (float) os[i__], (double)(abs(r__1)));
- if (err > *eta) {
- goto L20;
- }
- }
- L20:
- if (i__ == *nos) {
- xermsg_("SLATEC", "INITDS", "Chebyshev series too short for specified accuracy",
- &c__1, &c__1, (ftnlen)6, (ftnlen)6, (ftnlen)49);
- }
- ret_val = i__;
- return ret_val;
- }
|