

Ivy big number calculator for iOS, © 2015 the Go Authors, sold by Google, Inc - gldnspud
https://itunes.apple.com/us/app/ivy-big-number-calculator/id1012116478?mt=8&ign-mpt=uo%3D4

======
akhilcacharya
More information here -

[https://sourcegraph.com/blog/live/gophercon2015/123653512740](https://sourcegraph.com/blog/live/gophercon2015/123653512740)

"Example of porting a Go application to mobile ivy is a command line tool
developed by Rob Pike.

It’s a useful desktop calculator that hangles big int, rational and floating-
point numbers, vectors, matrices. It’s an interpreter for an APL-like
language.

It is ~5k lines of Go code (not including tests, docs). It imports math,
math/big, unicode, etc.

Rewriting all that in Java or Objective-C would be a lot of work and is a non-
starter, since this is already just works in Go.

After 2 hours, Hana had a working prorotype."

~~~
shanemhansen
Hana told Rob she had written a mobile app in go in 2 hours. His response:
"why did it take you 2 hours?". Classic.

------
gldnspud
I found this via [http://9to5mac.com/2015/07/10/google-ivy-experimental-big-
nu...](http://9to5mac.com/2015/07/10/google-ivy-experimental-big-number-
calculator/).

That article speculated that it's a "companion tool for the [Go Programming
Language] project".

I couldn't find any other references to iOS apps written using Go, so I'm
going to speculate that Ivy itself was written in Go. :-)

~~~
akhilcacharya
It's not a companion, Rob Pike wrote the Ivy package and the app was part of a
demonstration that it is possible to now interop Go code and Obj-C code.

[https://sourcegraph.com/blog/live/gophercon2015/123653512740](https://sourcegraph.com/blog/live/gophercon2015/123653512740)

------
ctdonath
While I understand accurate handling of big numbers is difficult, I'm
surprised it's not the general norm for calculator programs/apps by now. Glad
to see someone has done so (not the first, but they are rare).

------
minimaxir
...for certain definitions of big. 1e100000000 causes an app lock.

Also, what is going on with that app icon? Many startups nowadays have forced
quirky-and-random mascots, but here it doesn't make much sense.

~~~
throwaway41597
1e100000000 would require about 41 MB [0] of storage so that's not as crazy as
I thought. No idea what kind of CPU you need for anything other than an
addition though.

[0]: log(1eN) / log(10) = N ; therefore: bits_required = log2(1e100000000) =
100000000 * log(10) / log(2) = 3.3e8 bits = 41 MB

