Patashu / break_eternity.js

A Javascript numerical library to represent numbers as large as 10^^1e308 and as small as 10^-10^^1e308. Sequel to break_infinity.js, designed for incremental games.
MIT License
120 stars 43 forks source link

lambert-w changes and fix #142 #145

Open 1231234md5 opened 1 year ago

Patashu commented 1 year ago

Can you make your changes to the typescript version, please?

https://github.com/Patashu/break_eternity.js/blob/master/src/index.ts

Then you can run yarn bili src/index.ts to compile break_eternity.js and the other three files.

(Or if you can't figure out how to install bili, it took me a while, I can do that part once you're done. I had to update npm so I could update node so I can install yarn so I can install bili. I hate Javascript, lol.)

1231234md5 commented 1 year ago

Wait, is there bigint in typescript? I only know expressions like 123456n is valid in javascript.

Patashu commented 1 year ago

...I have no idea!

Is typescript just not compatible with bigint, then?

1231234md5 commented 1 year ago

I just don't know whether bigint is compatitible in typescript.

Naruyoko commented 1 year ago

BigInt is available is TypeScript since 3.2. I'm not sure if it works with whatever ECMAScipt version is targeted though.

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-2.html#bigint

1231234md5 commented 1 year ago

So I must do 25% more work than before(doing typescript)?

jakub791 commented 1 year ago

compatible

Typescript is a superset of JavaScript, it is compatible. But because you set target to es6 typescript only includes declarations for <= ES6 APIs but bigint is a ES2020 feature.

jakub791 commented 1 year ago

BigInt is available is TypeScript since 3.2. I'm not sure if it works with whatever ECMAScipt version is targeted though.

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-2.html#bigint

We are targetting ES6 (AKA ES2015) while bigint is a ES2020 feature