Skip to content

Commit 4d853fb

Browse files
committed
Feature(compiler): Initial support for float128/float32 & float64 (number alias)
1 parent 99693bb commit 4d853fb

4 files changed

Lines changed: 24 additions & 6 deletions

File tree

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
"dependencies": {
2828
"@static-script/runtime": "^0.9.1",
29-
"llvm-node": "github:MichaReiser/llvm-node#master",
29+
"llvm-node": "github:MichaReiser/llvm-node#5d6cbc993ba20a7fcd5d59aed506c729755e33f1",
3030
"typescript": "^3.1.1"
3131
}
3232
}

src/backend/llvm/native-type-resolver.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,20 @@ export class NativeTypeResolver {
106106
),
107107
true
108108
);
109+
case 'float32':
110+
return new NativeType(
111+
llvm.Type.getFloatTy(
112+
ctx.llvmContext
113+
),
114+
true
115+
);
116+
case 'float128':
117+
return new NativeType(
118+
llvm.Type.getFP128Ty(
119+
ctx.llvmContext
120+
),
121+
true
122+
);
109123
default:
110124
throw new Error(
111125
`Unsupported type, "${<string>aliasSymbol.escapedName}"`

staticscript.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,7 @@ declare type uint16 = {};
2828
declare type uint32 = {};
2929
declare type uint64 = {};
3030
declare type uint128 = {};
31+
32+
declare type float32 = {};
33+
declare type float64 = number;
34+
declare type float128 = {};

0 commit comments

Comments
 (0)