gpi <- sprintf("%1.30f", pi)
bestFrac(gpi, 100)
# $bestmatch
# [1] 22 7
# $goodmatch
# [,1] [,2]
# goodmatch 0 0
# 1 1
# 2 1
# 3 1
# 13 4
# 16 5
# 19 6
# 22 7
# $matcherr
# [1] 1.000000e+02 6.816901e-01 3.633802e-01 4.507034e-02 3.450713e-02
# 1.859164e-02 7.981306e-03 4.024994e-04
bestFrac(gpi, 100:400)
# $bestmatch
# [1] 355 113
# $goodmatch
# [,1] [,2]
# goodmatch 0 0
# 100 31
# 100 32
# 101 32
# 104 33
# 107 34
# 110 35 # notice this is 22/7
# 179 57
# 201 64
# 223 71
# 245 78
# 267 85
# 289 92
# 311 99
# 333 106
# 355 113
# $matcherr
# [1] 1.000000e+02 2.680608e-02 5.281606e-03 4.665578e-03 3.158429e-03
# 1.739936e-03 4.024994e-04
# [8] 3.952697e-04 3.080137e-04 2.379631e-04 1.804857e-04 1.324752e-04
# 9.177057e-05 5.682219e-05
# [15] 2.648963e-05 8.491368e-08)
Run the code above in your browser using DataLab