Engineering data arrives as a table: a property against a temperature, a section against a depth, a measured curve against a load. linterp reads a value out of one, interpolating linearly between the rows either side.
It carries units, which is worth saying because SMath's does not — its linterp reduces every entry to a bare number and hands one back, so worksheets that use it divide the units out by hand and multiply them back in. That form still works here; it is simply no longer necessary.
Four rows from a material datasheet. The temperatures are absolute, because an interpolation is a weighted sum and a weighted sum of readings on an offset scale means nothing — °C is refused here for the same reason it cannot be scaled.
The design condition sits between two rows.
linterp refuses a point outside the rows it was given rather than continuing the last segment's slope. A table asked for a condition it never covered is where a confident wrong number does the most harm, and SMath answers that one silently.
linterp(T, Fy, T_beyond) would be refused: 800 K is off the end of the table.
Deflection measured against load, and the load that produced 1 mm of it read back the other way round — the same function, with the columns exchanged.