How to output float in Fortran form from Mathematica high precision number
- To: mathgroup at smc.vnet.net
- Subject: [mg63430] How to output float in Fortran form from Mathematica high precision number
- From: Mike Zimnov <mikezmn at gmail.com>
- Date: Sat, 31 Dec 2005 06:40:27 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I'd like to compute Bessel function in Mathematica with high precision and output it in form for input it in fortran program. OutputStream[strm, 1] roundReal[x_, n_] := 10.^(-n) Round[10^n x] OutputFormData[] SetDirectory["D:\TMP"] strm = OpenWrite["testbes.txt"] prec := 500 x1 := SetPrecision[1, prec] x2 := SetPrecision[2, prec] dx := SetPrecision[1, prec] n1 := SetPrecision[1, prec] n2 := SetPrecision[1000, prec] dn := SetPrecision[1, prec] Do[Do[Write[strm, FortranForm[MantissaExponent[N[BesselJ[n, x], prec]]], FortranForm[MantissaExponent[N[BesselY[n, x], prec]]]], {n, n1, n2, dn}], {x, x1, x2, dx}] Close[strm] gives something like that List(0.4400505857449335159596822037189149131273723019927652511367581717801382\ 22478015547930796592381198254162606413647919983706048911708467231602807674502\ 24327981834047353357370821313128426083911211323361641344640781853844152804847\ 53267482993683173482977170169722420083977889847208425873705757084398422930770\ 74095523362060185360415772992493229757747946150577793631888988863318559886836\ 38237174625112208278787141592516308753589377855090803012032268147809601185942\ 2171418557117866024107250170328467205798516,0)List(-0.78121282130028871654715\ 00000479648205499063907164446078438332461277843915385602167276292380048056346\ 10359440695054799546384072763088051135894299724496925283869916704560256547939\ 49244470426592964777790550024750925830506854918050627057465600054365011670706\ 89836489058471101913575173418974510058673438777241131647428234630931617954458\ 98530392572370728528133991215501769790733023504549146823644700048451983374912\ 57400947944009136817464165439846747711917028102225916513551033407709857277670\ 40234678447868,0) I need in output mantissa and exponent separately as fortran understandable numbers +1.234567890123456e+0000 Any advice will be appreciated