About varocarbas.com


About me


Contact me


Visit customsolvers.com, my main website


Valid markup


Valid CSS


© 2015-2018 Alvaro Carballo Garcia


URL friendly


Optimised for 1920x1080 - Proudly mobile unfriendly

All projects in full-screen mode


Project 10

Project 9

Project 8

FlexibleParser code analysis:




Chromatic encryption

(v. 1.3)

Pages in customsolvers.com:

Upcoming additions

Failed projects

Active crawling bots:

Ranking type 2


FlexibleParser raw data:

Unit conversion (UnitParser)

Compound types (UnitParser)

Timezones (DateParser)

Currently active or soon to be updated:

Domain ranking

Project 10 is expected to be the last formal project of varocarbas.com. I will continue using this site as my main self-promotional R&D-focused online resource, but by relying on other more adequate formats like domain ranking.
Note that the last versions of all the successfully completed projects (5 to 10) will always be available.
Completed (24 days)
Completed (57 days)
Completed (26 days)
Completed (47 days)
Completed (19 days)
Completed (14 days)
Non-floating-point fractional exponentiation approach
Completed on 16-Nov-2016 (24 days)

Project 10 in full-screenProject 10 in PDF

As explained in the previous section, the n-root calculation is the most relevant part of the described fractional exponentiation algorithm. GetNRoot takes care of this through a Number-adapted optimised version of the Newton-Raphson method dealing with f(x) = x^n - value.

The last three sections of this project describe this algorithm in detail.
  • The next section explains this approach and its implementation in GetNRoot.
  • The last two sections (Exponential proportionality and Method improvement) analyse the Math2_Private_New_PowSqrt_RootIni.cs contents; a file which includes all the code in charge of determining the most adequate initial guess. Without this part, the Newton-Raphson method wouldn't be able to deliver what is required because of failing (i.e., getting stuck in an infinite-loop-like situation) under virtually any scenario involving a relevant number of digits.
Additionally, note that GetNRoot isn't meant to calculate any root for any number. It can only deal with certain inputs.
  • Its algorithm assumes that value will always be a positive number. The whole approach determining the most adequate initial guess also comes from this assumption.
  • Its heavy dependence upon the corresponding initial guess restricts the possible values of n to 2 and numbers which are divisible by 10. Note that this is just a consequence of the current implementation, not an absolute limitation.