Changeset View
Changeset View
Standalone View
Standalone View
kmplot/xparser.cpp
Show First 20 Lines • Show All 355 Lines • ▼ Show 20 Line(s) | 344 | { | |||
---|---|---|---|---|---|
356 | m_y_temp.combine( m_y, dx/2, m_k2 ); | 356 | m_y_temp.combine( m_y, dx/2, m_k2 ); | ||
357 | m_k3 = rk4_f( order, eq, x + dx/2, m_y_temp ); | 357 | m_k3 = rk4_f( order, eq, x + dx/2, m_y_temp ); | ||
358 | 358 | | |||
359 | m_y_temp.combine( m_y, dx, m_k3 ); | 359 | m_y_temp.combine( m_y, dx, m_k3 ); | ||
360 | m_k4 = rk4_f( order, eq, x + dx, m_y_temp ); | 360 | m_k4 = rk4_f( order, eq, x + dx, m_y_temp ); | ||
361 | 361 | | |||
362 | m_y.addRK4( dx, m_k1, m_k2, m_k3, m_k4 ); | 362 | m_y.addRK4( dx, m_k1, m_k2, m_k3, m_k4 ); | ||
363 | 363 | | |||
364 | if ( !finite(m_y[0]) ) | 364 | if ( !std::isfinite(m_y[0]) ) | ||
365 | { | 365 | { | ||
366 | differentialFinite = false; | 366 | differentialFinite = false; | ||
367 | state->resetToInitial(); | 367 | state->resetToInitial(); | ||
368 | return 0; | 368 | return 0; | ||
369 | } | 369 | } | ||
370 | } | 370 | } | ||
371 | 371 | | |||
372 | state->x = x + dx; | 372 | state->x = x + dx; | ||
▲ Show 20 Lines • Show All 453 Lines • Show Last 20 Lines |