Skip to content
This repository has been archived by the owner on Apr 18, 2023. It is now read-only.

Documentation: mod #137

Closed
Happypig375 opened this issue Aug 14, 2017 · 6 comments
Closed

Documentation: mod #137

Happypig375 opened this issue Aug 14, 2017 · 6 comments

Comments

@Happypig375
Copy link
Collaborator

Usage says it has 1 parameter.
Parameters says it has 1 parameter.
Example says it has 2 parameters.
In fact, mod() has 2 parameters.

@jiggzson
Copy link
Owner

Nice catch. Thanks! I'll fix this.

@Happypig375
Copy link
Collaborator Author

And mod(2x+2y, x+y) should evaluate to 0 instead of not evaluating?

@jiggzson
Copy link
Owner

jiggzson commented Sep 1, 2017

And mod(2x+2y, x+y) should evaluate to 0 instead of not evaluating?

Separate issue. Not only that but I'm not ready to go down that rabbit hole at the moment.

@Happypig375
Copy link
Collaborator Author

Happypig375 commented Sep 1, 2017

Separate issue.

Opened as #211.

(Wow... 211 vs 137. Sometimes it is weird to look back at how many issues I have created over the past three weeks (almost the number of issues created in the past three years), purely because I thought nerdamer was a library which is active enough to depend my app on.)

@jiggzson
Copy link
Owner

jiggzson commented Sep 1, 2017

(Wow... 211 vs 137. Sometimes it is weird to look back at how many issues I have created over the past three weeks (almost the number of issues created in the past three years), purely because I thought nerdamer was a library which is active enough to depend my app on.)

There are other libraries out there. You could always look into one of them. Maybe they suit your needs better.

@Happypig375
Copy link
Collaborator Author

Happypig375 commented Sep 2, 2017

There are other libraries out there.

I have looked at all of them:

Background Information:

I started programming with Visual Basic.NET, because that language has the word "basic" in its name and works on my Windows machine (Old memories...)
When I wanted to create a mobile app, I wanted to reuse my existing knowledge of the .NET platform.
With Xamarin, I am able to create mobile apps with .NET APIs that I know of with C#.
When I looked into Xamarin, I saw Xamarin Forms. Cross-platform UI for iOS, Android, Windows Phone and Windows 10 with shared C# code? Woohoo!

And now...

I want to create an app with symbolic algebra calculation which can supplement my calculator.
I first looked at .NET symbolic math libraries, but there were only two of them:

Then I found the Wolfram .NET/Link API
Denied: Absolute overkill, too costly

Sigh... I could not find a symbolic math library for my app... Wait! iOS, Android and Windows Phone/Windows 10 all support evaluating JavaScript natively!!! Yay!

When I first searched for a JavaScript symbolic math library, I stumbled upon Algebrite which has a list of JavaScript CAS libraries at the bottom of its home page.
I cannot use the Node Package Manager, because, well, I do not use Node! Node is too big to evaluate in Android phones (it is designed to be run on a server). I use git submodules.
Here is a list of them:

  • Algebrite
  • Coffeequate
    Denied: They are written in CoffeeScript.
    Yes, I know CoffeeScript can be compiled into JavaScript, but either I have to do it myself, which I do not want to do (it complicates the build process of my app), or wait for the library to compile it.
    Algebrite's build commit and its latest change in code have a two month gap between them!
    Coffeequate does not even have its library compiled into JavaScript on GitHub!
  • javascript-cas
    Denied: Dead library. Latest change is from May 3 2014, which is over 3 years ago.
  • Algebra.js
  • Polynomial.js
    Denied: Too small. They do not even have the very important trigonometry functions.
  • Mathsteps
    Denied: Mathsteps requires Node version > 6.0.0. Did I say I do not use Node?
  • Kas
  • Math.js
    Denied: Their code contain explicit references to the window object. I can use a JavaScript interpreter in case of bugs in the native platform implementations, but it is an interpreter, not a web view or a browser. It does not define a window object.

Soo... When all the others have fundamental issues, the only option left is Nerdamer.
And so I ended up with Nerdamer. 😉

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants