我正在为Chicken Scheme开发C扩展,并且已经准备好了一切,但我遇到了复数类型的问题。
我的代码只能处理整数,当完成任何涉及平方根的数学运算时,我的扩展可能最终不得不处理复数。
我只需要去掉小数点,得到附近的整数。我不担心准确性。
我四处查看了代码,但没有发现任何东西。
谢谢!
好吧,您可以从header标记检查数字类型。复数是一个具有2个槽的块对象;真实和想象的部分。然后,这些数字本身可以是ratnums、flonums、fixnums或bignums。如果你想在C.中完成这一切,你也需要处理这些情况
将C代码声明为接受整数并在Scheme中进行任何必要的转换可能会容易得多。