Question, is if statement with int64 not available?

I try to compare two int64 scalar fields and I got this
RuntimeError: [type_check.cpp:visit@46]if conditions must be of type int32, consider using 'if x != 0:' instead of 'if x:' for float values.

Is there something wrong with my code?

Hi, does using if ti.cast(x != 0, ti.i32): work for you?
(It seems Taichi have considered the return value of i64 == i64 as i64, but if statement only supports i32)

Thank you archibate, I have tried just now but it didn’t work. It still report the same issue.
I wonder is there a function in taichi which can return the sub bits in a field ? It looks like this:

i64_tensor = ti.field(dtype=ti.i64,shape=(1,2))
i32_tensor = ti.somefunction(i64_tensor,[0,31])//returns the first 32bit interger field whose  shape is the same as i64_tensor 
i32_tensor = ti.somefunction(i64_tensor,[32,64])//returns the last 32bit interger field whose  shape is the same as i64_tensor 

But I think this operation may have a bad effect on taichi performance due to the discontinuity access to the memory