Mercerenies / gdlisp

Lisp on the Godot platform
GNU General Public License v3.0
140 stars 1 forks source link

Handle integer division #89

Closed Mercerenies closed 1 year ago

Mercerenies commented 2 years ago

Integer division (both the regular function and the call magic) still does floating-point division if the first argument is a vector. I want to do integer division to each component of the vector, which GDScript has no built-in way to do.

Mercerenies commented 1 year ago

Until we have figured out a more permanent solution (probably in 2.x), we are removing integer division as an operator. GDLisp now follows the GDScript semantics, in that there is a single / operator which acts like float division or integer division depending on the types of the arguments. I don't really like this solution (since mod is split into two operators but / is not, it's just wildly inconsistent), but the only other option (without access to optimization technology that isn't available in 1.x right now) is to manually implement both functions, which would slow things down considerably.

So we will revisit in the future, once we have better optimization tech.