26 lines
829 B
Text
26 lines
829 B
Text
#Include once "gmp.bi"
|
|
Dim Shared As Zstring * 100000000 outtext
|
|
|
|
Function Power(number As String,n As Uinteger) As String'automate precision
|
|
#define dp 3321921
|
|
Dim As __mpf_struct _number,FloatAnswer
|
|
Dim As Ulongint ln=Len(number)*(n)*4
|
|
If ln>dp Then ln=dp
|
|
mpf_init2(@FloatAnswer,ln)
|
|
mpf_init2(@_number,ln)
|
|
mpf_set_str(@_number,number,10)
|
|
mpf_pow_ui(@Floatanswer,@_number,n)
|
|
gmp_sprintf( @outtext,"%." & Str(n) & "Ff",@FloatAnswer )
|
|
Var outtxt=Trim(outtext)
|
|
If Instr(outtxt,".") Then outtxt= Rtrim(outtxt,"0"):outtxt=Rtrim(outtxt,".")
|
|
Return Trim(outtxt)
|
|
End Function
|
|
|
|
Extern gmp_version Alias "__gmp_version" As Zstring Ptr
|
|
Print "GMP version ";*gmp_version
|
|
Print
|
|
|
|
var ans=power("5",(4^(3^2)))
|
|
Print Left(ans,20) + " ... "+Right(ans,20)
|
|
Print "Number of digits ";Len(ans)
|
|
Sleep
|