reset timestep

it uses ATOBIGINT, that looks like “atoi” behaviour. That integer part of a float is an expected behaviour of atoi at least: http://stackoverflow.com/questions/2846501/atol-atof-atoi-function-behaviours-is-there-a-stable-way-to-convert-fro

So is 0.001 the same as 0?

it uses ATOBIGINT, that looks like "atoi" behaviour. That integer part of a
float is an expected behaviour of atoi at least:

ATOBIGINT() is a macro that evaluates to the correct ato?() function
depending on whether bigint is defined as a 32-bit or 64-bit integer.
check out lmptype.h

So is 0.001 the same as 0?

the current timestep number is stored in an integer variable (actually
of type "bigint", which is a compile time customizable integer type).

so what will happen is what always happens when you assign a floating
point number to an integer: truncation.