如何在ATS中将整数转换为double?

时间:2016-10-15 16:43:12

标签: ats

有人能告诉我如何实施以下内容 ATS中的功能:

fun int2double (x: int): double

谢谢!

4 个答案:

答案 0 :(得分:1)

我认为你曾经说过以下是更好的方式......

FirebaseMessaging.getInstance().subscribeToTopic("news");

答案 1 :(得分:0)

It depends on the target language you want to compile to.

If you compile to C, you can just do:

staload
UN = "prelude/SATS/unsafe.sats"

fun int2double(x: int): double = $UN.cast(x)

If you compile to JavaScript, then int2double is already defined.

答案 2 :(得分:0)

如果您正在编译C代码,那么您将不得不使用以下内容:

fun int2double(x:int): double = g0int2float_int_double (x)

这是一个内置函数(有关详细信息,请参阅$ATSHOME/prelude/SATS/float.sats。)

答案 3 :(得分:0)

通常,人们可以简单地使用目标语言中可用的任何内容来实现所需的功能。例如,假设您在C中具有以下功能:

double int2double_in_c(int x) { return (double)x; }

然后你可以在ATS中声明以下内容:

fun int2double(x: int): double = "mac#int2double_in_c"

对于ATS中对int2double的每次调用,编译器在生成的代码中生成对int2double_in_c的调用。如果你想编译成JS,Python,PHP等,同样适用。