diff --git a/DESCRIPTION b/DESCRIPTION index 9119c8d9..e17e1a72 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,8 @@ Type: Package Package: metR +Language: en-GB Title: Tools for Easier Analysis of Meteorological Fields -Version: 0.5.0 +Version: 0.6.0 Authors@R: c(person(given = "Elio", family = "Campitelli", @@ -19,29 +20,24 @@ Depends: R (>= 2.10) Imports: checkmate, - curl, data.table, digest, - dplyr, fields, Formula, formula.tools, ggplot2 (>= 3.0.0), grid, - gridExtra, gtable, lubridate, - maps, - maptools, - Matrix, memoise, plyr, - RCurl, scales, sp, stringr, purrr Suggests: + maps, + maptools, covr, irlba, knitr, @@ -49,12 +45,14 @@ Suggests: pkgdown, reshape2, rmarkdown, - testthat, + testthat (>= 2.1.0), viridis, - udunits2 + udunits2, + gridExtra, + vdiffr ByteCompile: yes Encoding: UTF-8 LazyData: true Roxygen: list(markdown = TRUE) -RoxygenNote: 6.1.1 +RoxygenNote: 7.0.2 VignetteBuilder: knitr diff --git a/NAMESPACE b/NAMESPACE index 3e683661..741754e4 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -33,6 +33,7 @@ export(DewPoint) export(Divergence) export(DivideTimeseries) export(EOF) +export(EPflux) export(FilterWave) export(FitLm) export(FitWave) @@ -74,12 +75,14 @@ export(StatTextContour) export(Trajectory) export(VirtualTemperature) export(Vorticity) +export(WaveEnvelope) export(WaveFlux) export(WrapCircular) export(as.path) export(coriolis) export(coriolis.dy) export(cross) +export(denormalise) export(denormalize) export(dlat) export(dlon) @@ -101,10 +104,14 @@ export(guide_colorstrip) export(guide_colourstrip) export(guide_vector) export(is.cross) +export(is.full_season) export(reverselog_trans) export(scale_color_divergent) +export(scale_colour_divergent) +export(scale_dx_continuous) export(scale_fill_divergent) export(scale_mag) +export(scale_mag_continuous) export(scale_x_latitude) export(scale_x_level) export(scale_x_longitude) @@ -112,37 +119,18 @@ export(scale_y_latitude) export(scale_y_level) export(scale_y_longitude) export(season) +export(seasonaly) export(stat_contour2) export(stat_contour_fill) export(stat_na) export(stat_streamline) export(stat_subset) -import(Formula) -import(RCurl) import(checkmate) import(data.table) -import(formula.tools) import(ggplot2) -import(grid) -import(gridExtra) -import(gtable) -import(maps) -import(maptools) -import(scales) -import(sp) -importFrom(Matrix,sparseMatrix) -importFrom(fields,interp.surface) importFrom(ggplot2,autoplot) -importFrom(grid,convertHeight) -importFrom(grid,convertWidth) -importFrom(grid,convertX) -importFrom(grid,convertY) -importFrom(grid,gList) -importFrom(grid,gTree) importFrom(grid,grob) -importFrom(grid,is.unit) -importFrom(grid,unit) -importFrom(grid,unit.c) +importFrom(grid,makeContent) importFrom(lubridate,days) importFrom(lubridate,hours) importFrom(lubridate,milliseconds) @@ -151,20 +139,15 @@ importFrom(lubridate,seconds) importFrom(lubridate,weeks) importFrom(lubridate,years) importFrom(lubridate,ymd_hms) -importFrom(memoise,memoise) -importFrom(plyr,ddply) importFrom(stats,.lm.fit) importFrom(stats,approx) importFrom(stats,as.formula) importFrom(stats,complete.cases) importFrom(stats,line) importFrom(stats,predict) -importFrom(stats,quantile) importFrom(stats,rnorm) importFrom(stats,runif) importFrom(stats,screeplot) -importFrom(stats,setNames) importFrom(stats,uniroot) importFrom(stats,var) -importFrom(stats,varimax) importFrom(utils,head) diff --git a/NEWS.md b/NEWS.md index 9d976a75..8176fd0f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,47 @@ +# metR 0.6.0 - Pileus + +## New features + +- `EPflux()` computes Eliassen-Palm fluxes (experimental). + +- `geom_arrow()` and `geom_vector()` should plot faster. + +- New functions `is.full_season()` and `seasonaly()`. + +- `FitLm()` returns model $r^2$ and adjusted $r^2$. + +- `FitLm()` adds names to unnamed terms. + +- New function `WaveEnvelope()` that computes... the wave envelope. + +- `geom_contour2()`, `geom_contour_fill()` and `geom_text_contour()` now accept a `global.breaks` +argument that controls whether breaks should be computed once using the range of the whole +dataset or once for every grouping (e.g. faceting). `TRUE` (the default) ensures that +intervals between contours are comparable between panels. Setting it to `FALSE` computes +contours compatible with `ggplot2::geom_conotur()` (#109, thanks @freeseek) + + +## Bugfixes + +- A reworked non-equispaced derivative gives better results in `Derivate()`. + +- `ReadNetCDF()` will not fail if the first variable was called "v" (yeah, I know.. weird +error related to data.table's non standard evaluation). + +- Subsets in `ReadNetCDF()` won't fail if no element is named (#107, thanks @m-saenger) + +- Fixed bug in `WaveFlux()` (#110, thanks @salvatirehbein) + +## Internals + +* Cleaned up a lot of dependencies. Some are gone (they were not longer needed) and some +have been moved to Suggest. Overall metR should now be a bit lighter to install. + # metR 0.5.0 - Incus ## New features -- `ReadNetCDF()` suports using `NA` in subset to refer to max or min value. +- `ReadNetCDF()` supports using `NA` in subset to refer to max or min value. - `ReadNetCDF()`'s subset argument supports more complex queries. (see the help section at`?ReadNetCDF()`). @@ -28,7 +67,7 @@ is not installed. - New `GlanceNetCDF()` function that is an alias for `ReadNetCDF(out = "vars")` but now prints a human readable summary of the contents of the NetCDF file. -- `geom_streamline()` now uses 4th order Runge-Kutta insteaf of plain old Euler. It also draws arrows in the middle of the streamline. +- `geom_streamline()` now uses 4th order Runge-Kutta instead of plain old Euler. It also draws arrows in the middle of the streamline. - `ReadNetCDF()` is slightly faster and should use less memory. @@ -88,8 +127,8 @@ existed. - Removed `hemisphere` argument from `season()` since the function returns the trimester so it made no sense. -- Contour functions now compute breaks globaly (using all the data) instead of -per panel. This means default intercomparabilty between facetwed plots but also +- Contour functions now compute breaks globally (using all the data) instead of +per panel. This means default intercomparabilty between faceted plots but also a considerable deviation from `ggplot2::geom_contour()`. - The `Between` operators are removed since they were already implemented in @@ -106,7 +145,7 @@ a considerable deviation from `ggplot2::geom_contour()`. spherical units. - New geom `geom_contour_tanaka()` that plots illuminated contours. - New function `Interpolate()` for bilinear interpolation. -- Fixed bug in `FitWave()` with wavenumber 0. Now it rerturns the mean. +- Fixed bug in `FitWave()` with wavenumber 0. Now it returns the mean. - `FitWave()` runs slightly faster and `BuildWave()` runs much faster. - Removed `GeomContourFill` object since it was just a polygon. - The results from `EOF()` now use factors instead of numbers to identify each @@ -115,12 +154,12 @@ PC communicating the scale of vectors. These are highly experimental and **will** change in the future, but provide some very needed functionality so I decided to export them as they are. -- `geom_arrow()` gains new `pivot` agument to control point of rotation and +- `geom_arrow()` gains new `pivot` argument to control point of rotation and `preserve.dir` to tell if angle should be preserved. - `stat_contour_fill()` and `stat_contour2()` print a warning when no contours can be made. - `EOF()` now supports estimation of confidence intervals via bootstrap. -- `EOF()` supports varimax rotation. Rotated components are labeled accordingly. +- `EOF()` supports varimax rotation. Rotated components are labelled accordingly. - `geom_relief()` is much faster now (but see package `rayshader`). - New `geom_shadow()` for casting shadows in topographic maps. - Contour calculations in `StatContour2` are @@ -130,19 +169,19 @@ only computed once even adding several layers with the same contours it's appearance. - New `FitLm()` for getting fast estimates of linear fits. - New `FilterWave()` for filtering waves. -- Circular dimensions had quite a ride during this developement process. `RepeatCircular()` was deprecated in favour of `WrapCircular()` which is more +- Circular dimensions had quite a ride during this development process. `RepeatCircular()` was deprecated in favour of `WrapCircular()` which is more robust, and then `WrapCircular()` was deprecated in favour of the `ggperiodic` package. - The way that `stat_contour2()`, `stat_contour_fill()` and `geom_streamlines()` handle circular dimensions has changed. Now you need to use `xwrap`/`ywrap` to explicitly set the domain. This makes the implementation more robust and also allow to easily wrap to an arbitrary domain. -- After that change, the wrapping functionallity has moved to `ggperiodic`, which +- After that change, the wrapping functionality has moved to `ggperiodic`, which can handle this stuff better. The above mentioned arguments still work but are not documented and will be deprecated. - `EOF()` gains a `fill` argument for sparse-ish data. - `geom_text_contour()` now has the ability to draw a stroke around text. - `geom_contour_fill()` now can impute missing values with bivariate interpolation. - `BuildField()` actually renamed `BuildWave()` (which should've happen in the previous -release acording to this News). +release according to this News). - New function `as.path()` and added functionality to `Interpolate()` that allows to interpolate values along a path of locations. - New function `Impute2D()` which is an exported version of the method used by @@ -169,17 +208,17 @@ parameters and `geom_arrow()` is a new geom for arrows that preserve direction. - `DerivatePhysical()` is removed since it was made redundant by the extended functionality in `Derivate()` - New functions related to several physical processes (see ?physics). -- New `geom_text_contour()` and `geom_label_contour()` for labeling contours. +- New `geom_text_contour()` and `geom_label_contour()` for labelling contours. - New function `GeostrophicWind()`. -- Fixed? werid bug with `ReadNetCDF()` and `as.POSIXct`. +- Fixed? weird bug with `ReadNetCDF()` and `as.POSIXct`. - `ReadNetCDF()` now supports timezones via de `udunits2` package. - Fixed bad polygon ordering and extra polygon in `stat_contour_fill()`. - New functions `MakeBreaks()` and `AnchorBreaks()`. -- New guide. `guide_colorstrip()` displays discretized values of a continuous color +- New guide. `guide_colorstrip()` displays discretized values of a continuous colour or fill scale. - Fix for unconnected contours in `stat_contour_fill()` - New `geom_relief()` for generating relief shading. -- `ReadNetCDF()` gains a `subset` argument for subseting data. +- `ReadNetCDF()` gains a `subset` argument for subsetting data. - `AnchorBreaks()` is a new way of generating breaks. - New `geom_contour2()` that takes a function as argument in `breaks` and `geom_contour_fill()` also does the same. @@ -191,7 +230,7 @@ respectively. - `geom_contour2()` and `geom_contour_fill()` gain a `circular` argument to specify a circular dimension. - `RepeatCircular()` renamed to `RepeatCircular()`. -- `LonLabel()` and `LatLabel()` aid labeling latitude and longitude. +- `LonLabel()` and `LatLabel()` aid labelling latitude and longitude. - Changed interface of `EOF()` and `ImputeEOF()`. # meteoR 0.0.9100 diff --git a/R/Derivate.R b/R/Derivate.R index b9b67692..7a5fec3f 100644 --- a/R/Derivate.R +++ b/R/Derivate.R @@ -21,7 +21,7 @@ #' @details #' Each element of the return vector is an estimation of #' \eqn{\frac{\partial^n x}{\partial y^{n}}}{d^nx/dy^n} by -#' centered finite differences. +#' centred finite differences. #' #' If `sphere = TRUE`, then the first two independent variables are #' assumed to be longitude and latitude (**in that order**) in degrees. Then, a @@ -67,7 +67,7 @@ #' color = "red") #' #' @family meteorology functions -#' @import data.table Formula formula.tools checkmate +#' @import checkmate #' @export Derivate <- function(formula, order = 1, cyclical = FALSE, fill = FALSE, data = NULL, sphere = FALSE, a = 6371000, equispaced = TRUE) { @@ -87,13 +87,13 @@ Derivate <- function(formula, order = 1, cyclical = FALSE, fill = FALSE, ind.names <- formula.tools::rhs.vars(formula) formula <- Formula::as.Formula(formula) - data <- as.data.table(eval(quote(model.frame(formula, data = data, - na.action = NULL)))) + data <- data.table::as.data.table(eval(quote(model.frame(formula, data = data, + na.action = NULL)))) # id.name <- digest::digest(data[1, 1]) id.name <- "ff19bdd67ff5f59cdce2824074707d20" - set(data, NULL, id.name, 1:nrow(data)) - setkeyv(data, ind.names[length(ind.names):1]) + data.table::set(data, NULL, id.name, 1:nrow(data)) + data.table::setkeyv(data, ind.names[length(ind.names):1]) if (length(ind.names) > 1) { if (length(cyclical) == 1) { @@ -118,10 +118,10 @@ Derivate <- function(formula, order = 1, cyclical = FALSE, fill = FALSE, cyclical = cyclical[x], fill = fill, equispaced = equispaced)) }) - set(data, NULL, dernames[[v]], s) + data.table::set(data, NULL, dernames[[v]], s) } # data <- data[order(data[[id.name]])] - setkeyv(data, id.name) + data.table::setkeyv(data, id.name) # Correction for spherical coordinates. if (sphere == TRUE) { @@ -211,35 +211,75 @@ Vorticity <- function(formula, cyclical = FALSE, fill = FALSE, .derv <- function(x, y, order = 1, cyclical = FALSE, fill = FALSE, equispaced = TRUE) { N <- length(x) - if (equispaced) { - d <- y[2] - y[1] - } else { - if (cyclical) { + nxt <- function(v) { + v[c(2:N, 1)] + } + + prv <- function(v) { + v[c(N, 1:(N-1))] + } + + if (cyclical) { + # Check for equispaced grid + # even if the user says its equispaced, it might not be. + # If the user says it's not, then trust them. + h1 <- diff(y) + if (equispaced){ + equispaced <- slow_equal(h1) + } + if (!equispaced) { + # TODO stop("cyclical derivatives on a non-equispaced grid not yet supported") } - - d <- (y[c(2:N, 1)] - y[c(N, 1:(N-1))])/2 + h1 <- rep(h1[1], N) + h2 <- h1 + } else { + h2 <- nxt(y) - y + h1 <- y - prv(y) } - if (order >= 3) { - dxdy <- .derv(.derv(x, y, order = 2, cyclical = cyclical, fill = fill), - y, order = order - 2, cyclical = cyclical, fill = fill) + x0 <- prv(x) + x2 <- nxt(x) + + # Higher order derivatives are taken by succesive differentiation + if (order >= 2) { + dxdy <- .derv(x, y, order = 1, cyclical = cyclical, fill = fill, + equispaced = equispaced) + dxdy <- .derv(dxdy, y, order = order - 1, cyclical = cyclical, fill = fill, + equispaced = equispaced) + } else { + # First order derivative if (order == 1) { - dxdy <- (x[c(2:N, 1)] - x[c(N, 1:(N-1))])/(2*d) - } else if (order == 2) { - dxdy <- (x[c(2:N, 1)] + x[c(N, 1:(N-1))] - 2*x)/(d)^2 + # from http://www.m-hikari.com/ijma/ijma-password-2009/ijma-password17-20-2009/bhadauriaIJMA17-20-2009.pdf + # Eq 8b (f -> x) + dxdy <- -(h2/(h1*(h1+h2)))*x0 - (h1 - h2)/(h1*h2)*x + h1/(h2*(h1+h2))*x2 } + # else if (order == 2) { + # # Eq 11 + # h2 <- nxt(y) - y + # h1 <- y - prv(y) + # + # x0 <- prv(x) + # x2 <- nxt(x) + # dxdy <- 2*(h2*x0 - (h1+h2)*x + h1*x2)/(h1*h2*(h1+h2)) + # } + if (!cyclical) { if (!fill) { dxdy[c(1, N)] <- NA } if (fill) { - dxdy[1] <- (-11/6*x[1] + 3*x[2] - 3/2*x[3] + 1/3*x[4])/d - dxdy[N] <- (11/6*x[N] - 3*x[N-1] + 3/2*x[N-2] - 1/3*x[N-3])/d + # Eq 81 + dxdy[1] <- (-(2*h1 + h2)/(h1*(h1 + h2))*x0 + + (h1 + h2)/(h1*h2)*x - h1/(h2*(h1 + h2))*x2)[2] + + # Eq 8c + dxdy[N] <- (h2/(h1*(h1 + h2))*x0 - (h1+h2)/(h1*h2)*x + (2*h2 + h1)/(h2*(h1+h2))*x2)[N-1] + + # dxdy[N] <- (11/6*x[N] - 3*x[N-1] + 3/2*x[N-2] - 1/3*x[N-3])/d } } - } return(dxdy) } diff --git a/R/DivideTimeseries.R b/R/DivideTimeseries.R index 18e77bcf..f7d49718 100644 --- a/R/DivideTimeseries.R +++ b/R/DivideTimeseries.R @@ -25,12 +25,14 @@ #' DivideTimeseries(g, gdata$date, n = 2, "Date", "Max Temperature") #' @family ggplot2 helpers #' @export -#' @import ggplot2 -#' @import gridExtra DivideTimeseries <- function(g, x, n = 2, xlab = "x", ylab = "y") { warning("'DivideTimeseries' is deprecated, use ggwrap instead", ' (https://github.com/wilkox/ggwrap)') + if (!requireNamespace("gridExtra", quietly = TRUE)) { + stop("DivideTimeseries needs the gridExtra package. Install it with `install.packages(\"gridExtra\")`") + } + M <- max(x) m <- min(x) step <- (M - m)/n diff --git a/R/EOF.R b/R/EOF.R index d80c9c80..b4eaca74 100644 --- a/R/EOF.R +++ b/R/EOF.R @@ -40,7 +40,7 @@ #' LEFT *and* RIGHT". The variable combination used in this formula *must* identify #' an unique value in a cell. #' -#' So, for example, `v ~ x + y | t` would mean that ther is one value of `v` for +#' So, for example, `v ~ x + y | t` would mean that there is one value of `v` for #' each combination of `x`, `y` and `t`, and that there will be one row for #' each combination of `x` and `y` and one row for each `t`. #' @@ -103,9 +103,6 @@ #' @family meteorology functions #' @export #' @import data.table -#' @import Formula -#' @import formula.tools -#' @importFrom stats as.formula quantile varimax EOF <- function(formula, n = 1, data = NULL, B = 0, probs = c(lower = 0.025, mid = 0.5, upper = 0.975), rotate = FALSE, suffix = "PC", fill = NULL) { @@ -126,7 +123,12 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, reportAssertions(checks) f <- as.character(formula) - f <- stringr::str_split(f,"~", n = 2)[[1]] + + if (length(f) == 1) { # formula.tool did its thing + f <- stringr::str_split(f, "~", n = 2)[[1]] + } else { + f <- f[-1] + } value.var <- stringr::str_squish(f[!stringr::str_detect(f, "\\|")]) @@ -146,12 +148,12 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, if (length(missing.cols) != 0) { stop(paste0("Columns not found in data: ", paste0(missing.cols, collapse = ", "))) } - data <- setDT(data)[, (all.cols), with = FALSE] + data <- data.table::setDT(data)[, (all.cols), with = FALSE] } - setDT(data) + data.table::setDT(data) dcast.formula <- stringr::str_squish(f[stringr::str_detect(f, "\\|")]) - dcast.formula <- as.formula(stringr::str_replace(dcast.formula, "\\|", "~")) + dcast.formula <- stats::as.formula(stringr::str_replace(dcast.formula, "\\|", "~")) value.var <- stringr::str_squish(f[!stringr::str_detect(f, "\\|")]) g <- .tidy2matrix(data, dcast.formula, value.var, fill = fill) @@ -181,7 +183,7 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, eof$D <- diag(eof$d, ncol = max(n), nrow = max(n)) loadings <- t(with(eof, D%*%t(v))) scores <- eof$u - R <- varimax(loadings, normalize = FALSE) + R <- stats::varimax(loadings, normalize = FALSE) eof$u <- eof$u%*%R$rotmat # Recover rotated V and D matrixs @@ -192,19 +194,19 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, } # setDF(data) - right <- cbind(data.table(rep(pcomps, each = nrow(eof$v))), c(eof$v[, n])) + right <- cbind(data.table::data.table(rep(pcomps, each = nrow(eof$v))), c(eof$v[, n])) colnames(right) <- c(suffix, value.var) right <- cbind(unique(g$coldims), right) right[, (suffix) := factor(get(suffix), levels = pcomps, ordered = TRUE)] - left <- cbind(data.table(rep(pcomps, each = nrow(eof$u))), c(eof$u[, n])) + left <- cbind(data.table::data.table(rep(pcomps, each = nrow(eof$u))), c(eof$u[, n])) colnames(left) <- c(suffix, value.var) left <- cbind(unique(g$rowdims), left) left[, (suffix) := factor(get(suffix), levels = pcomps, ordered = TRUE)] # setDT(data) r2 <- eof$d^2/v.g^2 - sdev <- data.table(pcomps, eof$d) + sdev <- data.table::data.table(pcomps, eof$d) colnames(sdev) <- c(suffix, "sd") sdev[, (suffix) := factor(get(suffix), levels = pcomps, ordered = TRUE)] sdev[, r2 := r2] @@ -222,7 +224,7 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, eof <- svd(m) if (rotate == TRUE) { loadings <- t(with(eof, diag(d, ncol = max(n), nrow = max(n))%*%t(v))) - R <- varimax(loadings, normalize = FALSE) + R <- stats::varimax(loadings, normalize = FALSE) loadings <- R$loadings class(loadings) <- "matrix" return(sqrt(apply(loadings, 2, function(x) sum(x^2)))) @@ -231,7 +233,7 @@ EOF <- function(formula, n = 1, data = NULL, B = 0, } }) - se <- lapply(data.table::transpose(sdevs), quantile, probs = probs, names = FALSE) + se <- lapply(data.table::transpose(sdevs), stats::quantile, probs = probs, names = FALSE) se <- data.table::transpose(se) if (is.null(names(probs))) names(probs) <- scales::percent(probs) sdev[, names(probs) := se] diff --git a/R/EOF_methods.R b/R/EOF_methods.R index 11d988c1..5d831f9b 100644 --- a/R/EOF_methods.R +++ b/R/EOF_methods.R @@ -55,8 +55,6 @@ predict.eof <- function(object, n = NULL, ...) { assertIntegerish(n, lower = 1, null.ok = TRUE, add = checks) reportAssertions(checks) - ` %>% ` <- dplyr::`%>%` - if(!is.null(n)) object <- cut(object, n) value.var <- attr(object, "value.var") @@ -65,10 +63,8 @@ predict.eof <- function(object, n = NULL, ...) { right.vars <- colnames(object$right)[!(colnames(object$right) %in% c(pc, value.var))] right.formula <- as.formula(paste0(pc, " ~ ", paste0(right.vars, collapse = "+"))) - right <- object$right %>% - .[object$sdev, on = pc] %>% - .[, (value.var) := get(value.var)*sd] %>% - .tidy2matrix(right.formula, value.var) + right <- object$right[object$sdev, on = pc][, (value.var) := get(value.var)*sd] + right <- .tidy2matrix(right, right.formula, value.var) left.vars <- colnames(object$left)[!(colnames(object$left) %in% c(pc, value.var))] left.formula <- as.formula(paste0(pc, " ~ ", paste0(left.vars, collapse = "+"))) @@ -146,17 +142,17 @@ if(getRversion() >= "2.15.1") { } -#' Denormalize eof matrices +#' Denormalise eof matrices #' #' The matrices returned by [EOF()] are normalized. This function multiplies the left or right -#' matrix by the diagonal matrix to return to proper units. +#' matrix by the diagonal matrix to return it to proper units. #' #' @param eof an `eof` object. -#' @param which which side of the eof decomposition to denormaliza +#' @param which which side of the eof decomposition to denormalise #' #' #' @export -denormalize <- function(eof, which = c("left", "right")) { +denormalise <- function(eof, which = c("left", "right")) { .check_eof(eof) which <- which[1] name <- attr(eof, "value.var") @@ -165,3 +161,8 @@ denormalize <- function(eof, which = c("left", "right")) { copy(eof[[which]])[, (name) := value][] } + + +#' @export +#' @rdname denormalise +denormalize <- denormalise diff --git a/R/FitLm.R b/R/FitLm.R index 788b6ace..ff87fdb9 100644 --- a/R/FitLm.R +++ b/R/FitLm.R @@ -4,7 +4,7 @@ #' and, optionally, standard error for each regressor. #' #' @param y numeric vector of observations to model -#' @param ... numeric vectors of variables used in the modeling +#' @param ... numeric vectors of variables used in the modelling #' @param se logical indicating whether to compute the standard error #' #' @return @@ -14,6 +14,8 @@ #' \item{estimate}{estimate of the regression} #' \item{std.error}{standard error} #' \item{df}{degrees of freedom} +#' \item{r.squared}{Percent of variance explained by the model (repeated in each term)} +#' \item{adj.r.squared}{ r.squared` adjusted based on the degrees of freedom)} #' } #' #' If there's no complete cases in the regression, `NA`s are returned with no @@ -27,14 +29,14 @@ #' regr <- geopotential[, FitLm(gh, date, se = TRUE), by = .(lon, lat)] #' }) #' -#' ggplot(regr[term != "(intercept)"], aes(lon, lat)) + +#' ggplot(regr[term != "(Intercept)"], aes(lon, lat)) + #' geom_contour(aes(z = estimate, color = ..level..)) + #' stat_subset(aes(subset = abs(estimate) > 2*std.error), size = 0.05) #' #' # Using stats::lm() is much slower and with no names. #' \dontrun{ #' system.time({ -#' regr <- geopotential[, coef(lm(gh ~ date)), by = .(lon, lat)] +#' regr <- geopotential[, coef(lm(gh ~ date))[2], by = .(lon, lat)] #' }) #' } #' @@ -43,6 +45,9 @@ FitLm <- function(y, ..., se = FALSE) { X <- cbind(`(Intercept)` = 1, ...) term <- dimnames(X)[[2]] + missing <- term == "" + term[missing] <- paste0("V", seq_len(sum(missing))) + remove <- which(!complete.cases(X) | is.na(y)) N <- length(y) - length(remove) @@ -55,7 +60,9 @@ FitLm <- function(y, ..., se = FALSE) { return(list(term = term, estimate = estimate, std.error = se, - df = rep(df, length(term)))) + df = rep(df, length(term)), + r.quared = rep(NA_real_, length(term)), + adj.r.squared = rep(NA_real_, length(term)))) } else { return(list(term = term, estimate = estimate)) @@ -72,16 +79,23 @@ FitLm <- function(y, ..., se = FALSE) { if (se == TRUE) { df <- N - ncol(X) + res_sum <- sum(a$residuals^2) + ss <- sum((y - mean(y))^2) + r_squared <- 1 - res_sum/ss + adj_r_squared <- 1 - res_sum/ss*(N-1)/df + if (all(a$residuals == 0)) { se <- NA_real_ } else { - sigma <- sum(a$residuals^2)/(nrow(X) - ncol(X)) + sigma <- res_sum/(nrow(X) - ncol(X)) se <- sqrt(diag(chol2inv(chol(t(X)%*%X)))*sigma) } return(list(term = term, estimate = estimate, std.error = se, - df = rep(df, length(term)))) + df = rep(df, length(term)), + r.squared = rep(r_squared, length(term)), + adj.r.squared = rep(adj_r_squared, length(term)))) } else { return(list(term = term, estimate = estimate)) diff --git a/R/FitWave.R b/R/FitWave.R index 8ace191d..0881f742 100644 --- a/R/FitWave.R +++ b/R/FitWave.R @@ -50,6 +50,9 @@ #' specified in `k`. The argument `action` must be be manually set to `-1` or `+1` #' if `k=0`. #' +#' `WaveEnvelope` computes the wave envelope of `y` following Zimin (2003). To compute +#' the envelope of only a restricted band, first filter it with `FilterWave`. +#' #' @examples #' data(geopotential) #' library(data.table) @@ -94,7 +97,13 @@ #' geom_contour(aes(z = gh.only12, color = ..level..)) + #' coord_polar() #' +#' # Compute the envelope of the geopotential +#' jan[, envelope := WaveEnvelope(gh.no12), by = .(lat)] +#' ggplot(jan[lat == -60], aes(lon, gh.no12)) + +#' geom_line() + +#' geom_line(aes(y = envelope), color = "red") #' +#' @references Zimin, A.V., I. Szunyogh, D.J. Patil, B.R. Hunt, and E. Ott, 2003: Extracting Envelopes of Rossby Wave Packets. Mon. Wea. Rev., 131, 1011–1017, https://doi.org/10.1175/1520-0493(2003)131<1011:EEORWP>2.0.CO;2 #' @name waves #' @family meteorology functions #' @aliases BuildWave FitWave @@ -162,3 +171,13 @@ FilterWave <- function(y, k, action = sign(k[k != 0][1])) { +#' @rdname waves +#' @export +WaveEnvelope <- function(y) { + assertNumeric(y, any.missing = FALSE) + N <- length(y) + x_hat <- fft(y)/N + k <- 1:ceiling(N/2) + x_hat[k] <- 0 + Mod(fft(x_hat, inverse = T))*2 +} diff --git a/R/GetSMNData.R b/R/GetSMNData.R index 518392b4..3fe6bb00 100644 --- a/R/GetSMNData.R +++ b/R/GetSMNData.R @@ -16,7 +16,7 @@ #' \describe{ #' \item{date}{date} #' \item{t}{temperature in degrees celsius} -#' \item{rh}{relative humidity in \%} +#' \item{rh}{relative humidity in %} #' \item{slp}{sea level pressure in hPa} #' \item{dir}{wind direction in clockwise degrees from 6 o'clock} #' \item{V}{wind magnitude in m/s} @@ -53,7 +53,6 @@ #' #' @source https://ssl.smn.gob.ar/dpd/pron5d-calendario.php #' @export -#' @import RCurl GetSMNData <- function(date, type = c("hourly", "daily", "radiation"), bar = FALSE, cache = TRUE, file.dir = tempdir()) { checks <- makeAssertCollection() @@ -149,13 +148,13 @@ GetSMNData <- function(date, type = c("hourly", "daily", "radiation"), bar = FA variables <- c("start", "date", "tmax", "tmin", "station") charend <- c(1, 9, 15, 21, 101) - obs <- as.data.table(lapply(seq_along(variables)[-1], function(x) { + obs <- data.table::as.data.table(lapply(seq_along(variables)[-1], function(x) { s <- stringr::str_squish(stringr::str_sub(obs, charend[x - 1], charend[x] -1)) if(variables[x] != "station") s <- as.numeric(s) s })) - setnames(obs, variables[-1]) + data.table::setnames(obs, variables[-1]) obs <- obs[, -1] obs <- obs[!is.na(date)] @@ -170,16 +169,16 @@ GetSMNData <- function(date, type = c("hourly", "daily", "radiation"), bar = FA file <- paste0("radiacionsolar/radsolar", stringr::str_remove_all(as.character(as.Date(date)), "-"), ".txt") url <- paste0("https://ssl.smn.gob.ar/dpd/descarga_opendata.php?file=", file) - obs <- fread(url, showProgress = FALSE) + obs <- data.table::fread(url, showProgress = FALSE) if (nrow(obs) == 0) return(NULL) bs <- obs[, 1:3] - setnames(bs, c("date", "global", "diffuse")) + data.table::setnames(bs, c("date", "global", "diffuse")) bs$station <- "BsAs" ush <- obs[, c(1, 4:5)] - setnames(ush, c("date", "global", "diffuse")) + data.table::setnames(ush, c("date", "global", "diffuse")) ush$station <- "Ushuaia" obs <- rbind(bs, ush) diff --git a/R/Impute2D.R b/R/Impute2D.R index 2d330cfa..4147a6bf 100644 --- a/R/Impute2D.R +++ b/R/Impute2D.R @@ -71,6 +71,7 @@ soft_approx2d <- function(x, y, z) { .impute_data <- function(data, na.fill = TRUE, verbose = TRUE) { nas <- nrow(data[is.na(z)]) + data <- copy(data) if (nas != 0) { if (isTRUE(na.fill)) { if(isTRUE(verbose)) warning("imputing missing values", call. = FALSE) diff --git a/R/ImputeEOF.R b/R/ImputeEOF.R index a730805e..4281054f 100644 --- a/R/ImputeEOF.R +++ b/R/ImputeEOF.R @@ -8,14 +8,14 @@ #' imputation #' @param tol tolerance used for determining convergence #' @param max.iter maximum iterations allowed for the algorithm -#' @param validation number of points to use in crossvalidation (defaults to the -#' maximum of 30 or 10\% of the non NA points) +#' @param validation number of points to use in cross-validation (defaults to the +#' maximum of 30 or 10% of the non NA points) #' @param verbose logical indicating whether to print progress #' #' @return #' A vector of imputed values with attributes `eof`, which is the number of #' singular values used in the final imputation; and `rmse`, which is the Root -#' Mean Square Error estimated from crossvalidation. +#' Mean Square Error estimated from cross-validation. #' #' @details #' Singular values can be computed over matrices so \code{formula} denotes how @@ -92,12 +92,16 @@ ImputeEOF <- function(formula, max.eof = NULL, data = NULL, if (is.null(data)) { formula <- Formula::as.Formula(formula) - data <- as.data.table(eval(quote(model.frame(formula, data = data, + data <- data.table::as.data.table(eval(quote(model.frame(formula, data = data, na.action = NULL)))) } - f <- as.character(formula) - f <- stringr::str_split(f,"~", n = 2)[[1]] + + if (length(f) == 1) { # formula.tool did its thing + f <- stringr::str_split(f, "~", n = 2)[[1]] + } else { + f <- f[-1] + } dcast.formula <- stringr::str_squish(f[stringr::str_detect(f, "\\|")]) dcast.formula <- as.formula(stringr::str_replace(dcast.formula, "\\|", "~")) diff --git a/R/Interpolate.R b/R/Interpolate.R index 4fd5dbad..6b54d3eb 100644 --- a/R/Interpolate.R +++ b/R/Interpolate.R @@ -56,8 +56,7 @@ #' path <- geopotential[, Interpolate(gh ~ lon + lat, as.path(lons, lats))] #' #' @export -#' @importFrom fields interp.surface -#' @import data.table Formula formula.tools +#' @import data.table Interpolate <- function(formula, x.out, y.out, data = NULL, grid = TRUE, path = FALSE) { checks <- makeAssertCollection() @@ -97,7 +96,7 @@ Interpolate <- function(formula, x.out, y.out, data = NULL, grid = TRUE, path = formula <- Formula::as.Formula(formula) data <- as.data.table(eval(quote(model.frame(formula, data = data, na.action = NULL)))) - if (!.is.reggrid(data, ind.names)) { + if (!.has_single_value(data, ind.names)) { stop("Interpolate need a unique value for each x and y") } diff --git a/R/MaskLand.R b/R/MaskLand.R index b7336a9b..75ccb35c 100644 --- a/R/MaskLand.R +++ b/R/MaskLand.R @@ -41,9 +41,6 @@ #' coord_flip() #' #' @export -#' @import maps -#' @import maptools -#' @import sp MaskLand <- function(lon, lat, mask = "world", wrap = c(0, 360)) { checks <- makeAssertCollection() assertSameLength(c(lon = length(lon), lat = length(lat)), .var.name = "lon and lat", @@ -52,13 +49,15 @@ MaskLand <- function(lon, lat, mask = "world", wrap = c(0, 360)) { assertNumeric(wrap, len = 2, add = checks) reportAssertions(checks) + check_packages(c("maps", "maptools"), "MaskLand") + seamask <- maps::map(paste0("maps::", mask), fill = TRUE, col = "transparent", plot = FALSE, wrap = wrap) IDs <- vapply(strsplit(seamask$names, ":"), function(x) x[1], "") proj <- sp::CRS("+proj=longlat +datum=WGS84") seamask <- maptools::map2SpatialPolygons(seamask, IDs = IDs, proj4string = proj) - field <- data.table(lon, lat) + field <- data.table::data.table(lon, lat) field.unique <- unique(field) points <- sp::SpatialPoints(field.unique, proj4string = proj) diff --git a/R/ReadNetCDF.R b/R/ReadNetCDF.R index cc0d29fa..72862aca 100644 --- a/R/ReadNetCDF.R +++ b/R/ReadNetCDF.R @@ -26,7 +26,7 @@ #' \preformatted{ #' subset = list(lat = -90:0) #'} -#' More complex subsetting operations are supported. If yuou want to read non-contiguous +#' More complex subsetting operations are supported. If you want to read non-contiguous #' chunks of data, you can specify each chunk into a list inside `subset`. For example #' this subset #' \preformatted{ @@ -41,7 +41,7 @@ #' subset = list(lat = list(-90:-70, 70:90), #' lon = list(0:60, 300:360)) #'} -#' Both operations can be mixed together. So for exmaple this +#' Both operations can be mixed together. So for example this #' #' \preformatted{ #' subset = list(list(lat = -90:-70, @@ -284,7 +284,8 @@ ReadNetCDF <- function(file, vars = NULL, this.dim <- names(dimnames(nc[[v]])) first.dim <- names(dimnames(nc[[first.var]])) missing.dim <- first.dim[!(first.dim %in% this.dim)] - nc.df[, names(vars)[v] := c(nc[[v]]), by = c(missing.dim)] + ..n <- c(nc[[v]]) + nc.df[, names(vars)[v] := ..n, by = c(missing.dim)] } if (key == TRUE) data.table::setkeyv(nc.df, names(nc.df)[!(names(nc.df) %in% names(vars))]) @@ -336,6 +337,9 @@ ReadNetCDF <- function(file, vars = NULL, } }) + if (is.null(names(subset))) { + names(subset) <- rep("", length(subset)) + } # If it has name, is a global subset, # otherwhise, is a chunck definition has_name <- names(subset) != "" diff --git a/R/RepeatCircular.R b/R/RepeatCircular.R index 09877751..32a2135c 100644 --- a/R/RepeatCircular.R +++ b/R/RepeatCircular.R @@ -53,7 +53,7 @@ WrapCircular <- function(x, circular = "lon", wrap = c(0, 360)) { if (nrow(x) == 0) return(x) x <- as.data.table(x) - setorderv(x, circular) + data.table::setorderv(x, circular) res <- ggplot2::resolution(x[[circular]]) m <- min(x[[circular]]) @@ -67,21 +67,21 @@ WrapCircular <- function(x, circular = "lon", wrap = c(0, 360)) { # New "grid" x.new <- seq(m + left*res, M + right*res, by = res) - right <- right + uniqueN(x[[circular]]) - 1 + right <- right + data.table::uniqueN(x[[circular]]) - 1 # The old coord of the new grid index <- seq(left, right) index <- index %% length(unique(x[[circular]])) + 1 x.old <- unique(x[[circular]])[index] - x.new <- data.table(x.old, x.new) + x.new <- data.table::data.table(x.old, x.new) colnames(x.new) <- c(circular, paste0(circular, "new")) # Add values according to the old grid and then # remove it. y <- x[x.new, on = circular, allow.cartesian = TRUE] - set(y, NULL, circular, NULL ) - setnames(y, paste0(circular, "new"), circular) + data.table::set(y, NULL, circular, NULL ) + data.table::setnames(y, paste0(circular, "new"), circular) return(y) } diff --git a/R/Tajectory.R b/R/Tajectory.R index 8167e418..8c11a48a 100644 --- a/R/Tajectory.R +++ b/R/Tajectory.R @@ -34,11 +34,11 @@ Trajectory <- function(formula, x0, y0, } formula <- Formula::as.Formula(formula) - field <- as.data.table(eval(quote(model.frame(formula, data = data, + field <- data.table::as.data.table(eval(quote(model.frame(formula, data = data, na.action = NULL)))) - setorderv(field, ind.names) - setnames(field, c(ind.names, dep.names), c("x", "y", "t", "dx", "dy")) + data.table::setorderv(field, ind.names) + data.table::setnames(field, c(ind.names, dep.names), c("x", "y", "t", "dx", "dy")) if (.is.somedate(field$t)) { field[, t1 := to_seconds(t[1]), by = t] @@ -86,7 +86,7 @@ Trajectory <- function(formula, x0, y0, by = t1] } - setnames(points_out, c("x", "y", "t1", "dx", "dy"), c(ind.names, dep.names)) + data.table::setnames(points_out, c("x", "y", "t1", "dx", "dy"), c(ind.names, dep.names)) return(points_out) } diff --git a/R/WaveFlux.R b/R/WaveFlux.R index a439ea5e..7861bcd7 100644 --- a/R/WaveFlux.R +++ b/R/WaveFlux.R @@ -49,7 +49,7 @@ WaveFlux <- function(gh, u, v, lon, lat, lev, g = 9.81, a = 6371000) { # Derivadas dt[, `:=`(psi.dx = Derivate(psi ~ lonrad, cyclical = TRUE), - psi.dxx = Derivate(ps ~ lonrad, 2), cyclical = TRUE), by = lat] + psi.dxx = Derivate(psi ~ lonrad, 2), cyclical = TRUE), by = lat] dt[, `:=`(psi.dy = Derivate(psi ~ latrad, cyclical = FALSE), psi.dyy = Derivate(psi ~ latrad, 2, cyclical = FALSE), psi.dxy = Derivate(psi.dx ~ latrad, cyclical = FALSE)), by = lon] @@ -73,3 +73,69 @@ WaveFlux <- function(gh, u, v, lon, lat, lev, g = 9.81, a = 6371000) { }] return(flux) } + + + +#' Computes Eliassen-Palm fluxes. +#' +#' @param lon longitudes in degrees. +#' @param lat latitudes in degrees. +#' @param lev pressure levels. +#' @param t temperature in Kelvin. +#' @param u zonal wind in m/s. +#' @param v meridional wind in m/s. +#' +#' @return +#' A data.table with columns `Flon`, `Flat` and `Flev` giving the zonal, meridional +#' and vertical components of the EP Fluxes at each longitude, latitude and level. +#' +#' @references +#' Plumb, R. A. (1985). On the Three-Dimensional Propagation of Stationary Waves. Journal of the Atmospheric Sciences, 42(3), 217–229. \url{https://doi.org/10.1175/1520-0469(1985)042<0217:OTTDPO>2.0.CO;2} +#' Cohen, J., Barlow, M., Kushner, P. J., & Saito, K. (2007). Stratosphere–Troposphere Coupling and Links with Eurasian Land Surface Variability. Journal of Climate, 20(21), 5335–5343. \url{https://doi.org/10.1175/2007JCLI1725.1} +#' @export +EPflux <- function(lon, lat, lev, t, u, v) { + # Ecuación 7.1 plumb 1984 + # https://journals.ametsoc.org/doi/pdf/10.1175/1520-0469%281985%29042%3C0217%3AOTTDPO%3E2.0.CO%3B2 + a <- 6371000 + H <- 8000 + + data <- data.table::data.table( + lon = lon, + lat = lat, + lev = lev, + t = t, + u = u, + v = v) + + # Cáclulo de S: Cohen et.al. + # https://journals.ametsoc.org/doi/pdf/10.1175/2007JCLI1725.1 + + data[, tita := Adiabat(lev, t) ][ + , dtp := .derv(t, lev), by = .(lon, lat) ][ + , `:=`(S = mean(-lev*H*dtp + 2/7*t/H, na.rm = TRUE)), + by = .(lev, sign(lat)) ][ + , `:=`(tita_z = Anomaly(tita), + t_z = Anomaly(t), + u_z = Anomaly(u), + v_z = Anomaly(v)), + by = .(lev, lat)][ + , `:=`(vtita = v_z*tita_z, + utita = u_z*tita_z, + vt = v_z*t_z, + uv = u_z*v_z, + ttita = t_z*tita_z)][ + , `:=`(dvtita = .derv(vtita, lon*pi/180, cyclical = TRUE), + dutita = .derv(utita, lon*pi/180, cyclical = TRUE), + dttita = .derv(ttita, lon*pi/180, cyclical = TRUE), + p = lev/1000), + by = .(lev, lat)][ + , `:=`(Flat = p*cos(lat*pi/180)*(v_z^2 - dvtita*2*.omega*a*sin(2*lat*pi/180)), + Flon = p*cos(lat*pi/180)*(-uv + dutita*2*.omega*a*sin(2*lat*pi/180)), + Flev = p*cos(lat*pi/180)/S*coriolis(lat)*(vt - dttita*2*.omega*a*sin(2*lat*pi/180)))] + + # Undefined global blah blah blah + tita <- dtp <- S <- tita_z <- + t_z <- u_z <- v_z <- vtita <- utita <- vt <- uv <- ttita <- dvtita <- + dutita <- dttita <- p <- Flat <- Flon <- Flev <- NULL + data[, .(Flon, Flat, Flev)][] +} diff --git a/R/arrowGrob.R b/R/arrowGrob.R index 4cad26cc..946f9c2f 100644 --- a/R/arrowGrob.R +++ b/R/arrowGrob.R @@ -6,23 +6,23 @@ arrowGrob <- function(x, y, angle, length, pivot, default.units = "npc", ...) { x <- .unit_ifnot(x, default.units) y <- .unit_ifnot(y, default.units) - grob(x = x, y = y, angle = angle, length = length, pivot = pivot, ..., cl = "arrow2") + grid::grob(x = x, y = y, angle = angle, length = length, pivot = pivot, ..., cl = "arrow2") } -#' @importFrom grid convertX convertY unit.c #' @export +#' @importFrom grid makeContent makeContent.arrow2 <- function(x) { - +# browser() x$id <- rep(seq(length(x$x)), 2) - x$x <- convertX(x$x, 'mm') - x$y <- convertY(x$y, 'mm') - dx <- x$length*cos(x$angle*pi/180) - dy <- x$length*sin(x$angle*pi/180) + x$x <- grid::convertX(x$x, 'mm') + x$y <- grid::convertY(x$y, 'mm') + dx <- grid::convertUnit(x$length, "mm")*cos(x$angle*pi/180) + dy <- grid::convertUnit(x$length, "mm")*sin(x$angle*pi/180) - x$x <- unit.c(x$x - dx*x$pivot, + x$x <- fast.unit.c(x$x - dx*x$pivot, x$x + dx*(1-x$pivot)) - x$y <- unit.c(x$y - dy*x$pivot, + x$y <- fast.unit.c(x$y - dy*x$pivot, x$y + dy*(1-x$pivot)) @@ -31,7 +31,19 @@ makeContent.arrow2 <- function(x) { x } -#' @importFrom grid grob +fast.unit.c <- memoise::memoise(grid::unit.c) +# fast.unit.c <- grid::unit.c + +# fast.unit.c <- function(...) { +# browser() +# x <- list(...) +# unit <- x[[1]] +# +# x <- c(...) +# +# grid::unit(x, unit) +# } + vectorGrob <- function(x, y, dx, dy, length, preserve.dir, default.units = "npc", pivot, ...) { # angle <- atan2(yend - y, xend - x) @@ -40,28 +52,28 @@ vectorGrob <- function(x, y, dx, dy, length, preserve.dir, dx <- .unit_ifnot(dx, default.units) dy <- .unit_ifnot(dy, default.units) - grob(x = x, y = y, dx = dx, dy = dy, length = length, pivot = pivot, + grid::grob(x = x, y = y, dx = dx, dy = dy, length = length, pivot = pivot, preserve.dir = preserve.dir, ..., cl = "vector") } -#' @importFrom grid convertX convertY convertWidth convertHeight unit.c #' @export +#' @importFrom grid makeContent makeContent.vector <- function(x) { x$id <- rep(seq(length(x$x)), 2) - x$x <- convertX(x$x, 'mm') - x$y <- convertY(x$y, 'mm') - x$dx <- convertWidth(x$dx, 'mm') - x$dy <- convertHeight(x$dy, 'mm') + x$x <- grid::convertX(x$x, 'mm') + x$y <- grid::convertY(x$y, 'mm') + x$dx <- grid::convertWidth(x$dx, 'mm') + x$dy <- grid::convertHeight(x$dy, 'mm') x$angle <- atan2(as.numeric(x$dy), as.numeric(x$dx)) x$dx <- x$length*cos(x$angle) x$dy <- x$length*sin(x$angle) - x$x <- unit.c(x$x - x$dx*x$pivot, + x$x <- grid::unit.c(x$x - x$dx*x$pivot, x$x + x$dx*(1 - x$pivot)) - x$y <- unit.c(x$y - x$dy*x$pivot, + x$y <- grid::unit.c(x$y - x$dy*x$pivot, x$y + x$dy*(1 - x$pivot)) x$cl <- "polyline" @@ -69,10 +81,9 @@ makeContent.vector <- function(x) { x } -#' @importFrom grid is.unit unit .unit_ifnot <- function(x, unit) { - if (!is.unit(x)) { - x <- unit(x, unit) + if (!grid::is.unit(x)) { + x <- grid::unit(x, unit) } x } diff --git a/R/geom_arrow.R b/R/geom_arrow.R index 84be1f64..88da2cc2 100644 --- a/R/geom_arrow.R +++ b/R/geom_arrow.R @@ -108,83 +108,83 @@ geom_arrow <- function(mapping = NULL, data = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) { - layer(geom = GeomArrow, - mapping = mapping, - data = data, - stat = stat, - position = position, - show.legend = show.legend, - inherit.aes = inherit.aes, - params = list( - start = start, - direction = direction, - pivot = pivot, - preserve.dir = preserve.dir, - arrow = arrow, - lineend = lineend, - na.rm = na.rm, - skip.x = skip.x, - skip.y = skip.y, - min.mag = min.mag, - ...) - ) + ggplot2::layer(geom = GeomArrow, + mapping = mapping, + data = data, + stat = stat, + position = position, + show.legend = show.legend, + inherit.aes = inherit.aes, + params = list( + start = start, + direction = direction, + pivot = pivot, + preserve.dir = preserve.dir, + arrow = arrow, + lineend = lineend, + na.rm = na.rm, + skip.x = skip.x, + skip.y = skip.y, + min.mag = min.mag, + ...) + ) } #' @export #' @rdname geom_arrow geom_vector <- function(mapping = NULL, data = NULL, - stat = "arrow", - position = "identity", - ..., - start = 0, - direction = c("ccw", "cw"), - pivot = 0.5, - preserve.dir = FALSE, - min.mag = 0, - skip = 0, - skip.x = skip, - skip.y = skip, - arrow.angle = 15, - arrow.length = 0.5, - arrow.ends = "last", - arrow.type = "closed", - arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), - ends = arrow.ends, type = arrow.type), - lineend = "butt", - na.rm = FALSE, - show.legend = NA, - inherit.aes = TRUE) { - layer(geom = GeomArrow, - mapping = mapping, - data = data, - stat = stat, - position = position, - show.legend = show.legend, - inherit.aes = inherit.aes, - params = list( - start = start, - direction = direction, - pivot = pivot, - preserve.dir = preserve.dir, - arrow = arrow, - lineend = lineend, - na.rm = na.rm, - skip.x = skip.x, - skip.y = skip.y, - min.mag = min.mag, - ...) - ) + stat = "arrow", + position = "identity", + ..., + start = 0, + direction = c("ccw", "cw"), + pivot = 0.5, + preserve.dir = FALSE, + min.mag = 0, + skip = 0, + skip.x = skip, + skip.y = skip, + arrow.angle = 15, + arrow.length = 0.5, + arrow.ends = "last", + arrow.type = "closed", + arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), + ends = arrow.ends, type = arrow.type), + lineend = "butt", + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE) { + ggplot2::layer(geom = GeomArrow, + mapping = mapping, + data = data, + stat = stat, + position = position, + show.legend = show.legend, + inherit.aes = inherit.aes, + params = list( + start = start, + direction = direction, + pivot = pivot, + preserve.dir = preserve.dir, + arrow = arrow, + lineend = lineend, + na.rm = na.rm, + skip.x = skip.x, + skip.y = skip.y, + min.mag = min.mag, + ...) + ) } draw_key_vector <- function (data, params, size) { - data$linetype[is.na(data$linetype)] <- 0 - grid::segmentsGrob(0.1, 0.5, 0.9, 0.5, - gp = grid::gpar(col = alpha(data$colour, data$alpha), - lwd = data$size * .pt, - lty = data$linetype, - lineend = "butt"), - arrow = params$arrow) + data$linetype[is.na(data$linetype)] <- 0 + grid::segmentsGrob(0.1, 0.5, 0.9, 0.5, + gp = grid::gpar(col = alpha(data$colour, data$alpha), + lwd = data$size * .pt, + lty = data$linetype, + lineend = "butt"), + arrow = params$arrow) } #' @rdname geom_arrow @@ -192,136 +192,136 @@ draw_key_vector <- function (data, params, size) { #' @format NULL #' @export GeomArrow <- ggplot2::ggproto("GeomArrow", ggplot2::Geom, - required_aes = c("x", "y"), - default_aes = ggplot2::aes(color = "black", size = 0.5, min.mag = 0, - linetype = 1, alpha = NA, mag = 0, - angle = 0), - draw_key = draw_key_vector, - draw_panel = function(data, panel_scales, coord, - arrow = arrow, lineend = lineend, - start = start, direction = direction, - preserve.dir = FALSE, pivot = 0.5) { - if (!is.finite(pivot)) { - stop("pivot must be a number between 0 and 1", call. = FALSE) - } - if (pivot > 1) { - pivot <- 1 - warning("pivot greater than 1, setting it to 1", call. = FALSE) - } - if (pivot < 0) { - pivot <- 0 - warning("pivot less than 0, setting it to 0", call. = FALSE) - } - mag <- data$norm_mag + required_aes = c("x", "y"), + default_aes = ggplot2::aes(color = "black", size = 0.5, min.mag = 0, + linetype = 1, alpha = NA, + angle = 0, mag = 0), + draw_key = draw_key_vector, + draw_panel = function(data, panel_scales, coord, + arrow = arrow, lineend = lineend, + start = start, direction = direction, + preserve.dir = FALSE, pivot = 0.5) { + if (!is.finite(pivot)) { + stop("pivot must be a number between 0 and 1", call. = FALSE) + } + if (pivot > 1) { + pivot <- 1 + warning("pivot greater than 1, setting it to 1", call. = FALSE) + } + if (pivot < 0) { + pivot <- 0 + warning("pivot less than 0, setting it to 0", call. = FALSE) + } + mag <- data$norm_mag - if ("simpleUnit" %in% class(unit(1, "mm"))) { - arrow$length <- mag*arrow$length - } else { - arrow$length <- unit(as.numeric(arrow$length)*mag, - attr(arrow$length, "unit")) - } + if ("simpleUnit" %in% class(unit(1, "mm"))) { + arrow$length <- mag*arrow$length + } else { + arrow$length <- unit(as.numeric(arrow$length)*mag, + attr(arrow$length, "unit")) + } - if (preserve.dir == FALSE) { - # For non linear coords - data$group <- seq(nrow(data)) - data$piece <- 1 - data2 <- data - data2$piece <- 2 + if (preserve.dir == FALSE) { + # For non linear coords + data$group <- seq(nrow(data)) + data$piece <- 1 + data2 <- data + data2$piece <- 2 - # Approximation for non linear coords. - data2$x <- with(data, x + dx/10000) - data2$y <- with(data, y + dy/10000) + # Approximation for non linear coords. + data2$x <- with(data, x + dx/10000) + data2$y <- with(data, y + dy/10000) - coords <- coord$transform(data, panel_scales) - coords2 <- coord$transform(data2, panel_scales) + coords <- coord$transform(data, panel_scales) + coords2 <- coord$transform(data2, panel_scales) - coords$xend <- coords2$x - coords$yend <- coords2$y - coords$dx <- with(coords, xend - x)/100 - coords$dy <- with(coords, yend - y)/100 + coords$xend <- coords2$x + coords$yend <- coords2$y + coords$dx <- with(coords, xend - x)/100 + coords$dy <- with(coords, yend - y)/100 - pol <- vectorGrob(x = coords$x, y = coords$y, - dx = coords$dx, dy = coords$dy, - length = unit(coords$mag, "cm"), - pivot = pivot, - preserve.dir = preserve.dir, - default.units = "npc", - arrow = arrow, - gp = grid::gpar(col = coords$colour, - fill = scales::alpha(coords$colour, coords$alpha), - alpha = ifelse(is.na(coords$alpha), 1, coords$alpha), - lwd = coords$size*.pt, - lty = coords$linetype, - lineend = lineend)) + pol <- vectorGrob(x = coords$x, y = coords$y, + dx = coords$dx, dy = coords$dy, + length = unit(coords$mag, "cm"), + pivot = pivot, + preserve.dir = preserve.dir, + default.units = "npc", + arrow = arrow, + gp = grid::gpar(col = coords$colour, + fill = scales::alpha(coords$colour, coords$alpha), + alpha = ifelse(is.na(coords$alpha), 1, coords$alpha), + lwd = coords$size*.pt, + lty = coords$linetype, + lineend = lineend)) - } else { - coords <- coord$transform(data, panel_scales) - pol <- arrowGrob(x = coords$x, y = coords$y, - angle = coords$angle, - length = unit(coords$mag, "cm"), - pivot = pivot, - preserve.dir = preserve.dir, - default.units = "native", - arrow = arrow, - gp = grid::gpar(col = coords$colour, - fill = scales::alpha(coords$colour, coords$alpha), - alpha = ifelse(is.na(coords$alpha), 1, coords$alpha), - lwd = coords$size*.pt, - lty = coords$linetype, - lineend = lineend)) - } - pol - }) + } else { + coords <- coord$transform(data, panel_scales) + pol <- arrowGrob(x = coords$x, y = coords$y, + angle = coords$angle, + length = unit(coords$mag, "cm"), + pivot = pivot, + preserve.dir = preserve.dir, + default.units = "native", + arrow = arrow, + gp = grid::gpar(col = coords$colour, + fill = scales::alpha(coords$colour, coords$alpha), + alpha = ifelse(is.na(coords$alpha), 1, coords$alpha), + lwd = coords$size*.pt, + lty = coords$linetype, + lineend = lineend)) + } + pol + }) #' @rdname geom_arrow #' @usage NULL #' @format NULL #' @export StatArrow <- ggplot2::ggproto("StatArrow", ggplot2::Stat, - required_aes = c("x", "y"), - default_aes = ggplot2::aes(min.mag = 0, dx = NULL, dy = NULL, - mag = NULL, angle = NULL), - compute_group = function(self, data, scales, - skip.x = skip.x, skip.y = skip.y, - min.mag = min.mag, start = 0, direction = -1, - preserve.dir = TRUE, ...) { - data - }, - setup_data = function(data, params) { + required_aes = c("x", "y"), + default_aes = ggplot2::aes(min.mag = 0, dx = NULL, dy = NULL, + mag = NULL, angle = NULL), + compute_group = function(self, data, scales, + skip.x = skip.x, skip.y = skip.y, + min.mag = min.mag, start = 0, direction = -1, + preserve.dir = TRUE, ...) { + data + }, + setup_data = function(data, params) { - params$direction <- switch(params$direction[1], - ccw = -1, - cw = 1, - stop("direction must be either ccw or cw", call. = FALSE) - ) - if (is.null(data$mag) | is.null(data$angle)) { - if (is.null(data$dx) | is.null(data$dy)) { - stop("stat_arrow needs wither mag and angle or dx and dy", call. = FALSE) - } - data$mag <- with(data, Mag(dx, dy)) - data$angle <- with(data, atan2(dy, dx)*180/pi) - } else { - # Turn into mathematical angle - data$angle <- params$start - data$angle*params$direction - data$dx <- with(data, mag*cos(angle*pi/180)) - data$dy <- with(data, mag*sin(angle*pi/180)) - } + params$direction <- switch(params$direction[1], + ccw = -1, + cw = 1, + stop("direction must be either ccw or cw", call. = FALSE) + ) + if (is.null(data$mag) | is.null(data$angle)) { + if (is.null(data$dx) | is.null(data$dy)) { + stop("stat_arrow needs wither mag and angle or dx and dy", call. = FALSE) + } + data$mag <- with(data, Mag(dx, dy)) + data$angle <- with(data, atan2(dy, dx)*180/pi) + } else { + # Turn into mathematical angle + data$angle <- params$start - data$angle*params$direction + data$dx <- with(data, mag*cos(angle*pi/180)) + data$dy <- with(data, mag*sin(angle*pi/180)) + } - data <- subset(data, x %in% JumpBy(sort(unique(x)), params$skip.x + 1) & - y %in% JumpBy(sort(unique(y)), params$skip.y + 1) & - mag >= params$min.mag) + data <- subset(data, x %in% JumpBy(sort(unique(x)), params$skip.x + 1) & + y %in% JumpBy(sort(unique(y)), params$skip.y + 1) & + mag >= params$min.mag) - data$norm_mag <- with(data, mag/max(mag, na.rm = TRUE)) - data - }, - compute_panel = function(self, data, scales, - skip.x = 0, skip.y = 0, - min.mag = 0, start = 0, direction = -1, - preserve.dir = TRUE, ...) { - if (plyr::empty(data)) return(data.frame()) + data$norm_mag <- with(data, mag/max(mag, na.rm = TRUE)) + data + }, + compute_panel = function(self, data, scales, + skip.x = 0, skip.y = 0, + min.mag = 0, start = 0, direction = -1, + preserve.dir = TRUE, ...) { + if (plyr::empty(data)) return(data.frame()) - groups <- split(data, data$group) + groups <- split(data, data$group) stats <- lapply(groups, function(group) { self$compute_group(data = group, scales = scales, ...) }) diff --git a/R/geom_contour2.r b/R/geom_contour2.r index a51175c6..cfb80f39 100644 --- a/R/geom_contour2.r +++ b/R/geom_contour2.r @@ -37,13 +37,14 @@ geom_contour2 <- function(mapping = NULL, data = NULL, breaks = MakeBreaks(), bins = NULL, binwidth = NULL, + global.breaks = TRUE, na.rm = FALSE, na.fill = FALSE, # fill.linear = TRUE, show.legend = NA, inherit.aes = TRUE) { .check_wrap_param(list(...)) - layer( + ggplot2::layer( data = data, mapping = mapping, stat = stat, @@ -58,6 +59,7 @@ geom_contour2 <- function(mapping = NULL, data = NULL, breaks = breaks, bins = bins, binwidth = binwidth, + global.breaks = global.breaks, na.rm = na.rm, na.fill = na.fill, # fill.linear = fill.linear, diff --git a/R/geom_contour_fill.R b/R/geom_contour_fill.R index 87861d91..923192bb 100644 --- a/R/geom_contour_fill.R +++ b/R/geom_contour_fill.R @@ -15,7 +15,7 @@ #' @param bins Number of evenly spaced breaks. #' @param binwidth Distance between breaks. #' @param na.fill How to fill missing values. -#' - `FALSE` for leting the computation fail with no interpolation +#' - `FALSE` for letting the computation fail with no interpolation #' - `TRUE` for imputing missing values with [Impute2D] #' - A numeric value for constant imputation #' - A function that takes a vector and returns a numeric (e.g. `mean`) @@ -55,7 +55,6 @@ #' #' @family ggplot2 helpers #' @export -#' @import sp #' @import ggplot2 geom_contour_fill <- function(mapping = NULL, data = NULL, stat = "ContourFill", position = "identity", diff --git a/R/geom_contour_tanaka.R b/R/geom_contour_tanaka.R index dfd5118e..052dccdf 100644 --- a/R/geom_contour_tanaka.R +++ b/R/geom_contour_tanaka.R @@ -59,7 +59,6 @@ #' g + geom_contour_tanaka(aes(z = gh.z)) #' #' @export -#' @import grid ggplot2 data.table geom_contour_tanaka <- function(mapping = NULL, data = NULL, stat = "Contour2", position = "identity", ..., @@ -119,20 +118,20 @@ GeomContourTanaka <- ggplot2::ggproto("GeomContourTanaka", ggplot2::GeomPath, rx <- ggplot2::resolution(data$x, zero = FALSE) ry <- ggplot2::resolution(data$y, zero = FALSE) - setDT(data) + data.table::setDT(data) data[, dx := c(diff(x), 0), by = group] data[, dy := c(diff(y), 0), by = group] - munched <- coord_munch(coord, data, panel_params) + munched <- ggplot2::coord_munch(coord, data, panel_params) # munched <- subset(munched, is.na(remove)) # Silently drop lines with less than two points, preserving order rows <- stats::ave(seq_len(nrow(munched)), munched$group, FUN = length) munched <- munched[rows >= 2, ] - if (nrow(munched) < 2) return(zeroGrob()) + if (nrow(munched) < 2) return(ggplot2::zeroGrob()) - munched <- setDT(munched) + munched <- data.table::setDT(munched) munched[, dx := c(diff(x), 0), by = group] munched[, dy := c(diff(y), 0), by = group] @@ -173,12 +172,12 @@ GeomContourTanaka <- ggplot2::ggproto("GeomContourTanaka", ggplot2::GeomPath, end <- c(group_diff, TRUE) if (!constant) { - segmentsGrob( + grid::segmentsGrob( munched$x[!end], munched$y[!end], munched$x[!start], munched$y[!start], default.units = "native", arrow = arrow, - gp = gpar( - col = alpha(munched$colour, munched$alpha)[!end], - fill = alpha(munched$colour, munched$alpha)[!end], + gp = grid::gpar( + col = scales::alpha(munched$colour, munched$alpha)[!end], + fill = scales::alpha(munched$colour, munched$alpha)[!end], lwd = munched$size[!end] * .pt, lty = munched$linetype[!end], lineend = lineend, @@ -187,14 +186,13 @@ GeomContourTanaka <- ggplot2::ggproto("GeomContourTanaka", ggplot2::GeomPath, ) ) } else { - print("constant") id <- match(munched$group, unique(munched$group)) - polylineGrob( + grid::polylineGrob( munched$x, munched$y, id = id, default.units = "native", arrow = arrow, - gp = gpar( - col = alpha(munched$colour, munched$alpha)[start], - fill = alpha(munched$colour, munched$alpha)[start], + gp = grid::gpar( + col = scales::alpha(munched$colour, munched$alpha)[start], + fill = scales::alpha(munched$colour, munched$alpha)[start], lwd = munched$size[start] * .pt, lty = munched$linetype[start], lineend = lineend, diff --git a/R/geom_relief.R b/R/geom_relief.R index 0215425c..4cb8b4e0 100644 --- a/R/geom_relief.R +++ b/R/geom_relief.R @@ -3,7 +3,7 @@ #' `geom_relief()` simulates shading caused by relief. Can be useful when #' plotting topographic data because relief shading might give a more intuitive #' impression of the shape of the terrain than contour lines or mapping height -#' to color. `geom_shadow()` projects shadows. +#' to colour. `geom_shadow()` projects shadows. #' #' @inheritParams ggplot2::geom_tile #' @param raster if `TRUE` (the default), uses [ggplot2::geom_raster], @@ -140,8 +140,8 @@ GeomRelief <- ggplot2::ggproto("GeomRelief", ggplot2::GeomTile, stop("geom_raster only works with Cartesian coordinates", call. = FALSE) } # Convert vector of data to raster - x_pos <- as.integer((coords$x - min(coords$x)) / resolution(coords$x, FALSE)) - y_pos <- as.integer((coords$y - min(coords$y)) / resolution(coords$y, FALSE)) + x_pos <- as.integer((coords$x - min(coords$x)) / ggplot2::resolution(coords$x, FALSE)) + y_pos <- as.integer((coords$y - min(coords$y)) / ggplot2::resolution(coords$y, FALSE)) nrow <- max(y_pos) + 1 ncol <- max(x_pos) + 1 diff --git a/R/geom_shadow.R b/R/geom_shadow.R index 48465f1f..d71fd7bd 100644 --- a/R/geom_shadow.R +++ b/R/geom_shadow.R @@ -60,8 +60,8 @@ GeomShadow <- ggplot2::ggproto("GeomShadow", ggplot2::GeomTile, stop("geom_raster only works with Cartesian coordinates", call. = FALSE) } # Convert vector of data to raster - x_pos <- as.integer((coords$x - min(coords$x)) / resolution(coords$x, FALSE)) - y_pos <- as.integer((coords$y - min(coords$y)) / resolution(coords$y, FALSE)) + x_pos <- as.integer((coords$x - min(coords$x)) / ggplot2::resolution(coords$x, FALSE)) + y_pos <- as.integer((coords$y - min(coords$y)) / ggplot2::resolution(coords$y, FALSE)) nrow <- max(y_pos) + 1 ncol <- max(x_pos) + 1 diff --git a/R/geom_streamline.R b/R/geom_streamline.R index a8e1fb0c..b025b6f9 100644 --- a/R/geom_streamline.R +++ b/R/geom_streamline.R @@ -207,7 +207,7 @@ stat_streamline <- function(mapping = NULL, data = NULL, na.rm = TRUE, show.legend = NA, inherit.aes = TRUE) { - layer( + ggplot2::layer( data = data, mapping = mapping, stat = StatStreamline, @@ -329,19 +329,19 @@ GeomStreamline <- ggplot2::ggproto("GeomStreamline", ggplot2::GeomPath, if (!is.null(arrow)) { mult <- end&munched$end mult <- mult[!start] - if ("simpleUnit" %in% class(unit(1, "mm"))) { + if ("simpleUnit" %in% class(grid::unit(1, "mm"))) { arrow$length <- mult*arrow$length[1] } else { - arrow$length <- unit(as.numeric(arrow$length)[1]*mult, + arrow$length <- grid::unit(as.numeric(arrow$length)[1]*mult, attr(arrow$length, "unit")) } } - segmentsGrob( + grid::segmentsGrob( munched$x[!end], munched$y[!end], munched$x[!start], munched$y[!start], default.units = "native", arrow = arrow, - gp = gpar( - col = alpha(munched$colour, munched$alpha)[!end], - fill = alpha(munched$colour, munched$alpha)[!end], + gp = grid::gpar( + col = scales::alpha(munched$colour, munched$alpha)[!end], + fill = scales::alpha(munched$colour, munched$alpha)[!end], lwd = munched$size[!end] * .pt, lty = munched$linetype[!end], lineend = lineend, @@ -354,19 +354,19 @@ GeomStreamline <- ggplot2::ggproto("GeomStreamline", ggplot2::GeomPath, if (!is.null(arrow)) { mult <- as.numeric(munched$end)[start] - if ("simpleUnit" %in% class(unit(1, "mm"))) { + if ("simpleUnit" %in% class(grid::unit(1, "mm"))) { arrow$length <- mult*arrow$length[1] } else { - arrow$length <- unit(as.numeric(arrow$length)[1]*mult, + arrow$length <- grid::unit(as.numeric(arrow$length)[1]*mult, attr(arrow$length, "unit")) } } - polylineGrob( + grid::polylineGrob( munched$x, munched$y, id = id, default.units = "native", arrow = arrow, - gp = gpar( - col = alpha(munched$colour, munched$alpha)[start], - fill = alpha(munched$colour, munched$alpha)[start], + gp = grid::gpar( + col = scales::alpha(munched$colour, munched$alpha)[start], + fill = scales::alpha(munched$colour, munched$alpha)[start], lwd = munched$size[start] * .pt, lty = munched$linetype[start], lineend = lineend, @@ -380,13 +380,18 @@ GeomStreamline <- ggplot2::ggproto("GeomStreamline", ggplot2::GeomPath, #' @importFrom stats rnorm -#' @importFrom fields interp.surface -#' @importFrom Matrix sparseMatrix streamline <- function(field, dt = 0.1, S = 3, skip.x = 1, skip.y = 1, nx = NULL, ny = NULL, jitter.x = 1, jitter.y = 1, xwrap = NULL, ywrap = NULL) { - field <- copy(as.data.table(field)) - setorder(field, x, y) + field <- data.table::copy(data.table::as.data.table(field)) + + is.grid <- with(field, .is.regular_grid(x, y)) + + if (!is.grid) { + stop("x and y do not define a regular grid") + } + + data.table::setorder(field, x, y) circ.x <- !is.null(xwrap) circ.y <- !is.null(ywrap) @@ -433,9 +438,9 @@ streamline <- function(field, dt = 0.1, S = 3, skip.x = 1, skip.y = 1, nx = NULL } if ((is.null(nx) && is.null(ny))) { - points <- as.data.table(field[x %in% xs & y %in% ys, .(x = x, y = y)]) + points <- data.table::as.data.table(field[x %in% xs & y %in% ys, .(x = x, y = y)]) } else { - points <- as.data.table(expand.grid(x = xs, y = ys)) + points <- data.table::as.data.table(expand.grid(x = xs, y = ys)) } @@ -471,9 +476,9 @@ streamline <- function(field, dt = 0.1, S = 3, skip.x = 1, skip.y = 1, nx = NULL points <- points[abs(dx) + abs(dy) != 0 & !is.na(dx) & !is.na(dy)] points[, sign := 1] - points_forw <- copy(points) + points_forw <- data.table::copy(points) points_forw[, sign := 1] - points_back <- copy(points) + points_back <- data.table::copy(points) points_back[, sign := -1] accum_forw <- vector(mode = "list", length = S) @@ -499,7 +504,7 @@ streamline <- function(field, dt = 0.1, S = 3, skip.x = 1, skip.y = 1, nx = NULL } # accum_back <- list() - points <- rbindlist(c(accum_back, list(points), accum_forw)) # se puede optimizar prealocando + points <- data.table::rbindlist(c(accum_back, list(points), accum_forw)) # se puede optimizar prealocando # points[, step := step - min(step)] # Empalmo los pieces que pasan de un lado # al otro del dominio. @@ -560,7 +565,6 @@ streamline <- function(field, dt = 0.1, S = 3, skip.x = 1, skip.y = 1, nx = NULL -#' @importFrom memoise memoise streamline.f <- memoise::memoise(streamline) # # xbk <- x diff --git a/R/geom_text_contour.R b/R/geom_text_contour.R index 5f1578c7..4991951e 100644 --- a/R/geom_text_contour.R +++ b/R/geom_text_contour.R @@ -5,16 +5,16 @@ #' @inheritParams ggplot2::geom_text #' @inheritParams ggplot2::geom_label #' @inheritParams geom_contour2 -#' @param min.size minimum number of points for a contour to be labeled. +#' @param min.size minimum number of points for a contour to be labelled. #' @param skip number of contours to skip #' @param rotate logical indicating whether to rotate text following the contour. #' @param stroke numerical indicating width of stroke relative to the size of #' the text. Ignored if less than zero. -#' @param stroke.color any valid color. +#' @param stroke.color any valid colour. #' #' @details #' Is best used with a previous call to [ggplot2::stat_contour] with the same -#' parameters. +#' parameters (e.g. the same `binwidth`, `breaks`, or `bins`). #' Note that while `geom_text_contour()` can angle itself to follow the contour, #' this is not the case with `geom_label_contour()`. #' @@ -75,10 +75,10 @@ geom_text_contour <- function(mapping = NULL, data = NULL, call. = FALSE) } - position <- position_nudge(nudge_x, nudge_y) + position <- ggplot2::position_nudge(nudge_x, nudge_y) } - layer( + ggplot2::layer( data = data, mapping = mapping, stat = stat, @@ -123,7 +123,7 @@ GeomTextContour <- ggplot2::ggproto("GeomTextContour", ggplot2::Geom, min.size <- min.size - 1 } # Get points of labels - data <- .label.position(copy(data), min.size, skip, rotate) + data <- .label.position(data.table::copy(data), min.size, skip, rotate) if (nrow(data) == 0) { return(nullGrob()) } @@ -148,7 +148,7 @@ GeomTextContour <- ggplot2::ggproto("GeomTextContour", ggplot2::Geom, dx = data$dx, dy = data$dy, bg.r = stroke, bg.color = stroke.colour, gp = grid::gpar( - col = alpha(data$colour, data$alpha), + col = scales::alpha(data$colour, data$alpha), fontsize = data$size * .pt, fontfamily = data$family, fontface = data$fontface, diff --git a/R/guide_colorstrip.R b/R/guide_colorstrip.R index a97729ea..c1df9004 100644 --- a/R/guide_colorstrip.R +++ b/R/guide_colorstrip.R @@ -1,4 +1,4 @@ -#' Discretized continuous color guide +#' Discretized continuous colour guide #' #' A version of [ggplot2::guide_colourbar] that displays discretized values and, #' by default, puts labels in between values. @@ -7,14 +7,14 @@ #' @param inside logical indicating where to position labels (see examples). #' #' @details -#' The default behaviour works fell for geom_contour_fill in which the colors +#' The default behaviour works fell for geom_contour_fill in which the colours #' represent the value between contour surfaces. #' -#' `inside = TRUE`` works better for geom_tile where the color represents +#' `inside = TRUE`` works better for geom_tile where the colour represents #' the value of the data and is very similar to [ggplot2::guide_legend]. #' #' @examples -#' # In this example the lowest color represents an area of the data with values +#' # In this example the lowest colour represents an area of the data with values #' # between 80 and 100. #' library(ggplot2) #' binwidth <- 20 @@ -39,7 +39,6 @@ #' A guide object. #' @family ggplot2 helpers #' @export -#' @importFrom grid is.unit guide_colourstrip <- function( # title title = waiver(), @@ -74,8 +73,8 @@ guide_colourstrip <- function( available_aes = c("colour", "color", "fill"), ...) { - if (!is.null(barwidth) && !is.unit(barwidth)) barwidth <- unit(barwidth, default.unit) - if (!is.null(barheight) && !is.unit(barheight)) barheight <- unit(barheight, default.unit) + if (!is.null(barwidth) && !grid::is.unit(barwidth)) barwidth <- grid::unit(barwidth, default.unit) + if (!is.null(barheight) && !grid::is.unit(barheight)) barheight <- grid::unit(barheight, default.unit) structure(list( # title @@ -117,8 +116,6 @@ guide_colourstrip <- function( #' @usage NULL #' @format NULL -#' @importFrom stats setNames -#' @import gtable #' @export #' @rdname guide_colourstrip #' @keywords internal @@ -158,7 +155,7 @@ guide_train.colorstrip <- function(guide, scale, aesthetic = NULL) { guide$bar <- data.frame(colour = scale$map(.bar), value = .bar, stringsAsFactors = FALSE) - ticks <- as.data.frame(setNames(list(scale$map(breaks)), scale$aesthetics[1])) + ticks <- as.data.frame(stats::setNames(list(scale$map(breaks)), scale$aesthetics[1])) ticks$.value <- breaks ticks$.label <- scale$get_labels(breaks) @@ -197,7 +194,7 @@ guide_colorstrip <- guide_colourstrip return(NULL) } else if (identical(scale$breaks, NA)) { stop("Invalid breaks specification. Use NULL, not NA") - } else if (zero_range(as.numeric(limits))) { + } else if (scales::zero_range(as.numeric(limits))) { breaks <- limits[1] } else if (is.waive(scale$breaks)) { breaks <- scale$trans$breaks(limits) @@ -214,7 +211,6 @@ guide_colorstrip <- guide_colourstrip #' @usage NULL #' @format NULL -#' @import grid gtable #' @export #' @rdname guide_colourstrip #' @keywords internal @@ -241,7 +237,7 @@ guide_gengrob.colorstrip <- function(guide, theme) { barlength.c <- switch(guide$direction, "horizontal" = barwidth.c, "vertical" = barheight.c) nbreak <- nrow(guide$key) - tic_pos.c <- rescale(guide$key$.value, c(0.5, guide$nbin - 0.5), guide$bar$value[c(1, nrow(guide$bar))]) * barlength.c / guide$nbin + tic_pos.c <- scales::rescale(guide$key$.value, c(0.5, guide$nbin - 0.5), guide$bar$value[c(1, nrow(guide$bar))]) * barlength.c / guide$nbin grob.bar <- switch(guide$direction, horizontal = { @@ -255,7 +251,7 @@ guide_gengrob.colorstrip <- function(guide, theme) { } grid::rectGrob(x = bx, y = 0, vjust = 0, hjust = 0, width = bw, height = barheight.c, default.units = "mm", - gp = gpar(col = NA, fill = guide$bar$colour)) + gp = grid::gpar(col = NA, fill = guide$bar$colour)) }, vertical = { if (guide$inside) { @@ -268,20 +264,20 @@ guide_gengrob.colorstrip <- function(guide, theme) { } grid::rectGrob(x = 0, y = by, vjust = 0, hjust = 0, width = barwidth.c, height = bh, default.units = "mm", - gp = gpar(col = NA, fill = guide$bar$colour)) + gp = grid::gpar(col = NA, fill = guide$bar$colour)) }) # tick and label position - label_pos <- unit(tic_pos.c, "mm") + label_pos <- grid::unit(tic_pos.c, "mm") if (!guide$draw.ulim) tic_pos.c <- tic_pos.c[-1] if (!guide$draw.llim) tic_pos.c <- tic_pos.c[-length(tic_pos.c)] # title grob.title <- ggname("guide.title", ggplot2::element_grob( - guide$title.theme %||% calc_element("legend.title", theme), + guide$title.theme %||% ggplot2::calc_element("legend.title", theme), label = guide$title, hjust = guide$title.hjust %||% theme$legend.title.align %||% 0, vjust = guide$title.vjust %||% 0.5 @@ -289,14 +285,14 @@ guide_gengrob.colorstrip <- function(guide, theme) { ) - title_width <- grid::convertWidth(grobWidth(grob.title), "mm") + title_width <- grid::convertWidth(grid::grobWidth(grob.title), "mm") title_width.c <- c(title_width) - title_height <- grid::convertHeight(grobHeight(grob.title), "mm") + title_height <- grid::convertHeight(grid::grobHeight(grob.title), "mm") title_height.c <- c(title_height) # gap between keys etc - hgap <- width_cm(theme$legend.spacing.x %||% unit(0.3, "line")) - vgap <- height_cm(theme$legend.spacing.y %||% (0.5 * unit(title_height, "cm"))) + hgap <- width_cm(theme$legend.spacing.x %||% grid::unit(0.3, "line")) + vgap <- height_cm(theme$legend.spacing.y %||% (0.5 * grid::unit(title_height, "cm"))) # label label.theme <- guide$label.theme %||% ggplot2::calc_element("legend.text", theme) @@ -326,14 +322,14 @@ guide_gengrob.colorstrip <- function(guide, theme) { } } - label_width <- grid::convertWidth(grobWidth(grob.label), "mm") + label_width <- grid::convertWidth(grid::grobWidth(grob.label), "mm") label_width.c <- c(label_width) - label_height <- grid::convertHeight(grobHeight(grob.label), "mm") + label_height <- grid::convertHeight(grid::grobHeight(grob.label), "mm") label_height.c <- c(label_height) # ticks grob.ticks <- - if (!guide$ticks) zeroGrob() + if (!guide$ticks) ggplot2::zeroGrob() else { switch(guide$direction, "horizontal" = { @@ -348,8 +344,8 @@ guide_gengrob.colorstrip <- function(guide, theme) { x1 = c(rep(barwidth.c * (1/5), nbreak), rep(barwidth.c, nbreak)) y1 = rep(tic_pos.c, 2) }) - segmentsGrob(x0 = x0, y0 = y0, x1 = x1, y1 = y1, - default.units = "mm", gp = gpar(col = "white", lwd = 0.5, lineend = "butt")) + grid::segmentsGrob(x0 = x0, y0 = y0, x1 = x1, y1 = y1, + default.units = "mm", gp = grid::gpar(col = "white", lwd = 0.5, lineend = "butt")) } # layout of bar and label @@ -424,23 +420,23 @@ guide_gengrob.colorstrip <- function(guide, theme) { grob.background <- element_render(theme, "legend.background") # padding - padding <- convertUnit(theme$legend.margin %||% margin(), "mm") + padding <- grid::convertUnit(theme$legend.margin %||% ggplot2::margin(), "mm") widths <- c(padding[4], widths, padding[2]) heights <- c(padding[1], heights, padding[3]) - gt <- gtable(widths = unit(widths, "mm"), heights = unit(heights, "mm")) - gt <- gtable_add_grob(gt, grob.background, name = "background", clip = "off", + gt <- gtable::gtable(widths = grid::unit(widths, "mm"), heights = grid::unit(heights, "mm")) + gt <- gtable::gtable_add_grob(gt, grob.background, name = "background", clip = "off", t = 1, r = -1, b = -1, l = 1) - gt <- gtable_add_grob(gt, grob.bar, name = "bar", clip = "off", + gt <- gtable::gtable_add_grob(gt, grob.bar, name = "bar", clip = "off", t = 1 + min(vps$bar.row), r = 1 + max(vps$bar.col), b = 1 + max(vps$bar.row), l = 1 + min(vps$bar.col)) - gt <- gtable_add_grob(gt, grob.label, name = "label", clip = "off", + gt <- gtable::gtable_add_grob(gt, grob.label, name = "label", clip = "off", t = 1 + min(vps$label.row), r = 1 + max(vps$label.col), b = 1 + max(vps$label.row), l = 1 + min(vps$label.col)) - gt <- gtable_add_grob(gt, grob.title, name = "title", clip = "off", + gt <- gtable::gtable_add_grob(gt, grob.title, name = "title", clip = "off", t = 1 + min(vps$title.row), r = 1 + max(vps$title.col), b = 1 + max(vps$title.row), l = 1 + min(vps$title.col)) - gt <- gtable_add_grob(gt, grob.ticks, name = "ticks", clip = "off", + gt <- gtable::gtable_add_grob(gt, grob.ticks, name = "ticks", clip = "off", t = 1 + min(vps$bar.row), r = 1 + max(vps$bar.col), b = 1 + max(vps$bar.row), l = 1 + min(vps$bar.col)) diff --git a/R/guide_vector.R b/R/guide_vector.R index da364b68..44f843da 100644 --- a/R/guide_vector.R +++ b/R/guide_vector.R @@ -36,11 +36,11 @@ guide_vector <- function( order = 0, ...) { - if (!is.null(keywidth) && !is.unit(keywidth)) { - keywidth <- unit(keywidth, default.unit) + if (!is.null(keywidth) && !grid::is.unit(keywidth)) { + keywidth <- grid::unit(keywidth, default.unit) } - if (!is.null(keyheight) && !is.unit(keyheight)) { - keyheight <- unit(keyheight, default.unit) + if (!is.null(keyheight) && !grid::is.unit(keyheight)) { + keyheight <- grid::unit(keyheight, default.unit) } structure( @@ -92,7 +92,7 @@ guide_train.vector <- function(guide, scale, output = NULL) { } key <- as.data.frame( - setNames(list(scale$map(breaks)), scale$aesthetics[1]), + stats::setNames(list(scale$map(breaks)), scale$aesthetics[1]), stringsAsFactors = FALSE ) key$.label <- scale$get_labels(breaks) @@ -513,13 +513,13 @@ guide_gengrob.vector <- function(guide, theme) { krows <- rep(vps$key.row, each = ngeom) # padding - padding <- convertUnit(theme$legend.margin %||% margin(), "cm") + padding <- grid::convertUnit(theme$legend.margin %||% ggplot2::margin(), "cm") widths <- c(padding[4], widths, padding[2]) heights <- c(padding[1], heights, padding[3]) # Create the gtable for the legend - gt <- gtable(widths = unit(widths, "cm"), heights = unit(heights, "cm")) - gt <- gtable_add_grob( + gt <- gtable::gtable(widths = grid::unit(widths, "cm"), heights = grid::unit(heights, "cm")) + gt <- gtable::gtable_add_grob( gt, grob.background, name = "background", @@ -539,7 +539,7 @@ guide_gengrob.vector <- function(guide, theme) { b = 1 + max(vps.title.row), l = 1 + min(vps.title.col) ) - gt <- gtable_add_grob( + gt <- gtable::gtable_add_grob( gt, grob.keys, name = paste("key", krows, kcols, c("bg", seq(ngeom - 1)), sep = "-"), @@ -549,7 +549,7 @@ guide_gengrob.vector <- function(guide, theme) { b = 1 + krows, l = 1 + kcols ) - gt <- gtable_add_grob( + gt <- gtable::gtable_add_grob( gt, grob.labels, name = paste("label", vps$label.row, vps$label.col, sep = "-"), @@ -592,11 +592,11 @@ guide_vector <- function(# title order = 0, ...) { - if (!is.null(keywidth) && !is.unit(keywidth)) { - keywidth <- unit(keywidth, default.unit) + if (!is.null(keywidth) && !grid::is.unit(keywidth)) { + keywidth <- grid::unit(keywidth, default.unit) } - if (!is.null(keyheight) && !is.unit(keyheight)) { - keyheight <- unit(keyheight, default.unit) + if (!is.null(keyheight) && !grid::is.unit(keyheight)) { + keyheight <- grid::unit(keyheight, default.unit) } structure( @@ -648,7 +648,7 @@ guide_train.vector <- function(guide, scale, output = NULL) { } key <- as.data.frame( - setNames(list(scale$map(breaks)), scale$aesthetics[1]), + stats::setNames(list(scale$map(breaks)), scale$aesthetics[1]), stringsAsFactors = FALSE ) key$.label <- scale$get_labels(breaks) @@ -1069,13 +1069,13 @@ guide_gengrob.vector <- function(guide, theme) { krows <- rep(vps$key.row, each = ngeom) # padding - padding <- convertUnit(theme$legend.margin %||% margin(), "cm") + padding <- grid::convertUnit(theme$legend.margin %||% ggplot2::margin(), "cm") widths <- c(padding[4], widths, padding[2]) heights <- c(padding[1], heights, padding[3]) # Create the gtable for the legend - gt <- gtable(widths = unit(widths, "cm"), heights = unit(heights, "cm")) - gt <- gtable_add_grob( + gt <- gtable::gtable(widths = unit(widths, "cm"), heights = unit(heights, "cm")) + gt <- gtable::gtable_add_grob( gt, grob.background, name = "background", @@ -1085,7 +1085,7 @@ guide_gengrob.vector <- function(guide, theme) { b = -1, l = 1 ) - gt <- gtable_add_grob( + gt <- gtable::gtable_add_grob( gt, grob.title, name = "title", @@ -1095,7 +1095,7 @@ guide_gengrob.vector <- function(guide, theme) { b = 1 + max(vps.title.row), l = 1 + min(vps.title.col) ) - gt <- gtable_add_grob( + gt <- gtable::gtable_add_grob( gt, grob.keys, name = paste("key", krows, kcols, c("bg", seq(ngeom - 1)), sep = "-"), @@ -1105,7 +1105,7 @@ guide_gengrob.vector <- function(guide, theme) { b = 1 + krows, l = 1 + kcols ) - gt <- gtable_add_grob( + gt <- gtable::gtable_add_grob( gt, grob.labels, name = paste("label", vps$label.row, vps$label.col, sep = "-"), diff --git a/R/helpfunctions.R b/R/helpfunctions.R index 79b119d0..b4c9a5c0 100644 --- a/R/helpfunctions.R +++ b/R/helpfunctions.R @@ -3,7 +3,7 @@ .tidy2matrix <- function(data, formula, value.var, fill = NULL, ...) { row.vars <- all.vars(formula[[2]]) col.vars <- all.vars(formula[[3]]) - data <- as.data.table(data) + data <- data.table::as.data.table(data) data[, row__ := .GRP, by = c(row.vars)] data[, col__ := .GRP, by = c(col.vars)] if (is.null(fill)){ @@ -64,7 +64,7 @@ element_render <- function(theme, element, ..., name = NULL) { return(ggplot2::zeroGrob()) } - grob <- element_grob(el, ...) + grob <- ggplot2::element_grob(el, ...) ggname(paste(element, name, sep = "."), grob) } @@ -75,9 +75,9 @@ ggname <- function(prefix, grob) { width_cm <- function(x) { - if (is.grob(x)) { + if (grid::is.grob(x)) { grid::convertWidth(grid::grobWidth(x), "cm", TRUE) - } else if (is.unit(x)) { + } else if (grid::is.unit(x)) { grid::convertWidth(x, "cm", TRUE) } else if (is.list(x)) { vapply(x, width_cm, numeric(1)) @@ -86,9 +86,9 @@ width_cm <- function(x) { } } height_cm <- function(x) { - if (is.grob(x)) { + if (grid::is.grob(x)) { grid::convertHeight(grid::grobHeight(x), "cm", TRUE) - } else if (is.unit(x)) { + } else if (grid::is.unit(x)) { grid::convertHeight(x, "cm", TRUE) } else if (is.list(x)) { vapply(x, height_cm, numeric(1)) @@ -114,7 +114,7 @@ message_wrap <- function(...) { interleave <- function(...) UseMethod("interleave") #' @export interleave.unit <- function(...) { - do.call("unit.c", do.call("interleave.default", plyr::llply(list(...), as.list))) + do.call("grid::unit.c", do.call("interleave.default", plyr::llply(list(...), as.list))) } #' @export interleave.default <- function(...) { @@ -171,14 +171,33 @@ if(getRversion() >= "2.15.1") { } -`%>%` <- dplyr::`%>%` - -.is.reggrid <- function(data, coords) { +.has_single_value <- function(data, coords) { lengths <- data[, .N, by = coords]$N !any(lengths > 1) } +.is.regular_grid <- function(x, y) { + data <- data.table::data.table(x = x, y = y) + nx <- data[, data.table::uniqueN(x), by = y]$V1 + ny <- data[, data.table::uniqueN(y), by = x]$V1 + + xs <- data.table::uniqueN(data$x) + ys <- data.table::uniqueN(data$y) + + + # Conditinos for regular grid + # 1. each y has the same number of unique values of x + # 2. each x has the same number of unique values of y + regularity <- sum(abs(ys - ny)) == 0 & sum(abs(xs - nx)) == 0 + + # 3. there are no duplicated values + lengths <- data[, .N, by = .(x, y)]$N + unicity <- !any(lengths > 1) + + regularity & unicity +} + .simple.scale <- function(x) { r <- range(x) (x - r[1])/diff(r) @@ -242,5 +261,30 @@ checkDateish <- function(x, ...) { } assertDateish <- checkmate::makeAssertionFunction(checkDateish) + +check_packages <- function(packages, fun) { + installed <- vapply(packages, function(p) { + requireNamespace(p, quietly = TRUE) + }, TRUE) + + missing <- packages[!installed] + + if (length(missing != 0)) { + text <- paste0(fun, " needs packages ", + paste0(missing, collapse = ", "), + ". Install with: \n", + "`install.packages(c(\"", + paste0(missing, collapse = "\", \""), "\"))`") + stop(text) + } +} + +.datatable.aware <- TRUE + +a <- 6371000 + # nocov end + + + diff --git a/R/reverselog_trans.R b/R/reverselog_trans.R index 66490155..62b95e05 100644 --- a/R/reverselog_trans.R +++ b/R/reverselog_trans.R @@ -19,7 +19,6 @@ #' #' @family ggplot2 helpers #' @export -#' @import scales reverselog_trans <- function(base = 10) { trans <- function(x) -log(x, base) inv <- function(x) base^(-x) diff --git a/R/scale_divergent.R b/R/scale_divergent.R index c7605a60..e5d771f8 100644 --- a/R/scale_divergent.R +++ b/R/scale_divergent.R @@ -1,4 +1,4 @@ -#' Divergent color scales +#' Divergent colour scales #' #' Wrapper around ggplot's \code{\link[ggplot2]{scale_colour_gradient2}} with #' inverted defaults of `high` and `low`. @@ -9,22 +9,24 @@ #' library(ggplot2) #' ggplot(reshape2::melt(volcano), aes(Var1, Var2, z = value)) + #' geom_contour(aes(color = ..level..)) + -#' scale_color_divergent(midpoint = 130) +#' scale_colour_divergent(midpoint = 130) #' #' @name scale_divergent #' @family ggplot2 helpers #' @export -#' @import ggplot2 scales -scale_color_divergent <- function(..., low = scales::muted("blue"), mid = "white", +scale_colour_divergent <- function(..., low = scales::muted("blue"), mid = "white", high = scales::muted("red"), midpoint = 0, space = "Lab", na.value = "grey50", guide = "colourbar") { ggplot2::scale_color_gradient2(..., low = low, high = high, mid = mid, midpoint = midpoint, space = space, na.value = na.value, guide = guide) } +#' @export +#' @rdname scale_divergent +scale_color_divergent <- scale_colour_divergent + #' @rdname scale_divergent #' @export -#' @import ggplot2 scales scale_fill_divergent <- function(..., low = scales::muted("blue"), mid = "white", high = scales::muted("red"), diff --git a/R/scale_longitude.R b/R/scale_longitude.R index 50304330..a15475e2 100644 --- a/R/scale_longitude.R +++ b/R/scale_longitude.R @@ -98,7 +98,7 @@ scale_y_level <- function(name = "", expand = c(0, 0), trans = "reverselog", ... #' Label longitude and latitude #' -#' Provide easy functions for adding suffixes to longitude and latitude for labeling +#' Provide easy functions for adding suffixes to longitude and latitude for labelling #' maps. #' #' @param lon longitude in degrees diff --git a/R/scale_vector.R b/R/scale_vector.R index 024eb849..939b52bb 100644 --- a/R/scale_vector.R +++ b/R/scale_vector.R @@ -4,7 +4,7 @@ #' Highly experimental. #' #' @inheritParams ggplot2::scale_x_continuous -#' @param max_size size of the arrow in centimeters +#' @param max_size size of the arrow in centimetres #' @param max magnitude of the reference arrow in data units. Will be the #' maximum value if `waiver()` #' @param guide type of legend @@ -31,7 +31,7 @@ scale_mag <- function(name = waiver(), max = waiver(), guide = guide_vector(), ...) { - # if (!is.unit(length)) length <- ggplot2::unit(length, default_unit) + # if (!grid::is.unit(length)) length <- ggplot2::unit(length, default_unit) # if (is.waive(breaks)) { if (is.waive(max)) { breaks <- function(range) return(range[2]) @@ -59,6 +59,17 @@ scale_mag <- function(name = waiver(), ) } +#' @export +#' @rdname scale_mag +scale_mag_continuous <- scale_mag + +#' @export +#' @rdname scale_mag +scale_dx_continuous <- scale_mag + +# #' @export +# scale_dy_continuous <- scale_mag + # scale_type.mag <- function(x) "vector" vector_breaks <- function(max_size, max) { diff --git a/R/season.R b/R/season.R index 8fd5b0d1..0655f58b 100644 --- a/R/season.R +++ b/R/season.R @@ -1,16 +1,24 @@ #' Assign seasons to months #' -#' @param x A numeric vector of months or a vector of dates +#' @param x A vector of dates (alternative a numeric vector of months, for `season()`) #' @param lang Language to use. #' #' @return -#' A factor vector of the same length as \code{x} with the trimestre of each +#' `season()` returns a factor vector of the same length as `x` with the trimester of each #' month. +#' `seasonaly()` returns a date vector of the same length as `x` with the date "rounded" up to the centre +#' month of each season. +#' `is.full_season()` returns a logical vector of the same length as `x` that is true only if the +#' 3 months of each season for each year (December counts for the following year) are present in the dataset. #' #' @examples #' season(1, lang = "en") #' season(as.Date("2017-01-01")) #' +#' seasonaly(as.Date(c("2017-12-01", "2018-01-01", "2018-02-01"))) +#' +#' is.full_season(as.Date(c("2017-12-01", "2018-01-01", "2018-02-01", "2018-03-01"))) +#' #' @aliases AssignSeason #' @export season <- function(x, lang = c("en", "es")) { @@ -44,6 +52,54 @@ season <- function(x, lang = c("en", "es")) { return(factor(seasons[x], levels = c(djf, mam, jja, son))) } + +#' @export +#' @rdname season +seasonaly <- function(x) { + checks <- makeAssertCollection() + assertVector(x, add = checks) + assert(checkDateish(x)) + reportAssertions(checks) + if (is.character(x)) x <- as.Date(x) + + + times <- unique(x) + m <- data.table::month(times) + times_org <- times + lubridate::year(times[m == 12]) <- data.table::year(times[m == 12]) + 1 + s <- season(times) + + lubridate::month(times) <- (as.numeric(s) - 1)*3 + 1 + + times[match(x, times_org)] +} + + +#' @export +#' @rdname season +is.full_season <- function(x) { + checks <- makeAssertCollection() + assertVector(x, add = checks) + assert(checkDateish(x)) + reportAssertions(checks) + if (is.character(x)) x <- as.Date(x) + + times <- unique(x) + + times_org <- times + m <- data.table::month(times) + lubridate::year(times[m == 12]) <- data.table::year(times[m == 12]) + 1 + season <- season(times) + year <- data.table::year(times) + n <- NULL + complete <- data.table::data.table(times, year, season)[ + , n := .N, by = .(year, season)][n == 3][ + , n := NULL] + + x %in% times_org[times %in% complete$times] +} + + #' @export AssignSeason <- season diff --git a/R/small_funs.R b/R/small_funs.R index fc57fa38..ded98c8c 100644 --- a/R/small_funs.R +++ b/R/small_funs.R @@ -3,7 +3,7 @@ #' Saves keystrokes for computing anomalies. #' #' @param x numeric vector -#' @param baseline logical or numerical vector used for subseting x before +#' @param baseline logical or numerical vector used for subsetting x before #' computing the mean #' @param ... other arguments passed to \code{\link{mean}} such as `na.rm` #' @@ -151,7 +151,7 @@ Similar <- function(x, target, tol = Inf) { #' the same length. #' #' @details -#' Mostly useful for labeling only every \code{by}th element. +#' Mostly useful for labelling only every \code{by}th element. #' #' @examples #' x <- 1:50 diff --git a/R/stat_contour2.r b/R/stat_contour2.r index be305d5b..1ea1c6d1 100644 --- a/R/stat_contour2.r +++ b/R/stat_contour2.r @@ -6,6 +6,8 @@ #' and returns breaks as output #' @param bins Number of evenly spaced breaks. #' @param binwidth Distance between breaks. + #' @param global.breaks Logical indicating whether `breaks` should be computed for the whole +#' data or for each grouping. # #' @param xwrap,ywrap vector of length two used to wrap the circular dimension #' #' @export @@ -21,15 +23,13 @@ stat_contour2 <- function(mapping = NULL, data = NULL, breaks = MakeBreaks(), bins = NULL, binwidth = NULL, + global.breaks = TRUE, na.rm = FALSE, na.fill = FALSE, - # fill.linear = TRUE, - # xwrap = NULL, - # ywrap = NULL, show.legend = NA, inherit.aes = TRUE) { .check_wrap_param(list(...)) - layer( + ggplot2::layer( data = data, mapping = mapping, stat = StatContour2, @@ -40,12 +40,10 @@ stat_contour2 <- function(mapping = NULL, data = NULL, params = list( na.rm = na.rm, na.fill = na.fill, - # fill.linear = fill.linear, breaks = breaks, bins = bins, binwidth = binwidth, - # xwrap = xwrap, - # ywrap = ywrap, + global.breaks = global.breaks, ... ) ) @@ -59,24 +57,13 @@ StatContour2 <- ggplot2::ggproto("StatContour2", ggplot2::Stat, required_aes = c("x", "y", "z"), default_aes = ggplot2::aes(order = ..level..), setup_params = function(data, params) { - # Check is.null(breaks) for backwards compatibility - if (is.null(params$breaks)) { - params$breaks <- scales::fullseq - } - - if (is.function(params$breaks)) { - # If no parameters set, use pretty bins to calculate binwidth - if (is.null(params$bins) && is.null(params$binwidth)) { - params$binwidth <- diff(pretty(range(data$z, na.rm = TRUE), 10))[1] - } - # If provided, use bins to calculate binwidth - if (!is.null(params$bins)) { - params$binwidth <- diff(range(data$z, na.rm = TRUE)) / params$bins - } - - params$breaks <- params$breaks(range(data$z, na.rm = TRUE), params$binwidth) - } - return(params) + if (is.null(params$global) || isTRUE(params$global.breaks)) { + params$breaks <- setup_breaks(data, + breaks = params$breaks, + bins = params$bins, + binwidth = params$binwidth) + } + return(params) }, compute_layer = function(self, data, params, layout) { ggplot2:::check_required_aesthetics( @@ -102,7 +89,14 @@ StatContour2 <- ggplot2::ggproto("StatContour2", ggplot2::Stat, compute_group = function(data, scales, bins = NULL, binwidth = NULL, breaks = scales::fullseq, complete = TRUE, na.rm = FALSE, circular = NULL, xwrap = NULL, - ywrap = NULL, na.fill = FALSE) { + ywrap = NULL, na.fill = FALSE, global.breaks = TRUE) { + if (isFALSE(global.breaks)) { + breaks <- setup_breaks(data, + breaks = breaks, + bins = bins, + binwidth = binwidth) + } + setDT(data) data <- data[!(is.na(y) | is.na(x)), ] @@ -121,7 +115,8 @@ StatContour2 <- ggplot2::ggproto("StatContour2", ggplot2::Stat, warning("data must be a complete regular grid", call. = FALSE) return(data.frame()) } else { - data <- setDT(tidyr::complete(data, x, y, fill = list(z = NA))) + # data <- setDT(tidyr::complete(data, x, y, fill = list(z = NA))) + data <- .complete(data, x, y) } } @@ -147,6 +142,13 @@ StatContour2 <- ggplot2::ggproto("StatContour2", ggplot2::Stat, ) +.complete <- function(data, ...) { + l <- match.call(expand.dots = FALSE)$`...` + coord <- with(data, do.call(data.table::CJ, c(l, list(unique = TRUE)))) + + data[coord, on = as.character(l), allow.cartesian = TRUE] + +} .order_contour <- function(contours, data) { data <- copy(data) @@ -247,6 +249,31 @@ StatContour2 <- ggplot2::ggproto("StatContour2", ggplot2::Stat, ) }) + +setup_breaks <- function(data, breaks, bins, binwidth) { + # Check is.null(breaks) for backwards compatibility + if (is.null(breaks)) { + breaks <- scales::fullseq + } + + if (is.function(breaks)) { + # If no parameters set, use pretty bins to calculate binwidth + if (is.null(bins) && is.null(binwidth)) { + binwidth <- diff(pretty(range(data$z, na.rm = TRUE), 10))[1] + } + # If provided, use bins to calculate binwidth + if (!is.null(bins)) { + binwidth <- diff(range(data$z, na.rm = TRUE)) / bins + } + + breaks <- breaks(range(data$z, na.rm = TRUE), binwidth) + } + + return(breaks) +} + + + # .contour_lines_irregular <- function(data, breaks, complete = FALSE) { # # cl <- setDT(contoureR::getContourLines( diff --git a/R/stat_contour_fill.R b/R/stat_contour_fill.R index 75376e01..b0f56c31 100644 --- a/R/stat_contour_fill.R +++ b/R/stat_contour_fill.R @@ -1,6 +1,5 @@ #' @rdname geom_contour_fill #' @export -#' @import sp #' @import ggplot2 stat_contour_fill <- function(mapping = NULL, data = NULL, geom = "polygon", position = "identity", @@ -8,6 +7,7 @@ stat_contour_fill <- function(mapping = NULL, data = NULL, breaks = MakeBreaks(), bins = NULL, binwidth = NULL, + global.breaks = TRUE, # na.rm = FALSE, na.fill = FALSE, # xwrap = NULL, @@ -15,7 +15,7 @@ stat_contour_fill <- function(mapping = NULL, data = NULL, show.legend = NA, inherit.aes = TRUE) { .check_wrap_param(list(...)) - layer( + ggplot2::layer( data = data, mapping = mapping, stat = StatContourFill, @@ -29,6 +29,7 @@ stat_contour_fill <- function(mapping = NULL, data = NULL, breaks = breaks, bins = bins, binwidth = binwidth, + global.breaks = global.breaks, # xwrap = xwrap, # ywrap = ywrap, ... @@ -37,7 +38,6 @@ stat_contour_fill <- function(mapping = NULL, data = NULL, } #' @import ggplot2 -#' @import scales #' @rdname geom_contour_fill #' @usage NULL #' @format NULL @@ -46,21 +46,11 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, required_aes = c("x", "y", "z"), default_aes = ggplot2::aes(fill = ..int.level..), setup_params = function(data, params) { - # Check is.null(breaks) for backwards compatibility - if (is.null(params$breaks)) { - params$breaks <- scales::fullseq - } - if (is.function(params$breaks)) { - # If no parameters set, use pretty bins to calculate binwidth - if (is.null(params$bins) && is.null(params$binwidth)) { - params$binwidth <- diff(pretty(range(data$z, na.rm = TRUE), 10))[1] - } - # If provided, use bins to calculate binwidth - if (!is.null(params$bins)) { - params$binwidth <- diff(range(data$z, na.rm = TRUE)) / params$bins - } - - params$breaks <- params$breaks(range(data$z, na.rm = TRUE), params$binwidth) + if (is.null(params$global) || isTRUE(params$global.breaks)) { + params$breaks <- setup_breaks(data, + breaks = params$breaks, + bins = params$bins, + binwidth = params$binwidth) } return(params) }, @@ -88,8 +78,16 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, compute_group = function(data, scales, bins = NULL, binwidth = NULL, breaks = scales::fullseq, complete = TRUE, na.rm = FALSE, xwrap = NULL, - ywrap = NULL, na.fill = FALSE) { - setDT(data) + ywrap = NULL, na.fill = FALSE, global.breaks = TRUE) { + data.table::setDT(data) + + if (isFALSE(global.breaks)) { + breaks <- setup_breaks(data, + breaks = breaks, + bins = bins, + binwidth = binwidth) + } + data <- data[!(is.na(y) | is.na(x)), ] if (isFALSE(na.fill)) { @@ -97,17 +95,15 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, } # Check if is a complete grid - nx <- data[, uniqueN(x), by = y]$V1 - ny <- data[, uniqueN(y), by = x]$V1 - - complete.grid <- abs(max(nx) - min(nx)) == 0 & abs(max(ny) - min(ny)) == 0 + complete.grid <- with(data, .is.regular_grid(x, y)) if (complete.grid == FALSE) { if (complete == FALSE) { warning("data must be a complete regular grid", call. = FALSE) return(data.frame()) } else { - data <- setDT(tidyr::complete(data, x, y, fill = list(z = NA))) + # data <- data.table::setDT(tidyr::complete(data, x, y, fill = list(z = NA))) + data <- .complete(data, x, y) } } @@ -128,10 +124,10 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, # jitter <- diff(range(data$z))*0.000000 # data$z <- data$z + rnorm(nrow(data))*jitter - setDF(data) + data.table::setDF(data) mean.z <- data$z[data$z %~% mean(data$z)][1] - # mean.z <- min(breaks) - 100*resolution(breaks, zero = FALSE) + # mean.z <- min(breaks) - 100*ggplot2::resolution(breaks, zero = FALSE) range.data <- as.data.frame(vapply(data[c("x", "y", "z")], range, c(1, 2))) # Expand data by 1 unit in all directions. @@ -161,7 +157,7 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, correction <- (breaks[i + correction] - mean.level)/2 # Adds bounding contour - setDT(data) + data.table::setDT(data) Nx <- data.table::uniqueN(data$x) Ny <- data.table::uniqueN(data$y) @@ -198,7 +194,7 @@ StatContourFill <- ggplot2::ggproto("StatContourFill", ggplot2::Stat, .order_fill <- function(cont) { areas <- cont[, .(area = abs(area(x, y))), by = .(piece)][ - , rank := frank(-area, ties.method = "first")] + , rank := data.table::frank(-area, ties.method = "first")] cont <- cont[areas, on = "piece"] area.back <- areas[piece == max(cont$piece), area] @@ -383,11 +379,11 @@ close_path <- function(x, y, range_x, range_y) { if (next.piece$piece[1] == pieces[1]) break - cont <- rbindlist(list(cont, .reverse(next.piece, next.point))) + cont <- data.table::rbindlist(list(cont, .reverse(next.piece, next.point))) p <- next.piece[1, piece] } cont[, piece := max(contours$piece) + 1] - cont <- rbindlist(list(contours[close == TRUE], cont)) + cont <- data.table::rbindlist(list(contours[close == TRUE], cont)) cont[, close := NULL] cont } diff --git a/R/stat_na.R b/R/stat_na.R index 9c75b683..426b862d 100644 --- a/R/stat_na.R +++ b/R/stat_na.R @@ -30,13 +30,12 @@ #' @seealso [stat_subset] for a more general way of filtering data. #' @export #' @family ggplot2 helpers -#' @importFrom plyr ddply stat_na <- function(mapping = NULL, data = NULL, geom = "point", position = "identity", ..., show.legend = NA, inherit.aes = TRUE) { - layer( + ggplot2::layer( data = data, mapping = mapping, stat = StatNa, @@ -51,7 +50,6 @@ stat_na <- function(mapping = NULL, data = NULL, } #' @import ggplot2 -#' @import scales #' @rdname stat_na #' @usage NULL #' @format NULL @@ -77,8 +75,8 @@ StatNa <- ggplot2::ggproto("StatNa", ggplot2::Stat, }) }, compute_group = function(data, scales, width = NULL, height = NULL) { - data$width <- data$width %||% width %||% resolution(data$x, FALSE) - data$height <- data$height %||% height %||% resolution(data$y, FALSE) + data$width <- data$width %||% width %||% ggplot2::resolution(data$x, FALSE) + data$height <- data$height %||% height %||% ggplot2::resolution(data$y, FALSE) data <- data[!(is.na(data$x) | is.na(data$y)), ] data <- data[is.na(data$na), ] diff --git a/R/stat_subset.R b/R/stat_subset.R index f37deac1..6aab962e 100644 --- a/R/stat_subset.R +++ b/R/stat_subset.R @@ -33,7 +33,7 @@ stat_subset <- function(mapping = NULL, data = NULL, ..., show.legend = NA, inherit.aes = TRUE) { - layer( + ggplot2::layer( data = data, mapping = mapping, stat = StatSubset, @@ -48,7 +48,6 @@ stat_subset <- function(mapping = NULL, data = NULL, } #' @import ggplot2 -#' @import scales #' @rdname stat_subset #' @usage NULL #' @format NULL @@ -56,8 +55,8 @@ stat_subset <- function(mapping = NULL, data = NULL, StatSubset <- ggplot2::ggproto("StatSubset", ggplot2::Stat, required_aes = c("x", "y", "subset"), compute_group = function(data, scales, width = NULL, height = NULL) { - data$width <- data$width %||% width %||% resolution(data$x, FALSE) - data$height <- data$height %||% height %||% resolution(data$y, FALSE) + data$width <- data$width %||% width %||% ggplot2::resolution(data$x, FALSE) + data$height <- data$height %||% height %||% ggplot2::resolution(data$y, FALSE) data <- subset(data, subset == TRUE) data } diff --git a/R/textContourGrob.R b/R/textContourGrob.R index 6694438e..28765e6d 100644 --- a/R/textContourGrob.R +++ b/R/textContourGrob.R @@ -1,10 +1,9 @@ # from shadowtext -#' @importFrom grid gList gTree -shadowtext <- function(label, x = unit(0.5, "npc"), y = unit(0.5, "npc"), +shadowtext <- function(label, x = grid::unit(0.5, "npc"), y = grid::unit(0.5, "npc"), just = "centre", hjust = NULL, vjust = NULL, dx = 0, dy = 0, check.overlap = FALSE, - default.units = "npc", name = NULL, gp = gpar(col = "white"), + default.units = "npc", name = NULL, gp = grid::gpar(col = "white"), vp = NULL, bg.color = "black", bg.r = 0.1) { upperGrob <- textContourGrob(label = label, x = x, y = y, just = just, hjust = hjust, vjust = vjust, @@ -20,12 +19,12 @@ shadowtext <- function(label, x = unit(0.5, "npc"), y = unit(0.5, "npc"), r <- bg.r[1] if (r != 0) { bgList <- lapply(theta, function(i) { - if (!is.unit(x)) - x <- unit(x, default.units) - if (!is.unit(y)) - y <- unit(y, default.units) - x <- x + unit(cos(i) * r, "strwidth", data = char) - y <- y + unit(sin(i) * r, "strheight", data = char) + if (!grid::is.unit(x)) + x <- grid::unit(x, default.units) + if (!grid::is.unit(y)) + y <- grid::unit(y, default.units) + x <- x + grid::unit(cos(i) * r, "strwidth", data = char) + y <- y + grid::unit(sin(i) * r, "strheight", data = char) textContourGrob(label = label, x = x, y = y, just = just, hjust = hjust, vjust = vjust, dx = dx, dy = dy, @@ -36,26 +35,26 @@ shadowtext <- function(label, x = unit(0.5, "npc"), y = unit(0.5, "npc"), } else { bgList <- list() } - bgGrob <- do.call(gList, bgList) - grobs <- gList(bgGrob, upperGrob) - gTree(children = grobs) + bgGrob <- do.call(grid::gList, bgList) + grobs <- grid::gList(bgGrob, upperGrob) + grid::gTree(children = grobs) } -#' @importFrom grid grob -textContourGrob <- function(label, x = unit(0.5, "npc"), y = unit(0.5, "npc"), + +textContourGrob <- function(label, x = grid::unit(0.5, "npc"), y = grid::unit(0.5, "npc"), just = "centre", hjust = NULL, vjust = NULL, dx = 0, dy = 0, bg.r = 0.1, bg.color = "black", check.overlap = FALSE, default.units = "npc", - name = NULL, gp = gpar(), vp = NULL) { + name = NULL, gp = grid::gpar(), vp = NULL) { x <- .unit_ifnot(x, default.units) y <- .unit_ifnot(y, default.units) dx <- .unit_ifnot(dx, default.units) dy <- .unit_ifnot(dy, default.units) - grob(label = label, x = x, y = y, just = just, hjust = hjust, + grid::grob(label = label, x = x, y = y, just = just, hjust = hjust, vjust = vjust, dx = dx, dy = dy, bg.r = bg.r, bg.color = bg.color, @@ -63,13 +62,13 @@ textContourGrob <- function(label, x = unit(0.5, "npc"), y = unit(0.5, "npc"), name = name, gp = gp, vp = vp, cl = "textContour") } -#' @importFrom grid convertX convertY convertWidth convertHeight unit.c #' @export +#' @importFrom grid makeContent makeContent.textContour <- function(x) { - x$x <- convertX(x$x, 'mm') - x$y <- convertY(x$y, 'mm') - x$dx <- convertWidth(x$dx, 'mm') - x$dy <- convertHeight(x$dy, 'mm') + x$x <- grid::convertX(x$x, 'mm') + x$y <- grid::convertY(x$y, 'mm') + x$dx <- grid::convertWidth(x$dx, 'mm') + x$dy <- grid::convertHeight(x$dy, 'mm') x$rot <- atan2(as.numeric(x$dy), as.numeric(x$dx))*180/pi diff --git a/README.Rmd b/README.Rmd index ff8d79a9..1e409b81 100644 --- a/README.Rmd +++ b/README.Rmd @@ -21,7 +21,7 @@ knitr::opts_chunk$set( [![CRAN status](http://www.r-pkg.org/badges/version/metR)](https://cran.r-project.org/package=metR) -metR packages several functions and utilities that make R better for handling meteorological data in the tidy data paradigm. It started mostly sa a packaging of assorted wrapers and tricks that I wrote for my day to day work as a researcher in atmospheric sciences. Since then, it has grown organically and for my own needs and feedback from users. +metR packages several functions and utilities that make R better for handling meteorological data in the tidy data paradigm. It started mostly sa a packaging of assorted wrappers and tricks that I wrote for my day to day work as a researcher in atmospheric sciences. Since then, it has grown organically and for my own needs and feedback from users. Conceptually it's divided into *visualization tools* and *data tools*. The former are geoms, stats and scales that help with plotting using [ggplot2](http://ggplot2.tidyverse.org/index.html), such as `stat_contour_fill()` or `scale_y_level()`, while the later are functions for common data processing tools in the atmospheric sciences, such as `Derivate()` or `EOF()`; these are implemented to work in the [data.table](https://github.com/Rdatatable/data.table/wiki) paradigm, but also work with regular data frames. diff --git a/README.md b/README.md index 6ae65d6a..06ea8894 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ status](http://www.r-pkg.org/badges/version/metR)](https://cran.r-project.org/pa metR packages several functions and utilities that make R better for handling meteorological data in the tidy data paradigm. It started -mostly sa a packaging of assorted wrapers and tricks that I wrote for my -day to day work as a researcher in atmospheric sciences. Since then, it -has grown organically and for my own needs and feedback from users. +mostly sa a packaging of assorted wrappers and tricks that I wrote for +my day to day work as a researcher in atmospheric sciences. Since then, +it has grown organically and for my own needs and feedback from users. Conceptually it’s divided into *visualization tools* and *data tools*. The former are geoms, stats and scales that help with plotting using @@ -84,8 +84,8 @@ ggplot(aao$left, aes(lon, lat, z = gh.t.w)) + breaks = MakeBreaks(binwidth), guide = guide_colorstrip()) + coord_polar() -#> Warning in .check_wrap_param(list(...)): 'xwrap' and 'ywrap' will be -#> deprecated. Use ggperiodic::periodic insead. +#> Warning in .check_wrap_param(list(...)): 'xwrap' and 'ywrap' will be deprecated. +#> Use ggperiodic::periodic insead. ``` ![](man/figures/field-1.png) diff --git a/cran-comments.md b/cran-comments.md index 4820b002..0c414707 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,15 +1,15 @@ ## Test environments -* local instalation of elementary OS 5 Juno (based on Ubuntu 18.04.2) R version 3.6.1 +* local instalation of elementary OS 5.1 Hera (Built on Ubuntu 18.04.3 LTS) R version 3.6.2 * win-builder (release, devel and oldrelease) -* r-hub (Windows Server 2008 R2 SP1, R-devel, 32/64 bit and Ubuntu Linux 16.04 LTS, R-release, GCC) ## R CMD check results -1 note in Ubuntu Linux 16.04 LTS, R-release, GCC : - * checking examples ... NOTE - Examples with CPU or elapsed time > 5s - user system elapsed - EOF 5.416 0.02 5.513 +1 note +* checking CRAN incoming feasibility ... NOTE +Maintainer: 'Elio Campitelli ' + +I don't know what's that about. + diff --git a/man/Anomaly.Rd b/man/Anomaly.Rd index 5bb347b7..6b021852 100644 --- a/man/Anomaly.Rd +++ b/man/Anomaly.Rd @@ -9,7 +9,7 @@ Anomaly(x, baseline = seq_along(x), ...) \arguments{ \item{x}{numeric vector} -\item{baseline}{logical or numerical vector used for subseting x before +\item{baseline}{logical or numerical vector used for subsetting x before computing the mean} \item{...}{other arguments passed to \code{\link{mean}} such as \code{na.rm}} @@ -28,7 +28,10 @@ temperature[, .(lon = lon, air.z = Anomaly(air)), by = .(lat, lev)] } \seealso{ -Other utilities: \code{\link{JumpBy}}, \code{\link{Mag}}, - \code{\link{Percentile}}, \code{\link{logic}} +Other utilities: +\code{\link{JumpBy}()}, +\code{\link{Mag}()}, +\code{\link{Percentile}()}, +\code{\link{logic}} } \concept{utilities} diff --git a/man/Derivate.Rd b/man/Derivate.Rd index 46e731d1..cd13dbc9 100644 --- a/man/Derivate.Rd +++ b/man/Derivate.Rd @@ -7,17 +7,46 @@ \alias{Vorticity} \title{Derivate a discrete variable using finite differences} \usage{ -Derivate(formula, order = 1, cyclical = FALSE, fill = FALSE, - data = NULL, sphere = FALSE, a = 6371000, equispaced = TRUE) - -Laplacian(formula, cyclical = FALSE, fill = FALSE, data = NULL, - sphere = FALSE, a = 6371000, equispaced = TRUE) - -Divergence(formula, cyclical = FALSE, fill = FALSE, data = NULL, - sphere = FALSE, a = 6371000, equispaced = TRUE) - -Vorticity(formula, cyclical = FALSE, fill = FALSE, data = NULL, - sphere = FALSE, a = 6371000, equispaced = TRUE) +Derivate( + formula, + order = 1, + cyclical = FALSE, + fill = FALSE, + data = NULL, + sphere = FALSE, + a = 6371000, + equispaced = TRUE +) + +Laplacian( + formula, + cyclical = FALSE, + fill = FALSE, + data = NULL, + sphere = FALSE, + a = 6371000, + equispaced = TRUE +) + +Divergence( + formula, + cyclical = FALSE, + fill = FALSE, + data = NULL, + sphere = FALSE, + a = 6371000, + equispaced = TRUE +) + +Vorticity( + formula, + cyclical = FALSE, + fill = FALSE, + data = NULL, + sphere = FALSE, + a = 6371000, + equispaced = TRUE +) } \arguments{ \item{formula}{a formula indicating dependent and independent variables} @@ -50,7 +79,7 @@ Derivate a discrete variable using finite differences \details{ Each element of the return vector is an estimation of \eqn{\frac{\partial^n x}{\partial y^{n}}}{d^nx/dy^n} by -centered finite differences. +centred finite differences. If \code{sphere = TRUE}, then the first two independent variables are assumed to be longitude and latitude (\strong{in that order}) in degrees. Then, a @@ -97,8 +126,11 @@ ggplot(variable, aes(lon, lat)) + } \seealso{ -Other meteorology functions: \code{\link{EOF}}, - \code{\link{GeostrophicWind}}, \code{\link{WaveFlux}}, - \code{\link{thermodynamics}}, \code{\link{waves}} +Other meteorology functions: +\code{\link{EOF}()}, +\code{\link{GeostrophicWind}()}, +\code{\link{WaveFlux}()}, +\code{\link{thermodynamics}}, +\code{\link{waves}} } \concept{meteorology functions} diff --git a/man/DivideTimeseries.Rd b/man/DivideTimeseries.Rd index 3f2f0591..fe69ff3d 100644 --- a/man/DivideTimeseries.Rd +++ b/man/DivideTimeseries.Rd @@ -37,16 +37,21 @@ g <- ggplot(gdata, aes(date, gh)) + DivideTimeseries(g, gdata$date, n = 2, "Date", "Max Temperature") } \seealso{ -Other ggplot2 helpers: \code{\link{MakeBreaks}}, - \code{\link{WrapCircular}}, \code{\link{geom_arrow}}, - \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/EOF.Rd b/man/EOF.Rd index 5a4efa6a..b294d364 100644 --- a/man/EOF.Rd +++ b/man/EOF.Rd @@ -4,9 +4,16 @@ \alias{EOF} \title{Empirical Orthogonal Function} \usage{ -EOF(formula, n = 1, data = NULL, B = 0, probs = c(lower = 0.025, - mid = 0.5, upper = 0.975), rotate = FALSE, suffix = "PC", - fill = NULL) +EOF( + formula, + n = 1, + data = NULL, + B = 0, + probs = c(lower = 0.025, mid = 0.5, upper = 0.975), + rotate = FALSE, + suffix = "PC", + fill = NULL +) } \arguments{ \item{formula}{a formula to build the matrix that will be used in the SVD @@ -59,7 +66,7 @@ and RIGHT, the columns of the matrix. Think it like "VAR \emph{as a function} of LEFT \emph{and} RIGHT". The variable combination used in this formula \emph{must} identify an unique value in a cell. -So, for example, \code{v ~ x + y | t} would mean that ther is one value of \code{v} for +So, for example, \code{v ~ x + y | t} would mean that there is one value of \code{v} for each combination of \code{x}, \code{y} and \code{t}, and that there will be one row for each combination of \code{x} and \code{y} and one row for each \code{t}. @@ -122,8 +129,11 @@ ggplot(field[date == date[1]], aes(lon, lat)) + Fisher, A., Caffo, B., Schwartz, B., & Zipunnikov, V. (2016). Fast, Exact Bootstrap Principal Component Analysis for p > 1 million. Journal of the American Statistical Association, 111(514), 846–860. http://doi.org/10.1080/01621459.2015.1062383 } \seealso{ -Other meteorology functions: \code{\link{Derivate}}, - \code{\link{GeostrophicWind}}, \code{\link{WaveFlux}}, - \code{\link{thermodynamics}}, \code{\link{waves}} +Other meteorology functions: +\code{\link{Derivate}()}, +\code{\link{GeostrophicWind}()}, +\code{\link{WaveFlux}()}, +\code{\link{thermodynamics}}, +\code{\link{waves}} } \concept{meteorology functions} diff --git a/man/EPflux.Rd b/man/EPflux.Rd new file mode 100644 index 00000000..a7e588d6 --- /dev/null +++ b/man/EPflux.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/WaveFlux.R +\name{EPflux} +\alias{EPflux} +\title{Computes Eliassen-Palm fluxes.} +\usage{ +EPflux(lon, lat, lev, t, u, v) +} +\arguments{ +\item{lon}{longitudes in degrees.} + +\item{lat}{latitudes in degrees.} + +\item{lev}{pressure levels.} + +\item{t}{temperature in Kelvin.} + +\item{u}{zonal wind in m/s.} + +\item{v}{meridional wind in m/s.} +} +\value{ +A data.table with columns \code{Flon}, \code{Flat} and \code{Flev} giving the zonal, meridional +and vertical components of the EP Fluxes at each longitude, latitude and level. +} +\description{ +Computes Eliassen-Palm fluxes. +} +\references{ +Plumb, R. A. (1985). On the Three-Dimensional Propagation of Stationary Waves. Journal of the Atmospheric Sciences, 42(3), 217–229. \url{https://doi.org/10.1175/1520-0469(1985)042<0217:OTTDPO>2.0.CO;2} +Cohen, J., Barlow, M., Kushner, P. J., & Saito, K. (2007). Stratosphere–Troposphere Coupling and Links with Eurasian Land Surface Variability. Journal of Climate, 20(21), 5335–5343. \url{https://doi.org/10.1175/2007JCLI1725.1} +} diff --git a/man/FitLm.Rd b/man/FitLm.Rd index 3095354c..cb184be3 100644 --- a/man/FitLm.Rd +++ b/man/FitLm.Rd @@ -9,7 +9,7 @@ FitLm(y, ..., se = FALSE) \arguments{ \item{y}{numeric vector of observations to model} -\item{...}{numeric vectors of variables used in the modeling} +\item{...}{numeric vectors of variables used in the modelling} \item{se}{logical indicating whether to compute the standard error} } @@ -20,6 +20,8 @@ a list with elements \item{estimate}{estimate of the regression} \item{std.error}{standard error} \item{df}{degrees of freedom} +\item{r.squared}{Percent of variance explained by the model (repeated in each term)} +\item{adj.r.squared}{ r.squared` adjusted based on the degrees of freedom)} } If there's no complete cases in the regression, \code{NA}s are returned with no @@ -37,14 +39,14 @@ system.time({ regr <- geopotential[, FitLm(gh, date, se = TRUE), by = .(lon, lat)] }) -ggplot(regr[term != "(intercept)"], aes(lon, lat)) + +ggplot(regr[term != "(Intercept)"], aes(lon, lat)) + geom_contour(aes(z = estimate, color = ..level..)) + stat_subset(aes(subset = abs(estimate) > 2*std.error), size = 0.05) # Using stats::lm() is much slower and with no names. \dontrun{ system.time({ - regr <- geopotential[, coef(lm(gh ~ date)), by = .(lon, lat)] + regr <- geopotential[, coef(lm(gh ~ date))[2], by = .(lon, lat)] }) } diff --git a/man/GeostrophicWind.Rd b/man/GeostrophicWind.Rd index 5245c438..7bc9dccb 100644 --- a/man/GeostrophicWind.Rd +++ b/man/GeostrophicWind.Rd @@ -4,8 +4,7 @@ \alias{GeostrophicWind} \title{Calculate geostrophic winds} \usage{ -GeostrophicWind(gh, lon, lat, cyclical = "guess", g = 9.81, - a = 6371000) +GeostrophicWind(gh, lon, lat, cyclical = "guess", g = 9.81, a = 6371000) } \arguments{ \item{gh}{geopotential height} @@ -44,8 +43,11 @@ ggplot(geopotential[date == date[1]], aes(lon, lat)) + } \seealso{ -Other meteorology functions: \code{\link{Derivate}}, - \code{\link{EOF}}, \code{\link{WaveFlux}}, - \code{\link{thermodynamics}}, \code{\link{waves}} +Other meteorology functions: +\code{\link{Derivate}()}, +\code{\link{EOF}()}, +\code{\link{WaveFlux}()}, +\code{\link{thermodynamics}}, +\code{\link{waves}} } \concept{meteorology functions} diff --git a/man/GetSMNData.Rd b/man/GetSMNData.Rd index 439e0c82..5fe64332 100644 --- a/man/GetSMNData.Rd +++ b/man/GetSMNData.Rd @@ -7,8 +7,13 @@ https://ssl.smn.gob.ar/dpd/pron5d-calendario.php } \usage{ -GetSMNData(date, type = c("hourly", "daily", "radiation"), bar = FALSE, - cache = TRUE, file.dir = tempdir()) +GetSMNData( + date, + type = c("hourly", "daily", "radiation"), + bar = FALSE, + cache = TRUE, + file.dir = tempdir() +) } \arguments{ \item{date}{date vector of dates to fetch data} diff --git a/man/GetTopography.Rd b/man/GetTopography.Rd index ba0d88c9..8b1f7095 100644 --- a/man/GetTopography.Rd +++ b/man/GetTopography.Rd @@ -4,8 +4,16 @@ \alias{GetTopography} \title{Get topographic data} \usage{ -GetTopography(lon.west, lon.east, lat.north, lat.south, resolution = 3.5, - cache = TRUE, file.dir = tempdir(), verbose = interactive()) +GetTopography( + lon.west, + lon.east, + lat.north, + lat.south, + resolution = 3.5, + cache = TRUE, + file.dir = tempdir(), + verbose = interactive() +) } \arguments{ \item{lon.west, lon.east, lat.north, lat.south}{latitudes and longitudes of the diff --git a/man/ImputeEOF.Rd b/man/ImputeEOF.Rd index 5834ef71..b47e5158 100644 --- a/man/ImputeEOF.Rd +++ b/man/ImputeEOF.Rd @@ -4,9 +4,16 @@ \alias{ImputeEOF} \title{Impute missing values} \usage{ -ImputeEOF(formula, max.eof = NULL, data = NULL, min.eof = 1, - tol = 0.01, max.iter = 10000, validation = NULL, - verbose = interactive()) +ImputeEOF( + formula, + max.eof = NULL, + data = NULL, + min.eof = 1, + tol = 0.01, + max.iter = 10000, + validation = NULL, + verbose = interactive() +) } \arguments{ \item{formula}{a formula to build the matrix that will be used in the SVD @@ -21,7 +28,7 @@ imputation} \item{max.iter}{maximum iterations allowed for the algorithm} -\item{validation}{number of points to use in crossvalidation (defaults to the +\item{validation}{number of points to use in cross-validation (defaults to the maximum of 30 or 10\% of the non NA points)} \item{verbose}{logical indicating whether to print progress} @@ -29,7 +36,7 @@ maximum of 30 or 10\% of the non NA points)} \value{ A vector of imputed values with attributes \code{eof}, which is the number of singular values used in the final imputation; and \code{rmse}, which is the Root -Mean Square Error estimated from crossvalidation. +Mean Square Error estimated from cross-validation. } \description{ Imputes missing values via Data Interpolating Empirical Orthogonal Functions diff --git a/man/Interpolate.Rd b/man/Interpolate.Rd index b471f10c..942f145b 100644 --- a/man/Interpolate.Rd +++ b/man/Interpolate.Rd @@ -4,8 +4,7 @@ \alias{Interpolate} \title{Bilinear interpolation} \usage{ -Interpolate(formula, x.out, y.out, data = NULL, grid = TRUE, - path = FALSE) +Interpolate(formula, x.out, y.out, data = NULL, grid = TRUE, path = FALSE) } \arguments{ \item{formula}{a formula indicating dependent and independent variables (see Details)} diff --git a/man/JumpBy.Rd b/man/JumpBy.Rd index a95f4a22..ced832d4 100644 --- a/man/JumpBy.Rd +++ b/man/JumpBy.Rd @@ -23,7 +23,7 @@ the same length. Skip observations } \details{ -Mostly useful for labeling only every \code{by}th element. +Mostly useful for labelling only every \code{by}th element. } \examples{ x <- 1:50 @@ -34,7 +34,10 @@ JumpBy(x, 2, fill = 6) # even numbers replaced by 6 } \seealso{ -Other utilities: \code{\link{Anomaly}}, \code{\link{Mag}}, - \code{\link{Percentile}}, \code{\link{logic}} +Other utilities: +\code{\link{Anomaly}()}, +\code{\link{Mag}()}, +\code{\link{Percentile}()}, +\code{\link{logic}} } \concept{utilities} diff --git a/man/Mag.Rd b/man/Mag.Rd index 8877d996..638ac895 100644 --- a/man/Mag.Rd +++ b/man/Mag.Rd @@ -32,8 +32,10 @@ Mag(1, 1:2) } \seealso{ -Other utilities: \code{\link{Anomaly}}, - \code{\link{JumpBy}}, \code{\link{Percentile}}, - \code{\link{logic}} +Other utilities: +\code{\link{Anomaly}()}, +\code{\link{JumpBy}()}, +\code{\link{Percentile}()}, +\code{\link{logic}} } \concept{utilities} diff --git a/man/MakeBreaks.Rd b/man/MakeBreaks.Rd index 86ce4e3a..7f049338 100644 --- a/man/MakeBreaks.Rd +++ b/man/MakeBreaks.Rd @@ -57,16 +57,21 @@ ggplot(reshape2::melt(volcano), aes(Var1, Var2, z = value)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{WrapCircular}}, \code{\link{geom_arrow}}, - \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/Percentile.Rd b/man/Percentile.Rd index 14dffc66..f5557c26 100644 --- a/man/Percentile.Rd +++ b/man/Percentile.Rd @@ -22,8 +22,10 @@ p <- Percentile(x) } \seealso{ -Other utilities: \code{\link{Anomaly}}, - \code{\link{JumpBy}}, \code{\link{Mag}}, - \code{\link{logic}} +Other utilities: +\code{\link{Anomaly}()}, +\code{\link{JumpBy}()}, +\code{\link{Mag}()}, +\code{\link{logic}} } \concept{utilities} diff --git a/man/ReadNetCDF.Rd b/man/ReadNetCDF.Rd index 5c0349bf..3824163a 100644 --- a/man/ReadNetCDF.Rd +++ b/man/ReadNetCDF.Rd @@ -5,8 +5,13 @@ \alias{GlanceNetCDF} \title{Read NetCDF files.} \usage{ -ReadNetCDF(file, vars = NULL, out = c("data.frame", "vector", "array"), - subset = NULL, key = FALSE) +ReadNetCDF( + file, + vars = NULL, + out = c("data.frame", "vector", "array"), + subset = NULL, + key = FALSE +) GlanceNetCDF(file, ...) } @@ -62,7 +67,7 @@ latitude as \code{lat}, then you can use: \preformatted{ subset = list(lat = -90:0) } -More complex subsetting operations are supported. If yuou want to read non-contiguous +More complex subsetting operations are supported. If you want to read non-contiguous chunks of data, you can specify each chunk into a list inside \code{subset}. For example this subset \preformatted{ @@ -77,7 +82,7 @@ are combination of those two conditions, subset = list(lat = list(-90:-70, 70:90), lon = list(0:60, 300:360)) } -Both operations can be mixed together. So for exmaple this +Both operations can be mixed together. So for example this \preformatted{ subset = list(list(lat = -90:-70, diff --git a/man/WaveFlux.Rd b/man/WaveFlux.Rd index 7b774a13..28c94fce 100644 --- a/man/WaveFlux.Rd +++ b/man/WaveFlux.Rd @@ -38,8 +38,11 @@ Takaya, K. and H. Nakamura, 2001: A Formulation of a Phase-Independent Wave-Acti Adapted from \url{https://github.com/marisolosman/Reunion_Clima/blob/master/WAF/Calculo_WAF.ipynb} } \seealso{ -Other meteorology functions: \code{\link{Derivate}}, - \code{\link{EOF}}, \code{\link{GeostrophicWind}}, - \code{\link{thermodynamics}}, \code{\link{waves}} +Other meteorology functions: +\code{\link{Derivate}()}, +\code{\link{EOF}()}, +\code{\link{GeostrophicWind}()}, +\code{\link{thermodynamics}}, +\code{\link{waves}} } \concept{meteorology functions} diff --git a/man/WrapCircular.Rd b/man/WrapCircular.Rd index 8fd5f2f7..8a889d7e 100644 --- a/man/WrapCircular.Rd +++ b/man/WrapCircular.Rd @@ -51,16 +51,21 @@ ggplot(geopotential[date == date[1]], aes(lon, lat)) + \seealso{ geom_contour2 -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{geom_arrow}}, - \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/coriolis.Rd b/man/coriolis.Rd index 9b102ab4..53bfbb47 100644 --- a/man/coriolis.Rd +++ b/man/coriolis.Rd @@ -25,6 +25,6 @@ Coriolis and beta parameters by latitude. } \details{ All functions use the correct sidereal day (24hs 56mins 4.091s) instead of -the incorrect solar day (24hs) for 0.3\% more precision and 1000\% more +the incorrect solar day (24hs) for 0.3\\% more precision and 1000\\% more pedantry. } diff --git a/man/denormalize.Rd b/man/denormalise.Rd similarity index 58% rename from man/denormalize.Rd rename to man/denormalise.Rd index 9568d1be..67265510 100644 --- a/man/denormalize.Rd +++ b/man/denormalise.Rd @@ -1,17 +1,20 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/EOF_methods.R -\name{denormalize} +\name{denormalise} +\alias{denormalise} \alias{denormalize} -\title{Denormalize eof matrices} +\title{Denormalise eof matrices} \usage{ +denormalise(eof, which = c("left", "right")) + denormalize(eof, which = c("left", "right")) } \arguments{ \item{eof}{an \code{eof} object.} -\item{which}{which side of the eof decomposition to denormaliza} +\item{which}{which side of the eof decomposition to denormalise} } \description{ The matrices returned by \code{\link[=EOF]{EOF()}} are normalized. This function multiplies the left or right -matrix by the diagonal matrix to return to proper units. +matrix by the diagonal matrix to return it to proper units. } diff --git a/man/figures/field-1.png b/man/figures/field-1.png index 97aff8ef..4c85b4de 100644 Binary files a/man/figures/field-1.png and b/man/figures/field-1.png differ diff --git a/man/figures/timeseries-1.png b/man/figures/timeseries-1.png index 2dea4d89..0a1d8233 100644 Binary files a/man/figures/timeseries-1.png and b/man/figures/timeseries-1.png differ diff --git a/man/geom_arrow.Rd b/man/geom_arrow.Rd index f683456c..16dd964e 100644 --- a/man/geom_arrow.Rd +++ b/man/geom_arrow.Rd @@ -8,27 +8,61 @@ \alias{StatArrow} \title{Arrows} \usage{ -geom_arrow(mapping = NULL, data = NULL, stat = "arrow", - position = "identity", ..., start = 0, direction = c("ccw", "cw"), - pivot = 0.5, preserve.dir = TRUE, min.mag = 0, skip = 0, - skip.x = skip, skip.y = skip, arrow.angle = 15, - arrow.length = 0.5, arrow.ends = "last", arrow.type = "closed", - arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = - arrow.ends, type = arrow.type), lineend = "butt", na.rm = FALSE, - show.legend = NA, inherit.aes = TRUE) - -geom_vector(mapping = NULL, data = NULL, stat = "arrow", - position = "identity", ..., start = 0, direction = c("ccw", "cw"), - pivot = 0.5, preserve.dir = FALSE, min.mag = 0, skip = 0, - skip.x = skip, skip.y = skip, arrow.angle = 15, - arrow.length = 0.5, arrow.ends = "last", arrow.type = "closed", - arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = - arrow.ends, type = arrow.type), lineend = "butt", na.rm = FALSE, - show.legend = NA, inherit.aes = TRUE) +geom_arrow( + mapping = NULL, + data = NULL, + stat = "arrow", + position = "identity", + ..., + start = 0, + direction = c("ccw", "cw"), + pivot = 0.5, + preserve.dir = TRUE, + min.mag = 0, + skip = 0, + skip.x = skip, + skip.y = skip, + arrow.angle = 15, + arrow.length = 0.5, + arrow.ends = "last", + arrow.type = "closed", + arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = arrow.ends, type + = arrow.type), + lineend = "butt", + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) + +geom_vector( + mapping = NULL, + data = NULL, + stat = "arrow", + position = "identity", + ..., + start = 0, + direction = c("ccw", "cw"), + pivot = 0.5, + preserve.dir = FALSE, + min.mag = 0, + skip = 0, + skip.x = skip, + skip.y = skip, + arrow.angle = 15, + arrow.length = 0.5, + arrow.ends = "last", + arrow.type = "closed", + arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = arrow.ends, type + = arrow.type), + lineend = "butt", + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -36,11 +70,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -53,7 +87,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -91,7 +125,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \description{ Parametrization of \link[ggplot2:geom_segment]{ggplot2::geom_segment} either by location and displacement @@ -170,17 +204,22 @@ ggplot(grid, aes(x, y)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/geom_contour2.Rd b/man/geom_contour2.Rd index 9e0c6b14..2b37bccb 100644 --- a/man/geom_contour2.Rd +++ b/man/geom_contour2.Rd @@ -8,20 +8,44 @@ \alias{StatContour2} \title{2d contours of a 3d surface} \usage{ -geom_contour2(mapping = NULL, data = NULL, stat = "contour2", - position = "identity", ..., lineend = "butt", linejoin = "round", - linemitre = 1, breaks = MakeBreaks(), bins = NULL, - binwidth = NULL, na.rm = FALSE, na.fill = FALSE, - show.legend = NA, inherit.aes = TRUE) - -stat_contour2(mapping = NULL, data = NULL, geom = "contour2", - position = "identity", ..., breaks = MakeBreaks(), bins = NULL, - binwidth = NULL, na.rm = FALSE, na.fill = FALSE, - show.legend = NA, inherit.aes = TRUE) +geom_contour2( + mapping = NULL, + data = NULL, + stat = "contour2", + position = "identity", + ..., + lineend = "butt", + linejoin = "round", + linemitre = 1, + breaks = MakeBreaks(), + bins = NULL, + binwidth = NULL, + global.breaks = TRUE, + na.rm = FALSE, + na.fill = FALSE, + show.legend = NA, + inherit.aes = TRUE +) + +stat_contour2( + mapping = NULL, + data = NULL, + geom = "contour2", + position = "identity", + ..., + breaks = MakeBreaks(), + bins = NULL, + binwidth = NULL, + global.breaks = TRUE, + na.rm = FALSE, + na.fill = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -29,11 +53,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -46,7 +70,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -68,12 +92,15 @@ and returns breaks as output \item{binwidth}{Distance between breaks.} +\item{global.breaks}{Logical indicating whether \code{breaks} should be computed for the whole +data or for each grouping.} + \item{na.rm}{If \code{FALSE}, the default, missing values are removed with a warning. If \code{TRUE}, missing values are silently removed.} \item{na.fill}{How to fill missing values. \itemize{ -\item \code{FALSE} for leting the computation fail with no interpolation +\item \code{FALSE} for letting the computation fail with no interpolation \item \code{TRUE} for imputing missing values with \link{Impute2D} \item A numeric value for constant imputation \item A function that takes a vector and returns a numeric (e.g. \code{mean}) @@ -88,7 +115,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} \item{geom}{The geometric object to use display the data} } @@ -128,29 +155,39 @@ ggplot(reshape2::melt(volcano), aes(Var1, Var2)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} - -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} + +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/geom_contour_fill.Rd b/man/geom_contour_fill.Rd index ab392b94..cd7c4cdd 100644 --- a/man/geom_contour_fill.Rd +++ b/man/geom_contour_fill.Rd @@ -7,19 +7,38 @@ \alias{StatContourFill} \title{Filled 2d contours of a 3d surface} \usage{ -geom_contour_fill(mapping = NULL, data = NULL, stat = "ContourFill", - position = "identity", ..., breaks = MakeBreaks(), bins = NULL, - binwidth = NULL, na.fill = FALSE, show.legend = NA, - inherit.aes = TRUE) - -stat_contour_fill(mapping = NULL, data = NULL, geom = "polygon", - position = "identity", ..., breaks = MakeBreaks(), bins = NULL, - binwidth = NULL, na.fill = FALSE, show.legend = NA, - inherit.aes = TRUE) +geom_contour_fill( + mapping = NULL, + data = NULL, + stat = "ContourFill", + position = "identity", + ..., + breaks = MakeBreaks(), + bins = NULL, + binwidth = NULL, + na.fill = FALSE, + show.legend = NA, + inherit.aes = TRUE +) + +stat_contour_fill( + mapping = NULL, + data = NULL, + geom = "polygon", + position = "identity", + ..., + breaks = MakeBreaks(), + bins = NULL, + binwidth = NULL, + global.breaks = TRUE, + na.fill = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -27,11 +46,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -44,7 +63,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -57,7 +76,7 @@ to the paired geom/stat.} \item{na.fill}{How to fill missing values. \itemize{ -\item \code{FALSE} for leting the computation fail with no interpolation +\item \code{FALSE} for letting the computation fail with no interpolation \item \code{TRUE} for imputing missing values with \link{Impute2D} \item A numeric value for constant imputation \item A function that takes a vector and returns a numeric (e.g. \code{mean}) @@ -72,9 +91,12 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} \item{geom}{The geometric object to use display the data} + +\item{global.breaks}{Logical indicating whether \code{breaks} should be computed for the whole +data or for each grouping.} } \description{ While ggplot2's \code{\link[ggplot2]{geom_contour}} can plot nice contours, it @@ -123,16 +145,22 @@ ggplot(surface, aes(Var1, Var2, z = value)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/geom_contour_tanaka.Rd b/man/geom_contour_tanaka.Rd index b6249913..933590b4 100644 --- a/man/geom_contour_tanaka.Rd +++ b/man/geom_contour_tanaka.Rd @@ -6,15 +6,27 @@ \alias{GeomContourTanaka} \title{Illuminated contours} \usage{ -geom_contour_tanaka(mapping = NULL, data = NULL, stat = "Contour2", - position = "identity", ..., breaks = NULL, bins = NULL, - binwidth = NULL, sun.angle = 60, light = "white", - dark = "gray20", range = c(0.01, 0.5), na.rm = FALSE, - show.legend = NA, inherit.aes = TRUE) +geom_contour_tanaka( + mapping = NULL, + data = NULL, + stat = "Contour2", + position = "identity", + ..., + breaks = NULL, + bins = NULL, + binwidth = NULL, + sun.angle = 60, + light = "white", + dark = "gray20", + range = c(0.01, 0.5), + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -22,11 +34,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -39,7 +51,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -73,7 +85,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \description{ Illuminated contours (aka Tanaka contours) use varying brightness and width to diff --git a/man/geom_relief.Rd b/man/geom_relief.Rd index eadec922..427ef2a7 100644 --- a/man/geom_relief.Rd +++ b/man/geom_relief.Rd @@ -8,19 +8,40 @@ \alias{GeomShadow} \title{Relief Shading} \usage{ -geom_relief(mapping = NULL, data = NULL, stat = "identity", - position = "identity", ..., sun.angle = 60, raster = TRUE, - interpolate = TRUE, shadow = FALSE, na.rm = FALSE, - show.legend = NA, inherit.aes = TRUE) - -geom_shadow(mapping = NULL, data = NULL, stat = "identity", - position = "identity", ..., sun.angle = 60, range = c(0, 1), - skip = 0, raster = TRUE, interpolate = TRUE, na.rm = FALSE, - show.legend = NA, inherit.aes = TRUE) +geom_relief( + mapping = NULL, + data = NULL, + stat = "identity", + position = "identity", + ..., + sun.angle = 60, + raster = TRUE, + interpolate = TRUE, + shadow = FALSE, + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) + +geom_shadow( + mapping = NULL, + data = NULL, + stat = "identity", + position = "identity", + ..., + sun.angle = 60, + range = c(0, 1), + skip = 0, + raster = TRUE, + interpolate = TRUE, + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -28,11 +49,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -45,7 +66,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -73,7 +94,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} \item{range}{transparency range for shadows} @@ -83,7 +104,7 @@ the default plot specification, e.g. \code{\link[=borders]{borders()}}.} \code{geom_relief()} simulates shading caused by relief. Can be useful when plotting topographic data because relief shading might give a more intuitive impression of the shape of the terrain than contour lines or mapping height -to color. \code{geom_shadow()} projects shadows. +to colour. \code{geom_shadow()} projects shadows. } \details{ \code{light} and \code{dark} must be valid colours determining the light and dark shading @@ -111,17 +132,22 @@ ggplot(reshape2::melt(volcano), aes(Var1, Var2)) + } } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/geom_streamline.Rd b/man/geom_streamline.Rd index 868971a7..bebbfb46 100644 --- a/man/geom_streamline.Rd +++ b/man/geom_streamline.Rd @@ -8,31 +8,77 @@ \alias{GeomStreamline} \title{Streamlines} \usage{ -geom_streamline(mapping = NULL, data = NULL, stat = "streamline", - position = "identity", ..., L = 5, min.L = 0, res = 1, - S = NULL, dt = NULL, xwrap = NULL, ywrap = NULL, skip = 1, - skip.x = skip, skip.y = skip, n = NULL, nx = n, ny = n, - jitter = 1, jitter.x = jitter, jitter.y = jitter, - arrow.angle = 6, arrow.length = 0.5, arrow.ends = "last", - arrow.type = "closed", arrow = grid::arrow(arrow.angle, - unit(arrow.length, "lines"), ends = arrow.ends, type = arrow.type), - lineend = "butt", na.rm = TRUE, show.legend = NA, - inherit.aes = TRUE) - -stat_streamline(mapping = NULL, data = NULL, geom = "streamline", - position = "identity", ..., L = 5, min.L = 0, res = 1, - S = NULL, dt = NULL, xwrap = NULL, ywrap = NULL, skip = 1, - skip.x = skip, skip.y = skip, n = NULL, nx = n, ny = n, - jitter = 1, jitter.x = jitter, jitter.y = jitter, - arrow.angle = 6, arrow.length = 0.5, arrow.ends = "last", - arrow.type = "closed", arrow = grid::arrow(arrow.angle, - unit(arrow.length, "lines"), ends = arrow.ends, type = arrow.type), - lineend = "butt", na.rm = TRUE, show.legend = NA, - inherit.aes = TRUE) +geom_streamline( + mapping = NULL, + data = NULL, + stat = "streamline", + position = "identity", + ..., + L = 5, + min.L = 0, + res = 1, + S = NULL, + dt = NULL, + xwrap = NULL, + ywrap = NULL, + skip = 1, + skip.x = skip, + skip.y = skip, + n = NULL, + nx = n, + ny = n, + jitter = 1, + jitter.x = jitter, + jitter.y = jitter, + arrow.angle = 6, + arrow.length = 0.5, + arrow.ends = "last", + arrow.type = "closed", + arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = arrow.ends, type + = arrow.type), + lineend = "butt", + na.rm = TRUE, + show.legend = NA, + inherit.aes = TRUE +) + +stat_streamline( + mapping = NULL, + data = NULL, + geom = "streamline", + position = "identity", + ..., + L = 5, + min.L = 0, + res = 1, + S = NULL, + dt = NULL, + xwrap = NULL, + ywrap = NULL, + skip = 1, + skip.x = skip, + skip.y = skip, + n = NULL, + nx = n, + ny = n, + jitter = 1, + jitter.x = jitter, + jitter.y = jitter, + arrow.angle = 6, + arrow.length = 0.5, + arrow.ends = "last", + arrow.type = "closed", + arrow = grid::arrow(arrow.angle, unit(arrow.length, "lines"), ends = arrow.ends, type + = arrow.type), + lineend = "butt", + na.rm = TRUE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -40,11 +86,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -57,7 +103,7 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -116,7 +162,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} \item{geom}{The geometric object to use display the data} } @@ -229,17 +275,22 @@ ggplot(topo, aes(lon, lat)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/geom_text_contour.Rd b/man/geom_text_contour.Rd index 0598133f..ca3a350d 100644 --- a/man/geom_text_contour.Rd +++ b/man/geom_text_contour.Rd @@ -10,22 +10,48 @@ \alias{StatTextContour} \title{Label contours} \usage{ -geom_label_contour(mapping = NULL, data = NULL, - stat = "text_contour", position = "identity", ..., min.size = 5, - skip = 0, parse = FALSE, nudge_x = 0, nudge_y = 0, - label.padding = unit(0.25, "lines"), label.r = unit(0.15, "lines"), - label.size = 0.25, na.rm = FALSE, show.legend = NA, - inherit.aes = TRUE) - -geom_text_contour(mapping = NULL, data = NULL, stat = "text_contour", - position = "identity", ..., min.size = 5, skip = 0, - rotate = TRUE, parse = FALSE, nudge_x = 0, nudge_y = 0, - stroke = 0, stroke.color = "white", check_overlap = FALSE, - na.rm = FALSE, show.legend = NA, inherit.aes = TRUE) +geom_label_contour( + mapping = NULL, + data = NULL, + stat = "text_contour", + position = "identity", + ..., + min.size = 5, + skip = 0, + parse = FALSE, + nudge_x = 0, + nudge_y = 0, + label.padding = unit(0.25, "lines"), + label.r = unit(0.15, "lines"), + label.size = 0.25, + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) + +geom_text_contour( + mapping = NULL, + data = NULL, + stat = "text_contour", + position = "identity", + ..., + min.size = 5, + skip = 0, + rotate = TRUE, + parse = FALSE, + nudge_x = 0, + nudge_y = 0, + stroke = 0, + stroke.color = "white", + check_overlap = FALSE, + na.rm = FALSE, + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -33,11 +59,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -50,12 +76,12 @@ layer, as a string.} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} -\item{min.size}{minimum number of points for a contour to be labeled.} +\item{min.size}{minimum number of points for a contour to be labelled.} \item{skip}{number of contours to skip} @@ -86,14 +112,14 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} \item{rotate}{logical indicating whether to rotate text following the contour.} \item{stroke}{numerical indicating width of stroke relative to the size of the text. Ignored if less than zero.} -\item{stroke.color}{any valid color.} +\item{stroke.color}{any valid colour.} \item{check_overlap}{If \code{TRUE}, text that overlaps previous text in the same layer will not be plotted.} @@ -103,7 +129,7 @@ Draws labels on contours built with \link[ggplot2:stat_contour]{ggplot2::stat_co } \details{ Is best used with a previous call to \link[ggplot2:stat_contour]{ggplot2::stat_contour} with the same -parameters. +parameters (e.g. the same \code{binwidth}, \code{breaks}, or \code{bins}). Note that while \code{geom_text_contour()} can angle itself to follow the contour, this is not the case with \code{geom_label_contour()}. } @@ -139,16 +165,22 @@ g + geom_text_contour(aes(z = value), stroke = 0.2) } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/guide_colourstrip.Rd b/man/guide_colourstrip.Rd index 8b0aa94f..d0526f6f 100644 --- a/man/guide_colourstrip.Rd +++ b/man/guide_colourstrip.Rd @@ -5,39 +5,71 @@ \alias{guide_train.colorstrip} \alias{guide_colorstrip} \alias{guide_gengrob.colorstrip} -\title{Discretized continuous color guide} +\title{Discretized continuous colour guide} \usage{ -guide_colourstrip(title = waiver(), title.position = NULL, - title.theme = NULL, title.hjust = NULL, title.vjust = NULL, - label = TRUE, label.position = NULL, label.theme = NULL, - label.hjust = NULL, label.vjust = NULL, barwidth = NULL, - barheight = NULL, ticks = FALSE, draw.ulim = TRUE, - draw.llim = TRUE, inside = FALSE, direction = NULL, - default.unit = "line", reverse = FALSE, order = 0, - available_aes = c("colour", "color", "fill"), ...) - -guide_colorstrip(title = waiver(), title.position = NULL, - title.theme = NULL, title.hjust = NULL, title.vjust = NULL, - label = TRUE, label.position = NULL, label.theme = NULL, - label.hjust = NULL, label.vjust = NULL, barwidth = NULL, - barheight = NULL, ticks = FALSE, draw.ulim = TRUE, - draw.llim = TRUE, inside = FALSE, direction = NULL, - default.unit = "line", reverse = FALSE, order = 0, - available_aes = c("colour", "color", "fill"), ...) +guide_colourstrip( + title = waiver(), + title.position = NULL, + title.theme = NULL, + title.hjust = NULL, + title.vjust = NULL, + label = TRUE, + label.position = NULL, + label.theme = NULL, + label.hjust = NULL, + label.vjust = NULL, + barwidth = NULL, + barheight = NULL, + ticks = FALSE, + draw.ulim = TRUE, + draw.llim = TRUE, + inside = FALSE, + direction = NULL, + default.unit = "line", + reverse = FALSE, + order = 0, + available_aes = c("colour", "color", "fill"), + ... +) + +guide_colorstrip( + title = waiver(), + title.position = NULL, + title.theme = NULL, + title.hjust = NULL, + title.vjust = NULL, + label = TRUE, + label.position = NULL, + label.theme = NULL, + label.hjust = NULL, + label.vjust = NULL, + barwidth = NULL, + barheight = NULL, + ticks = FALSE, + draw.ulim = TRUE, + draw.llim = TRUE, + inside = FALSE, + direction = NULL, + default.unit = "line", + reverse = FALSE, + order = 0, + available_aes = c("colour", "color", "fill"), + ... +) } \arguments{ \item{title}{A character string or expression indicating a title of guide. If \code{NULL}, the title is not shown. By default -(\code{\link[=waiver]{waiver()}}), the name of the scale object or the name -specified in \code{\link[=labs]{labs()}} is used for the title.} +(\code{\link[ggplot2:waiver]{waiver()}}), the name of the scale object or the name +specified in \code{\link[ggplot2:labs]{labs()}} is used for the title.} \item{title.position}{A character string indicating the position of a title. One of "top" (default for a vertical guide), "bottom", "left" (default for a horizontal guide), or "right."} \item{title.theme}{A theme object for rendering the title text. Usually the -object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is -specified by \code{legend.title} in \code{\link[=theme]{theme()}} or theme.} +object of \code{\link[ggplot2:element_text]{element_text()}} is expected. By default, the theme is +specified by \code{legend.title} in \code{\link[ggplot2:theme]{theme()}} or theme.} \item{title.hjust}{A number specifying horizontal justification of the title text.} @@ -53,8 +85,8 @@ label. One of "top", "bottom" (default for horizontal guide), "left", or "right" (default for vertical guide).} \item{label.theme}{A theme object for rendering the label text. Usually the -object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is -specified by \code{legend.text} in \code{\link[=theme]{theme()}}.} +object of \code{\link[ggplot2:element_text]{element_text()}} is expected. By default, the theme is +specified by \code{legend.text} in \code{\link[ggplot2:theme]{theme()}}.} \item{label.hjust}{A numeric specifying horizontal justification of the label text.} @@ -64,11 +96,11 @@ text.} \item{barwidth}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying the width of the colourbar. Default value is \code{legend.key.width} or -\code{legend.key.size} in \code{\link[=theme]{theme()}} or theme.} +\code{legend.key.size} in \code{\link[ggplot2:theme]{theme()}} or theme.} \item{barheight}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying the height of the colourbar. Default value is \code{legend.key.height} or -\code{legend.key.size} in \code{\link[=theme]{theme()}} or theme.} +\code{legend.key.size} in \code{\link[ggplot2:theme]{theme()}} or theme.} \item{ticks}{A logical specifying if tick marks on the colourbar should be visible.} @@ -108,14 +140,14 @@ A version of \link[ggplot2:guide_colourbar]{ggplot2::guide_colourbar} that displ by default, puts labels in between values. } \details{ -The default behaviour works fell for geom_contour_fill in which the colors +The default behaviour works fell for geom_contour_fill in which the colours represent the value between contour surfaces. -`inside = TRUE`` works better for geom_tile where the color represents +`inside = TRUE`` works better for geom_tile where the colour represents the value of the data and is very similar to \link[ggplot2:guide_legend]{ggplot2::guide_legend}. } \examples{ -# In this example the lowest color represents an area of the data with values +# In this example the lowest colour represents an area of the data with values # between 80 and 100. library(ggplot2) binwidth <- 20 @@ -138,16 +170,22 @@ g + scale_fill_continuous(guide = guide_colourstrip(inside = TRUE)) } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{internal} diff --git a/man/guide_vector.Rd b/man/guide_vector.Rd index 0e172a43..f155a574 100644 --- a/man/guide_vector.Rd +++ b/man/guide_vector.Rd @@ -4,27 +4,43 @@ \alias{guide_vector} \title{Reference arrow for magnitude scales} \usage{ -guide_vector(title = waiver(), title.position = NULL, - title.theme = NULL, title.hjust = NULL, title.vjust = NULL, - label = TRUE, label.position = NULL, label.theme = NULL, - label.hjust = NULL, label.vjust = NULL, keywidth = NULL, - keyheight = NULL, direction = NULL, default.unit = "cm", - override.aes = list(), nrow = NULL, ncol = NULL, byrow = FALSE, - reverse = FALSE, order = 0, ...) +guide_vector( + title = waiver(), + title.position = NULL, + title.theme = NULL, + title.hjust = NULL, + title.vjust = NULL, + label = TRUE, + label.position = NULL, + label.theme = NULL, + label.hjust = NULL, + label.vjust = NULL, + keywidth = NULL, + keyheight = NULL, + direction = NULL, + default.unit = "cm", + override.aes = list(), + nrow = NULL, + ncol = NULL, + byrow = FALSE, + reverse = FALSE, + order = 0, + ... +) } \arguments{ \item{title}{A character string or expression indicating a title of guide. If \code{NULL}, the title is not shown. By default -(\code{\link[=waiver]{waiver()}}), the name of the scale object or the name -specified in \code{\link[=labs]{labs()}} is used for the title.} +(\code{\link[ggplot2:waiver]{waiver()}}), the name of the scale object or the name +specified in \code{\link[ggplot2:labs]{labs()}} is used for the title.} \item{title.position}{A character string indicating the position of a title. One of "top" (default for a vertical guide), "bottom", "left" (default for a horizontal guide), or "right."} \item{title.theme}{A theme object for rendering the title text. Usually the -object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is -specified by \code{legend.title} in \code{\link[=theme]{theme()}} or theme.} +object of \code{\link[ggplot2:element_text]{element_text()}} is expected. By default, the theme is +specified by \code{legend.title} in \code{\link[ggplot2:theme]{theme()}} or theme.} \item{title.hjust}{A number specifying horizontal justification of the title text.} @@ -40,8 +56,8 @@ label. One of "top", "bottom" (default for horizontal guide), "left", or "right" (default for vertical guide).} \item{label.theme}{A theme object for rendering the label text. Usually the -object of \code{\link[=element_text]{element_text()}} is expected. By default, the theme is -specified by \code{legend.text} in \code{\link[=theme]{theme()}}.} +object of \code{\link[ggplot2:element_text]{element_text()}} is expected. By default, the theme is +specified by \code{legend.text} in \code{\link[ggplot2:theme]{theme()}}.} \item{label.hjust}{A numeric specifying horizontal justification of the label text.} @@ -51,11 +67,11 @@ text.} \item{keywidth}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying the width of the legend key. Default value is \code{legend.key.width} or -\code{legend.key.size} in \code{\link[=theme]{theme()}}.} +\code{legend.key.size} in \code{\link[ggplot2:theme]{theme()}}.} \item{keyheight}{A numeric or a \code{\link[grid:unit]{grid::unit()}} object specifying the height of the legend key. Default value is \code{legend.key.height} or -\code{legend.key.size} in \code{\link[=theme]{theme()}}.} +\code{legend.key.size} in \code{\link[ggplot2:theme]{theme()}}.} \item{direction}{A character string indicating the direction of the guide. One of "horizontal" or "vertical."} diff --git a/man/logic.Rd b/man/logic.Rd index ade4d3b5..d357a244 100644 --- a/man/logic.Rd +++ b/man/logic.Rd @@ -45,8 +45,10 @@ ggplot(temperature[lon \%~\% cross.lon & lat \%between\% c(-50, 50)], } \seealso{ -Other utilities: \code{\link{Anomaly}}, - \code{\link{JumpBy}}, \code{\link{Mag}}, - \code{\link{Percentile}} +Other utilities: +\code{\link{Anomaly}()}, +\code{\link{JumpBy}()}, +\code{\link{Mag}()}, +\code{\link{Percentile}()} } \concept{utilities} diff --git a/man/map_labels.Rd b/man/map_labels.Rd index 8cab6ba3..962891ef 100644 --- a/man/map_labels.Rd +++ b/man/map_labels.Rd @@ -18,7 +18,7 @@ LatLabel(lat, north = "°N", south = "°S", zero = "°") \item{lat}{latitude in degrees} } \description{ -Provide easy functions for adding suffixes to longitude and latitude for labeling +Provide easy functions for adding suffixes to longitude and latitude for labelling maps. } \details{ @@ -30,16 +30,21 @@ LonLabel(0:360) } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/metR.Rd b/man/metR.Rd index 1e55157b..b7f214c7 100644 --- a/man/metR.Rd +++ b/man/metR.Rd @@ -6,7 +6,7 @@ \alias{metR-package} \title{metR: Tools for Easier Analysis of Meteorological Fields} \description{ -\if{html}{\figure{logo.png}{options: align='right'}} +\if{html}{\figure{logo.png}{options: align='right' alt='logo' width='120'}} Many useful functions and extensions for dealing with meteorological data in the tidy data framework. Extends 'ggplot2' @@ -38,6 +38,6 @@ Useful links: } \author{ -\strong{Maintainer}: Elio Campitelli \email{elio.campitelli@cima.fcen.uba.ar} (0000-0002-7742-9230) +\strong{Maintainer}: Elio Campitelli \email{elio.campitelli@cima.fcen.uba.ar} (\href{https://orcid.org/0000-0002-7742-9230}{ORCID}) } diff --git a/man/reverselog_trans.Rd b/man/reverselog_trans.Rd index 92fa3700..c41a6bd0 100644 --- a/man/reverselog_trans.Rd +++ b/man/reverselog_trans.Rd @@ -27,15 +27,21 @@ ggplot(t, aes(p, t)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/scale_divergent.Rd b/man/scale_divergent.Rd index 808eff77..974fdb20 100644 --- a/man/scale_divergent.Rd +++ b/man/scale_divergent.Rd @@ -2,17 +2,43 @@ % Please edit documentation in R/scale_divergent.R \name{scale_divergent} \alias{scale_divergent} +\alias{scale_colour_divergent} \alias{scale_color_divergent} \alias{scale_fill_divergent} -\title{Divergent color scales} +\title{Divergent colour scales} \usage{ -scale_color_divergent(..., low = scales::muted("blue"), mid = "white", - high = scales::muted("red"), midpoint = 0, space = "Lab", - na.value = "grey50", guide = "colourbar") +scale_colour_divergent( + ..., + low = scales::muted("blue"), + mid = "white", + high = scales::muted("red"), + midpoint = 0, + space = "Lab", + na.value = "grey50", + guide = "colourbar" +) -scale_fill_divergent(..., low = scales::muted("blue"), mid = "white", - high = scales::muted("red"), midpoint = 0, space = "Lab", - na.value = "grey50", guide = "colourbar") +scale_color_divergent( + ..., + low = scales::muted("blue"), + mid = "white", + high = scales::muted("red"), + midpoint = 0, + space = "Lab", + na.value = "grey50", + guide = "colourbar" +) + +scale_fill_divergent( + ..., + low = scales::muted("blue"), + mid = "white", + high = scales::muted("red"), + midpoint = 0, + space = "Lab", + na.value = "grey50", + guide = "colourbar" +) } \arguments{ \item{...}{Arguments passed on to \code{continuous_scale} @@ -60,7 +86,7 @@ Use \code{NA} to refer to the existing minimum or maximum new limits }} \item{rescaler}{Used by diverging and n colour gradients -(i.e. \code{\link[=scale_colour_gradient2]{scale_colour_gradient2()}}, \code{\link[=scale_colour_gradientn]{scale_colour_gradientn()}}). +(i.e. \code{\link[ggplot2:scale_colour_gradient2]{scale_colour_gradient2()}}, \code{\link[ggplot2:scale_colour_gradientn]{scale_colour_gradientn()}}). A function used to scale the input values to the range [0, 1].} \item{oob}{Function that handles limits outside of the scale limits (out of bounds). The default replaces out of bounds values with \code{NA}.} @@ -80,7 +106,7 @@ scales, "top" or "bottom" for horizontal scales} \item{super}{The super class to use for the constructed scale} \item{expand}{Vector of range expansion constants used to add some padding around the data, to ensure that they are placed some distance -away from the axes. Use the convenience function \code{\link[=expand_scale]{expand_scale()}} +away from the axes. Use the convenience function \code{\link[ggplot2:expand_scale]{expand_scale()}} to generate the values for the \code{expand} argument. The defaults are to expand the scale by 5\% on each side for continuous variables, and by 0.6 units on each side for discrete variables.} @@ -111,19 +137,25 @@ inverted defaults of \code{high} and \code{low}. library(ggplot2) ggplot(reshape2::melt(volcano), aes(Var1, Var2, z = value)) + geom_contour(aes(color = ..level..)) + - scale_color_divergent(midpoint = 130) + scale_colour_divergent(midpoint = 130) } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/scale_longitude.Rd b/man/scale_longitude.Rd index 13e63962..ecab41e4 100644 --- a/man/scale_longitude.Rd +++ b/man/scale_longitude.Rd @@ -11,19 +11,43 @@ \alias{scale_y_level} \title{Helpful scales for maps} \usage{ -scale_x_longitude(name = "", ticks = 30, breaks = seq(-180, 360, by = - ticks), expand = c(0, 0), labels = LonLabel, trans = "identity", - ...) +scale_x_longitude( + name = "", + ticks = 30, + breaks = seq(-180, 360, by = ticks), + expand = c(0, 0), + labels = LonLabel, + trans = "identity", + ... +) -scale_y_longitude(name = "", ticks = 60, breaks = seq(-180, 360, by = - ticks), expand = c(0, 0), labels = LonLabel, trans = "identity", - ...) +scale_y_longitude( + name = "", + ticks = 60, + breaks = seq(-180, 360, by = ticks), + expand = c(0, 0), + labels = LonLabel, + trans = "identity", + ... +) -scale_x_latitude(name = "", ticks = 30, breaks = seq(-90, 90, by = - ticks), expand = c(0, 0), labels = LatLabel, ...) +scale_x_latitude( + name = "", + ticks = 30, + breaks = seq(-90, 90, by = ticks), + expand = c(0, 0), + labels = LatLabel, + ... +) -scale_y_latitude(name = "", ticks = 30, breaks = seq(-90, 90, by = - ticks), expand = c(0, 0), labels = LatLabel, ...) +scale_y_latitude( + name = "", + ticks = 30, + breaks = seq(-90, 90, by = ticks), + expand = c(0, 0), + labels = LatLabel, + ... +) scale_x_level(name = "", expand = c(0, 0), trans = "reverselog", ...) @@ -49,7 +73,7 @@ as output \item{expand}{Vector of range expansion constants used to add some padding around the data, to ensure that they are placed some distance -away from the axes. Use the convenience function \code{\link[=expand_scale]{expand_scale()}} +away from the axes. Use the convenience function \code{\link[ggplot2:expand_scale]{expand_scale()}} to generate the values for the \code{expand} argument. The defaults are to expand the scale by 5\% on each side for continuous variables, and by 0.6 units on each side for discrete variables.} @@ -94,15 +118,21 @@ ggplot(geopotential[date == date[1]], aes(lon, lat, z = gh)) + } \seealso{ -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, \code{\link{stat_na}}, - \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{stat_na}()}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} diff --git a/man/scale_mag.Rd b/man/scale_mag.Rd index eb3390b0..a07b5699 100644 --- a/man/scale_mag.Rd +++ b/man/scale_mag.Rd @@ -2,10 +2,39 @@ % Please edit documentation in R/scale_vector.R \name{scale_mag} \alias{scale_mag} +\alias{scale_mag_continuous} +\alias{scale_dx_continuous} \title{Scale for vector magnitudes} \usage{ -scale_mag(name = waiver(), labels = waiver(), max_size = 1, - default_unit = "cm", max = waiver(), guide = guide_vector(), ...) +scale_mag( + name = waiver(), + labels = waiver(), + max_size = 1, + default_unit = "cm", + max = waiver(), + guide = guide_vector(), + ... +) + +scale_mag_continuous( + name = waiver(), + labels = waiver(), + max_size = 1, + default_unit = "cm", + max = waiver(), + guide = guide_vector(), + ... +) + +scale_dx_continuous( + name = waiver(), + labels = waiver(), + max_size = 1, + default_unit = "cm", + max = waiver(), + guide = guide_vector(), + ... +) } \arguments{ \item{name}{The name of the scale. Used as the axis or legend title. If @@ -23,7 +52,7 @@ transformation object as output }} -\item{max_size}{size of the arrow in centimeters} +\item{max_size}{size of the arrow in centimetres} \item{default_unit}{ignored} diff --git a/man/season.Rd b/man/season.Rd index fab58c91..486c6329 100644 --- a/man/season.Rd +++ b/man/season.Rd @@ -3,18 +3,28 @@ \name{season} \alias{season} \alias{AssignSeason} +\alias{seasonaly} +\alias{is.full_season} \title{Assign seasons to months} \usage{ season(x, lang = c("en", "es")) + +seasonaly(x) + +is.full_season(x) } \arguments{ -\item{x}{A numeric vector of months or a vector of dates} +\item{x}{A vector of dates (alternative a numeric vector of months, for \code{season()})} \item{lang}{Language to use.} } \value{ -A factor vector of the same length as \code{x} with the trimestre of each +\code{season()} returns a factor vector of the same length as \code{x} with the trimester of each month. +\code{seasonaly()} returns a date vector of the same length as \code{x} with the date "rounded" up to the centre +month of each season. +\code{is.full_season()} returns a logical vector of the same length as \code{x} that is true only if the +3 months of each season for each year (December counts for the following year) are present in the dataset. } \description{ Assign seasons to months @@ -23,4 +33,8 @@ Assign seasons to months season(1, lang = "en") season(as.Date("2017-01-01")) +seasonaly(as.Date(c("2017-12-01", "2018-01-01", "2018-02-01"))) + +is.full_season(as.Date(c("2017-12-01", "2018-01-01", "2018-02-01", "2018-03-01"))) + } diff --git a/man/stat_na.Rd b/man/stat_na.Rd index f5edbdb7..7166af5c 100644 --- a/man/stat_na.Rd +++ b/man/stat_na.Rd @@ -6,12 +6,19 @@ \alias{StatNa} \title{Filter only NA values.} \usage{ -stat_na(mapping = NULL, data = NULL, geom = "point", - position = "identity", ..., show.legend = NA, inherit.aes = TRUE) +stat_na( + mapping = NULL, + data = NULL, + geom = "point", + position = "identity", + ..., + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -19,11 +26,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -35,7 +42,7 @@ from a \code{formula} (e.g. \code{~ head(.x, 10)}).} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -49,7 +56,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \description{ Useful for indicating or masking missing data. This stat subsets data where @@ -83,16 +90,22 @@ ggplot(surface, aes(Var1, Var2, z = value)) + \seealso{ \link{stat_subset} for a more general way of filtering data. -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_subset}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_subset}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/stat_subset.Rd b/man/stat_subset.Rd index 9839bccd..76152fc0 100644 --- a/man/stat_subset.Rd +++ b/man/stat_subset.Rd @@ -6,12 +6,19 @@ \alias{StatSubset} \title{Subset values} \usage{ -stat_subset(mapping = NULL, data = NULL, geom = "point", - position = "identity", ..., show.legend = NA, inherit.aes = TRUE) +stat_subset( + mapping = NULL, + data = NULL, + geom = "point", + position = "identity", + ..., + show.legend = NA, + inherit.aes = TRUE +) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[=aes]{aes()}} or -\code{\link[=aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or +\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the default), it is combined with the default mapping at the top level of the plot. You must supply \code{mapping} if there is no plot mapping.} @@ -19,11 +26,11 @@ plot. You must supply \code{mapping} if there is no plot mapping.} options: If \code{NULL}, the default, the data is inherited from the plot -data as specified in the call to \code{\link[=ggplot]{ggplot()}}. +data as specified in the call to \code{\link[ggplot2:ggplot]{ggplot()}}. A \code{data.frame}, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -\code{\link[=fortify]{fortify()}} for which variables will be created. +\code{\link[ggplot2:fortify]{fortify()}} for which variables will be created. A \code{function} will be called with a single argument, the plot data. The return value must be a \code{data.frame}, and @@ -35,7 +42,7 @@ from a \code{formula} (e.g. \code{~ head(.x, 10)}).} \item{position}{Position adjustment, either as a string, or the result of a call to a position adjustment function.} -\item{...}{Other arguments passed on to \code{\link[=layer]{layer()}}. These are +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are often aesthetics, used to set an aesthetic to a fixed value, like \code{colour = "red"} or \code{size = 3}. They may also be parameters to the paired geom/stat.} @@ -49,7 +56,7 @@ display.} \item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. \code{\link[=borders]{borders()}}.} +the default plot specification, e.g. \code{\link[ggplot2:borders]{borders()}}.} } \description{ Removes values where \code{subset} evaluates to \code{FALSE}. Useful for showing only @@ -81,16 +88,22 @@ ggplot(reshape2::melt(volcano), aes(Var1, Var2)) + \seealso{ \link{stat_na} for a more specialized stat for filtering \code{NA} values. -Other ggplot2 helpers: \code{\link{DivideTimeseries}}, - \code{\link{MakeBreaks}}, \code{\link{WrapCircular}}, - \code{\link{geom_arrow}}, \code{\link{geom_contour2}}, - \code{\link{geom_contour_fill}}, - \code{\link{geom_label_contour}}, - \code{\link{geom_relief}}, \code{\link{geom_streamline}}, - \code{\link{guide_colourstrip}}, - \code{\link{map_labels}}, \code{\link{reverselog_trans}}, - \code{\link{scale_divergent}}, - \code{\link{scale_longitude}}, \code{\link{stat_na}} +Other ggplot2 helpers: +\code{\link{DivideTimeseries}()}, +\code{\link{MakeBreaks}()}, +\code{\link{WrapCircular}()}, +\code{\link{geom_arrow}()}, +\code{\link{geom_contour2}()}, +\code{\link{geom_contour_fill}()}, +\code{\link{geom_label_contour}()}, +\code{\link{geom_relief}()}, +\code{\link{geom_streamline}()}, +\code{\link{guide_colourstrip}()}, +\code{\link{map_labels}}, +\code{\link{reverselog_trans}()}, +\code{\link{scale_divergent}}, +\code{\link{scale_longitude}}, +\code{\link{stat_na}()} } \concept{ggplot2 helpers} \keyword{datasets} diff --git a/man/thermodynamics.Rd b/man/thermodynamics.Rd index 4a92c570..13869660 100644 --- a/man/thermodynamics.Rd +++ b/man/thermodynamics.Rd @@ -111,8 +111,11 @@ DewPoint(p, w) - 273.15 # Recover Td http://www.atmo.arizona.edu/students/courselinks/fall11/atmo551a/ATMO_451a_551a_files/WaterVapor.pdf } \seealso{ -Other meteorology functions: \code{\link{Derivate}}, - \code{\link{EOF}}, \code{\link{GeostrophicWind}}, - \code{\link{WaveFlux}}, \code{\link{waves}} +Other meteorology functions: +\code{\link{Derivate}()}, +\code{\link{EOF}()}, +\code{\link{GeostrophicWind}()}, +\code{\link{WaveFlux}()}, +\code{\link{waves}} } \concept{meteorology functions} diff --git a/man/waves.Rd b/man/waves.Rd index b8ff3726..2fc129a4 100644 --- a/man/waves.Rd +++ b/man/waves.Rd @@ -5,14 +5,23 @@ \alias{FitWave} \alias{BuildWave} \alias{FilterWave} +\alias{WaveEnvelope} \title{Fourier transform} \usage{ FitWave(y, k = 1) -BuildWave(x, amplitude, phase, k, wave = list(amplitude = amplitude, - phase = phase, k = k), sum = TRUE) +BuildWave( + x, + amplitude, + phase, + k, + wave = list(amplitude = amplitude, phase = phase, k = k), + sum = TRUE +) FilterWave(y, k, action = sign(k[k != 0][1])) + +WaveEnvelope(y) } \arguments{ \item{y}{numeric vector to transform} @@ -73,6 +82,9 @@ then the result is the reconstructed signal of \code{y} only for wavenumbers specified in \code{k}, if it's negative, is the signal of \code{y} minus the wavenumbers specified in \code{k}. The argument \code{action} must be be manually set to \code{-1} or \code{+1} if \code{k=0}. + +\code{WaveEnvelope} computes the wave envelope of \code{y} following Zimin (2003). To compute +the envelope of only a restricted band, first filter it with \code{FilterWave}. } \examples{ data(geopotential) @@ -118,11 +130,22 @@ ggplot(jan, aes(lon, lat)) + geom_contour(aes(z = gh.only12, color = ..level..)) + coord_polar() +# Compute the envelope of the geopotential +jan[, envelope := WaveEnvelope(gh.no12), by = .(lat)] +ggplot(jan[lat == -60], aes(lon, gh.no12)) + + geom_line() + + geom_line(aes(y = envelope), color = "red") +} +\references{ +Zimin, A.V., I. Szunyogh, D.J. Patil, B.R. Hunt, and E. Ott, 2003: Extracting Envelopes of Rossby Wave Packets. Mon. Wea. Rev., 131, 1011–1017, https://doi.org/10.1175/1520-0493(2003)131<1011:EEORWP>2.0.CO;2 } \seealso{ -Other meteorology functions: \code{\link{Derivate}}, - \code{\link{EOF}}, \code{\link{GeostrophicWind}}, - \code{\link{WaveFlux}}, \code{\link{thermodynamics}} +Other meteorology functions: +\code{\link{Derivate}()}, +\code{\link{EOF}()}, +\code{\link{GeostrophicWind}()}, +\code{\link{WaveFlux}()}, +\code{\link{thermodynamics}} } \concept{meteorology functions} diff --git a/tests/figs/contour-fill/contour-fill-base-stat.svg b/tests/figs/contour-fill/contour-fill-base-stat.svg new file mode 100644 index 00000000..5937b81a --- /dev/null +++ b/tests/figs/contour-fill/contour-fill-base-stat.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour_fill-base-stat + diff --git a/tests/figs/contour-fill/contour-fill-base.svg b/tests/figs/contour-fill/contour-fill-base.svg new file mode 100644 index 00000000..838e0d12 --- /dev/null +++ b/tests/figs/contour-fill/contour-fill-base.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour_fill-base + diff --git a/tests/figs/contour-fill/contour-fill-fill.svg b/tests/figs/contour-fill/contour-fill-fill.svg new file mode 100644 index 00000000..6b758d83 --- /dev/null +++ b/tests/figs/contour-fill/contour-fill-fill.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour_fill-fill + diff --git a/tests/figs/contour-fill/contour-fill-nofill.svg b/tests/figs/contour-fill/contour-fill-nofill.svg new file mode 100644 index 00000000..92fbd1ce --- /dev/null +++ b/tests/figs/contour-fill/contour-fill-nofill.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + +lon +lat +contour_fill-nofill + diff --git a/tests/figs/deps.txt b/tests/figs/deps.txt new file mode 100644 index 00000000..0f64e23e --- /dev/null +++ b/tests/figs/deps.txt @@ -0,0 +1,3 @@ +- vdiffr-svg-engine: 1.0 +- vdiffr: 0.3.1 +- freetypeharfbuzz: 0.2.5 diff --git a/tests/figs/stat-contour2/contour2-base-geom.svg b/tests/figs/stat-contour2/contour2-base-geom.svg new file mode 100644 index 00000000..69d65799 --- /dev/null +++ b/tests/figs/stat-contour2/contour2-base-geom.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour2-base_geom + diff --git a/tests/figs/stat-contour2/contour2-base-stat.svg b/tests/figs/stat-contour2/contour2-base-stat.svg new file mode 100644 index 00000000..86c9de31 --- /dev/null +++ b/tests/figs/stat-contour2/contour2-base-stat.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour2-base_stat + diff --git a/tests/figs/stat-contour2/contour2-fun.svg b/tests/figs/stat-contour2/contour2-fun.svg new file mode 100644 index 00000000..f43b330e --- /dev/null +++ b/tests/figs/stat-contour2/contour2-fun.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 +-20 + + + + + + + + +0 +100 +200 +300 +lon +lat +contour2-fun + diff --git a/tests/figs/stat-contour2/contour2-global-breaks-full.svg b/tests/figs/stat-contour2/contour2-global-breaks-full.svg new file mode 100644 index 00000000..6c5e1521 --- /dev/null +++ b/tests/figs/stat-contour2/contour2-global-breaks-full.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +2 +4 +6 +8 +10 +12 +14 +16 +18 +20 + + + + + + + + + + + + + + + + + + + + + + + + + +0 +5 +10 +15 +20 +25 + + + + + + + + + + + + +1 + + + + + + + + + + + +2 + + + + + + + + +2 +4 +6 + + + +2 +4 +6 +0 +25 +50 +75 +100 + + + + + +V1 +V2 +contour2-global.breaks_full + diff --git a/tests/figs/stat-contour2/contour2-global-breaks.svg b/tests/figs/stat-contour2/contour2-global-breaks.svg new file mode 100644 index 00000000..1b505c5d --- /dev/null +++ b/tests/figs/stat-contour2/contour2-global-breaks.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +1 + + + + + + + + + + + +2 + + + + + + + + +2 +4 +6 + + + +2 +4 +6 +0 +25 +50 +75 +100 + + + + + +V1 +V2 +contour2-global.breaks + diff --git a/tests/figs/streamline/streamline-base.svg b/tests/figs/streamline/streamline-base.svg new file mode 100644 index 00000000..dcb68892 --- /dev/null +++ b/tests/figs/streamline/streamline-base.svg @@ -0,0 +1,3781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 + + + + + + + +0 +100 +200 +300 +lon +lat +streamline-base + diff --git a/tests/figs/streamline/streamline-irregular.svg b/tests/figs/streamline/streamline-irregular.svg new file mode 100644 index 00000000..6de9859f --- /dev/null +++ b/tests/figs/streamline/streamline-irregular.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + +lon +lat +streamline-irregular + diff --git a/tests/figs/streamline/streamline-xwrapped.svg b/tests/figs/streamline/streamline-xwrapped.svg new file mode 100644 index 00000000..0ee3670b --- /dev/null +++ b/tests/figs/streamline/streamline-xwrapped.svg @@ -0,0 +1,4063 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-80 +-60 +-40 + + + + + + + +0 +100 +200 +300 +lon +lat +streamline-xwrapped + diff --git a/tests/figs/streamline/streamline-ywrapped.svg b/tests/figs/streamline/streamline-ywrapped.svg new file mode 100644 index 00000000..ceb74584 --- /dev/null +++ b/tests/figs/streamline/streamline-ywrapped.svg @@ -0,0 +1,3843 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +280 +300 +320 + + + + + + + + +0 +100 +200 +300 +400 +lat +lon +streamline-ywrapped + diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf new file mode 100644 index 00000000..1db9781d Binary files /dev/null and b/tests/testthat/Rplots.pdf differ diff --git a/tests/testthat/met.txt b/tests/testthat/met.txt new file mode 100644 index 00000000..0674647e --- /dev/null +++ b/tests/testthat/met.txt @@ -0,0 +1,12322 @@ +1 0 0.44020662279713 1 +1 1 0.305472462672541 1 +1 10 0.00400332196127923 1 +1 100 -0.0379208868018456 1 +1 11 -0.0120505256495914 1 +1 12 -0.0215042936339311 1 +1 13 -0.033243631635463 1 +1 14 -0.0348533902167824 1 +1 15 -0.0380348955151596 1 +1 16 -0.0421573459367975 1 +1 17 -0.053515508945339 1 +1 18 -0.0488056835408453 1 +1 19 -0.0549026011519937 1 +1 2 0.254082661172553 1 +1 20 -0.0577878033330046 1 +1 21 -0.0565584485554411 1 +1 22 -0.0583126522382619 1 +1 23 -0.0607214027874084 1 +1 24 -0.0683808006268833 1 +1 25 -0.0629892031438371 1 +1 26 -0.0558224905140645 1 +1 27 -0.0660178505861038 1 +1 28 -0.0661458022805295 1 +1 29 -0.0661770506634982 1 +1 3 0.171128788041093 1 +1 30 -0.0636912185077172 1 +1 31 -0.062237711577701 1 +1 32 -0.0635921738754893 1 +1 33 -0.0605662057447547 1 +1 34 -0.0675007338135906 1 +1 35 -0.0712162440391653 1 +1 36 -0.0637001139598586 1 +1 37 -0.0633194159570426 1 +1 38 -0.0616958261657509 1 +1 39 -0.0713878921672299 1 +1 4 0.13938848364251 1 +1 40 -0.066978599048841 1 +1 41 -0.0662452245703867 1 +1 42 -0.0656946520792627 1 +1 43 -0.067016274784224 1 +1 44 -0.0603008237174171 1 +1 45 -0.0662969746054076 1 +1 46 -0.0621120260851502 1 +1 47 -0.0648820950453139 1 +1 48 -0.0606253335989348 1 +1 49 -0.0587202720263564 1 +1 5 0.101376126561801 1 +1 50 -0.0637917192391169 1 +1 51 -0.0599983637811286 1 +1 52 -0.0578584061460329 1 +1 53 -0.0589697001042972 1 +1 54 -0.0605409203114402 1 +1 55 -0.0564901552059747 1 +1 56 -0.0625771975877958 1 +1 57 -0.0599201829860865 1 +1 58 -0.0537823292834428 1 +1 59 -0.0563358043269128 1 +1 6 0.0775129095017912 1 +1 60 -0.0562333623954204 1 +1 61 -0.0507380063039387 1 +1 62 -0.0532068446959118 1 +1 63 -0.0569188042587746 1 +1 64 -0.0599593654926307 1 +1 65 -0.054463251885133 1 +1 66 -0.0481057986233391 1 +1 67 -0.0525459663701384 1 +1 68 -0.0531467104769986 1 +1 69 -0.0578839969028955 1 +1 7 0.0451555240479624 1 +1 70 -0.054446141871397 1 +1 71 -0.0510165318007801 1 +1 72 -0.052090527457329 1 +1 73 -0.0527689719496459 1 +1 74 -0.0556277215223071 1 +1 75 -0.0489900047894119 1 +1 76 -0.0492340614087215 1 +1 77 -0.0571106615820991 1 +1 78 -0.0461087080977869 1 +1 79 -0.04657330606185 1 +1 8 0.0337774633082667 1 +1 80 -0.049361670870963 1 +1 81 -0.0480195191208076 1 +1 82 -0.0460154857925766 1 +1 83 -0.0501079028802619 1 +1 84 -0.0462248900109075 1 +1 85 -0.0513959026479471 1 +1 86 -0.0519770407319315 1 +1 87 -0.0469989705721235 1 +1 88 -0.0468440835208302 1 +1 89 -0.0489101818495807 1 +1 9 0.0114596631078947 1 +1 90 -0.0506149184249204 1 +1 91 -0.0387477816612982 1 +1 92 -0.0499720795415284 1 +1 93 -0.0469347662039049 1 +1 94 -0.0462912865779407 1 +1 95 -0.0419009391886203 1 +1 96 -0.0446478776657849 1 +1 97 -0.0488055111269352 1 +1 98 -0.0418946553275986 1 +1 99 -0.0438535794239766 1 +1 0 0.978985689391556 2 +1 1 0.782223503515257 2 +1 10 0.161717122832935 2 +1 100 -0.0631529827435646 2 +1 11 0.138949486434211 2 +1 12 0.106380673773278 2 +1 13 0.0793778017057234 2 +1 14 0.0658822818404126 2 +1 15 0.0449080333213093 2 +1 16 0.0314574746352588 2 +1 17 0.020153087270539 2 +1 18 0.00771061288777946 2 +1 19 -0.00237727154964246 2 +1 2 0.636226393067434 2 +1 20 -0.0138009605749503 2 +1 21 -0.0266377610880929 2 +1 22 -0.0325154316678045 2 +1 23 -0.0384039628318498 2 +1 24 -0.0433541329380031 2 +1 25 -0.0440822868806913 2 +1 26 -0.0466665285293641 2 +1 27 -0.0534392307234249 2 +1 28 -0.057575424232391 2 +1 29 -0.0617056139000739 2 +1 3 0.527089786370184 2 +1 30 -0.0629725959512993 2 +1 31 -0.0690589279143065 2 +1 32 -0.0619747986708202 2 +1 33 -0.0666931514561962 2 +1 34 -0.0699479416708945 2 +1 35 -0.0775385965130058 2 +1 36 -0.0814978006502535 2 +1 37 -0.0746426844200117 2 +1 38 -0.0795731162382831 2 +1 39 -0.0787555158436852 2 +1 4 0.440103006909512 2 +1 40 -0.0819948733584713 2 +1 41 -0.0833030175174684 2 +1 42 -0.0789254681732787 2 +1 43 -0.0775100474033085 2 +1 44 -0.0828015875012648 2 +1 45 -0.0840369473156236 2 +1 46 -0.0759889964191664 2 +1 47 -0.0817368631437743 2 +1 48 -0.0785584718439988 2 +1 49 -0.0819106149927517 2 +1 5 0.381234121775357 2 +1 50 -0.0772163303522936 2 +1 51 -0.0764233128811668 2 +1 52 -0.0773011540950846 2 +1 53 -0.0829149301039354 2 +1 54 -0.0792366914256922 2 +1 55 -0.0828061516556446 2 +1 56 -0.0797352336898835 2 +1 57 -0.0855229885304479 2 +1 58 -0.0822734987470232 2 +1 59 -0.0848696148463745 2 +1 6 0.326138354056901 2 +1 60 -0.0840481283075305 2 +1 61 -0.0871126289841108 2 +1 62 -0.0787024496995871 2 +1 63 -0.0780726882796374 2 +1 64 -0.0741148828032946 2 +1 65 -0.0809441214621965 2 +1 66 -0.0806818762578296 2 +1 67 -0.0755253789697323 2 +1 68 -0.0775436202393015 2 +1 69 -0.0758737382634268 2 +1 7 0.268993877508312 2 +1 70 -0.0785106657294504 2 +1 71 -0.0774998538196912 2 +1 72 -0.0777943538723662 2 +1 73 -0.0778780808733519 2 +1 74 -0.0769106945097499 2 +1 75 -0.0772570193592378 2 +1 76 -0.0792260815094737 2 +1 77 -0.0783321087324921 2 +1 78 -0.0754969018278675 2 +1 79 -0.0763907401979858 2 +1 8 0.225865060211561 2 +1 80 -0.073786516165973 2 +1 81 -0.0773591450554028 2 +1 82 -0.0790675973140825 2 +1 83 -0.0741522143802409 2 +1 84 -0.0810977845883031 2 +1 85 -0.0686435306088495 2 +1 86 -0.0672477032153689 2 +1 87 -0.0728947246129345 2 +1 88 -0.0718274791380131 2 +1 89 -0.0748809708600012 2 +1 9 0.19097726570491 2 +1 90 -0.0766181562373728 2 +1 91 -0.0741981372751751 2 +1 92 -0.0677328919888798 2 +1 93 -0.0724849113013614 2 +1 94 -0.0732043883996051 2 +1 95 -0.0744015540976722 2 +1 96 -0.0662341334279545 2 +1 97 -0.072023339873982 2 +1 98 -0.068357259589011 2 +1 99 -0.0732449862362743 2 +1.1 0 0.654052876096996 1 +1.1 1 0.491014828972725 1 +1.1 10 0.051802601376151 1 +1.1 100 -0.0577636088223227 1 +1.1 11 0.0428615191402737 1 +1.1 12 0.0211546501417851 1 +1.1 13 0.00443933458111103 1 +1.1 14 -0.00677616351490589 1 +1.1 15 -0.0193008899115426 1 +1.1 16 -0.0276572392275417 1 +1.1 17 -0.0330265557348483 1 +1.1 18 -0.0356173837905282 1 +1.1 19 -0.0423599365241482 1 +1.1 2 0.399694276887235 1 +1.1 20 -0.0427074355735397 1 +1.1 21 -0.0462903375194697 1 +1.1 22 -0.0499583949025384 1 +1.1 23 -0.0535657412033806 1 +1.1 24 -0.0584529964784082 1 +1.1 25 -0.0607081685999177 1 +1.1 26 -0.0635385838816647 1 +1.1 27 -0.0625428961162787 1 +1.1 28 -0.0674928865514101 1 +1.1 29 -0.0597548155778943 1 +1.1 3 0.313277419924615 1 +1.1 30 -0.0720409043844484 1 +1.1 31 -0.067945822695627 1 +1.1 32 -0.0722155371568139 1 +1.1 33 -0.0734708761471685 1 +1.1 34 -0.0685719665472486 1 +1.1 35 -0.0740088753039918 1 +1.1 36 -0.070463338413364 1 +1.1 37 -0.0707354465686958 1 +1.1 38 -0.077158118807172 1 +1.1 39 -0.0712950159172155 1 +1.1 4 0.260065427770988 1 +1.1 40 -0.0708460645036128 1 +1.1 41 -0.0739780105425351 1 +1.1 42 -0.0694513401700826 1 +1.1 43 -0.0756553611916587 1 +1.1 44 -0.0706326126253792 1 +1.1 45 -0.0771618890938531 1 +1.1 46 -0.072661027652888 1 +1.1 47 -0.0758749486524345 1 +1.1 48 -0.0704457956077236 1 +1.1 49 -0.072072375076204 1 +1.1 5 0.20776455717872 1 +1.1 50 -0.0706437861141752 1 +1.1 51 -0.0693869844707197 1 +1.1 52 -0.0705440702932677 1 +1.1 53 -0.0740836733482811 1 +1.1 54 -0.0740694312516404 1 +1.1 55 -0.0701811891484218 1 +1.1 56 -0.0646856431752827 1 +1.1 57 -0.0744664802397812 1 +1.1 58 -0.0683540291107416 1 +1.1 59 -0.070031768041755 1 +1.1 6 0.170458681267443 1 +1.1 60 -0.0676414545593806 1 +1.1 61 -0.0685937029251713 1 +1.1 62 -0.0687280037834454 1 +1.1 63 -0.0701527478714381 1 +1.1 64 -0.0725070136601169 1 +1.1 65 -0.0694480472822469 1 +1.1 66 -0.0628826456574488 1 +1.1 67 -0.0715054731193136 1 +1.1 68 -0.0676801271185207 1 +1.1 69 -0.0634792680344824 1 +1.1 7 0.135416485507164 1 +1.1 70 -0.0581521756400092 1 +1.1 71 -0.0648599668210428 1 +1.1 72 -0.0632504023406107 1 +1.1 73 -0.0640085768238327 1 +1.1 74 -0.0632570569909357 1 +1.1 75 -0.0625638648303956 1 +1.1 76 -0.0564447316674667 1 +1.1 77 -0.066324251757454 1 +1.1 78 -0.0589541855447225 1 +1.1 79 -0.0590889818859318 1 +1.1 8 0.111765433895859 1 +1.1 80 -0.0590472886531474 1 +1.1 81 -0.0639828219030758 1 +1.1 82 -0.057077155241857 1 +1.1 83 -0.0589337835529945 1 +1.1 84 -0.0576620950907452 1 +1.1 85 -0.0671296268194328 1 +1.1 86 -0.0596011439321366 1 +1.1 87 -0.0548820777854802 1 +1.1 88 -0.0578549677626616 1 +1.1 89 -0.0592177393472345 1 +1.1 9 0.0760822479884035 1 +1.1 90 -0.0589324326924443 1 +1.1 91 -0.0554494847903801 1 +1.1 92 -0.0504010623043346 1 +1.1 93 -0.0593354044225155 1 +1.1 94 -0.0560203757455896 1 +1.1 95 -0.0519121052104059 1 +1.1 96 -0.0587075813032839 1 +1.1 97 -0.0532814926561565 1 +1.1 98 -0.0556329866082236 1 +1.1 99 -0.0588045228997208 1 +1.1 0 1.37984857113893 2 +1.1 1 1.11978863380935 2 +1.1 10 0.312627804245989 2 +1.1 100 -0.0806590394320301 2 +1.1 11 0.278308951059992 2 +1.1 12 0.242967686353586 2 +1.1 13 0.201928222127102 2 +1.1 14 0.181329086086795 2 +1.1 15 0.15003559236063 2 +1.1 16 0.131190581977457 2 +1.1 17 0.110012380472728 2 +1.1 18 0.0909133205127155 2 +1.1 19 0.0646870435824525 2 +1.1 2 0.927894864069369 2 +1.1 20 0.051326375462796 2 +1.1 21 0.0444544368811712 2 +1.1 22 0.0303650554595143 2 +1.1 23 0.0220487711960753 2 +1.1 24 0.0127591390044955 2 +1.1 25 -0.00419474068914823 2 +1.1 26 -0.00980588607351075 2 +1.1 27 -0.0215884309850632 2 +1.1 28 -0.0233140148691218 2 +1.1 29 -0.0299247140483317 2 +1.1 3 0.793535185082837 2 +1.1 30 -0.039007017689891 2 +1.1 31 -0.0375397943080646 2 +1.1 32 -0.0466430060152106 2 +1.1 33 -0.0468168516456066 2 +1.1 34 -0.0530255702970947 2 +1.1 35 -0.0574900097120652 2 +1.1 36 -0.0637858954999334 2 +1.1 37 -0.0640352834283869 2 +1.1 38 -0.0632649142276183 2 +1.1 39 -0.0661782454489006 2 +1.1 4 0.696051245400989 2 +1.1 40 -0.0718756236444732 2 +1.1 41 -0.0725577010332931 2 +1.1 42 -0.0777656718509842 2 +1.1 43 -0.0740834719975214 2 +1.1 44 -0.0757239221407283 2 +1.1 45 -0.0757396020846158 2 +1.1 46 -0.0793188853521195 2 +1.1 47 -0.0802376280867595 2 +1.1 48 -0.0806182342586307 2 +1.1 49 -0.0856560872048178 2 +1.1 5 0.617115058940033 2 +1.1 50 -0.0936568768276132 2 +1.1 51 -0.0885692395111572 2 +1.1 52 -0.0863287216109468 2 +1.1 53 -0.0859422183892457 2 +1.1 54 -0.082046166208491 2 +1.1 55 -0.0862171818703577 2 +1.1 56 -0.0836646582118628 2 +1.1 57 -0.0905489452292762 2 +1.1 58 -0.0920476731173951 2 +1.1 59 -0.0907905997795937 2 +1.1 6 0.535432378090608 2 +1.1 60 -0.0910507385435061 2 +1.1 61 -0.0950732854036163 2 +1.1 62 -0.0907541745497871 2 +1.1 63 -0.0889531028583152 2 +1.1 64 -0.0889710093070946 2 +1.1 65 -0.0905217509430466 2 +1.1 66 -0.0860983184905947 2 +1.1 67 -0.0897160638321861 2 +1.1 68 -0.088243922911712 2 +1.1 69 -0.0864447468898666 2 +1.1 7 0.471560929480204 2 +1.1 70 -0.0924509012675231 2 +1.1 71 -0.0889880264148385 2 +1.1 72 -0.0880810825742053 2 +1.1 73 -0.090368405701349 2 +1.1 74 -0.0890642664301036 2 +1.1 75 -0.0935263079121275 2 +1.1 76 -0.0901438585085634 2 +1.1 77 -0.0902314246436196 2 +1.1 78 -0.092241546829155 2 +1.1 79 -0.0833989997615554 2 +1.1 8 0.411097136009859 2 +1.1 80 -0.0888897600137778 2 +1.1 81 -0.0942192474425446 2 +1.1 82 -0.0817439523634755 2 +1.1 83 -0.0807220467285115 2 +1.1 84 -0.0946514268085916 2 +1.1 85 -0.0837949363281611 2 +1.1 86 -0.0863622128978563 2 +1.1 87 -0.0853278598061608 2 +1.1 88 -0.089726988170524 2 +1.1 89 -0.0851843538844229 2 +1.1 9 0.361744433575962 2 +1.1 90 -0.0858724156245537 2 +1.1 91 -0.0836190511684434 2 +1.1 92 -0.0825414625698939 2 +1.1 93 -0.0791807469203876 2 +1.1 94 -0.0905450377111843 2 +1.1 95 -0.0851114195166805 2 +1.1 96 -0.0814911153972097 2 +1.1 97 -0.079372065309912 2 +1.1 98 -0.0794934509768157 2 +1.1 99 -0.0796589752469192 2 +1.2 0 0.920066521946456 1 +1.2 1 0.730778966284248 1 +1.2 10 0.136721116787759 1 +1.2 100 -0.0657076002424299 1 +1.2 11 0.113372719700961 1 +1.2 12 0.0894184273567079 1 +1.2 13 0.0700058261963845 1 +1.2 14 0.0551921395787443 1 +1.2 15 0.0356471839976103 1 +1.2 16 0.0241560368197758 1 +1.2 17 0.00959587028089178 1 +1.2 18 -0.000441935898442159 1 +1.2 19 -0.00519257855831695 1 +1.2 2 0.587408327704311 1 +1.2 20 -0.0128640724216515 1 +1.2 21 -0.0244971443525837 1 +1.2 22 -0.0361669168194731 1 +1.2 23 -0.0418620606737319 1 +1.2 24 -0.042789022737619 1 +1.2 25 -0.0497707498725989 1 +1.2 26 -0.047098728694903 1 +1.2 27 -0.0533980438026598 1 +1.2 28 -0.0601866043958343 1 +1.2 29 -0.0593002729105174 1 +1.2 3 0.4906665235928 1 +1.2 30 -0.0623221407324223 1 +1.2 31 -0.066312002315322 1 +1.2 32 -0.0690938980116268 1 +1.2 33 -0.068888628256981 1 +1.2 34 -0.0740558463320476 1 +1.2 35 -0.0675463683885693 1 +1.2 36 -0.0760756964381643 1 +1.2 37 -0.0760928600819268 1 +1.2 38 -0.0752410447978475 1 +1.2 39 -0.0711336295384297 1 +1.2 4 0.411641716642598 1 +1.2 40 -0.0786547450947127 1 +1.2 41 -0.0735669483447836 1 +1.2 42 -0.0774775111746624 1 +1.2 43 -0.0775608035726516 1 +1.2 44 -0.0819239692427709 1 +1.2 45 -0.0803560669334304 1 +1.2 46 -0.0845018954736168 1 +1.2 47 -0.0777630697802578 1 +1.2 48 -0.0786027672726917 1 +1.2 49 -0.0737799328591999 1 +1.2 5 0.348913365840229 1 +1.2 50 -0.0790998510714827 1 +1.2 51 -0.0792019346632347 1 +1.2 52 -0.0859131820111689 1 +1.2 53 -0.078892365227117 1 +1.2 54 -0.0782276172682594 1 +1.2 55 -0.0830658238988506 1 +1.2 56 -0.0856900709282048 1 +1.2 57 -0.0805236596704373 1 +1.2 58 -0.0793682527895854 1 +1.2 59 -0.076094493015082 1 +1.2 6 0.295644472745224 1 +1.2 60 -0.0782493978069691 1 +1.2 61 -0.079557240176407 1 +1.2 62 -0.0795448963133027 1 +1.2 63 -0.0739077795153303 1 +1.2 64 -0.0786496254217613 1 +1.2 65 -0.0705997847727958 1 +1.2 66 -0.0772675864053676 1 +1.2 67 -0.0781896681639735 1 +1.2 68 -0.0730203689948643 1 +1.2 69 -0.0768351383265363 1 +1.2 7 0.249379403644723 1 +1.2 70 -0.070980193910362 1 +1.2 71 -0.0686084136047568 1 +1.2 72 -0.0767725802245913 1 +1.2 73 -0.0793859345100546 1 +1.2 74 -0.0736597807407168 1 +1.2 75 -0.0687974883630131 1 +1.2 76 -0.0739250016154359 1 +1.2 77 -0.0762598136223875 1 +1.2 78 -0.0674182420998534 1 +1.2 79 -0.074583814992201 1 +1.2 8 0.210423008242763 1 +1.2 80 -0.0691424403672854 1 +1.2 81 -0.0719066869994899 1 +1.2 82 -0.0699449780268131 1 +1.2 83 -0.0667673949204119 1 +1.2 84 -0.067420700097933 1 +1.2 85 -0.0682634841891829 1 +1.2 86 -0.0710911304488833 1 +1.2 87 -0.0684173694896236 1 +1.2 88 -0.0674313695160821 1 +1.2 89 -0.0686269686845956 1 +1.2 9 0.175372968088366 1 +1.2 90 -0.068084372117268 1 +1.2 91 -0.0656216640808981 1 +1.2 92 -0.0673320316225159 1 +1.2 93 -0.0665125485707325 1 +1.2 94 -0.0662921590194474 1 +1.2 95 -0.0710284008772149 1 +1.2 96 -0.0644555555493177 1 +1.2 97 -0.0679077291742525 1 +1.2 98 -0.068921790525286 1 +1.2 99 -0.0663133178043385 1 +1.2 0 1.8489796828979 2 +1.2 1 1.5150819755458 2 +1.2 10 0.52441146309697 2 +1.2 100 -0.100557636717002 2 +1.2 11 0.470526140771966 2 +1.2 12 0.429420162112752 2 +1.2 13 0.382139403673806 2 +1.2 14 0.344189121001403 2 +1.2 15 0.305426676137982 2 +1.2 16 0.273321063997589 2 +1.2 17 0.244537661160694 2 +1.2 18 0.21417869105529 2 +1.2 19 0.188265747267144 2 +1.2 2 1.28702272991526 2 +1.2 20 0.170623504098174 2 +1.2 21 0.147319460665608 2 +1.2 22 0.126557008930343 2 +1.2 23 0.111673492778737 2 +1.2 24 0.0884030472743672 2 +1.2 25 0.082764542856242 2 +1.2 26 0.0713130535841224 2 +1.2 27 0.0489541893343424 2 +1.2 28 0.0423165466738604 2 +1.2 29 0.0270190589440858 2 +1.2 3 1.11044004161738 2 +1.2 30 0.0176905880459403 2 +1.2 31 0.0060341686354988 2 +1.2 32 0.00396430410944419 2 +1.2 33 -0.00592973860421223 2 +1.2 34 -0.00980476111100711 2 +1.2 35 -0.0152683023680386 2 +1.2 36 -0.0249972547127147 2 +1.2 37 -0.0328470563894331 2 +1.2 38 -0.0368532789952993 2 +1.2 39 -0.0408000032666606 2 +1.2 4 1.00079583729085 2 +1.2 40 -0.03918529643254 2 +1.2 41 -0.0535024274512667 2 +1.2 42 -0.0530676177959791 2 +1.2 43 -0.0550349814338962 2 +1.2 44 -0.0635570729853246 2 +1.2 45 -0.0633920637090234 2 +1.2 46 -0.0650969933459988 2 +1.2 47 -0.0704828795153238 2 +1.2 48 -0.0689535155672465 2 +1.2 49 -0.0675830325853519 2 +1.2 5 0.892944117974857 2 +1.2 50 -0.0758307431048867 2 +1.2 51 -0.0773540962491857 2 +1.2 52 -0.0786591487725718 2 +1.2 53 -0.0750985131265565 2 +1.2 54 -0.078246357439262 2 +1.2 55 -0.0881323217414239 2 +1.2 56 -0.089739168419887 2 +1.2 57 -0.0844927781375207 2 +1.2 58 -0.0869259558562195 2 +1.2 59 -0.0913968900251305 2 +1.2 6 0.802884630055006 2 +1.2 60 -0.0877812439753846 2 +1.2 61 -0.0884313262396028 2 +1.2 62 -0.092326029112472 2 +1.2 63 -0.0868543852526496 2 +1.2 64 -0.0949384557722298 2 +1.2 65 -0.093778169485187 2 +1.2 66 -0.0978680431133351 2 +1.2 67 -0.0897273941965614 2 +1.2 68 -0.0937897579636001 2 +1.2 69 -0.0964942136749572 2 +1.2 7 0.717650463273365 2 +1.2 70 -0.0890513931661642 2 +1.2 71 -0.0936940481330627 2 +1.2 72 -0.095497739605144 2 +1.2 73 -0.0972171115723591 2 +1.2 74 -0.100458605911474 2 +1.2 75 -0.100082372569597 2 +1.2 76 -0.095809173161686 2 +1.2 77 -0.0955967023593373 2 +1.2 78 -0.0963375932689495 2 +1.2 79 -0.0972508905294229 2 +1.2 8 0.65132588034682 2 +1.2 80 -0.0957839485162345 2 +1.2 81 -0.100538126881838 2 +1.2 82 -0.0961175234323926 2 +1.2 83 -0.0987225353299903 2 +1.2 84 -0.0997771497897599 2 +1.2 85 -0.0929871998949196 2 +1.2 86 -0.0950464590624978 2 +1.2 87 -0.0986395567452941 2 +1.2 88 -0.0940944074481627 2 +1.2 89 -0.100343869763815 2 +1.2 9 0.581583577545833 2 +1.2 90 -0.0968186830382944 2 +1.2 91 -0.0950565828607082 2 +1.2 92 -0.102364102002007 2 +1.2 93 -0.0978298294269453 2 +1.2 94 -0.0961039117100672 2 +1.2 95 -0.0975954364818473 2 +1.2 96 -0.101616874494015 2 +1.2 97 -0.094918326354485 2 +1.2 98 -0.0908283826563425 2 +1.2 99 -0.0955137622642114 2 +1.3 0 1.24289298033468 1 +1.3 1 1.0040354948503 1 +1.3 10 0.261028917948588 1 +1.3 100 -0.074142722804015 1 +1.3 11 0.219714960996208 1 +1.3 12 0.190551767283239 1 +1.3 13 0.160628219389053 1 +1.3 14 0.134057654441289 1 +1.3 15 0.114629530374481 1 +1.3 16 0.0926076415470492 1 +1.3 17 0.0759030951829098 1 +1.3 18 0.0576282891126096 1 +1.3 19 0.0516499803058067 1 +1.3 2 0.830731622943377 1 +1.3 20 0.0291831917389214 1 +1.3 21 0.0141048453229605 1 +1.3 22 0.0101841960179455 1 +1.3 23 -0.000156641535596692 1 +1.3 24 -0.00585978152245001 1 +1.3 25 -0.0149247910567059 1 +1.3 26 -0.0213096145759617 1 +1.3 27 -0.0370138257215605 1 +1.3 28 -0.0317693789872302 1 +1.3 29 -0.0488620202874399 1 +1.3 3 0.701659970836262 1 +1.3 30 -0.0450878285476889 1 +1.3 31 -0.046829512177991 1 +1.3 32 -0.0498382616636553 1 +1.3 33 -0.0561253161468172 1 +1.3 34 -0.0612757741343423 1 +1.3 35 -0.0657178917242733 1 +1.3 36 -0.071117396758989 1 +1.3 37 -0.0654167544542759 1 +1.3 38 -0.0699400944974475 1 +1.3 39 -0.0695940144350773 1 +1.3 4 0.612344065399368 1 +1.3 40 -0.0703653013611391 1 +1.3 41 -0.0690056741647068 1 +1.3 42 -0.0805954428530155 1 +1.3 43 -0.0770963323272832 1 +1.3 44 -0.0774146218546215 1 +1.3 45 -0.0779773304472072 1 +1.3 46 -0.0799731624805076 1 +1.3 47 -0.0786554854672307 1 +1.3 48 -0.0829382774880047 1 +1.3 49 -0.0867667306872662 1 +1.3 5 0.528734359144996 1 +1.3 50 -0.0841662620478657 1 +1.3 51 -0.0840504217525284 1 +1.3 52 -0.082343542414705 1 +1.3 53 -0.0867728118557912 1 +1.3 54 -0.0885287314839284 1 +1.3 55 -0.0805683606760049 1 +1.3 56 -0.085349268263243 1 +1.3 57 -0.0834789075552385 1 +1.3 58 -0.0836317465892549 1 +1.3 59 -0.0859018531208305 1 +1.3 6 0.466027977222483 1 +1.3 60 -0.0851064958658757 1 +1.3 61 -0.0872191805560441 1 +1.3 62 -0.0854196502754446 1 +1.3 63 -0.086521203079468 1 +1.3 64 -0.0882624470403783 1 +1.3 65 -0.0846157893185194 1 +1.3 66 -0.0862460067585998 1 +1.3 67 -0.0813995961179525 1 +1.3 68 -0.0906348556988902 1 +1.3 69 -0.0880911192981097 1 +1.3 7 0.400530415125007 1 +1.3 70 -0.0847948931854148 1 +1.3 71 -0.0835743723928558 1 +1.3 72 -0.0891667613524326 1 +1.3 73 -0.0793842290423882 1 +1.3 74 -0.0819890301291926 1 +1.3 75 -0.0795664476650728 1 +1.3 76 -0.0853432295188704 1 +1.3 77 -0.0874689112340103 1 +1.3 78 -0.0828524427097038 1 +1.3 79 -0.0811132095564746 1 +1.3 8 0.348268023881081 1 +1.3 80 -0.0757657779139687 1 +1.3 81 -0.0778792243279332 1 +1.3 82 -0.0793539032911316 1 +1.3 83 -0.0816294707072169 1 +1.3 84 -0.0842961981432273 1 +1.3 85 -0.0836823436827083 1 +1.3 86 -0.0782120066709351 1 +1.3 87 -0.0847756872027304 1 +1.3 88 -0.0735544694822367 1 +1.3 89 -0.0797822546909882 1 +1.3 9 0.298688045719292 1 +1.3 90 -0.0821643539146777 1 +1.3 91 -0.0813230356908663 1 +1.3 92 -0.0820701408614765 1 +1.3 93 -0.0794224926268648 1 +1.3 94 -0.0781100951613223 1 +1.3 95 -0.0762967060589575 1 +1.3 96 -0.0782877072164453 1 +1.3 97 -0.0744055619876288 1 +1.3 98 -0.0732614368576463 1 +1.3 99 -0.0780717924109922 1 +1.3 0 2.34737498382448 2 +1.3 1 1.9618378686258 2 +1.3 10 0.77391612247153 2 +1.3 100 -0.0970613200803477 2 +1.3 11 0.715003918873906 2 +1.3 12 0.658076603884222 2 +1.3 13 0.599064497175102 2 +1.3 14 0.551991397124786 2 +1.3 15 0.499541872266617 2 +1.3 16 0.462110770393369 2 +1.3 17 0.422088255820081 2 +1.3 18 0.394705738756702 2 +1.3 19 0.352827008979679 2 +1.3 2 1.67852282395559 2 +1.3 20 0.32493807885636 2 +1.3 21 0.292264713945571 2 +1.3 22 0.267062676763083 2 +1.3 23 0.23808833411695 2 +1.3 24 0.217950908148912 2 +1.3 25 0.202303346686738 2 +1.3 26 0.18151037460412 2 +1.3 27 0.161319280854567 2 +1.3 28 0.146276287232951 2 +1.3 29 0.120557479362095 2 +1.3 3 1.48309210696127 2 +1.3 30 0.112919891978395 2 +1.3 31 0.0979530598368175 2 +1.3 32 0.0859243020826908 2 +1.3 33 0.072367031716186 2 +1.3 34 0.0610952063917814 2 +1.3 35 0.0501207436755274 2 +1.3 36 0.0426008713362148 2 +1.3 37 0.0330795449449414 2 +1.3 38 0.0199350642589362 2 +1.3 39 0.016916628292284 2 +1.3 4 1.34008453406026 2 +1.3 40 0.00558973620526161 2 +1.3 41 -0.000510869958253197 2 +1.3 42 -0.00158634160622364 2 +1.3 43 -0.00865783202242263 2 +1.3 44 -0.0192459997823181 2 +1.3 45 -0.0230492629111809 2 +1.3 46 -0.0299144565498263 2 +1.3 47 -0.0371164509058723 2 +1.3 48 -0.038420726010915 2 +1.3 49 -0.0427106419608429 2 +1.3 5 1.21310828356203 2 +1.3 50 -0.043552193460619 2 +1.3 51 -0.0528671667152339 2 +1.3 52 -0.059438854164337 2 +1.3 53 -0.0551039295136809 2 +1.3 54 -0.0661179171173821 2 +1.3 55 -0.0619534899294222 2 +1.3 56 -0.0620833383166306 2 +1.3 57 -0.0659346357141991 2 +1.3 58 -0.0738639220080443 2 +1.3 59 -0.077945585736779 2 +1.3 6 1.1121852141427 2 +1.3 60 -0.0750734208972356 2 +1.3 61 -0.0763520577495268 2 +1.3 62 -0.0847659694957349 2 +1.3 63 -0.0802133985303192 2 +1.3 64 -0.08228791681816 2 +1.3 65 -0.0831374288429059 2 +1.3 66 -0.0869324829656952 2 +1.3 67 -0.0821690542280607 2 +1.3 68 -0.0868934720061041 2 +1.3 69 -0.088911864623497 2 +1.3 7 1.01178074799721 2 +1.3 70 -0.091301304322021 2 +1.3 71 -0.0946578127448903 2 +1.3 72 -0.0905463520717266 2 +1.3 73 -0.0932925520496286 2 +1.3 74 -0.0942282147941169 2 +1.3 75 -0.0916950182019478 2 +1.3 76 -0.0924932788475166 2 +1.3 77 -0.093973993632505 2 +1.3 78 -0.100982436069393 2 +1.3 79 -0.0988069338395098 2 +1.3 8 0.927285605715435 2 +1.3 80 -0.100842910860093 2 +1.3 81 -0.0990883577286644 2 +1.3 82 -0.0983987195556261 2 +1.3 83 -0.101607384870383 2 +1.3 84 -0.102017905762356 2 +1.3 85 -0.105703619894259 2 +1.3 86 -0.101358301354873 2 +1.3 87 -0.102725589654857 2 +1.3 88 -0.103416814535372 2 +1.3 89 -0.0962170084352674 2 +1.3 9 0.850272198219634 2 +1.3 90 -0.0985602272315239 2 +1.3 91 -0.101944130611807 2 +1.3 92 -0.103000715952938 2 +1.3 93 -0.102997595984137 2 +1.3 94 -0.104049703476835 2 +1.3 95 -0.103361210525932 2 +1.3 96 -0.10214533161338 2 +1.3 97 -0.104945011010473 2 +1.3 98 -0.1026849088549 2 +1.3 99 -0.10467362928657 2 +1.4 0 1.59797553143425 1 +1.4 1 1.30796867037229 1 +1.4 10 0.410497977847982 1 +1.4 100 -0.086522230470546 1 +1.4 11 0.361073250829677 1 +1.4 12 0.326907341943614 1 +1.4 13 0.289020817924367 1 +1.4 14 0.250815307314577 1 +1.4 15 0.21877167590087 1 +1.4 16 0.192111582350746 1 +1.4 17 0.170038352482448 1 +1.4 18 0.142867723800612 1 +1.4 19 0.120821207069473 1 +1.4 2 1.09943055825149 1 +1.4 20 0.105295062416073 1 +1.4 21 0.0871556389026605 1 +1.4 22 0.0706526185107716 1 +1.4 23 0.0544730714027985 1 +1.4 24 0.0528200522573877 1 +1.4 25 0.0282054123429602 1 +1.4 26 0.016087944143743 1 +1.4 27 0.00716477685026057 1 +1.4 28 0.00466401959484584 1 +1.4 29 -0.00595425436597575 1 +1.4 3 0.937981296143824 1 +1.4 30 -0.00864998182338472 1 +1.4 31 -0.01783120278935 1 +1.4 32 -0.0245604727306681 1 +1.4 33 -0.0323621776315425 1 +1.4 34 -0.0331816425899249 1 +1.4 35 -0.0441641085233256 1 +1.4 36 -0.0419364099322177 1 +1.4 37 -0.0526401715350563 1 +1.4 38 -0.056034050136198 1 +1.4 39 -0.059197058165752 1 +1.4 4 0.835835227187637 1 +1.4 40 -0.0527992865072541 1 +1.4 41 -0.0599664451885218 1 +1.4 42 -0.0625278795241181 1 +1.4 43 -0.069782557547981 1 +1.4 44 -0.0744343429847161 1 +1.4 45 -0.0702498656912885 1 +1.4 46 -0.0653911209093064 1 +1.4 47 -0.0777669779445997 1 +1.4 48 -0.0744789676735491 1 +1.4 49 -0.0829631893402876 1 +1.4 5 0.738385436429546 1 +1.4 50 -0.0815384064294482 1 +1.4 51 -0.0797316403161693 1 +1.4 52 -0.0829109197362775 1 +1.4 53 -0.0791594034097041 1 +1.4 54 -0.0902929422760886 1 +1.4 55 -0.0852762667179941 1 +1.4 56 -0.0849870553712347 1 +1.4 57 -0.085999006093821 1 +1.4 58 -0.0865533754163086 1 +1.4 59 -0.0787948457423649 1 +1.4 6 0.657054593795221 1 +1.4 60 -0.0862352261742003 1 +1.4 61 -0.0919945663699094 1 +1.4 62 -0.0884993392472112 1 +1.4 63 -0.0903965192894836 1 +1.4 64 -0.0964929256517815 1 +1.4 65 -0.0889900340316424 1 +1.4 66 -0.0869077384093577 1 +1.4 67 -0.0928279276389159 1 +1.4 68 -0.0867508836891971 1 +1.4 69 -0.0863231334992261 1 +1.4 7 0.583047177220769 1 +1.4 70 -0.0951542817993591 1 +1.4 71 -0.0944788859769363 1 +1.4 72 -0.0861483005664533 1 +1.4 73 -0.0938813438271658 1 +1.4 74 -0.0911741705303154 1 +1.4 75 -0.0971517861815953 1 +1.4 76 -0.0962233049533781 1 +1.4 77 -0.0893234601845877 1 +1.4 78 -0.0928469800332583 1 +1.4 79 -0.0945967331720533 1 +1.4 8 0.514525823886104 1 +1.4 80 -0.0903968336409512 1 +1.4 81 -0.0896693958973366 1 +1.4 82 -0.0908291448588769 1 +1.4 83 -0.0921968634121601 1 +1.4 84 -0.0913732280519723 1 +1.4 85 -0.0885692116137313 1 +1.4 86 -0.0925617382354442 1 +1.4 87 -0.0943185647708399 1 +1.4 88 -0.0923012418761364 1 +1.4 89 -0.0898560568640612 1 +1.4 9 0.46356262073773 1 +1.4 90 -0.0906583287962963 1 +1.4 91 -0.0879511299310511 1 +1.4 92 -0.0931356626974965 1 +1.4 93 -0.0919570147262347 1 +1.4 94 -0.0904389701249768 1 +1.4 95 -0.0878500748981984 1 +1.4 96 -0.0909626684360118 1 +1.4 97 -0.0898766480585531 1 +1.4 98 -0.0936936210859758 1 +1.4 99 -0.089887641070934 1 +1.4 0 2.8862551051138 2 +1.4 1 2.43256890579864 2 +1.4 10 1.07640355298839 2 +1.4 100 -0.103994363778902 2 +1.4 11 1.00272570274583 2 +1.4 12 0.937161693835517 2 +1.4 13 0.862943350970824 2 +1.4 14 0.805808906312188 2 +1.4 15 0.753191205264919 2 +1.4 16 0.702222609226771 2 +1.4 17 0.65415192640297 2 +1.4 18 0.618286480105169 2 +1.4 19 0.569020707469714 2 +1.4 2 2.12262863355403 2 +1.4 20 0.52496731320327 2 +1.4 21 0.491071903342397 2 +1.4 22 0.449244830748034 2 +1.4 23 0.419305678212694 2 +1.4 24 0.387864729124562 2 +1.4 25 0.361181159820346 2 +1.4 26 0.331478476065846 2 +1.4 27 0.312182570278808 2 +1.4 28 0.288931224425761 2 +1.4 29 0.265562200578328 2 +1.4 3 1.86876982509903 2 +1.4 30 0.240007082401645 2 +1.4 31 0.225324991340765 2 +1.4 32 0.208208209701145 2 +1.4 33 0.190187116142744 2 +1.4 34 0.173614652340106 2 +1.4 35 0.160461913962959 2 +1.4 36 0.141453520711734 2 +1.4 37 0.13072091226978 2 +1.4 38 0.116048697311461 2 +1.4 39 0.0988449880555707 2 +1.4 4 1.71255435102523 2 +1.4 40 0.0905594837248888 2 +1.4 41 0.0770189536620385 2 +1.4 42 0.0725467222152274 2 +1.4 43 0.0613804814938761 2 +1.4 44 0.0492871397974003 2 +1.4 45 0.0416042231410985 2 +1.4 46 0.0288054380167088 2 +1.4 47 0.0254832521751057 2 +1.4 48 0.0217871262792807 2 +1.4 49 0.0171360895087063 2 +1.4 5 1.57524973848731 2 +1.4 50 0.00400054186233488 2 +1.4 51 -0.00527543300189601 2 +1.4 52 -0.00299466382817865 2 +1.4 53 -0.0114707036070777 2 +1.4 54 -0.0212050789439323 2 +1.4 55 -0.0227748226225648 2 +1.4 56 -0.0319261481261769 2 +1.4 57 -0.0281005744655097 2 +1.4 58 -0.0354294319029186 2 +1.4 59 -0.0410257492951171 2 +1.4 6 1.44890469936716 2 +1.4 60 -0.0478685985140613 2 +1.4 61 -0.0495452265594844 2 +1.4 62 -0.0552284357113223 2 +1.4 63 -0.0524982582044199 2 +1.4 64 -0.05926311325525 2 +1.4 65 -0.0619457445183967 2 +1.4 66 -0.0628545379239479 2 +1.4 67 -0.0649934739621013 2 +1.4 68 -0.0640152025894945 2 +1.4 69 -0.0668599494227691 2 +1.4 7 1.34710064400997 2 +1.4 70 -0.0778702943147839 2 +1.4 71 -0.0729359666849655 2 +1.4 72 -0.0750468705598717 2 +1.4 73 -0.0819512179268271 2 +1.4 74 -0.0880263381579758 2 +1.4 75 -0.0806632188208637 2 +1.4 76 -0.0855292711295111 2 +1.4 77 -0.0918004507946783 2 +1.4 78 -0.0890900033242879 2 +1.4 79 -0.0859424789849284 2 +1.4 8 1.24897509662289 2 +1.4 80 -0.093792546390993 2 +1.4 81 -0.0916813024896873 2 +1.4 82 -0.0956868833316941 2 +1.4 83 -0.0961309320957169 2 +1.4 84 -0.0926483509694183 2 +1.4 85 -0.093437474114836 2 +1.4 86 -0.102821984852305 2 +1.4 87 -0.101023992992184 2 +1.4 88 -0.103361001566341 2 +1.4 89 -0.106119984839299 2 +1.4 9 1.16214032895552 2 +1.4 90 -0.0990606931935456 2 +1.4 91 -0.103332580303233 2 +1.4 92 -0.106930068331734 2 +1.4 93 -0.10446312052972 2 +1.4 94 -0.10874879905439 2 +1.4 95 -0.102111009790367 2 +1.4 96 -0.105015352004157 2 +1.4 97 -0.106836661390256 2 +1.4 98 -0.102641596068367 2 +1.4 99 -0.105763751463414 2 +1.5 0 1.99096015407243 1 +1.5 1 1.64593792274526 1 +1.5 10 0.595656630081987 1 +1.5 100 -0.092138852549594 1 +1.5 11 0.536959561693178 1 +1.5 12 0.487104718805581 1 +1.5 13 0.439860473651178 1 +1.5 14 0.402403507386077 1 +1.5 15 0.365898120314986 1 +1.5 16 0.324634976394801 1 +1.5 17 0.290288124401761 1 +1.5 18 0.262989180558093 1 +1.5 19 0.240787302845465 1 +1.5 2 1.40229669420822 1 +1.5 20 0.212703670532581 1 +1.5 21 0.182370550801769 1 +1.5 22 0.167467352291962 1 +1.5 23 0.148699085105523 1 +1.5 24 0.131471659135922 1 +1.5 25 0.109799754383592 1 +1.5 26 0.0922459648118003 1 +1.5 27 0.0819644994291144 1 +1.5 28 0.070543751252192 1 +1.5 29 0.0574325003775283 1 +1.5 3 1.22010063973131 1 +1.5 30 0.0437162243443821 1 +1.5 31 0.0345221375501211 1 +1.5 32 0.0248532729259024 1 +1.5 33 0.0170100554906993 1 +1.5 34 0.00594229466603841 1 +1.5 35 -0.00356635280610254 1 +1.5 36 -0.0100398427454714 1 +1.5 37 -0.0131746458123988 1 +1.5 38 -0.0170922628566343 1 +1.5 39 -0.027080913452996 1 +1.5 4 1.09182052583092 1 +1.5 40 -0.0342683424338404 1 +1.5 41 -0.0363047906192468 1 +1.5 42 -0.0382767826915221 1 +1.5 43 -0.0443349527864646 1 +1.5 44 -0.0442743770216992 1 +1.5 45 -0.0505853570684296 1 +1.5 46 -0.0551295388263828 1 +1.5 47 -0.0589838622163479 1 +1.5 48 -0.0583603649054995 1 +1.5 49 -0.0618463209685851 1 +1.5 5 0.984052566233534 1 +1.5 50 -0.064183156728456 1 +1.5 51 -0.0726577968564171 1 +1.5 52 -0.0724228742072766 1 +1.5 53 -0.0708231183487327 1 +1.5 54 -0.0821055481521543 1 +1.5 55 -0.0778330286095531 1 +1.5 56 -0.0804716531740374 1 +1.5 57 -0.0823750787657571 1 +1.5 58 -0.0903271972406417 1 +1.5 59 -0.0837098474132854 1 +1.5 6 0.890290975306148 1 +1.5 60 -0.0817843989151323 1 +1.5 61 -0.0881764247671755 1 +1.5 62 -0.0942367941732542 1 +1.5 63 -0.084449215048351 1 +1.5 64 -0.0901972110527934 1 +1.5 65 -0.0886515297377143 1 +1.5 66 -0.0895649510934721 1 +1.5 67 -0.0839449640769181 1 +1.5 68 -0.0921745201188475 1 +1.5 69 -0.0933278000628915 1 +1.5 7 0.80866045212144 1 +1.5 70 -0.0958881081432977 1 +1.5 71 -0.10101890947485 1 +1.5 72 -0.0951563909281247 1 +1.5 73 -0.0943798052838488 1 +1.5 74 -0.0938973043988922 1 +1.5 75 -0.0917808633591171 1 +1.5 76 -0.0979749065654197 1 +1.5 77 -0.0953036666945181 1 +1.5 78 -0.097441242708083 1 +1.5 79 -0.0980313918583616 1 +1.5 8 0.726936587366388 1 +1.5 80 -0.091009721251641 1 +1.5 81 -0.0991007243794561 1 +1.5 82 -0.0972814933330075 1 +1.5 83 -0.102529002848887 1 +1.5 84 -0.0978938104993839 1 +1.5 85 -0.0990143743604558 1 +1.5 86 -0.101624008113396 1 +1.5 87 -0.0985646894982819 1 +1.5 88 -0.100593287814301 1 +1.5 89 -0.0978610286511802 1 +1.5 9 0.664183758770904 1 +1.5 90 -0.102064038014353 1 +1.5 91 -0.0901615488779373 1 +1.5 92 -0.0968188596464551 1 +1.5 93 -0.105883790718682 1 +1.5 94 -0.0978006854434971 1 +1.5 95 -0.0977346766655398 1 +1.5 96 -0.0977369680244287 1 +1.5 97 -0.0994698991818176 1 +1.5 98 -0.098012260279539 1 +1.5 99 -0.0982052387323658 1 +1.5 0 3.4449202580686 2 +1.5 1 2.9508201791803 2 +1.5 10 1.40816725447022 2 +1.5 100 -0.0960888085530519 2 +1.5 11 1.32551950782336 2 +1.5 12 1.24046303704576 2 +1.5 13 1.16585356708041 2 +1.5 14 1.09992532075539 2 +1.5 15 1.0395705354521 2 +1.5 16 0.983105679963029 2 +1.5 17 0.924919251635481 2 +1.5 18 0.873241748634905 2 +1.5 19 0.813789379904651 2 +1.5 2 2.59507274220714 2 +1.5 20 0.769186794115069 2 +1.5 21 0.731667368835386 2 +1.5 22 0.683507939926826 2 +1.5 23 0.645754524389474 2 +1.5 24 0.609306289380538 2 +1.5 25 0.56562523549167 2 +1.5 26 0.538147837862151 2 +1.5 27 0.509615009305946 2 +1.5 28 0.480474952029057 2 +1.5 29 0.446285924881333 2 +1.5 3 2.31541382915589 2 +1.5 30 0.423611914380547 2 +1.5 31 0.393702495356457 2 +1.5 32 0.368851479554021 2 +1.5 33 0.347259543246983 2 +1.5 34 0.322208107278024 2 +1.5 35 0.299739747113999 2 +1.5 36 0.281939352625005 2 +1.5 37 0.263503122649565 2 +1.5 38 0.245471045104618 2 +1.5 39 0.224188271186006 2 +1.5 4 2.12918957623782 2 +1.5 40 0.211926736612936 2 +1.5 41 0.194612547267111 2 +1.5 42 0.18763788043301 2 +1.5 43 0.164748020368148 2 +1.5 44 0.150395680245486 2 +1.5 45 0.141255985081255 2 +1.5 46 0.1386590425965 2 +1.5 47 0.114503180343982 2 +1.5 48 0.110954953125018 2 +1.5 49 0.096396638590538 2 +1.5 5 1.96784775859201 2 +1.5 50 0.0851761895350959 2 +1.5 51 0.071008712210588 2 +1.5 52 0.0769067797415375 2 +1.5 53 0.0576779656902926 2 +1.5 54 0.0519302011652094 2 +1.5 55 0.0400869761550121 2 +1.5 56 0.0342832577647245 2 +1.5 57 0.0301603166444751 2 +1.5 58 0.0257386561681327 2 +1.5 59 0.0180250838044379 2 +1.5 6 1.82747939769248 2 +1.5 60 0.0189961037593335 2 +1.5 61 0.00547980153335593 2 +1.5 62 -0.00205911722550412 2 +1.5 63 -0.00691063137172944 2 +1.5 64 -0.0190232563759354 2 +1.5 65 -0.012091236208172 2 +1.5 66 -0.0197100314402609 2 +1.5 67 -0.0254689569661638 2 +1.5 68 -0.0244158104268342 2 +1.5 69 -0.0355326383304643 2 +1.5 7 1.70928221803656 2 +1.5 70 -0.0356561621996477 2 +1.5 71 -0.0441225242226985 2 +1.5 72 -0.039491967189752 2 +1.5 73 -0.0483159080259358 2 +1.5 74 -0.0499307250506882 2 +1.5 75 -0.0560810837211375 2 +1.5 76 -0.0533275635457353 2 +1.5 77 -0.055836909554855 2 +1.5 78 -0.0621480809088013 2 +1.5 79 -0.060407839371208 2 +1.5 8 1.60060864799292 2 +1.5 80 -0.0697096105194905 2 +1.5 81 -0.0706844455391929 2 +1.5 82 -0.0742970423750456 2 +1.5 83 -0.0752600796404665 2 +1.5 84 -0.0752848697688641 2 +1.5 85 -0.08309172668657 2 +1.5 86 -0.0770526272064794 2 +1.5 87 -0.0816330025093205 2 +1.5 88 -0.0877748013128734 2 +1.5 89 -0.0839507211264969 2 +1.5 9 1.49836899283949 2 +1.5 90 -0.0828782491449288 2 +1.5 91 -0.0901118102648471 2 +1.5 92 -0.0945103224953007 2 +1.5 93 -0.0901676325094172 2 +1.5 94 -0.092322063051856 2 +1.5 95 -0.0980671829603808 2 +1.5 96 -0.0953123955788091 2 +1.5 97 -0.0956437139773968 2 +1.5 98 -0.0990828233071311 2 +1.5 99 -0.0988661084361167 2 +1.6 0 2.4094317638337 1 +1.6 1 2.01918180354102 1 +1.6 10 0.813959108324604 1 +1.6 100 -0.101529320279641 1 +1.6 11 0.750264197221868 1 +1.6 12 0.688646065915351 1 +1.6 13 0.632325111491978 1 +1.6 14 0.582319530744611 1 +1.6 15 0.532605114398203 1 +1.6 16 0.4926909819993 1 +1.6 17 0.447551567684849 1 +1.6 18 0.416267706388739 1 +1.6 19 0.379568750965986 1 +1.6 2 1.73233854935667 1 +1.6 20 0.351614539903368 1 +1.6 21 0.315497770441686 1 +1.6 22 0.29095053927278 1 +1.6 23 0.262932903477068 1 +1.6 24 0.241918212730046 1 +1.6 25 0.220470775875894 1 +1.6 26 0.196347948625942 1 +1.6 27 0.171842584419885 1 +1.6 28 0.160151495616381 1 +1.6 29 0.141827981807225 1 +1.6 3 1.52315341788798 1 +1.6 30 0.126207652634319 1 +1.6 31 0.109884165224927 1 +1.6 32 0.100542829068043 1 +1.6 33 0.0835099790679128 1 +1.6 34 0.0764195390640438 1 +1.6 35 0.0523981632873433 1 +1.6 36 0.0529005713135964 1 +1.6 37 0.041763605758795 1 +1.6 38 0.0361263878490521 1 +1.6 39 0.0265371456120232 1 +1.6 4 1.38241029789839 1 +1.6 40 0.0176260517540378 1 +1.6 41 0.0074935561425647 1 +1.6 42 0.00134014861237584 1 +1.6 43 -0.00258978926750008 1 +1.6 44 -0.00960322879011859 1 +1.6 45 -0.0197917758848991 1 +1.6 46 -0.0281320792169885 1 +1.6 47 -0.0324298999031744 1 +1.6 48 -0.032752366979382 1 +1.6 49 -0.0381551212580765 1 +1.6 5 1.26758557036669 1 +1.6 50 -0.0402518226133371 1 +1.6 51 -0.0420867802165174 1 +1.6 52 -0.0429264077275795 1 +1.6 53 -0.0474478911631723 1 +1.6 54 -0.0548532195573363 1 +1.6 55 -0.0587599411676736 1 +1.6 56 -0.0607955549823502 1 +1.6 57 -0.0676906760062593 1 +1.6 58 -0.068714873689093 1 +1.6 59 -0.0784840636787267 1 +1.6 6 1.1541309756516 1 +1.6 60 -0.0738611411291143 1 +1.6 61 -0.0754261239458785 1 +1.6 62 -0.0797385620096486 1 +1.6 63 -0.0797416816273654 1 +1.6 64 -0.07999380549769 1 +1.6 65 -0.08095708870755 1 +1.6 66 -0.0870812483180022 1 +1.6 67 -0.0857587467911685 1 +1.6 68 -0.0836964674711621 1 +1.6 69 -0.0905676908840277 1 +1.6 7 1.05157210895807 1 +1.6 70 -0.0841115200460125 1 +1.6 71 -0.0901175136818099 1 +1.6 72 -0.0964252309054065 1 +1.6 73 -0.0957637827421526 1 +1.6 74 -0.0922158065260936 1 +1.6 75 -0.0901685561347381 1 +1.6 76 -0.0952311093025889 1 +1.6 77 -0.0930705903525393 1 +1.6 78 -0.0957505197637305 1 +1.6 79 -0.0919720518612277 1 +1.6 8 0.966345559974614 1 +1.6 80 -0.0982390654194396 1 +1.6 81 -0.0990731662690069 1 +1.6 82 -0.0965545604274745 1 +1.6 83 -0.0938078242423983 1 +1.6 84 -0.101230271563328 1 +1.6 85 -0.105606403001374 1 +1.6 86 -0.0993499816440946 1 +1.6 87 -0.10204048091374 1 +1.6 88 -0.102510123002385 1 +1.6 89 -0.106894999445804 1 +1.6 9 0.885113317822056 1 +1.6 90 -0.100925387279612 1 +1.6 91 -0.0971806051372653 1 +1.6 92 -0.104336866746886 1 +1.6 93 -0.103804165735979 1 +1.6 94 -0.1024110448329 1 +1.6 95 -0.103312518464477 1 +1.6 96 -0.101421900291264 1 +1.6 97 -0.101837961273104 1 +1.6 98 -0.0943901282457436 1 +1.6 99 -0.104639108185325 1 +1.6 0 4.04421812719393 2 +1.6 1 3.50568131079826 2 +1.6 10 1.76215343788748 2 +1.6 100 -0.0806360311853952 2 +1.6 11 1.66223981442658 2 +1.6 12 1.58264626224682 2 +1.6 13 1.50042239142085 2 +1.6 14 1.42594186804642 2 +1.6 15 1.35670615313148 2 +1.6 16 1.28969876456404 2 +1.6 17 1.22997090056899 2 +1.6 18 1.15804717993196 2 +1.6 19 1.10376846664488 2 +1.6 2 3.09197604916208 2 +1.6 20 1.05388740787326 2 +1.6 21 0.997706800208071 2 +1.6 22 0.957249739624698 2 +1.6 23 0.907271071576914 2 +1.6 24 0.866181960911131 2 +1.6 25 0.821338193142337 2 +1.6 26 0.774970250777994 2 +1.6 27 0.731767280231703 2 +1.6 28 0.701256875266818 2 +1.6 29 0.665894486424774 2 +1.6 3 2.77306463794893 2 +1.6 30 0.636600651944749 2 +1.6 31 0.601953909253894 2 +1.6 32 0.573286256159802 2 +1.6 33 0.543135878085444 2 +1.6 34 0.512616841075604 2 +1.6 35 0.486699322214238 2 +1.6 36 0.46770350795504 2 +1.6 37 0.44360080369508 2 +1.6 38 0.412349193128178 2 +1.6 39 0.394884054859732 2 +1.6 4 2.57403810668786 2 +1.6 40 0.373287986504923 2 +1.6 41 0.354042179273217 2 +1.6 42 0.333926546252155 2 +1.6 43 0.314184431854065 2 +1.6 44 0.295946197935441 2 +1.6 45 0.279379656728604 2 +1.6 46 0.262270227293318 2 +1.6 47 0.250207923630161 2 +1.6 48 0.233499493754672 2 +1.6 49 0.219012056889812 2 +1.6 5 2.38319846913774 2 +1.6 50 0.203714821920236 2 +1.6 51 0.195852411355521 2 +1.6 52 0.179695072427491 2 +1.6 53 0.171480369970258 2 +1.6 54 0.155040476582766 2 +1.6 55 0.142987440209717 2 +1.6 56 0.135843593302679 2 +1.6 57 0.125758071682513 2 +1.6 58 0.113344974492583 2 +1.6 59 0.102851573125306 2 +1.6 6 2.2318682525431 2 +1.6 60 0.0974961167509762 2 +1.6 61 0.0870470588993091 2 +1.6 62 0.0781744050805254 2 +1.6 63 0.0769567419065456 2 +1.6 64 0.0652036634984568 2 +1.6 65 0.0597199636712429 2 +1.6 66 0.0506074307997572 2 +1.6 67 0.047482999285676 2 +1.6 68 0.0413423446644797 2 +1.6 69 0.0357841634844081 2 +1.6 7 2.10032654576499 2 +1.6 70 0.0217933728532301 2 +1.6 71 0.0191656677328524 2 +1.6 72 0.00649595892425025 2 +1.6 73 0.0116534684106244 2 +1.6 74 -0.000142685603391374 2 +1.6 75 0.00124716194174019 2 +1.6 76 -0.00443293977880792 2 +1.6 77 -0.012341372219116 2 +1.6 78 -0.0112018761888524 2 +1.6 79 -0.0217936364142519 2 +1.6 8 1.97241989402296 2 +1.6 80 -0.0255555765412144 2 +1.6 81 -0.0263163013181245 2 +1.6 82 -0.0281994475577076 2 +1.6 83 -0.037619847463319 2 +1.6 84 -0.0401959600920545 2 +1.6 85 -0.041307714784575 2 +1.6 86 -0.0407211390463944 2 +1.6 87 -0.0506538397098801 2 +1.6 88 -0.0524466737352633 2 +1.6 89 -0.0489379847687122 2 +1.6 9 1.85887365826276 2 +1.6 90 -0.0599074989983429 2 +1.6 91 -0.0587101560691029 2 +1.6 92 -0.0565649284453199 2 +1.6 93 -0.0616519924092622 2 +1.6 94 -0.0631156916067387 2 +1.6 95 -0.0653660061691537 2 +1.6 96 -0.0709991201321475 2 +1.6 97 -0.0777057356828179 2 +1.6 98 -0.0736291504367405 2 +1.6 99 -0.0761206010126809 2 +1.7 0 2.85294677274628 1 +1.7 1 2.41759635696511 1 +1.7 10 1.05528118472225 1 +1.7 100 -0.104523953186372 1 +1.7 11 0.985363183032944 1 +1.7 12 0.912361526253459 1 +1.7 13 0.852897649226238 1 +1.7 14 0.787625717827986 1 +1.7 15 0.736531007217994 1 +1.7 16 0.691822803735556 1 +1.7 17 0.637075544415711 1 +1.7 18 0.593470328470974 1 +1.7 19 0.552515623746448 1 +1.7 2 2.09308432641136 1 +1.7 20 0.512893401549227 1 +1.7 21 0.471666296749818 1 +1.7 22 0.443899218224627 1 +1.7 23 0.408633780090071 1 +1.7 24 0.378306231970616 1 +1.7 25 0.347975087834174 1 +1.7 26 0.327949102391135 1 +1.7 27 0.299720644056861 1 +1.7 28 0.275861544473205 1 +1.7 29 0.254231224821448 1 +1.7 3 1.84971307880485 1 +1.7 30 0.239531037865607 1 +1.7 31 0.216206291338221 1 +1.7 32 0.200615812892673 1 +1.7 33 0.178173045656267 1 +1.7 34 0.170264039854502 1 +1.7 35 0.149282107255751 1 +1.7 36 0.134651252872878 1 +1.7 37 0.122880246917 1 +1.7 38 0.106599547581803 1 +1.7 39 0.0953405963412983 1 +1.7 4 1.6910706700529 1 +1.7 40 0.0861276006558247 1 +1.7 41 0.0726999686545979 1 +1.7 42 0.0634582004165764 1 +1.7 43 0.0577219903477821 1 +1.7 44 0.0476649700316521 1 +1.7 45 0.0358621644370072 1 +1.7 46 0.0257603093915636 1 +1.7 47 0.0249710320448366 1 +1.7 48 0.0122318487655075 1 +1.7 49 0.00604128422175422 1 +1.7 5 1.56285665221263 1 +1.7 50 0.00719132468910909 1 +1.7 51 -0.00358477376905891 1 +1.7 52 -0.00642459498626551 1 +1.7 53 -0.0137535419316915 1 +1.7 54 -0.0226587824416572 1 +1.7 55 -0.0230766541987244 1 +1.7 56 -0.0283367446719507 1 +1.7 57 -0.036203857002317 1 +1.7 58 -0.0344057616472312 1 +1.7 59 -0.0452853721967859 1 +1.7 6 1.43817179753652 1 +1.7 60 -0.0467818616755396 1 +1.7 61 -0.0518956673979004 1 +1.7 62 -0.0512870787390932 1 +1.7 63 -0.0570185951824684 1 +1.7 64 -0.061278483912596 1 +1.7 65 -0.0670155920197448 1 +1.7 66 -0.062033440629085 1 +1.7 67 -0.05852400553114 1 +1.7 68 -0.0688427317948388 1 +1.7 69 -0.0714981499196271 1 +1.7 7 1.32514234078552 1 +1.7 70 -0.0723814719047415 1 +1.7 71 -0.0793519377978487 1 +1.7 72 -0.0758775323958586 1 +1.7 73 -0.0826944518612582 1 +1.7 74 -0.0835017644129063 1 +1.7 75 -0.0811243869956657 1 +1.7 76 -0.0830333635147435 1 +1.7 77 -0.0854273691848703 1 +1.7 78 -0.0848573078470446 1 +1.7 79 -0.0931991477167379 1 +1.7 8 1.22725793150708 1 +1.7 80 -0.0921198772205818 1 +1.7 81 -0.0931820549016041 1 +1.7 82 -0.093501786202761 1 +1.7 83 -0.0902701209778962 1 +1.7 84 -0.0893324099855845 1 +1.7 85 -0.102409865246014 1 +1.7 86 -0.0975321127803959 1 +1.7 87 -0.0964144346879423 1 +1.7 88 -0.0994141456201634 1 +1.7 89 -0.100473995114306 1 +1.7 9 1.14053445565076 1 +1.7 90 -0.106271544510437 1 +1.7 91 -0.0961565908559136 1 +1.7 92 -0.0988708212073634 1 +1.7 93 -0.0995346157214559 1 +1.7 94 -0.102776717324422 1 +1.7 95 -0.100538036311517 1 +1.7 96 -0.102953411608086 1 +1.7 97 -0.104380391327189 1 +1.7 98 -0.108088923857384 1 +1.7 99 -0.103853971828548 1 +1.7 0 4.62013725678616 2 +1.7 1 4.04942124487361 2 +1.7 10 2.13722225455883 2 +1.7 100 -0.0405032569945136 2 +1.7 11 2.0438872676246 2 +1.7 12 1.93941961319422 2 +1.7 13 1.85375614246137 2 +1.7 14 1.77139401503175 2 +1.7 15 1.69784817320092 2 +1.7 16 1.62407662657656 2 +1.7 17 1.54960799771952 2 +1.7 18 1.48498337177005 2 +1.7 19 1.42142991154356 2 +1.7 2 3.61306121452474 2 +1.7 20 1.36409969691258 2 +1.7 21 1.30524854572297 2 +1.7 22 1.24853529251727 2 +1.7 23 1.1990398178933 2 +1.7 24 1.14681404564157 2 +1.7 25 1.09815289152277 2 +1.7 26 1.05318179279506 2 +1.7 27 1.01436591339595 2 +1.7 28 0.959083107795965 2 +1.7 29 0.924552633407897 2 +1.7 3 3.26650249106017 2 +1.7 30 0.88497165295578 2 +1.7 31 0.851481761808634 2 +1.7 32 0.812746684623436 2 +1.7 33 0.778760612818248 2 +1.7 34 0.746310837097135 2 +1.7 35 0.722317826868561 2 +1.7 36 0.688108307363394 2 +1.7 37 0.65531998615751 2 +1.7 38 0.625476552814175 2 +1.7 39 0.600884967958704 2 +1.7 4 3.01914578287554 2 +1.7 40 0.578083076023951 2 +1.7 41 0.553776427226706 2 +1.7 42 0.528166264048444 2 +1.7 43 0.501797161713408 2 +1.7 44 0.481387311638133 2 +1.7 45 0.454808523806681 2 +1.7 46 0.442112181200099 2 +1.7 47 0.417812818901152 2 +1.7 48 0.402818267602561 2 +1.7 49 0.383439504744612 2 +1.7 5 2.82991614639797 2 +1.7 50 0.363808338159984 2 +1.7 51 0.342018962021363 2 +1.7 52 0.324359397979122 2 +1.7 53 0.312372461950579 2 +1.7 54 0.297773335316866 2 +1.7 55 0.281971494301556 2 +1.7 56 0.272989933798998 2 +1.7 57 0.258321094957932 2 +1.7 58 0.238149077103016 2 +1.7 59 0.229379271364553 2 +1.7 6 2.66086100672641 2 +1.7 60 0.220001266306969 2 +1.7 61 0.209094137670884 2 +1.7 62 0.191058652615765 2 +1.7 63 0.181345533500796 2 +1.7 64 0.173199430551875 2 +1.7 65 0.160188312414334 2 +1.7 66 0.149094677121858 2 +1.7 67 0.145900365727982 2 +1.7 68 0.139030090903904 2 +1.7 69 0.122258684400101 2 +1.7 7 2.51678596487039 2 +1.7 70 0.11711094691953 2 +1.7 71 0.108816591682135 2 +1.7 72 0.100012330241649 2 +1.7 73 0.0917590320879265 2 +1.7 74 0.0827190948450971 2 +1.7 75 0.0774558680817385 2 +1.7 76 0.0637876427268178 2 +1.7 77 0.0596000762354205 2 +1.7 78 0.0594304939013499 2 +1.7 79 0.0459927994486117 2 +1.7 8 2.38018971137178 2 +1.7 80 0.0428672669656463 2 +1.7 81 0.0408790148969545 2 +1.7 82 0.0333871608987888 2 +1.7 83 0.0269511791359293 2 +1.7 84 0.0262014266531588 2 +1.7 85 0.0160157123161029 2 +1.7 86 0.0181030369825799 2 +1.7 87 0.0150256869878678 2 +1.7 88 0.000190584308808905 2 +1.7 89 0.00125916112403467 2 +1.7 9 2.25737337761531 2 +1.7 90 -0.00136931996568892 2 +1.7 91 -0.0111073473198128 2 +1.7 92 -0.00920406262312467 2 +1.7 93 -0.00928765779893749 2 +1.7 94 -0.0247406574925955 2 +1.7 95 -0.0221842624907956 2 +1.7 96 -0.0278601433513288 2 +1.7 97 -0.0320530296957619 2 +1.7 98 -0.0373810748433173 2 +1.7 99 -0.0372799723082507 2 +1.8 0 3.31602646257736 1 +1.8 1 2.8330520923865 1 +1.8 10 1.32254433774853 1 +1.8 100 -0.103463438044964 1 +1.8 11 1.2402861567253 1 +1.8 12 1.16516134045788 1 +1.8 13 1.09148166489185 1 +1.8 14 1.0308501549977 1 +1.8 15 0.964291994321728 1 +1.8 16 0.914214130774966 1 +1.8 17 0.855855508815121 1 +1.8 18 0.803896882809584 1 +1.8 19 0.758284032139608 1 +1.8 2 2.47129849378405 1 +1.8 20 0.713757249091392 1 +1.8 21 0.667678464757551 1 +1.8 22 0.628085477686496 1 +1.8 23 0.583366924300445 1 +1.8 24 0.553170495826847 1 +1.8 25 0.516732686458754 1 +1.8 26 0.476737545383237 1 +1.8 27 0.454514369858598 1 +1.8 28 0.4316905062223 1 +1.8 29 0.405226049471128 1 +1.8 3 2.20909784972286 1 +1.8 30 0.368533159421539 1 +1.8 31 0.347002723879653 1 +1.8 32 0.33125281246732 1 +1.8 33 0.299502031434101 1 +1.8 34 0.283596117869426 1 +1.8 35 0.265508755165847 1 +1.8 36 0.247022536632801 1 +1.8 37 0.228772921304428 1 +1.8 38 0.214931225908872 1 +1.8 39 0.19371173770986 1 +1.8 4 2.03353621412434 1 +1.8 40 0.183528284938621 1 +1.8 41 0.164278599464698 1 +1.8 42 0.154222444923134 1 +1.8 43 0.137651642292392 1 +1.8 44 0.132150966159478 1 +1.8 45 0.117928228983607 1 +1.8 46 0.102695868944698 1 +1.8 47 0.0891437301913252 1 +1.8 48 0.0904895390812717 1 +1.8 49 0.0750741410395419 1 +1.8 5 1.88082002719064 1 +1.8 50 0.0603053267034589 1 +1.8 51 0.0537881758488418 1 +1.8 52 0.0525813629794169 1 +1.8 53 0.037179094411331 1 +1.8 54 0.0308799524611716 1 +1.8 55 0.0292125663388395 1 +1.8 56 0.0191824973230797 1 +1.8 57 0.0164139776326527 1 +1.8 58 0.00930914675166689 1 +1.8 59 0.0106156907574682 1 +1.8 6 1.73665389310276 1 +1.8 60 -0.00299575239558929 1 +1.8 61 -0.00425519615780832 1 +1.8 62 -0.0110791037224196 1 +1.8 63 -0.0203699567187169 1 +1.8 64 -0.0234709911516462 1 +1.8 65 -0.0303429408275993 1 +1.8 66 -0.0307864793300804 1 +1.8 67 -0.0378231730219814 1 +1.8 68 -0.0342605554351724 1 +1.8 69 -0.043256403738699 1 +1.8 7 1.62378218378302 1 +1.8 70 -0.0458466221236966 1 +1.8 71 -0.0469455519730566 1 +1.8 72 -0.0458860169054263 1 +1.8 73 -0.0556078191975498 1 +1.8 74 -0.0564085136104815 1 +1.8 75 -0.0631443523954777 1 +1.8 76 -0.063807251985177 1 +1.8 77 -0.0669254408536016 1 +1.8 78 -0.0722537511954108 1 +1.8 79 -0.0726004387635812 1 +1.8 8 1.51164090749896 1 +1.8 80 -0.0785088439961729 1 +1.8 81 -0.0686302390154683 1 +1.8 82 -0.0749733227328073 1 +1.8 83 -0.078805982064732 1 +1.8 84 -0.0800725376439559 1 +1.8 85 -0.083865788631307 1 +1.8 86 -0.087318238907319 1 +1.8 87 -0.080572546075509 1 +1.8 88 -0.0820832119926255 1 +1.8 89 -0.0830361141973801 1 +1.8 9 1.40560513319894 1 +1.8 90 -0.093359452597901 1 +1.8 91 -0.0902447324080134 1 +1.8 92 -0.0925311001733553 1 +1.8 93 -0.0984255982259426 1 +1.8 94 -0.0929746992531975 1 +1.8 95 -0.0981421374030075 1 +1.8 96 -0.0941162724335365 1 +1.8 97 -0.0966514431463512 1 +1.8 98 -0.0982682896975159 1 +1.8 99 -0.0985967683052161 1 +1.8 0 5.20327223913125 2 +1.8 1 4.64204698509638 2 +1.8 10 2.54700613720872 2 +1.8 100 0.0143406896389153 2 +1.8 11 2.43549843524666 2 +1.8 12 2.3277971035398 2 +1.8 13 2.23897774642032 2 +1.8 14 2.14434328843933 2 +1.8 15 2.05079114241478 2 +1.8 16 1.98298903753791 2 +1.8 17 1.89507642963115 2 +1.8 18 1.82048721945486 2 +1.8 19 1.76225180956637 2 +1.8 2 4.14762830263999 2 +1.8 20 1.69180824140619 2 +1.8 21 1.6335210384994 2 +1.8 22 1.5685212955206 2 +1.8 23 1.5111622851213 2 +1.8 24 1.45599102057529 2 +1.8 25 1.4087306747681 2 +1.8 26 1.35787983195696 2 +1.8 27 1.3051686389766 2 +1.8 28 1.26579780804609 2 +1.8 29 1.21581605833906 2 +1.8 3 3.76305113108875 2 +1.8 30 1.16783013337742 2 +1.8 31 1.13311862262606 2 +1.8 32 1.08728390159293 2 +1.8 33 1.05141810074681 2 +1.8 34 1.00900499755914 2 +1.8 35 0.971919363736259 2 +1.8 36 0.941362375813101 2 +1.8 37 0.908387708460225 2 +1.8 38 0.867887115351467 2 +1.8 39 0.841481547299198 2 +1.8 4 3.51348605027641 2 +1.8 40 0.808554810334254 2 +1.8 41 0.784314259331861 2 +1.8 42 0.746179239290621 2 +1.8 43 0.720596492712817 2 +1.8 44 0.697509883017844 2 +1.8 45 0.674556950245208 2 +1.8 46 0.646291790811671 2 +1.8 47 0.623883871527337 2 +1.8 48 0.601185261732197 2 +1.8 49 0.576130128042807 2 +1.8 5 3.28578278159428 2 +1.8 50 0.551059448549291 2 +1.8 51 0.534378683826164 2 +1.8 52 0.507781026288067 2 +1.8 53 0.492833274165863 2 +1.8 54 0.475732886325439 2 +1.8 55 0.454422233668241 2 +1.8 56 0.443125717854617 2 +1.8 57 0.414674866007265 2 +1.8 58 0.406546576103738 2 +1.8 59 0.387334690048779 2 +1.8 6 3.10510341582983 2 +1.8 60 0.368914875157374 2 +1.8 61 0.361258351499986 2 +1.8 62 0.34424612525145 2 +1.8 63 0.326549684013995 2 +1.8 64 0.314759110135137 2 +1.8 65 0.296811449212837 2 +1.8 66 0.28780031547327 2 +1.8 67 0.278690223198117 2 +1.8 68 0.261264753633991 2 +1.8 69 0.245882312618794 2 +1.8 7 2.95979247249376 2 +1.8 70 0.242704830705272 2 +1.8 71 0.226593830061626 2 +1.8 72 0.211197384991223 2 +1.8 73 0.205738167730168 2 +1.8 74 0.194490778693241 2 +1.8 75 0.185845830833214 2 +1.8 76 0.17711028949939 2 +1.8 77 0.156696251545593 2 +1.8 78 0.158102212461824 2 +1.8 79 0.152306974133535 2 +1.8 8 2.80435114437773 2 +1.8 80 0.14535670357855 2 +1.8 81 0.134526458456358 2 +1.8 82 0.120735033368296 2 +1.8 83 0.117081846431833 2 +1.8 84 0.111717568056941 2 +1.8 85 0.106066831916995 2 +1.8 86 0.102167468696553 2 +1.8 87 0.0920687495110953 2 +1.8 88 0.0852742279402328 2 +1.8 89 0.0766247743557065 2 +1.8 9 2.66197629782338 2 +1.8 90 0.0714724663681238 2 +1.8 91 0.0692617629619358 2 +1.8 92 0.0613803684499171 2 +1.8 93 0.0571747870179157 2 +1.8 94 0.0468104821629726 2 +1.8 95 0.0453980144919483 2 +1.8 96 0.0325321096562437 2 +1.8 97 0.0268236026555803 2 +1.8 98 0.0238197972390605 2 +1.8 99 0.021790298065877 2 +1.9 0 3.79332812197275 1 +1.9 1 3.27155841397116 1 +1.9 10 1.6091574200058 1 +1.9 100 -0.0923727544285617 1 +1.9 11 1.51200842238488 1 +1.9 12 1.43825919296578 1 +1.9 13 1.36249240233719 1 +1.9 14 1.28476185267079 1 +1.9 15 1.21857445924698 1 +1.9 16 1.14967083483087 1 +1.9 17 1.09115578827079 1 +1.9 18 1.04135441570921 1 +1.9 19 0.978643534231578 1 +1.9 2 2.88141298276654 1 +1.9 20 0.926054329819778 1 +1.9 21 0.876184586251189 1 +1.9 22 0.834306909920614 1 +1.9 23 0.788873083509894 1 +1.9 24 0.753111352477139 1 +1.9 25 0.710209749416611 1 +1.9 26 0.671529808447655 1 +1.9 27 0.640008957963499 1 +1.9 28 0.605987531690335 1 +1.9 29 0.564690356279267 1 +1.9 3 2.57529853315874 1 +1.9 30 0.541223324653518 1 +1.9 31 0.510324135155056 1 +1.9 32 0.481152535235589 1 +1.9 33 0.456952046092078 1 +1.9 34 0.431652898900617 1 +1.9 35 0.408565653482265 1 +1.9 36 0.384215319558919 1 +1.9 37 0.364397024957327 1 +1.9 38 0.344149927616789 1 +1.9 39 0.325896191023819 1 +1.9 4 2.3920022754742 1 +1.9 40 0.301967726011074 1 +1.9 41 0.284105432988479 1 +1.9 42 0.264205715052502 1 +1.9 43 0.24846654718454 1 +1.9 44 0.235150172660071 1 +1.9 45 0.215540860906329 1 +1.9 46 0.205390747212664 1 +1.9 47 0.190586200734268 1 +1.9 48 0.182789952323414 1 +1.9 49 0.166899282267778 1 +1.9 5 2.20740423184785 1 +1.9 50 0.14865552610005 1 +1.9 51 0.145203912108401 1 +1.9 52 0.134251683447327 1 +1.9 53 0.116337870301923 1 +1.9 54 0.108580809591273 1 +1.9 55 0.103908245839796 1 +1.9 56 0.0933735861256606 1 +1.9 57 0.0863298730296053 1 +1.9 58 0.0758571221138731 1 +1.9 59 0.0705740433664432 1 +1.9 6 2.0675351133898 1 +1.9 60 0.056556486399314 1 +1.9 61 0.0478709663117882 1 +1.9 62 0.0494740622809618 1 +1.9 63 0.0354088783722365 1 +1.9 64 0.0286606482948009 1 +1.9 65 0.0232834785054627 1 +1.9 66 0.0112053467358349 1 +1.9 67 0.0130443520189544 1 +1.9 68 0.00702212905274558 1 +1.9 69 0.00329664119607924 1 +1.9 7 1.92925302030279 1 +1.9 70 -0.00595128651778204 1 +1.9 71 -0.0126509284875171 1 +1.9 72 -0.0116307348506416 1 +1.9 73 -0.0183334342844683 1 +1.9 74 -0.0213077598039678 1 +1.9 75 -0.0289457529727663 1 +1.9 76 -0.0275952908970332 1 +1.9 77 -0.0258823933658822 1 +1.9 78 -0.0323159439958542 1 +1.9 79 -0.0412748989719291 1 +1.9 8 1.81527105754899 1 +1.9 80 -0.0437452887896063 1 +1.9 81 -0.0499819312566262 1 +1.9 82 -0.0475149756434235 1 +1.9 83 -0.0520854087465759 1 +1.9 84 -0.0552763184119843 1 +1.9 85 -0.056427399583328 1 +1.9 86 -0.0662331943960433 1 +1.9 87 -0.0666382214346769 1 +1.9 88 -0.0636051934976918 1 +1.9 89 -0.0681965437058916 1 +1.9 9 1.7098365919236 1 +1.9 90 -0.0682504630314082 1 +1.9 91 -0.0761470299182835 1 +1.9 92 -0.0740660256809748 1 +1.9 93 -0.0816983105092539 1 +1.9 94 -0.0793669930356817 1 +1.9 95 -0.0806100294920452 1 +1.9 96 -0.0768849706668256 1 +1.9 97 -0.0802384857091816 1 +1.9 98 -0.0823070766568726 1 +1.9 99 -0.0803871180545875 1 +1.9 0 5.79561152539895 2 +1.9 1 5.21507896577174 2 +1.9 10 2.96109249697394 2 +1.9 100 0.100383543015928 2 +1.9 11 2.83106119762725 2 +1.9 12 2.73978136658967 2 +1.9 13 2.62537591023431 2 +1.9 14 2.52697061299212 2 +1.9 15 2.43797383641245 2 +1.9 16 2.35913247225263 2 +1.9 17 2.2721216296926 2 +1.9 18 2.19042209770617 2 +1.9 19 2.12617551450711 2 +1.9 2 4.70814209303158 2 +1.9 20 2.05347181191461 2 +1.9 21 1.98117255298821 2 +1.9 22 1.9194222741356 2 +1.9 23 1.85576524468338 2 +1.9 24 1.79486517809727 2 +1.9 25 1.74147548292257 2 +1.9 26 1.68737221004402 2 +1.9 27 1.62650306390464 2 +1.9 28 1.57989578680058 2 +1.9 29 1.53221454133685 2 +1.9 3 4.28745565121009 2 +1.9 30 1.47966164803458 2 +1.9 31 1.43861950699244 2 +1.9 32 1.39325703808057 2 +1.9 33 1.3467048554799 2 +1.9 34 1.30818038228717 2 +1.9 35 1.26438156128035 2 +1.9 36 1.22384491328352 2 +1.9 37 1.19027739224352 2 +1.9 38 1.15201916401119 2 +1.9 39 1.10786169885961 2 +1.9 4 4.02094998149692 2 +1.9 40 1.07662306303762 2 +1.9 41 1.04132273189207 2 +1.9 42 1.02257561370596 2 +1.9 43 0.979512210655077 2 +1.9 44 0.94766351622288 2 +1.9 45 0.928771976051722 2 +1.9 46 0.879865547983743 2 +1.9 47 0.861554653369548 2 +1.9 48 0.836418323158631 2 +1.9 49 0.811858003996589 2 +1.9 5 3.77813703206244 2 +1.9 50 0.78481021005122 2 +1.9 51 0.752475026556771 2 +1.9 52 0.735108668831113 2 +1.9 53 0.708569283166477 2 +1.9 54 0.688128884644929 2 +1.9 55 0.664713280214639 2 +1.9 56 0.639451240568336 2 +1.9 57 0.621971365480954 2 +1.9 58 0.598984679519149 2 +1.9 59 0.582219656825339 2 +1.9 6 3.58584546732254 2 +1.9 60 0.556122903537355 2 +1.9 61 0.538502510929553 2 +1.9 62 0.519800003984631 2 +1.9 63 0.502040368973051 2 +1.9 64 0.490001179693629 2 +1.9 65 0.465990402226362 2 +1.9 66 0.455900594521664 2 +1.9 67 0.441772240996096 2 +1.9 68 0.422514256638825 2 +1.9 69 0.403726176198473 2 +1.9 7 3.40686056763475 2 +1.9 70 0.389030869673139 2 +1.9 71 0.378439481562988 2 +1.9 72 0.372477858012854 2 +1.9 73 0.356406044847084 2 +1.9 74 0.339173081129946 2 +1.9 75 0.324122092252738 2 +1.9 76 0.317880881544136 2 +1.9 77 0.305018326511819 2 +1.9 78 0.295614529627157 2 +1.9 79 0.275443785861622 2 +1.9 8 3.24092162298043 2 +1.9 80 0.269889305518396 2 +1.9 81 0.253691528026598 2 +1.9 82 0.253473632334621 2 +1.9 83 0.242514522065813 2 +1.9 84 0.228518461083873 2 +1.9 85 0.22529096658376 2 +1.9 86 0.212608919692545 2 +1.9 87 0.200720979699163 2 +1.9 88 0.189225645669418 2 +1.9 89 0.184751353000982 2 +1.9 9 3.08816665059884 2 +1.9 90 0.177196236162332 2 +1.9 91 0.168579425113414 2 +1.9 92 0.157746176944928 2 +1.9 93 0.154840190977523 2 +1.9 94 0.143822221800146 2 +1.9 95 0.140680947119684 2 +1.9 96 0.127950047122214 2 +1.9 97 0.125749832519739 2 +1.9 98 0.118663285958289 2 +1.9 99 0.108190684122035 2 +2 0 4.26024889177182 1 +2 1 3.72090649623083 1 +2 10 1.91321770310886 1 +2 100 -0.0625421355179068 1 +2 11 1.82433871622539 1 +2 12 1.72768119547789 1 +2 13 1.64778322283483 1 +2 14 1.56087600950771 1 +2 15 1.48639414632299 1 +2 16 1.41672319713196 1 +2 17 1.35403107878827 1 +2 18 1.28454291297886 1 +2 19 1.23102170505554 1 +2 2 3.29655067022728 1 +2 20 1.16782709278162 1 +2 21 1.12363841447071 1 +2 22 1.06925238489142 1 +2 23 1.01612396466062 1 +2 24 0.968803769629654 1 +2 25 0.926105275523567 1 +2 26 0.881732081743014 1 +2 27 0.84857995065297 1 +2 28 0.80252644943485 1 +2 29 0.76790191603968 1 +2 3 2.97316427216739 1 +2 30 0.730001019557545 1 +2 31 0.699656273730595 1 +2 32 0.664941063674099 1 +2 33 0.635822607313391 1 +2 34 0.602571499771217 1 +2 35 0.571257070179296 1 +2 36 0.543996115557216 1 +2 37 0.525092656727438 1 +2 38 0.495457038867609 1 +2 39 0.465507018407347 1 +2 4 2.76049770169177 1 +2 40 0.445736649715497 1 +2 41 0.42723155969555 1 +2 42 0.405183590901463 1 +2 43 0.389357986466394 1 +2 44 0.367233020446774 1 +2 45 0.351711060993191 1 +2 46 0.328564445748244 1 +2 47 0.308970317843566 1 +2 48 0.29945797340011 1 +2 49 0.284061514289407 1 +2 5 2.57127944711162 1 +2 50 0.260195297601767 1 +2 51 0.252834998788289 1 +2 52 0.230337625618822 1 +2 53 0.221528637438172 1 +2 54 0.21185346683583 1 +2 55 0.194262747921344 1 +2 56 0.187844378057071 1 +2 57 0.176704557987331 1 +2 58 0.162145353928439 1 +2 59 0.157049007497464 1 +2 6 2.401970567766 1 +2 60 0.145656809382488 1 +2 61 0.130554506453575 1 +2 62 0.121075743228563 1 +2 63 0.115040630968153 1 +2 64 0.108174689152423 1 +2 65 0.0913559484601759 1 +2 66 0.0896383845942734 1 +2 67 0.079531017217039 1 +2 68 0.0739982104564205 1 +2 69 0.0695657039913123 1 +2 7 2.26321973398164 1 +2 70 0.0541951372251634 1 +2 71 0.0559176805770416 1 +2 72 0.0463150633488258 1 +2 73 0.0354274391042801 1 +2 74 0.0323191195127546 1 +2 75 0.0290312235370304 1 +2 76 0.023305904919832 1 +2 77 0.0173463070217079 1 +2 78 0.0126343759424451 1 +2 79 0.00936453833554863 1 +2 8 2.12988379110629 1 +2 80 -0.00105290316804633 1 +2 81 0.00206782848340266 1 +2 82 -0.00425773497224872 1 +2 83 -0.0124779522040951 1 +2 84 -0.0129099960880098 1 +2 85 -0.0202711563208988 1 +2 86 -0.0278275991262971 1 +2 87 -0.0241505101739627 1 +2 88 -0.0334070619405195 1 +2 89 -0.036586872768599 1 +2 9 2.01279857834115 1 +2 90 -0.0275963941289665 1 +2 91 -0.0421232865941735 1 +2 92 -0.0419178254450507 1 +2 93 -0.0432512085788125 1 +2 94 -0.0485896015579427 1 +2 95 -0.0561158915460237 1 +2 96 -0.0517788615981367 1 +2 97 -0.0559045613242165 1 +2 98 -0.0629654312364904 1 +2 99 -0.0652627604051913 1 +2 0 6.35856601204979 2 +2 1 5.79271392153462 2 +2 10 3.40007076078445 2 +2 100 0.214414863677301 2 +2 11 3.27133668355945 2 +2 12 3.1541318380494 2 +2 13 3.02782230101861 2 +2 14 2.91738835986583 2 +2 15 2.83438293762021 2 +2 16 2.74938181806759 2 +2 17 2.64317170240622 2 +2 18 2.57202741815004 2 +2 19 2.49439210871119 2 +2 2 5.26426745845999 2 +2 20 2.42206817662644 2 +2 21 2.35082008776925 2 +2 22 2.27608751751892 2 +2 23 2.22208198316928 2 +2 24 2.14214172299341 2 +2 25 2.0943967115412 2 +2 26 2.02944650391074 2 +2 27 1.97416594685851 2 +2 28 1.91443411460612 2 +2 29 1.86527529211676 2 +2 3 4.83370645932225 2 +2 30 1.81040930187104 2 +2 31 1.75890102920902 2 +2 32 1.71510546839686 2 +2 33 1.66235387225557 2 +2 34 1.62319516305912 2 +2 35 1.57995544247679 2 +2 36 1.53846495990384 2 +2 37 1.49667592252918 2 +2 38 1.45596763472844 2 +2 39 1.41856841935556 2 +2 4 4.54262942690918 2 +2 40 1.37644004765429 2 +2 41 1.33961430762541 2 +2 42 1.29701692100823 2 +2 43 1.26430664829736 2 +2 44 1.22542905130389 2 +2 45 1.18900346368259 2 +2 46 1.15909115461242 2 +2 47 1.13020464702497 2 +2 48 1.10389153663429 2 +2 49 1.07151874200784 2 +2 5 4.28713959806917 2 +2 50 1.03839212218742 2 +2 51 1.00924414679866 2 +2 52 0.977692687197192 2 +2 53 0.955060940834004 2 +2 54 0.928476339950781 2 +2 55 0.903671997492714 2 +2 56 0.879663938910767 2 +2 57 0.857890933419797 2 +2 58 0.830864964876381 2 +2 59 0.800935370595009 2 +2 6 4.06585165983692 2 +2 60 0.778333272629489 2 +2 61 0.754093196929025 2 +2 62 0.737833501644475 2 +2 63 0.720074871737255 2 +2 64 0.69808893158531 2 +2 65 0.673578330332658 2 +2 66 0.661048637440528 2 +2 67 0.639633139985645 2 +2 68 0.616920143976011 2 +2 69 0.601200424892908 2 +2 7 3.87405531022321 2 +2 70 0.586669584866797 2 +2 71 0.566591407305839 2 +2 72 0.55308518914535 2 +2 73 0.533408185138378 2 +2 74 0.523433289124845 2 +2 75 0.503686826350253 2 +2 76 0.48967207080593 2 +2 77 0.473412974293428 2 +2 78 0.456991823656935 2 +2 79 0.446162973483553 2 +2 8 3.69884538956046 2 +2 80 0.432310872854999 2 +2 81 0.410824328941087 2 +2 82 0.411843758749589 2 +2 83 0.388671380390144 2 +2 84 0.384668257608103 2 +2 85 0.371046293886763 2 +2 86 0.357658159525326 2 +2 87 0.344391144179199 2 +2 88 0.327533794294051 2 +2 89 0.325882923051706 2 +2 9 3.55499780946443 2 +2 90 0.306475237599577 2 +2 91 0.308324609121997 2 +2 92 0.293503029208804 2 +2 93 0.280329055391743 2 +2 94 0.277403587711613 2 +2 95 0.265029566158312 2 +2 96 0.253190128405957 2 +2 97 0.240827808377234 2 +2 98 0.237411192981994 2 +2 99 0.227235946482729 2 +2.1 0 4.7359499428604 1 +2.1 1 4.18806345005288 1 +2.1 10 2.22951104867848 1 +2.1 100 -0.0303690047469476 1 +2.1 11 2.12493500208351 1 +2.1 12 2.03291269147133 1 +2.1 13 1.93817333569097 1 +2.1 14 1.84607856725207 1 +2.1 15 1.76879901570353 1 +2.1 16 1.69785104928414 1 +2.1 17 1.62280197464162 1 +2.1 18 1.5611806005995 1 +2.1 19 1.49379193593466 1 +2.1 2 3.73003245479491 1 +2.1 20 1.42630446047901 1 +2.1 21 1.37905684011054 1 +2.1 22 1.31840009965835 1 +2.1 23 1.26681791989779 1 +2.1 24 1.21631680425637 1 +2.1 25 1.16871511543228 1 +2.1 26 1.12703359233606 1 +2.1 27 1.07359812210001 1 +2.1 28 1.030325268475 1 +2.1 29 0.984014610613386 1 +2.1 3 3.37810028657556 1 +2.1 30 0.948957741632931 1 +2.1 31 0.91307589889146 1 +2.1 32 0.870699476698128 1 +2.1 33 0.832812639622297 1 +2.1 34 0.805436542741024 1 +2.1 35 0.772159017478803 1 +2.1 36 0.734386402840569 1 +2.1 37 0.706584588020022 1 +2.1 38 0.67809451569229 1 +2.1 39 0.647104342251178 1 +2.1 4 3.14940500508212 1 +2.1 40 0.621543879186388 1 +2.1 41 0.598361523644953 1 +2.1 42 0.571011891694537 1 +2.1 43 0.542751354889894 1 +2.1 44 0.528402315015127 1 +2.1 45 0.502464334434733 1 +2.1 46 0.484947423014317 1 +2.1 47 0.457258609982583 1 +2.1 48 0.43763172332108 1 +2.1 49 0.418221290351818 1 +2.1 5 2.93086950548373 1 +2.1 50 0.40514147536536 1 +2.1 51 0.381814282153057 1 +2.1 52 0.363015758847674 1 +2.1 53 0.348426564741287 1 +2.1 54 0.33443817757907 1 +2.1 55 0.316150481440467 1 +2.1 56 0.299464596183441 1 +2.1 57 0.282183421081562 1 +2.1 58 0.269921265811214 1 +2.1 59 0.261950968908023 1 +2.1 6 2.75879044960937 1 +2.1 60 0.25215207715949 1 +2.1 61 0.231190066093244 1 +2.1 62 0.22393435325866 1 +2.1 63 0.208429427084707 1 +2.1 64 0.201483370979011 1 +2.1 65 0.193554955137362 1 +2.1 66 0.177673068695054 1 +2.1 67 0.166668063416111 1 +2.1 68 0.159070465550273 1 +2.1 69 0.148735507951936 1 +2.1 7 2.6060052681158 1 +2.1 70 0.139611312095396 1 +2.1 71 0.138046890844634 1 +2.1 72 0.122029780128035 1 +2.1 73 0.11503536480506 1 +2.1 74 0.106656303015403 1 +2.1 75 0.103693793401311 1 +2.1 76 0.0921561712779976 1 +2.1 77 0.0821320257910074 1 +2.1 78 0.0798687844396231 1 +2.1 79 0.0711615288850682 1 +2.1 8 2.46854882441762 1 +2.1 80 0.0661747175381107 1 +2.1 81 0.0600982577496266 1 +2.1 82 0.0551848730732133 1 +2.1 83 0.0471503021384045 1 +2.1 84 0.0420476436043839 1 +2.1 85 0.0387280608316722 1 +2.1 86 0.0363636480919577 1 +2.1 87 0.0279027344490678 1 +2.1 88 0.0179236355074849 1 +2.1 89 0.0200937025346808 1 +2.1 9 2.34502356618343 1 +2.1 90 0.00917150906956999 1 +2.1 91 0.00718010983560849 1 +2.1 92 0.00534594589262166 1 +2.1 93 -0.00242129201026724 1 +2.1 94 -0.00597789192548497 1 +2.1 95 -0.0163512759915619 1 +2.1 96 -0.0129161517761452 1 +2.1 97 -0.0159009403010324 1 +2.1 98 -0.019787339290891 1 +2.1 99 -0.0236662279146899 1 +2.1 0 6.92522745953136 2 +2.1 1 6.38159356387142 2 +2.1 10 3.85488075688346 2 +2.1 100 0.360557312706264 2 +2.1 11 3.70316278248158 2 +2.1 12 3.59254391266755 2 +2.1 13 3.45441547011276 2 +2.1 14 3.34183860462833 2 +2.1 15 3.24109933114326 2 +2.1 16 3.14660883674071 2 +2.1 17 3.06208424442733 2 +2.1 18 2.96655324202464 2 +2.1 19 2.89087386807455 2 +2.1 2 5.84974999811933 2 +2.1 20 2.80717935198195 2 +2.1 21 2.7275314448683 2 +2.1 22 2.65718964123114 2 +2.1 23 2.58316545931789 2 +2.1 24 2.51681817346974 2 +2.1 25 2.45045903301191 2 +2.1 26 2.39804895281892 2 +2.1 27 2.32976840406331 2 +2.1 28 2.27225214625124 2 +2.1 29 2.22202758709447 2 +2.1 3 5.39038187536924 2 +2.1 30 2.1619220716328 2 +2.1 31 2.10207560127259 2 +2.1 32 2.06465756217451 2 +2.1 33 2.01566708870182 2 +2.1 34 1.9607613391961 2 +2.1 35 1.91298105939801 2 +2.1 36 1.87615822407778 2 +2.1 37 1.8303534648305 2 +2.1 38 1.76951640792704 2 +2.1 39 1.73565399327526 2 +2.1 4 5.06934262528745 2 +2.1 40 1.68837008429436 2 +2.1 41 1.64779583387425 2 +2.1 42 1.60979031010337 2 +2.1 43 1.57284661710098 2 +2.1 44 1.53098568485081 2 +2.1 45 1.49564506683431 2 +2.1 46 1.45919914161291 2 +2.1 47 1.42689599250932 2 +2.1 48 1.38820366457436 2 +2.1 49 1.36045782512679 2 +2.1 5 4.79452095447778 2 +2.1 50 1.32348398743968 2 +2.1 51 1.29370336556646 2 +2.1 52 1.26109501528713 2 +2.1 53 1.23520251033613 2 +2.1 54 1.2036425113881 2 +2.1 55 1.17083980230915 2 +2.1 56 1.14397942027056 2 +2.1 57 1.11420892229916 2 +2.1 58 1.09095154761272 2 +2.1 59 1.06804584957303 2 +2.1 6 4.5715606083672 2 +2.1 60 1.03713980887543 2 +2.1 61 1.00899759751194 2 +2.1 62 0.97165390937142 2 +2.1 63 0.964071105428758 2 +2.1 64 0.939222774321051 2 +2.1 65 0.914456709055449 2 +2.1 66 0.889016683310758 2 +2.1 67 0.872462523915421 2 +2.1 68 0.844460754984825 2 +2.1 69 0.829448768463473 2 +2.1 7 4.36939316230691 2 +2.1 70 0.805875336581824 2 +2.1 71 0.782548553492835 2 +2.1 72 0.764808317149306 2 +2.1 73 0.742030931982215 2 +2.1 74 0.732281413007165 2 +2.1 75 0.711273122696004 2 +2.1 76 0.686737410260807 2 +2.1 77 0.671406518681305 2 +2.1 78 0.650063654415983 2 +2.1 79 0.636007094332597 2 +2.1 8 4.17317787852499 2 +2.1 80 0.61686925357403 2 +2.1 81 0.614526083634368 2 +2.1 82 0.589480568273255 2 +2.1 83 0.569020737480234 2 +2.1 84 0.559664374006814 2 +2.1 85 0.542253378552065 2 +2.1 86 0.534910085674644 2 +2.1 87 0.514911887680394 2 +2.1 88 0.500573840794144 2 +2.1 89 0.491565597319969 2 +2.1 9 3.99464085061884 2 +2.1 90 0.48414960251787 2 +2.1 91 0.461398828185387 2 +2.1 92 0.449477532318906 2 +2.1 93 0.436430067724894 2 +2.1 94 0.425432077587601 2 +2.1 95 0.419474375789111 2 +2.1 96 0.408799867601452 2 +2.1 97 0.39537233050781 2 +2.1 98 0.379596636830607 2 +2.1 99 0.365298693548955 2 +2.2 0 5.22266227629216 1 +2.2 1 4.65996676536721 1 +2.2 10 2.55653015544245 1 +2.2 100 0.0219561410754656 1 +2.2 11 2.45214315337876 1 +2.2 12 2.33818026087244 1 +2.2 13 2.2436202128136 1 +2.2 14 2.16098971241316 1 +2.2 15 2.06687085445151 1 +2.2 16 1.9993928014416 1 +2.2 17 1.91170389806717 1 +2.2 18 1.83859005954612 1 +2.2 19 1.77832196355121 1 +2.2 2 4.17712788270353 1 +2.2 20 1.69741671094392 1 +2.2 21 1.64667540239828 1 +2.2 22 1.57530735172836 1 +2.2 23 1.52883996152621 1 +2.2 24 1.46997464437164 1 +2.2 25 1.42263509129095 1 +2.2 26 1.37272465138435 1 +2.2 27 1.31616681703397 1 +2.2 28 1.27441125953534 1 +2.2 29 1.22251951297396 1 +2.2 3 3.79287698562361 1 +2.2 30 1.17909106756308 1 +2.2 31 1.14094173817556 1 +2.2 32 1.09905742125412 1 +2.2 33 1.05920467722242 1 +2.2 34 1.02074935338382 1 +2.2 35 0.979851859173413 1 +2.2 36 0.950955868387233 1 +2.2 37 0.915851304429543 1 +2.2 38 0.881995504792862 1 +2.2 39 0.846967603504022 1 +2.2 4 3.53108139219228 1 +2.2 40 0.821024117403049 1 +2.2 41 0.790114794592657 1 +2.2 42 0.760887012876767 1 +2.2 43 0.729268096925151 1 +2.2 44 0.70526441593317 1 +2.2 45 0.68289370211187 1 +2.2 46 0.658586175817808 1 +2.2 47 0.626997525064465 1 +2.2 48 0.604584593345092 1 +2.2 49 0.5915980500921 1 +2.2 5 3.32262543681169 1 +2.2 50 0.563638588602624 1 +2.2 51 0.534083961195255 1 +2.2 52 0.521946601179608 1 +2.2 53 0.499735398271648 1 +2.2 54 0.489475790044966 1 +2.2 55 0.455432467677228 1 +2.2 56 0.44615421630437 1 +2.2 57 0.424276755411221 1 +2.2 58 0.409720307000202 1 +2.2 59 0.395567720701532 1 +2.2 6 3.14259321656063 1 +2.2 60 0.377271584791023 1 +2.2 61 0.370706874582113 1 +2.2 62 0.345554306681887 1 +2.2 63 0.337455621469005 1 +2.2 64 0.319553015105 1 +2.2 65 0.307961628686377 1 +2.2 66 0.292658392805374 1 +2.2 67 0.278302467987776 1 +2.2 68 0.266096930465704 1 +2.2 69 0.258133043480392 1 +2.2 7 2.96508878539084 1 +2.2 70 0.252367750655326 1 +2.2 71 0.233463675015314 1 +2.2 72 0.22772583870143 1 +2.2 73 0.214132474271586 1 +2.2 74 0.206431851924274 1 +2.2 75 0.189761897760282 1 +2.2 76 0.179491453172412 1 +2.2 77 0.178552311986417 1 +2.2 78 0.168999660294648 1 +2.2 79 0.154337028449122 1 +2.2 8 2.82810740374016 1 +2.2 80 0.142854876777314 1 +2.2 81 0.14773237707993 1 +2.2 82 0.131453386502337 1 +2.2 83 0.118786340267058 1 +2.2 84 0.119449368017548 1 +2.2 85 0.110194362816306 1 +2.2 86 0.100697960523885 1 +2.2 87 0.0958600538900647 1 +2.2 88 0.0856082747197624 1 +2.2 89 0.084138037598262 1 +2.2 9 2.68588632413247 1 +2.2 90 0.0795948937657418 1 +2.2 91 0.0701224550010869 1 +2.2 92 0.0682976648099483 1 +2.2 93 0.0626772231967297 1 +2.2 94 0.0519738710261381 1 +2.2 95 0.0462311216856495 1 +2.2 96 0.0467778589810203 1 +2.2 97 0.0398509358782772 1 +2.2 98 0.037758747955446 1 +2.2 99 0.0312240459875624 1 +2.2 0 7.47020784573574 2 +2.2 1 6.94703949324618 2 +2.2 10 4.30510815957688 2 +2.2 100 0.530718700688926 2 +2.2 11 4.15237603566939 2 +2.2 12 4.00875707063851 2 +2.2 13 3.89371641146781 2 +2.2 14 3.77629886399932 2 +2.2 15 3.65369805571431 2 +2.2 16 3.56282112239051 2 +2.2 17 3.45089629174197 2 +2.2 18 3.36420774379722 2 +2.2 19 3.27805804070391 2 +2.2 2 6.42548460253068 2 +2.2 20 3.19653576734584 2 +2.2 21 3.12607902680749 2 +2.2 22 3.05611683079912 2 +2.2 23 2.96955068205393 2 +2.2 24 2.90067754003914 2 +2.2 25 2.82574185618619 2 +2.2 26 2.76946686121974 2 +2.2 27 2.69920752743603 2 +2.2 28 2.64931116508087 2 +2.2 29 2.58212757659506 2 +2.2 3 5.93237842203849 2 +2.2 30 2.51772620397506 2 +2.2 31 2.46550504949184 2 +2.2 32 2.40369777749867 2 +2.2 33 2.36168988719877 2 +2.2 34 2.31437842368717 2 +2.2 35 2.26266642196522 2 +2.2 36 2.217240247304 2 +2.2 37 2.16248647462613 2 +2.2 38 2.12009016202209 2 +2.2 39 2.06134604402515 2 +2.2 4 5.59278945816165 2 +2.2 40 2.02059077070552 2 +2.2 41 1.98298540920409 2 +2.2 42 1.9496172536017 2 +2.2 43 1.90194175446064 2 +2.2 44 1.8566727287157 2 +2.2 45 1.8212655914857 2 +2.2 46 1.77984573993676 2 +2.2 47 1.74056759107236 2 +2.2 48 1.70859890359917 2 +2.2 49 1.66035986839286 2 +2.2 5 5.31596437487239 2 +2.2 50 1.62398319939382 2 +2.2 51 1.59109839583867 2 +2.2 52 1.55481292471586 2 +2.2 53 1.53380134363356 2 +2.2 54 1.50352828235829 2 +2.2 55 1.46623216005347 2 +2.2 56 1.43356441609622 2 +2.2 57 1.40640753481667 2 +2.2 58 1.37745188402144 2 +2.2 59 1.33848717106317 2 +2.2 6 5.08495967297246 2 +2.2 60 1.31384162823242 2 +2.2 61 1.27860048892435 2 +2.2 62 1.25964947057171 2 +2.2 63 1.22654994630435 2 +2.2 64 1.20314888775902 2 +2.2 65 1.18040615398792 2 +2.2 66 1.15197433102752 2 +2.2 67 1.12737761860283 2 +2.2 68 1.10668435147253 2 +2.2 69 1.07636362259626 2 +2.2 7 4.83200694404024 2 +2.2 70 1.05260330634338 2 +2.2 71 1.03172904509842 2 +2.2 72 1.01143736721289 2 +2.2 73 0.986308334040358 2 +2.2 74 0.966681491256125 2 +2.2 75 0.949956561670273 2 +2.2 76 0.932718727175348 2 +2.2 77 0.905339476908493 2 +2.2 78 0.88436338889493 2 +2.2 79 0.864910959708886 2 +2.2 8 4.6645099786353 2 +2.2 80 0.850563420834064 2 +2.2 81 0.832386669995336 2 +2.2 82 0.804862909816552 2 +2.2 83 0.792247899171374 2 +2.2 84 0.774301818002159 2 +2.2 85 0.761603392320294 2 +2.2 86 0.740043016951903 2 +2.2 87 0.719102220544459 2 +2.2 88 0.711625108076292 2 +2.2 89 0.688499002360006 2 +2.2 9 4.4663259624988 2 +2.2 90 0.672972752729111 2 +2.2 91 0.659696413556028 2 +2.2 92 0.641244849559714 2 +2.2 93 0.625231962555479 2 +2.2 94 0.618607517913591 2 +2.2 95 0.596234961868025 2 +2.2 96 0.589653277716675 2 +2.2 97 0.57412305487403 2 +2.2 98 0.556933754082011 2 +2.2 99 0.546096684720881 2 +2.3 0 5.71421941482531 1 +2.3 1 5.12632967020433 1 +2.3 10 2.90431247964363 1 +2.3 100 0.0975660759991996 1 +2.3 11 2.78705611255136 1 +2.3 12 2.67478342320468 1 +2.3 13 2.56625307321573 1 +2.3 14 2.46860992096479 1 +2.3 15 2.37892978536177 1 +2.3 16 2.29532668903082 1 +2.3 17 2.22814771498141 1 +2.3 18 2.14167412671147 1 +2.3 19 2.07061151534653 1 +2.3 2 4.62923733941841 1 +2.3 20 1.99817194755221 1 +2.3 21 1.933708453264 1 +2.3 22 1.86300811162714 1 +2.3 23 1.81254157857562 1 +2.3 24 1.73313107767602 1 +2.3 25 1.69256691418157 1 +2.3 26 1.6364204959596 1 +2.3 27 1.58644965403935 1 +2.3 28 1.52538913051826 1 +2.3 29 1.48476990447518 1 +2.3 3 4.22444357131549 1 +2.3 30 1.43213356949622 1 +2.3 31 1.38548689550709 1 +2.3 32 1.34923002851086 1 +2.3 33 1.29805506345079 1 +2.3 34 1.26644590148258 1 +2.3 35 1.22029497313567 1 +2.3 36 1.18587967593584 1 +2.3 37 1.14260464906168 1 +2.3 38 1.11093440137682 1 +2.3 39 1.07384058954391 1 +2.3 4 3.94294959593482 1 +2.3 40 1.03679885446487 1 +2.3 41 1.00635173219068 1 +2.3 42 0.972627439964622 1 +2.3 43 0.940757031609826 1 +2.3 44 0.903894520621117 1 +2.3 45 0.88654592677769 1 +2.3 46 0.84240540118531 1 +2.3 47 0.818913337047347 1 +2.3 48 0.791768591610782 1 +2.3 49 0.770440517067486 1 +2.3 5 3.72300707069092 1 +2.3 50 0.751067109819164 1 +2.3 51 0.717529038224487 1 +2.3 52 0.694711713624128 1 +2.3 53 0.676136773674255 1 +2.3 54 0.653753228834588 1 +2.3 55 0.626513013191753 1 +2.3 56 0.610369475700611 1 +2.3 57 0.587835864671743 1 +2.3 58 0.568651019709893 1 +2.3 59 0.544498780365452 1 +2.3 6 3.51970497997107 1 +2.3 60 0.530261963964504 1 +2.3 61 0.507821718849271 1 +2.3 62 0.491028399808327 1 +2.3 63 0.482332159440339 1 +2.3 64 0.46434490633368 1 +2.3 65 0.443882534475233 1 +2.3 66 0.425110252989151 1 +2.3 67 0.412051449638837 1 +2.3 68 0.400039393794603 1 +2.3 69 0.386721360742474 1 +2.3 7 3.33834773247644 1 +2.3 70 0.369807732984954 1 +2.3 71 0.354826111080008 1 +2.3 72 0.346327092089049 1 +2.3 73 0.334349807401771 1 +2.3 74 0.313547973056116 1 +2.3 75 0.31014264138695 1 +2.3 76 0.293616576894105 1 +2.3 77 0.283820311876005 1 +2.3 78 0.268285137592601 1 +2.3 79 0.260666563761733 1 +2.3 8 3.17569407440345 1 +2.3 80 0.246141267164201 1 +2.3 81 0.239387772131784 1 +2.3 82 0.231129615314023 1 +2.3 83 0.220025351816218 1 +2.3 84 0.209289107169486 1 +2.3 85 0.202613290272533 1 +2.3 86 0.197863574718784 1 +2.3 87 0.188229055306469 1 +2.3 88 0.179996816275623 1 +2.3 89 0.168793821383755 1 +2.3 9 3.04285762286203 1 +2.3 90 0.155917285505409 1 +2.3 91 0.159355838818005 1 +2.3 92 0.145179740004332 1 +2.3 93 0.135490668097239 1 +2.3 94 0.130543834115478 1 +2.3 95 0.124868238585025 1 +2.3 96 0.113249357982509 1 +2.3 97 0.109228915868073 1 +2.3 98 0.102531206277616 1 +2.3 99 0.0980179843744246 1 +2.3 0 8.0435606098066 2 +2.3 1 7.51622556573666 2 +2.3 10 4.76837308033336 2 +2.3 100 0.733462825076273 2 +2.3 11 4.61414937641009 2 +2.3 12 4.47583338784718 2 +2.3 13 4.34958910341815 2 +2.3 14 4.20864988338728 2 +2.3 15 4.09329058694903 2 +2.3 16 3.99149910483541 2 +2.3 17 3.88232095341124 2 +2.3 18 3.78521578936753 2 +2.3 19 3.68627918776637 2 +2.3 2 6.97331618609578 2 +2.3 20 3.61610917388128 2 +2.3 21 3.51640602833502 2 +2.3 22 3.45094428997466 2 +2.3 23 3.36680100041647 2 +2.3 24 3.2816465872247 2 +2.3 25 3.20774474408087 2 +2.3 26 3.15251290374619 2 +2.3 27 3.07712585828884 2 +2.3 28 3.02031244286929 2 +2.3 29 2.95443748971077 2 +2.3 3 6.49934769836587 2 +2.3 30 2.89006881748366 2 +2.3 31 2.8408726622067 2 +2.3 32 2.78325342453302 2 +2.3 33 2.72282739805679 2 +2.3 34 2.6694338789463 2 +2.3 35 2.62139486714723 2 +2.3 36 2.57112368732406 2 +2.3 37 2.52274035620846 2 +2.3 38 2.46427784698044 2 +2.3 39 2.42670507364036 2 +2.3 4 6.1595350895537 2 +2.3 40 2.37219693889783 2 +2.3 41 2.32647673822707 2 +2.3 42 2.28252235238203 2 +2.3 43 2.24070649354954 2 +2.3 44 2.1957392976977 2 +2.3 45 2.16139836154587 2 +2.3 46 2.11608292806049 2 +2.3 47 2.07665360964594 2 +2.3 48 2.03503557473418 2 +2.3 49 1.99664700447183 2 +2.3 5 5.84724025930288 2 +2.3 50 1.94930313064472 2 +2.3 51 1.91606695290364 2 +2.3 52 1.88493816596245 2 +2.3 53 1.85578331869169 2 +2.3 54 1.81456282367612 2 +2.3 55 1.77483619206707 2 +2.3 56 1.75092735617296 2 +2.3 57 1.71777173424124 2 +2.3 58 1.67826848543327 2 +2.3 59 1.6473027001246 2 +2.3 6 5.61214161885305 2 +2.3 60 1.61872471845295 2 +2.3 61 1.58270991698328 2 +2.3 62 1.55092615053024 2 +2.3 63 1.51695175088085 2 +2.3 64 1.49864943338768 2 +2.3 65 1.46512800612395 2 +2.3 66 1.44082125905172 2 +2.3 67 1.41766573686572 2 +2.3 68 1.3866516917562 2 +2.3 69 1.36480389107143 2 +2.3 7 5.3530256959238 2 +2.3 70 1.33155326268973 2 +2.3 71 1.30480370043288 2 +2.3 72 1.28601410118676 2 +2.3 73 1.2611245337416 2 +2.3 74 1.23080732524741 2 +2.3 75 1.20804294797573 2 +2.3 76 1.19291507638969 2 +2.3 77 1.16790410691898 2 +2.3 78 1.14174942379931 2 +2.3 79 1.1184831191071 2 +2.3 8 5.15305934109266 2 +2.3 80 1.09701347724067 2 +2.3 81 1.07327863037923 2 +2.3 82 1.05207350731724 2 +2.3 83 1.03059688041487 2 +2.3 84 1.01133646948879 2 +2.3 85 0.993666069213819 2 +2.3 86 0.972520466321152 2 +2.3 87 0.956841402018537 2 +2.3 88 0.933080126191979 2 +2.3 89 0.919416460313285 2 +2.3 9 4.95678648518387 2 +2.3 90 0.896662415960744 2 +2.3 91 0.879554379270299 2 +2.3 92 0.864843641341527 2 +2.3 93 0.846071205619577 2 +2.3 94 0.836289846551204 2 +2.3 95 0.814909814878387 2 +2.3 96 0.804050256817373 2 +2.3 97 0.786431539542049 2 +2.3 98 0.767478280722936 2 +2.3 99 0.747618618060222 2 +2.4 0 6.19289065102082 1 +2.4 1 5.62328927240588 1 +2.4 10 3.27219779360073 1 +2.4 100 0.17575337903534 1 +2.4 11 3.13416711312725 1 +2.4 12 3.00511637404798 1 +2.4 13 2.91400234167586 1 +2.4 14 2.79690247716145 1 +2.4 15 2.70670468263329 1 +2.4 16 2.62181146602906 1 +2.4 17 2.53375597315389 1 +2.4 18 2.44847613716433 1 +2.4 19 2.36917651965834 1 +2.4 2 5.09438871529251 1 +2.4 20 2.2952110283248 1 +2.4 21 2.22499132620209 1 +2.4 22 2.15437589136765 1 +2.4 23 2.10301425674653 1 +2.4 24 2.02970140556787 1 +2.4 25 1.97159932683427 1 +2.4 26 1.91327624177221 1 +2.4 27 1.85715934218194 1 +2.4 28 1.80558840828241 1 +2.4 29 1.74543863706044 1 +2.4 3 4.66553855973421 1 +2.4 30 1.70123432510015 1 +2.4 31 1.65476828689127 1 +2.4 32 1.607264185925 1 +2.4 33 1.56730019218264 1 +2.4 34 1.51929281947112 1 +2.4 35 1.46755193422226 1 +2.4 36 1.4327325115312 1 +2.4 37 1.388130493921 1 +2.4 38 1.35715675432979 1 +2.4 39 1.30394245752755 1 +2.4 4 4.37412928311309 1 +2.4 40 1.27196816895253 1 +2.4 41 1.23861053402553 1 +2.4 42 1.20519232773037 1 +2.4 43 1.16562144010577 1 +2.4 44 1.12930123107393 1 +2.4 45 1.10816376806037 1 +2.4 46 1.0762409706189 1 +2.4 47 1.04435921972222 1 +2.4 48 1.00626917686846 1 +2.4 49 0.973663306903802 1 +2.4 5 4.13106432475478 1 +2.4 50 0.947715984101834 1 +2.4 51 0.920109792345689 1 +2.4 52 0.89716081708438 1 +2.4 53 0.873536029942188 1 +2.4 54 0.841663952919005 1 +2.4 55 0.822962727886745 1 +2.4 56 0.793856931903373 1 +2.4 57 0.776201841117665 1 +2.4 58 0.751251191887551 1 +2.4 59 0.732870942683863 1 +2.4 6 3.91065618491846 1 +2.4 60 0.704347510411232 1 +2.4 61 0.685208221061706 1 +2.4 62 0.665308585556872 1 +2.4 63 0.644160468445016 1 +2.4 64 0.619187753592486 1 +2.4 65 0.604209756444176 1 +2.4 66 0.57991928591882 1 +2.4 67 0.569258988223898 1 +2.4 68 0.555558079665982 1 +2.4 69 0.528568019289913 1 +2.4 7 3.71646868894658 1 +2.4 70 0.516745044285865 1 +2.4 71 0.501019102153582 1 +2.4 72 0.486759817799258 1 +2.4 73 0.472353379427555 1 +2.4 74 0.454697630158657 1 +2.4 75 0.44562834788403 1 +2.4 76 0.424479560491471 1 +2.4 77 0.412954676681664 1 +2.4 78 0.404015770899226 1 +2.4 79 0.390484216538262 1 +2.4 8 3.56205978911125 1 +2.4 80 0.375058998198097 1 +2.4 81 0.358046928361959 1 +2.4 82 0.352940512770274 1 +2.4 83 0.33701926085213 1 +2.4 84 0.328616173665208 1 +2.4 85 0.316118973440616 1 +2.4 86 0.308723589504284 1 +2.4 87 0.293727107440379 1 +2.4 88 0.283663045611279 1 +2.4 89 0.270050665619156 1 +2.4 9 3.40421594629477 1 +2.4 90 0.267782002115068 1 +2.4 91 0.251058748548686 1 +2.4 92 0.244205772337251 1 +2.4 93 0.237145749506003 1 +2.4 94 0.228380856821994 1 +2.4 95 0.218290975127804 1 +2.4 96 0.210350964675661 1 +2.4 97 0.20347743904216 1 +2.4 98 0.195096416021619 1 +2.4 99 0.191776131521735 1 +2.4 0 8.60891661163384 2 +2.4 1 8.08026618530479 2 +2.4 10 5.25665772136521 2 +2.4 100 0.964259012467912 2 +2.4 11 5.09398236154632 2 +2.4 12 4.9273298579712 2 +2.4 13 4.79325750063705 2 +2.4 14 4.65197231981603 2 +2.4 15 4.54331216107395 2 +2.4 16 4.43195972365015 2 +2.4 17 4.31722478636184 2 +2.4 18 4.22214652351625 2 +2.4 19 4.10069108036201 2 +2.4 2 7.52066246120961 2 +2.4 20 4.01461319397336 2 +2.4 21 3.93232764844649 2 +2.4 22 3.85777209551511 2 +2.4 23 3.76655587810547 2 +2.4 24 3.6902019417789 2 +2.4 25 3.60710935739424 2 +2.4 26 3.55219615485359 2 +2.4 27 3.47737067643571 2 +2.4 28 3.40151516796651 2 +2.4 29 3.34175703921582 2 +2.4 3 7.05379509520356 2 +2.4 30 3.27783224436173 2 +2.4 31 3.21849816953792 2 +2.4 32 3.15233165525038 2 +2.4 33 3.10544792666149 2 +2.4 34 3.03504323791834 2 +2.4 35 2.98957537409059 2 +2.4 36 2.92815198556707 2 +2.4 37 2.89258909993803 2 +2.4 38 2.83111057656381 2 +2.4 39 2.79258685657095 2 +2.4 4 6.68308230752363 2 +2.4 40 2.7367674689332 2 +2.4 41 2.68231007582798 2 +2.4 42 2.64366209831429 2 +2.4 43 2.58612885824726 2 +2.4 44 2.54232169620612 2 +2.4 45 2.5034205061772 2 +2.4 46 2.469664160661 2 +2.4 47 2.41729416873713 2 +2.4 48 2.37507162159895 2 +2.4 49 2.34042494951457 2 +2.4 5 6.38555580712888 2 +2.4 50 2.29246709388108 2 +2.4 51 2.26026928583983 2 +2.4 52 2.21539724336621 2 +2.4 53 2.18737599496111 2 +2.4 54 2.1518685270321 2 +2.4 55 2.10896871248881 2 +2.4 56 2.07715445509371 2 +2.4 57 2.03672406088971 2 +2.4 58 1.99700236539889 2 +2.4 59 1.96295459823177 2 +2.4 6 6.10839677500691 2 +2.4 60 1.92835140589238 2 +2.4 61 1.90633875044581 2 +2.4 62 1.87723298473669 2 +2.4 63 1.84323796189742 2 +2.4 64 1.80670411047115 2 +2.4 65 1.77855525298904 2 +2.4 66 1.75123959013735 2 +2.4 67 1.71802329558568 2 +2.4 68 1.68286868349238 2 +2.4 69 1.66416914371602 2 +2.4 7 5.87561149580314 2 +2.4 70 1.63105677662437 2 +2.4 71 1.59864397916519 2 +2.4 72 1.57927171871916 2 +2.4 73 1.5449158830018 2 +2.4 74 1.52937681124181 2 +2.4 75 1.49615465407721 2 +2.4 76 1.46814687381256 2 +2.4 77 1.43951252910679 2 +2.4 78 1.42018107895452 2 +2.4 79 1.39350579423099 2 +2.4 8 5.65648798624224 2 +2.4 80 1.37334650380794 2 +2.4 81 1.34915951490504 2 +2.4 82 1.32702170455062 2 +2.4 83 1.3018935376859 2 +2.4 84 1.28790164523276 2 +2.4 85 1.26136311951953 2 +2.4 86 1.23345863782745 2 +2.4 87 1.21282065576814 2 +2.4 88 1.19307866979948 2 +2.4 89 1.17358392732846 2 +2.4 9 5.45854123730757 2 +2.4 90 1.15785319297221 2 +2.4 91 1.13565605070769 2 +2.4 92 1.1111402249292 2 +2.4 93 1.09135896865345 2 +2.4 94 1.07185633976729 2 +2.4 95 1.05822463911704 2 +2.4 96 1.03377440179808 2 +2.4 97 1.02091630657411 2 +2.4 98 1.00043181658304 2 +2.4 99 0.97909541714616 2 +2.5 0 6.66108677888003 1 +2.5 1 6.10878201441424 1 +2.5 10 3.63468823841164 1 +2.5 100 0.286441618984165 1 +2.5 11 3.4763448600681 1 +2.5 12 3.37910887124318 1 +2.5 13 3.24640782520187 1 +2.5 14 3.13221522249238 1 +2.5 15 3.03817394010547 1 +2.5 16 2.9448178519626 1 +2.5 17 2.85013726188126 1 +2.5 18 2.76945218475211 1 +2.5 19 2.67697298692802 1 +2.5 2 5.55240477540471 1 +2.5 20 2.60739568157584 1 +2.5 21 2.53817153921398 1 +2.5 22 2.45624495748301 1 +2.5 23 2.40484938294127 1 +2.5 24 2.33186270185695 1 +2.5 25 2.27900929008832 1 +2.5 26 2.20800275039291 1 +2.5 27 2.14556942799693 1 +2.5 28 2.09100369519718 1 +2.5 29 2.0337489981861 1 +2.5 3 5.12319590039993 1 +2.5 30 1.98469500195539 1 +2.5 31 1.92767013888657 1 +2.5 32 1.88376821832505 1 +2.5 33 1.82718497710444 1 +2.5 34 1.78748135946913 1 +2.5 35 1.74163737045385 1 +2.5 36 1.69207782549451 1 +2.5 37 1.65192369899358 1 +2.5 38 1.60850129941192 1 +2.5 39 1.55933128816814 1 +2.5 4 4.80350793679905 1 +2.5 40 1.52604713087551 1 +2.5 41 1.47642127008485 1 +2.5 42 1.45006566928521 1 +2.5 43 1.411250808881 1 +2.5 44 1.3685204665786 1 +2.5 45 1.33693841484675 1 +2.5 46 1.30326152471675 1 +2.5 47 1.27460631461704 1 +2.5 48 1.24343113183537 1 +2.5 49 1.20798294198687 1 +2.5 5 4.55256659887176 1 +2.5 50 1.17479516570852 1 +2.5 51 1.14412697826564 1 +2.5 52 1.10697438441924 1 +2.5 53 1.08661776178664 1 +2.5 54 1.0584359234141 1 +2.5 55 1.02961492984134 1 +2.5 56 1.00339790509616 1 +2.5 57 0.970032740175849 1 +2.5 58 0.943893513050747 1 +2.5 59 0.930660465575712 1 +2.5 6 4.31492065980001 1 +2.5 60 0.89758728119899 1 +2.5 61 0.87614252741427 1 +2.5 62 0.851197798163279 1 +2.5 63 0.827998086546805 1 +2.5 64 0.810280188508835 1 +2.5 65 0.792008150771831 1 +2.5 66 0.768428913189849 1 +2.5 67 0.740529842909605 1 +2.5 68 0.728776831373073 1 +2.5 69 0.707242991739265 1 +2.5 7 4.12846219370864 1 +2.5 70 0.68424018946066 1 +2.5 71 0.668208435062142 1 +2.5 72 0.651753319165219 1 +2.5 73 0.63325134714975 1 +2.5 74 0.613885777145602 1 +2.5 75 0.603930695157451 1 +2.5 76 0.581235120873711 1 +2.5 77 0.566466124349779 1 +2.5 78 0.549766459067914 1 +2.5 79 0.532396925798588 1 +2.5 8 3.94253693373029 1 +2.5 80 0.529860613907417 1 +2.5 81 0.513407764078808 1 +2.5 82 0.494408307505038 1 +2.5 83 0.483772226716774 1 +2.5 84 0.458633668362969 1 +2.5 85 0.454200186293921 1 +2.5 86 0.43965422213579 1 +2.5 87 0.424015999119519 1 +2.5 88 0.41536421133981 1 +2.5 89 0.399296189477434 1 +2.5 9 3.77578672666427 1 +2.5 90 0.390889198059613 1 +2.5 91 0.384801630369593 1 +2.5 92 0.361284497858648 1 +2.5 93 0.356793875576418 1 +2.5 94 0.347377519732986 1 +2.5 95 0.336021322999604 1 +2.5 96 0.324370452598036 1 +2.5 97 0.320452057954292 1 +2.5 98 0.302475759020132 1 +2.5 99 0.293324074593639 1 +2.5 0 9.14844958278354 2 +2.5 1 8.62826391221374 2 +2.5 10 5.75041056622914 2 +2.5 100 1.21816910865956 2 +2.5 11 5.55925599914258 2 +2.5 12 5.40695011258142 2 +2.5 13 5.26268061861015 2 +2.5 14 5.12802914553037 2 +2.5 15 4.98630443673978 2 +2.5 16 4.87321030533926 2 +2.5 17 4.75138421518931 2 +2.5 18 4.64204679700512 2 +2.5 19 4.5317425551591 2 +2.5 2 8.09980337453803 2 +2.5 20 4.44201734935158 2 +2.5 21 4.35120815071545 2 +2.5 22 4.25097989423538 2 +2.5 23 4.1759230217044 2 +2.5 24 4.09728718917487 2 +2.5 25 3.99770423205165 2 +2.5 26 3.94831574023733 2 +2.5 27 3.8718237334042 2 +2.5 28 3.79438885400584 2 +2.5 29 3.72151722786973 2 +2.5 3 7.59464993007635 2 +2.5 30 3.65812164538313 2 +2.5 31 3.59929185977202 2 +2.5 32 3.53835900453821 2 +2.5 33 3.48225458708387 2 +2.5 34 3.4158555212703 2 +2.5 35 3.35711110357485 2 +2.5 36 3.30664366326831 2 +2.5 37 3.25839827465373 2 +2.5 38 3.20107226876049 2 +2.5 39 3.14539839980806 2 +2.5 4 7.26059777605735 2 +2.5 40 3.10016534680665 2 +2.5 41 3.05686529682768 2 +2.5 42 3.00681859666955 2 +2.5 43 2.95569178621944 2 +2.5 44 2.9145024146084 2 +2.5 45 2.86196141702191 2 +2.5 46 2.81297003568694 2 +2.5 47 2.78409663190839 2 +2.5 48 2.74012701087234 2 +2.5 49 2.69250221624688 2 +2.5 5 6.92743326960637 2 +2.5 50 2.65283960833925 2 +2.5 51 2.61201900120269 2 +2.5 52 2.58210201003061 2 +2.5 53 2.54106678083954 2 +2.5 54 2.48583645292817 2 +2.5 55 2.44800544295029 2 +2.5 56 2.41635404441239 2 +2.5 57 2.37910612975914 2 +2.5 58 2.35167978820387 2 +2.5 59 2.29361193671022 2 +2.5 6 6.64141627886858 2 +2.5 60 2.26973744152989 2 +2.5 61 2.24669140069015 2 +2.5 62 2.20635096866408 2 +2.5 63 2.16776960335125 2 +2.5 64 2.13991481787481 2 +2.5 65 2.10425426462086 2 +2.5 66 2.08250805715062 2 +2.5 67 2.04639703745852 2 +2.5 68 2.0130029232876 2 +2.5 69 1.98288200015229 2 +2.5 7 6.38397530693158 2 +2.5 70 1.95003827266286 2 +2.5 71 1.91973881694806 2 +2.5 72 1.89036674291954 2 +2.5 73 1.85628864161313 2 +2.5 74 1.83318881968753 2 +2.5 75 1.8069234170178 2 +2.5 76 1.77904160327855 2 +2.5 77 1.74691129180394 2 +2.5 78 1.72959109926234 2 +2.5 79 1.69604811167452 2 +2.5 8 6.13960520143026 2 +2.5 80 1.66884210686895 2 +2.5 81 1.64716413528283 2 +2.5 82 1.61729857303325 2 +2.5 83 1.59631153854272 2 +2.5 84 1.56904246863031 2 +2.5 85 1.55049398224479 2 +2.5 86 1.5207296546588 2 +2.5 87 1.50365451020369 2 +2.5 88 1.47562232781381 2 +2.5 89 1.45025632713147 2 +2.5 9 5.92952376562212 2 +2.5 90 1.43437027038968 2 +2.5 91 1.40100246495101 2 +2.5 92 1.38785510846611 2 +2.5 93 1.36057121073446 2 +2.5 94 1.34488344465054 2 +2.5 95 1.31766688076714 2 +2.5 96 1.2981664638779 2 +2.5 97 1.28158337168674 2 +2.5 98 1.26328050142943 2 +2.5 99 1.24361928403852 2 +2.6 0 7.1247384723341 1 +2.6 1 6.57390561750357 1 +2.6 10 3.99746313142409 1 +2.6 100 0.407741324761675 1 +2.6 11 3.86131605056393 1 +2.6 12 3.72738013217338 1 +2.6 13 3.60322951814917 1 +2.6 14 3.47965418868428 1 +2.6 15 3.37701949608601 1 +2.6 16 3.26967794889086 1 +2.6 17 3.18112388541919 1 +2.6 18 3.07847283016326 1 +2.6 19 3.01748530836985 1 +2.6 2 6.01418813926305 1 +2.6 20 2.93424325759376 1 +2.6 21 2.85752137806686 1 +2.6 22 2.78325109765478 1 +2.6 23 2.7132840175936 1 +2.6 24 2.63383378621868 1 +2.6 25 2.56796193628865 1 +2.6 26 2.50050583665348 1 +2.6 27 2.44591344782894 1 +2.6 28 2.39055237206647 1 +2.6 29 2.32985649286466 1 +2.6 3 5.56298548467235 1 +2.6 30 2.26517688083361 1 +2.6 31 2.21466735215676 1 +2.6 32 2.16984576246702 1 +2.6 33 2.11776271509395 1 +2.6 34 2.05700825537932 1 +2.6 35 2.02283640113482 1 +2.6 36 1.97746011946117 1 +2.6 37 1.92762557521334 1 +2.6 38 1.87124102922255 1 +2.6 39 1.82615974620937 1 +2.6 4 5.25551597013898 1 +2.6 40 1.7967957023927 1 +2.6 41 1.74752211130216 1 +2.6 42 1.70582052196323 1 +2.6 43 1.66374980464783 1 +2.6 44 1.62513564558474 1 +2.6 45 1.59806169681481 1 +2.6 46 1.55114806769275 1 +2.6 47 1.52078806684744 1 +2.6 48 1.48080567148951 1 +2.6 49 1.4461255993072 1 +2.6 5 4.9725539217365 1 +2.6 50 1.41907293805123 1 +2.6 51 1.38146428235839 1 +2.6 52 1.35601194203853 1 +2.6 53 1.3180887979428 1 +2.6 54 1.29420523404169 1 +2.6 55 1.25544766384885 1 +2.6 56 1.2369425934847 1 +2.6 57 1.19702037715476 1 +2.6 58 1.1684742700983 1 +2.6 59 1.14214287814392 1 +2.6 6 4.73625288548129 1 +2.6 60 1.11835504746277 1 +2.6 61 1.09026441185419 1 +2.6 62 1.06215904394458 1 +2.6 63 1.04105294352052 1 +2.6 64 1.01235383886169 1 +2.6 65 0.986044761068797 1 +2.6 66 0.966384565919463 1 +2.6 67 0.93999419488486 1 +2.6 68 0.922807705808295 1 +2.6 69 0.90740240420128 1 +2.6 7 4.52030131154147 1 +2.6 70 0.873858659927807 1 +2.6 71 0.85993350210775 1 +2.6 72 0.8381202487378 1 +2.6 73 0.818935768902433 1 +2.6 74 0.794430006499349 1 +2.6 75 0.779956244826348 1 +2.6 76 0.756764523646806 1 +2.6 77 0.747041442526608 1 +2.6 78 0.725277946724154 1 +2.6 79 0.710083922992724 1 +2.6 8 4.33557447671415 1 +2.6 80 0.694317704973807 1 +2.6 81 0.667830268060598 1 +2.6 82 0.662267314679993 1 +2.6 83 0.637087958504147 1 +2.6 84 0.62239574586305 1 +2.6 85 0.610908475400518 1 +2.6 86 0.593195125790674 1 +2.6 87 0.578506554999088 1 +2.6 88 0.56518441457628 1 +2.6 89 0.549329410449149 1 +2.6 9 4.15046493944625 1 +2.6 90 0.536943622900288 1 +2.6 91 0.527965783399202 1 +2.6 92 0.509832283486365 1 +2.6 93 0.501956395742287 1 +2.6 94 0.47910799207375 1 +2.6 95 0.473378945394892 1 +2.6 96 0.456652700678435 1 +2.6 97 0.448930347862222 1 +2.6 98 0.427876772207391 1 +2.6 99 0.423855282298539 1 +2.6 0 9.66793048385922 2 +2.6 1 9.17512343984287 2 +2.6 10 6.22699563348414 2 +2.6 100 1.50347490900542 2 +2.6 11 6.04943371346558 2 +2.6 12 5.88942640799092 2 +2.6 13 5.74370932080763 2 +2.6 14 5.57165469519052 2 +2.6 15 5.44430827542023 2 +2.6 16 5.32502598567021 2 +2.6 17 5.18829504546037 2 +2.6 18 5.08194311115879 2 +2.6 19 4.97197175464863 2 +2.6 2 8.65369663986362 2 +2.6 20 4.87683861844004 2 +2.6 21 4.77776364218886 2 +2.6 22 4.6887420903747 2 +2.6 23 4.59505660528571 2 +2.6 24 4.51168427981937 2 +2.6 25 4.44204918596407 2 +2.6 26 4.34245803413908 2 +2.6 27 4.26824498256572 2 +2.6 28 4.20270782178593 2 +2.6 29 4.12824108835443 2 +2.6 3 8.1543955907281 2 +2.6 30 4.06365789394214 2 +2.6 31 3.99621861308547 2 +2.6 32 3.93559788404983 2 +2.6 33 3.85806839051033 2 +2.6 34 3.80924849565155 2 +2.6 35 3.74775083863703 2 +2.6 36 3.69636721175471 2 +2.6 37 3.6364876245491 2 +2.6 38 3.58775309207332 2 +2.6 39 3.51697435317666 2 +2.6 4 7.79763602956275 2 +2.6 40 3.48046169487684 2 +2.6 41 3.43884103374923 2 +2.6 42 3.37613969365115 2 +2.6 43 3.32954376843786 2 +2.6 44 3.2812806036809 2 +2.6 45 3.2298778101552 2 +2.6 46 3.1977520235963 2 +2.6 47 3.1513958785845 2 +2.6 48 3.10745626861966 2 +2.6 49 3.06181036825093 2 +2.6 5 7.47355388645628 2 +2.6 50 3.02062066875039 2 +2.6 51 2.97234126549304 2 +2.6 52 2.94318119717049 2 +2.6 53 2.88869465690901 2 +2.6 54 2.85437078439246 2 +2.6 55 2.81324991659116 2 +2.6 56 2.77936387162695 2 +2.6 57 2.72653474549531 2 +2.6 58 2.70512241569215 2 +2.6 59 2.67373800512115 2 +2.6 6 7.15382429749441 2 +2.6 60 2.62441711967496 2 +2.6 61 2.58662387024683 2 +2.6 62 2.56308619489042 2 +2.6 63 2.51520258686828 2 +2.6 64 2.47499088066902 2 +2.6 65 2.43973331618396 2 +2.6 66 2.40549520238637 2 +2.6 67 2.37884796900935 2 +2.6 68 2.35106055424033 2 +2.6 69 2.31394006369198 2 +2.6 7 6.89640851583485 2 +2.6 70 2.28331978930886 2 +2.6 71 2.25234532162117 2 +2.6 72 2.21616753377558 2 +2.6 73 2.19370154761157 2 +2.6 74 2.16083013716904 2 +2.6 75 2.13160873088159 2 +2.6 76 2.10921026440654 2 +2.6 77 2.07232687963211 2 +2.6 78 2.05148238198581 2 +2.6 79 2.01581057022339 2 +2.6 8 6.6610554179525 2 +2.6 80 1.98322354200454 2 +2.6 81 1.96642140280725 2 +2.6 82 1.93388676999684 2 +2.6 83 1.91061039300509 2 +2.6 84 1.88610674442616 2 +2.6 85 1.85361254206592 2 +2.6 86 1.83368822093392 2 +2.6 87 1.79585015095892 2 +2.6 88 1.77826332692245 2 +2.6 89 1.75533349729823 2 +2.6 9 6.43819435778324 2 +2.6 90 1.73860851451675 2 +2.6 91 1.70781690425405 2 +2.6 92 1.68083249530109 2 +2.6 93 1.65605332010472 2 +2.6 94 1.63611736868565 2 +2.6 95 1.60904057830568 2 +2.6 96 1.58643359059542 2 +2.6 97 1.57784078143877 2 +2.6 98 1.54716716511101 2 +2.6 99 1.52546269445312 2 +2.7 0 7.60041753962663 1 +2.7 1 7.04871195406051 1 +2.7 10 4.3653809682652 1 +2.7 100 0.560163864219489 1 +2.7 11 4.23975367471821 1 +2.7 12 4.07979582248685 1 +2.7 13 3.94781320572706 1 +2.7 14 3.84435521689094 1 +2.7 15 3.72954540075467 1 +2.7 16 3.63106171291729 1 +2.7 17 3.53641393431497 1 +2.7 18 3.42778642803401 1 +2.7 19 3.34558665741065 1 +2.7 2 6.50209861485472 1 +2.7 20 3.25542943205336 1 +2.7 21 3.17678006297055 1 +2.7 22 3.10351749633664 1 +2.7 23 3.01769553180186 1 +2.7 24 2.95335112241677 1 +2.7 25 2.8933096759403 1 +2.7 26 2.82004309063752 1 +2.7 27 2.74927665328943 1 +2.7 28 2.69120387230075 1 +2.7 29 2.63439456888026 1 +2.7 3 6.02511541017986 1 +2.7 30 2.57502592746654 1 +2.7 31 2.5106786041079 1 +2.7 32 2.45935002050057 1 +2.7 33 2.39852257748107 1 +2.7 34 2.35530485638463 1 +2.7 35 2.29387435133023 1 +2.7 36 2.24812214122075 1 +2.7 37 2.19934035865543 1 +2.7 38 2.15086921567114 1 +2.7 39 2.11476667198631 1 +2.7 4 5.69061243013119 1 +2.7 40 2.07008732884275 1 +2.7 41 2.02382578700708 1 +2.7 42 1.9759543954322 1 +2.7 43 1.93917413162238 1 +2.7 44 1.89850654340514 1 +2.7 45 1.85659548374458 1 +2.7 46 1.82597800164133 1 +2.7 47 1.77706968407576 1 +2.7 48 1.74826676947176 1 +2.7 49 1.7041369541949 1 +2.7 5 5.39620902490803 1 +2.7 50 1.66276377922105 1 +2.7 51 1.63514433781628 1 +2.7 52 1.60753484232193 1 +2.7 53 1.57449355664782 1 +2.7 54 1.53669970284277 1 +2.7 55 1.50268410750609 1 +2.7 56 1.47842080223994 1 +2.7 57 1.43594709196867 1 +2.7 58 1.4119304935743 1 +2.7 59 1.37890516760102 1 +2.7 6 5.14335136180802 1 +2.7 60 1.34743642668072 1 +2.7 61 1.32261139510138 1 +2.7 62 1.29924156376381 1 +2.7 63 1.26464139672773 1 +2.7 64 1.23712371553053 1 +2.7 65 1.21366380699429 1 +2.7 66 1.18661105829932 1 +2.7 67 1.16427831204015 1 +2.7 68 1.13157642591575 1 +2.7 69 1.11309462583845 1 +2.7 7 4.92929940440426 1 +2.7 70 1.088442452407 1 +2.7 71 1.05938550647186 1 +2.7 72 1.0340044775637 1 +2.7 73 1.01442260196311 1 +2.7 74 0.996135891956825 1 +2.7 75 0.974744915920516 1 +2.7 76 0.958800515422504 1 +2.7 77 0.93619787878572 1 +2.7 78 0.914939242625725 1 +2.7 79 0.898441078137244 1 +2.7 8 4.74325981399788 1 +2.7 80 0.868235202983175 1 +2.7 81 0.853199014820584 1 +2.7 82 0.843136176354666 1 +2.7 83 0.818941194658832 1 +2.7 84 0.802481714141394 1 +2.7 85 0.781454040366645 1 +2.7 86 0.764539705149719 1 +2.7 87 0.749577520872156 1 +2.7 88 0.740143226570421 1 +2.7 89 0.716641041955912 1 +2.7 9 4.54339399641438 1 +2.7 90 0.699005297911073 1 +2.7 91 0.681269009330936 1 +2.7 92 0.671493224198837 1 +2.7 93 0.654795743860423 1 +2.7 94 0.641221944051337 1 +2.7 95 0.62445580064414 1 +2.7 96 0.609296917919733 1 +2.7 97 0.592196308005574 1 +2.7 98 0.582246632960274 1 +2.7 99 0.575919422401945 1 +2.7 0 10.1497903042671 2 +2.7 1 9.73522446327803 2 +2.7 10 6.74631955260731 2 +2.7 100 1.79621673440885 2 +2.7 11 6.56249542015348 2 +2.7 12 6.37454494499605 2 +2.7 13 6.20181211234605 2 +2.7 14 6.06445037048744 2 +2.7 15 5.90775780924721 2 +2.7 16 5.77942811904791 2 +2.7 17 5.65882614090125 2 +2.7 18 5.53346551000629 2 +2.7 19 5.41981459135549 2 +2.7 2 9.22020111263619 2 +2.7 20 5.31370645071751 2 +2.7 21 5.20379505928181 2 +2.7 22 5.11097162593417 2 +2.7 23 5.00761184009283 2 +2.7 24 4.93336345056669 2 +2.7 25 4.84872984987847 2 +2.7 26 4.76729384453004 2 +2.7 27 4.67664282461375 2 +2.7 28 4.61419056581701 2 +2.7 29 4.53386967564836 2 +2.7 3 8.70983734588352 2 +2.7 30 4.46646306190456 2 +2.7 31 4.4091208737013 2 +2.7 32 4.31838415738805 2 +2.7 33 4.27846775635888 2 +2.7 34 4.21329567814625 2 +2.7 35 4.14345455921885 2 +2.7 36 4.07811011803281 2 +2.7 37 4.02013724875681 2 +2.7 38 3.96959993299057 2 +2.7 39 3.91672367548429 2 +2.7 4 8.33100183544616 2 +2.7 40 3.85796279025105 2 +2.7 41 3.79807868196352 2 +2.7 42 3.7677357359208 2 +2.7 43 3.71341025960259 2 +2.7 44 3.65355910728902 2 +2.7 45 3.6013030548242 2 +2.7 46 3.56236014226272 2 +2.7 47 3.5225914497902 2 +2.7 48 3.46761619437048 2 +2.7 49 3.43182820254776 2 +2.7 5 8.00523920494214 2 +2.7 50 3.3866492934401 2 +2.7 51 3.33521303194475 2 +2.7 52 3.30293001492018 2 +2.7 53 3.25859589750014 2 +2.7 54 3.21614488638672 2 +2.7 55 3.17202901419316 2 +2.7 56 3.13382038262498 2 +2.7 57 3.07766962573129 2 +2.7 58 3.05269772835759 2 +2.7 59 3.01878159839065 2 +2.7 6 7.7147567689457 2 +2.7 60 2.97417382590193 2 +2.7 61 2.94158903589008 2 +2.7 62 2.90347754542796 2 +2.7 63 2.87209625992239 2 +2.7 64 2.83241688930061 2 +2.7 65 2.80697281792562 2 +2.7 66 2.76200088563251 2 +2.7 67 2.7262127730751 2 +2.7 68 2.69149524644817 2 +2.7 69 2.66473848196914 2 +2.7 7 7.4243482174148 2 +2.7 70 2.63047303460497 2 +2.7 71 2.59997983292094 2 +2.7 72 2.57007043359681 2 +2.7 73 2.53974449618775 2 +2.7 74 2.49073526991725 2 +2.7 75 2.45912467961216 2 +2.7 76 2.42631286234544 2 +2.7 77 2.40091753711181 2 +2.7 78 2.37900726871892 2 +2.7 79 2.35698308883816 2 +2.7 8 7.1960797461245 2 +2.7 80 2.32370813070516 2 +2.7 81 2.27664996505837 2 +2.7 82 2.26676528588348 2 +2.7 83 2.23458306516538 2 +2.7 84 2.20745107566354 2 +2.7 85 2.17724619798065 2 +2.7 86 2.15746722972757 2 +2.7 87 2.11864621189689 2 +2.7 88 2.10035578268048 2 +2.7 89 2.07303763749519 2 +2.7 9 6.96236078645189 2 +2.7 90 2.04346511753432 2 +2.7 91 2.01736629147243 2 +2.7 92 1.99721208358274 2 +2.7 93 1.9617321208122 2 +2.7 94 1.94607311765963 2 +2.7 95 1.92303509895808 2 +2.7 96 1.90538624977705 2 +2.7 97 1.87105033235962 2 +2.7 98 1.85835882904181 2 +2.7 99 1.82565965804069 2 +2.8 0 8.07584696937023 1 +2.8 1 7.51357737937846 1 +2.8 10 4.76847595741189 1 +2.8 100 0.723905673129187 1 +2.8 11 4.62685766612243 1 +2.8 12 4.46223781262773 1 +2.8 13 4.33916127501416 1 +2.8 14 4.20852309081617 1 +2.8 15 4.09642949050795 1 +2.8 16 3.97104997429411 1 +2.8 17 3.86674664794996 1 +2.8 18 3.76736309785084 1 +2.8 19 3.68550081104154 1 +2.8 2 6.96793048555366 1 +2.8 20 3.59940897388189 1 +2.8 21 3.50665998286308 1 +2.8 22 3.42703477854689 1 +2.8 23 3.34087121291134 1 +2.8 24 3.28025648304394 1 +2.8 25 3.20984512035786 1 +2.8 26 3.13702479797825 1 +2.8 27 3.05371202299024 1 +2.8 28 3.0046297737466 1 +2.8 29 2.9314358330225 1 +2.8 3 6.48534927615875 1 +2.8 30 2.87939377571598 1 +2.8 31 2.81447260002107 1 +2.8 32 2.75742143153769 1 +2.8 33 2.71622828753757 1 +2.8 34 2.66287303359514 1 +2.8 35 2.59337826304301 1 +2.8 36 2.54291195718031 1 +2.8 37 2.49495167606629 1 +2.8 38 2.44861075877883 1 +2.8 39 2.40385449016408 1 +2.8 4 6.12371766877302 1 +2.8 40 2.35323989687954 1 +2.8 41 2.30624181315758 1 +2.8 42 2.2575159192046 1 +2.8 43 2.22526384967359 1 +2.8 44 2.17804204934433 1 +2.8 45 2.13288248445319 1 +2.8 46 2.09622901669804 1 +2.8 47 2.05302658157781 1 +2.8 48 2.01150307970283 1 +2.8 49 1.97294287819524 1 +2.8 5 5.83976227124613 1 +2.8 50 1.93514578522021 1 +2.8 51 1.90084973828833 1 +2.8 52 1.86446810204892 1 +2.8 53 1.83004854745167 1 +2.8 54 1.79164916005302 1 +2.8 55 1.7586687267136 1 +2.8 56 1.72855312741215 1 +2.8 57 1.6964294108316 1 +2.8 58 1.65526490535628 1 +2.8 59 1.62307910251335 1 +2.8 6 5.6012447033563 1 +2.8 60 1.59466114838753 1 +2.8 61 1.56756366839568 1 +2.8 62 1.53202561876725 1 +2.8 63 1.50491896165927 1 +2.8 64 1.47365702455285 1 +2.8 65 1.45501929144927 1 +2.8 66 1.41392002995862 1 +2.8 67 1.39834458078179 1 +2.8 68 1.36939903932321 1 +2.8 69 1.34515422440423 1 +2.8 7 5.35008821773615 1 +2.8 70 1.31225260551608 1 +2.8 71 1.2958304277215 1 +2.8 72 1.26479158003933 1 +2.8 73 1.23853043422618 1 +2.8 74 1.20572704034135 1 +2.8 75 1.19148669179843 1 +2.8 76 1.16743413273287 1 +2.8 77 1.14749207838875 1 +2.8 78 1.12341411891993 1 +2.8 79 1.10191821465086 1 +2.8 8 5.14130739797967 1 +2.8 80 1.07748865316456 1 +2.8 81 1.06100269466502 1 +2.8 82 1.0389264098447 1 +2.8 83 1.02085641427622 1 +2.8 84 0.993604765895894 1 +2.8 85 0.980080589924927 1 +2.8 86 0.95689925368936 1 +2.8 87 0.947854185454741 1 +2.8 88 0.921375035072339 1 +2.8 89 0.904299815469286 1 +2.8 9 4.93014345975146 1 +2.8 90 0.885139017953937 1 +2.8 91 0.871555413488065 1 +2.8 92 0.848796653097191 1 +2.8 93 0.839809122517694 1 +2.8 94 0.820090168499122 1 +2.8 95 0.800560195063535 1 +2.8 96 0.782188458998114 1 +2.8 97 0.765115011761897 1 +2.8 98 0.754999425394882 1 +2.8 99 0.733597335236899 1 +2.8 0 10.6805336363639 2 +2.8 1 10.2807807321237 2 +2.8 10 7.23217459190128 2 +2.8 100 2.10819729611715 2 +2.8 11 7.04602659728546 2 +2.8 12 6.85736426749156 2 +2.8 13 6.69486566341885 2 +2.8 14 6.51728737820493 2 +2.8 15 6.3689797612417 2 +2.8 16 6.25147230188494 2 +2.8 17 6.11227155176511 2 +2.8 18 5.98320288757858 2 +2.8 19 5.8767465457363 2 +2.8 2 9.76288518928096 2 +2.8 20 5.74727233028689 2 +2.8 21 5.64096397691982 2 +2.8 22 5.55534791056835 2 +2.8 23 5.44410651045275 2 +2.8 24 5.36556343472066 2 +2.8 25 5.28098296579062 2 +2.8 26 5.17159969180204 2 +2.8 27 5.11124522636425 2 +2.8 28 5.03724011960145 2 +2.8 29 4.95110820834949 2 +2.8 3 9.30864472158174 2 +2.8 30 4.86670889303612 2 +2.8 31 4.81129921060629 2 +2.8 32 4.72673064869874 2 +2.8 33 4.67177329270451 2 +2.8 34 4.59849619864233 2 +2.8 35 4.54881377804023 2 +2.8 36 4.46528455244252 2 +2.8 37 4.41293986756026 2 +2.8 38 4.36005357646701 2 +2.8 39 4.29972261513376 2 +2.8 4 8.89416319436968 2 +2.8 40 4.23978165597543 2 +2.8 41 4.18436645765272 2 +2.8 42 4.14558388541228 2 +2.8 43 4.08497668851526 2 +2.8 44 4.03655376278453 2 +2.8 45 3.99228070282053 2 +2.8 46 3.93544304835014 2 +2.8 47 3.89301329033186 2 +2.8 48 3.85472613492739 2 +2.8 49 3.81130922070684 2 +2.8 5 8.54780639491154 2 +2.8 50 3.75257252040328 2 +2.8 51 3.70463778893493 2 +2.8 52 3.66686499081648 2 +2.8 53 3.61826776634596 2 +2.8 54 3.58524560729792 2 +2.8 55 3.53121071121451 2 +2.8 56 3.5150071748036 2 +2.8 57 3.47133818300308 2 +2.8 58 3.42458230645743 2 +2.8 59 3.36534282033627 2 +2.8 6 8.24312549717139 2 +2.8 60 3.33317726422144 2 +2.8 61 3.30387193185379 2 +2.8 62 3.26835179262939 2 +2.8 63 3.2276494483293 2 +2.8 64 3.19255610732775 2 +2.8 65 3.16403757501721 2 +2.8 66 3.11781108114415 2 +2.8 67 3.09018173339779 2 +2.8 68 3.04789449408637 2 +2.8 69 3.01075698907197 2 +2.8 7 7.94359758280572 2 +2.8 70 2.97920884979169 2 +2.8 71 2.94852650102489 2 +2.8 72 2.91911911864477 2 +2.8 73 2.88345937798688 2 +2.8 74 2.85046307222801 2 +2.8 75 2.81389333494455 2 +2.8 76 2.78707459694754 2 +2.8 77 2.75167106743764 2 +2.8 78 2.71928760465511 2 +2.8 79 2.68829407367539 2 +2.8 8 7.69599306059559 2 +2.8 80 2.661651317778 2 +2.8 81 2.6320230161324 2 +2.8 82 2.60195687703606 2 +2.8 83 2.57550523827026 2 +2.8 84 2.55024008009889 2 +2.8 85 2.50931782353298 2 +2.8 86 2.48459739439811 2 +2.8 87 2.45669314858367 2 +2.8 88 2.43176164718282 2 +2.8 89 2.40880162713848 2 +2.8 9 7.45913320574777 2 +2.8 90 2.3806260437193 2 +2.8 91 2.35329902437462 2 +2.8 92 2.32772520119934 2 +2.8 93 2.31051634647045 2 +2.8 94 2.26885161521513 2 +2.8 95 2.24996519515183 2 +2.8 96 2.21806162939225 2 +2.8 97 2.19199617263798 2 +2.8 98 2.17545107818572 2 +2.8 99 2.1418083839888 2 +2.9 0 8.52414527736598 1 +2.9 1 8.00072302994546 1 +2.9 10 5.1647657034478 1 +2.9 100 0.907423966592066 1 +2.9 11 4.98884993026217 1 +2.9 12 4.84696001748073 1 +2.9 13 4.7057984885735 1 +2.9 14 4.5719027514701 1 +2.9 15 4.45489828162939 1 +2.9 16 4.34793392413608 1 +2.9 17 4.21594003797812 1 +2.9 18 4.11249624042162 1 +2.9 19 4.0218666620455 1 +2.9 2 7.44108793240378 1 +2.9 20 3.94537449736847 1 +2.9 21 3.84665756710829 1 +2.9 22 3.75460345430086 1 +2.9 23 3.6806709535207 1 +2.9 24 3.60035681199709 1 +2.9 25 3.52649022408006 1 +2.9 26 3.4536915299625 1 +2.9 27 3.38159743656651 1 +2.9 28 3.31551282951375 1 +2.9 29 3.26375043602469 1 +2.9 3 6.94799818234096 1 +2.9 30 3.19457308189666 1 +2.9 31 3.12547400022801 1 +2.9 32 3.06836072553761 1 +2.9 33 3.00616709255912 1 +2.9 34 2.95098245639154 1 +2.9 35 2.90121328836134 1 +2.9 36 2.8443192975974 1 +2.9 37 2.7943681830841 1 +2.9 38 2.75355142297553 1 +2.9 39 2.69884644064931 1 +2.9 4 6.5931625242105 1 +2.9 40 2.65715763260788 1 +2.9 41 2.60558349819118 1 +2.9 42 2.55818459657196 1 +2.9 43 2.5102122549431 1 +2.9 44 2.47149809944926 1 +2.9 45 2.42286866254989 1 +2.9 46 2.37975400958914 1 +2.9 47 2.33678832043199 1 +2.9 48 2.29710873281106 1 +2.9 49 2.25848247990572 1 +2.9 5 6.30157238841847 1 +2.9 50 2.22252545015608 1 +2.9 51 2.17770279035561 1 +2.9 52 2.13689820682635 1 +2.9 53 2.10253730108772 1 +2.9 54 2.06508217791749 1 +2.9 55 2.02898860340318 1 +2.9 56 1.99574524454273 1 +2.9 57 1.96422598504486 1 +2.9 58 1.92011735088741 1 +2.9 59 1.88760651567734 1 +2.9 6 6.00823864425247 1 +2.9 60 1.85254923805821 1 +2.9 61 1.82357138702423 1 +2.9 62 1.794128528492 1 +2.9 63 1.76379595515391 1 +2.9 64 1.73544826487422 1 +2.9 65 1.69769752126552 1 +2.9 66 1.67555969024977 1 +2.9 67 1.64815602454285 1 +2.9 68 1.61404477064853 1 +2.9 69 1.58751382650452 1 +2.9 7 5.77319275483757 1 +2.9 70 1.55906217559595 1 +2.9 71 1.52815332310209 1 +2.9 72 1.50445187780708 1 +2.9 73 1.47967421010785 1 +2.9 74 1.45225793127089 1 +2.9 75 1.41882702239759 1 +2.9 76 1.39608067810205 1 +2.9 77 1.37542178774101 1 +2.9 78 1.35042610551132 1 +2.9 79 1.32348981118676 1 +2.9 8 5.54546860257646 1 +2.9 80 1.30573813826853 1 +2.9 81 1.27677099016881 1 +2.9 82 1.25851044425823 1 +2.9 83 1.24073041552979 1 +2.9 84 1.20754056241922 1 +2.9 85 1.19352959672213 1 +2.9 86 1.17654395978562 1 +2.9 87 1.15177746383617 1 +2.9 88 1.12635688514825 1 +2.9 89 1.11394219169552 1 +2.9 9 5.35045626863926 1 +2.9 90 1.09197136850481 1 +2.9 91 1.06860748207197 1 +2.9 92 1.04642885239124 1 +2.9 93 1.04233546625796 1 +2.9 94 1.01106823168451 1 +2.9 95 0.998314884018948 1 +2.9 96 0.982287045640159 1 +2.9 97 0.964649284904576 1 +2.9 98 0.941346598986117 1 +2.9 99 0.924876630823332 1 +2.9 0 11.2066668572275 2 +2.9 1 10.8007151928346 2 +2.9 10 7.75589546088986 2 +2.9 100 2.44935478649879 2 +2.9 11 7.54840242203658 2 +2.9 12 7.35888707638373 2 +2.9 13 7.1898759211351 2 +2.9 14 7.01616266842859 2 +2.9 15 6.8442321401238 2 +2.9 16 6.7179143220276 2 +2.9 17 6.5823598228923 2 +2.9 18 6.44788193243886 2 +2.9 19 6.33046444134511 2 +2.9 2 10.2946506228731 2 +2.9 20 6.19812157940673 2 +2.9 21 6.09039836815272 2 +2.9 22 5.97246344217265 2 +2.9 23 5.89119860312603 2 +2.9 24 5.78450290754903 2 +2.9 25 5.68954487740855 2 +2.9 26 5.61096733043984 2 +2.9 27 5.52860101266081 2 +2.9 28 5.44537010448931 2 +2.9 29 5.34632867168051 2 +2.9 3 9.78836417662727 2 +2.9 30 5.28178097692924 2 +2.9 31 5.20323919597278 2 +2.9 32 5.13879772048841 2 +2.9 33 5.07430966507588 2 +2.9 34 5.00099279398367 2 +2.9 35 4.93716110450149 2 +2.9 36 4.85683843645776 2 +2.9 37 4.81052502927219 2 +2.9 38 4.75291789101713 2 +2.9 39 4.69842452810709 2 +2.9 4 9.41300746998324 2 +2.9 40 4.62875267971558 2 +2.9 41 4.58640946764601 2 +2.9 42 4.522432167174 2 +2.9 43 4.49017377068124 2 +2.9 44 4.41076721079051 2 +2.9 45 4.36797348104029 2 +2.9 46 4.32507892003657 2 +2.9 47 4.28097098075142 2 +2.9 48 4.22445287339388 2 +2.9 49 4.16239634701571 2 +2.9 5 9.05693838715292 2 +2.9 50 4.13534526770906 2 +2.9 51 4.08970803776026 2 +2.9 52 4.03805923183867 2 +2.9 53 3.99140628776206 2 +2.9 54 3.95231080729153 2 +2.9 55 3.91384179493555 2 +2.9 56 3.87007355163575 2 +2.9 57 3.83579629486353 2 +2.9 58 3.78605694370891 2 +2.9 59 3.74784147500083 2 +2.9 6 8.7389831157174 2 +2.9 60 3.70864060405643 2 +2.9 61 3.67653035837154 2 +2.9 62 3.63334448969455 2 +2.9 63 3.60230327115992 2 +2.9 64 3.560868211802 2 +2.9 65 3.51300782465859 2 +2.9 66 3.48857580791231 2 +2.9 67 3.44580812910477 2 +2.9 68 3.39718301304385 2 +2.9 69 3.36310104266098 2 +2.9 7 8.49247561564758 2 +2.9 70 3.33840343471706 2 +2.9 71 3.30255559431177 2 +2.9 72 3.27526092176377 2 +2.9 73 3.23998059508252 2 +2.9 74 3.20889354557996 2 +2.9 75 3.1812336752548 2 +2.9 76 3.15385234148832 2 +2.9 77 3.10242911910151 2 +2.9 78 3.07099335152549 2 +2.9 79 3.04327981023125 2 +2.9 8 8.20878279480338 2 +2.9 80 3.01465937981345 2 +2.9 81 2.9836980370194 2 +2.9 82 2.9584456179 2 +2.9 83 2.92235046049429 2 +2.9 84 2.8998547413473 2 +2.9 85 2.8698133696635 2 +2.9 86 2.83750153623591 2 +2.9 87 2.81393963708948 2 +2.9 88 2.76715952033942 2 +2.9 89 2.74744019966274 2 +2.9 9 7.96874756872066 2 +2.9 90 2.72439192171455 2 +2.9 91 2.68826094620068 2 +2.9 92 2.66152693970573 2 +2.9 93 2.62609952852957 2 +2.9 94 2.60842386410849 2 +2.9 95 2.58664200370636 2 +2.9 96 2.55872752793844 2 +2.9 97 2.54120529657307 2 +2.9 98 2.50241842498048 2 +2.9 99 2.47627333579627 2 +3 0 8.96307838704512 1 +3 1 8.43285015261049 1 +3 10 5.5798194037744 1 +3 100 1.1134123238209 1 +3 11 5.38568336891327 1 +3 12 5.23243072440076 1 +3 13 5.06825136762997 1 +3 14 4.96228900072288 1 +3 15 4.81522522567179 1 +3 16 4.69093018252721 1 +3 17 4.5633055975726 1 +3 18 4.48286632103591 1 +3 19 4.37554671352862 1 +3 2 7.91365843715288 1 +3 20 4.26656512496161 1 +3 21 4.19429449997215 1 +3 22 4.08696539627466 1 +3 23 4.01931270719246 1 +3 24 3.93021851173484 1 +3 25 3.84944298128519 1 +3 26 3.77742683801148 1 +3 27 3.71690832469839 1 +3 28 3.64003983173765 1 +3 29 3.57429212635854 1 +3 3 7.4050896091635 1 +3 30 3.4941502383649 1 +3 31 3.45724230468401 1 +3 32 3.36980270643192 1 +3 33 3.32735263658672 1 +3 34 3.26983144669203 1 +3 35 3.20175402530395 1 +3 36 3.1688202039437 1 +3 37 3.11366526470299 1 +3 38 3.06016752849414 1 +3 39 2.98899721569049 1 +3 4 7.04832026771762 1 +3 40 2.9479836472657 1 +3 41 2.90302492183814 1 +3 42 2.85457400666644 1 +3 43 2.79607549387941 1 +3 44 2.76277498503101 1 +3 45 2.71341316859616 1 +3 46 2.67093652444447 1 +3 47 2.63204216473926 1 +3 48 2.57819296011695 1 +3 49 2.54496735138203 1 +3 5 6.73374816553324 1 +3 50 2.50780973154041 1 +3 51 2.456353951155 1 +3 52 2.42201801716109 1 +3 53 2.38678078414775 1 +3 54 2.34066996579989 1 +3 55 2.30336411156177 1 +3 56 2.26637199402005 1 +3 57 2.23980574499945 1 +3 58 2.20245602130642 1 +3 59 2.16766211254898 1 +3 6 6.45453248170183 1 +3 60 2.12792551399192 1 +3 61 2.09915784904633 1 +3 62 2.05477050982416 1 +3 63 2.02295301071821 1 +3 64 2.00240246090015 1 +3 65 1.95719530273738 1 +3 66 1.9419321051314 1 +3 67 1.90364303425121 1 +3 68 1.86839399839704 1 +3 69 1.83745714717295 1 +3 7 6.17449473811234 1 +3 70 1.82253746789618 1 +3 71 1.78106969903656 1 +3 72 1.75924377825995 1 +3 73 1.73056858383454 1 +3 74 1.70338157608862 1 +3 75 1.68018461077132 1 +3 76 1.64455032473908 1 +3 77 1.6105135772217 1 +3 78 1.59254254359029 1 +3 79 1.56503213503561 1 +3 8 5.96570027708315 1 +3 80 1.54146675532872 1 +3 81 1.5146650042724 1 +3 82 1.49479740664284 1 +3 83 1.46817460463537 1 +3 84 1.44804763714202 1 +3 85 1.42699011181505 1 +3 86 1.39847918470568 1 +3 87 1.37479814249908 1 +3 88 1.35306547697326 1 +3 89 1.33529447024774 1 +3 9 5.77163693466827 1 +3 90 1.31136601460133 1 +3 91 1.29078750035165 1 +3 92 1.26682149768851 1 +3 93 1.24554817178523 1 +3 94 1.22654819366565 1 +3 95 1.20381194340244 1 +3 96 1.18712339159722 1 +3 97 1.16415531934976 1 +3 98 1.15543550572468 1 +3 99 1.12935303289974 1 +3 0 11.6973352523345 2 +3 1 11.3290583593808 2 +3 10 8.23022257805215 2 +3 100 2.79014282719376 2 +3 11 8.05062455486805 2 +3 12 7.85090530675869 2 +3 13 7.66061539548606 2 +3 14 7.50191530199571 2 +3 15 7.34306580394864 2 +3 16 7.19101573205815 2 +3 17 7.02821256400717 2 +3 18 6.92201893507551 2 +3 19 6.78498670085712 2 +3 2 10.8201151332869 2 +3 20 6.65723441442507 2 +3 21 6.53228913766048 2 +3 22 6.44423858175923 2 +3 23 6.31948818174921 2 +3 24 6.23359691851484 2 +3 25 6.11453321034348 2 +3 26 6.02707844252131 2 +3 27 5.9606759947982 2 +3 28 5.8531681496462 2 +3 29 5.77925017045821 2 +3 3 10.3605066767494 2 +3 30 5.68530941027479 2 +3 31 5.63031788602832 2 +3 32 5.54830674099862 2 +3 33 5.46993945783555 2 +3 34 5.39984534789962 2 +3 35 5.35041244384052 2 +3 36 5.27150351421345 2 +3 37 5.21533505329065 2 +3 38 5.15865719646722 2 +3 39 5.08716305306699 2 +3 4 9.9692056903953 2 +3 40 5.03044367950379 2 +3 41 4.97578709223195 2 +3 42 4.90284114118063 2 +3 43 4.85420504951693 2 +3 44 4.79184355077464 2 +3 45 4.75592581813036 2 +3 46 4.69447152005823 2 +3 47 4.648800962784 2 +3 48 4.60450257713157 2 +3 49 4.55894438500768 2 +3 5 9.61049354717682 2 +3 50 4.51253520741433 2 +3 51 4.45735958747781 2 +3 52 4.42835441183013 2 +3 53 4.36892433266522 2 +3 54 4.35142604098841 2 +3 55 4.29304381894092 2 +3 56 4.23652114282157 2 +3 57 4.21604897369947 2 +3 58 4.17141928417628 2 +3 59 4.11908092213624 2 +3 6 9.29395929118109 2 +3 60 4.07767204103043 2 +3 61 4.04560832155523 2 +3 62 4.01077373211645 2 +3 63 3.96798613599291 2 +3 64 3.92097043750769 2 +3 65 3.88517194264207 2 +3 66 3.8493319144895 2 +3 67 3.81533356961112 2 +3 68 3.78137989884345 2 +3 69 3.74799520748375 2 +3 7 9.01843767128583 2 +3 70 3.71050528840406 2 +3 71 3.67445852078245 2 +3 72 3.64360295834785 2 +3 73 3.60201460910157 2 +3 74 3.56601802103838 2 +3 75 3.53500192442929 2 +3 76 3.50885332349435 2 +3 77 3.46811995481053 2 +3 78 3.44423318393536 2 +3 79 3.41588665314771 2 +3 8 8.74363891024859 2 +3 80 3.37085882066089 2 +3 81 3.34810879234304 2 +3 82 3.3135770821128 2 +3 83 3.27095909239566 2 +3 84 3.25121172822941 2 +3 85 3.22640634624149 2 +3 86 3.19394194070581 2 +3 87 3.15450735557763 2 +3 88 3.13018362402857 2 +3 89 3.11760373670121 2 +3 9 8.53095505990788 2 +3 90 3.07121641864351 2 +3 91 3.04206180780807 2 +3 92 3.01809246240877 2 +3 93 2.98868701060584 2 +3 94 2.96492945127995 2 +3 95 2.93168692176049 2 +3 96 2.9039764711006 2 +3 97 2.87836363162508 2 +3 98 2.8504425538026 2 +3 99 2.83336270716632 2 +3.1 0 9.40213217883503 1 +3.1 1 8.90888852329683 1 +3.1 10 5.9788849001877 1 +3.1 100 1.33116385219492 1 +3.1 11 5.80996950355922 1 +3.1 12 5.64071636788739 1 +3.1 13 5.48035722406676 1 +3.1 14 5.31705555375468 1 +3.1 15 5.18773688207437 1 +3.1 16 5.06405195118365 1 +3.1 17 4.94405755434694 1 +3.1 18 4.83228655173084 1 +3.1 19 4.73877632112913 1 +3.1 2 8.36279355917562 1 +3.1 20 4.61691088534923 1 +3.1 21 4.53948578649047 1 +3.1 22 4.449643408593 1 +3.1 23 4.35903468454891 1 +3.1 24 4.2757723156238 1 +3.1 25 4.18671888715361 1 +3.1 26 4.11747433315744 1 +3.1 27 4.03630724026729 1 +3.1 28 3.97218514372616 1 +3.1 29 3.90246932436949 1 +3.1 3 7.87542618222508 1 +3.1 30 3.84508161944094 1 +3.1 31 3.7692818722014 1 +3.1 32 3.71360936361127 1 +3.1 33 3.64139251273559 1 +3.1 34 3.58051552783576 1 +3.1 35 3.51804234015711 1 +3.1 36 3.46059749130401 1 +3.1 37 3.41842856479403 1 +3.1 38 3.35857553943276 1 +3.1 39 3.30172516437499 1 +3.1 4 7.48903884328393 1 +3.1 40 3.24988015253487 1 +3.1 41 3.20078300690268 1 +3.1 42 3.16829130687529 1 +3.1 43 3.11424558105408 1 +3.1 44 3.06560449137937 1 +3.1 45 3.02298846802985 1 +3.1 46 2.96225469448904 1 +3.1 47 2.92175541283242 1 +3.1 48 2.87825244312715 1 +3.1 49 2.83516191314229 1 +3.1 5 7.17198291738674 1 +3.1 50 2.79791515114973 1 +3.1 51 2.75155243375204 1 +3.1 52 2.73180942814688 1 +3.1 53 2.67425281783329 1 +3.1 54 2.64136945309221 1 +3.1 55 2.59168893741457 1 +3.1 56 2.55240417013185 1 +3.1 57 2.52108480709896 1 +3.1 58 2.48098564695131 1 +3.1 59 2.44857417277651 1 +3.1 6 6.88002185668598 1 +3.1 60 2.41389321574442 1 +3.1 61 2.36963437081717 1 +3.1 62 2.34072459450032 1 +3.1 63 2.31627861717597 1 +3.1 64 2.26997311368667 1 +3.1 65 2.23898479244357 1 +3.1 66 2.19186912465294 1 +3.1 67 2.17563511522083 1 +3.1 68 2.15269507681639 1 +3.1 69 2.1107272792669 1 +3.1 7 6.64312821610276 1 +3.1 70 2.07451438769901 1 +3.1 71 2.04941544973123 1 +3.1 72 2.01265550637088 1 +3.1 73 1.98680946267996 1 +3.1 74 1.95838518800735 1 +3.1 75 1.92906565032714 1 +3.1 76 1.8952015860319 1 +3.1 77 1.87344429547496 1 +3.1 78 1.8466269565687 1 +3.1 79 1.82040542456948 1 +3.1 8 6.3745075635999 1 +3.1 80 1.78525072572017 1 +3.1 81 1.76717927245126 1 +3.1 82 1.74833707961521 1 +3.1 83 1.70535442200717 1 +3.1 84 1.6917253520766 1 +3.1 85 1.66669354352761 1 +3.1 86 1.6404604230445 1 +3.1 87 1.60876408452457 1 +3.1 88 1.59172515952507 1 +3.1 89 1.56716617050601 1 +3.1 9 6.15997494006399 1 +3.1 90 1.54041646036339 1 +3.1 91 1.52901674347908 1 +3.1 92 1.50578388426242 1 +3.1 93 1.48195937619224 1 +3.1 94 1.45204952566362 1 +3.1 95 1.43497992766828 1 +3.1 96 1.41102564838974 1 +3.1 97 1.38837075855818 1 +3.1 98 1.36160891932864 1 +3.1 99 1.34851026477563 1 +3.1 0 12.2245436147585 2 +3.1 1 11.8194444660498 2 +3.1 10 8.7566537675919 2 +3.1 100 3.14788974207241 2 +3.1 11 8.5668400149519 2 +3.1 12 8.34544454531906 2 +3.1 13 8.1583992548743 2 +3.1 14 7.96319470852788 2 +3.1 15 7.81782411387671 2 +3.1 16 7.63545102671795 2 +3.1 17 7.48977623458023 2 +3.1 18 7.37685855912711 2 +3.1 19 7.25226476553713 2 +3.1 2 11.3458094813817 2 +3.1 20 7.10660559121284 2 +3.1 21 6.97673942430275 2 +3.1 22 6.87122715947928 2 +3.1 23 6.78420333796268 2 +3.1 24 6.65476319145433 2 +3.1 25 6.54303169173851 2 +3.1 26 6.482696092398 2 +3.1 27 6.37918091064397 2 +3.1 28 6.28171144346494 2 +3.1 29 6.20173169691762 2 +3.1 3 10.8927372058135 2 +3.1 30 6.11446820908239 2 +3.1 31 6.05889102175239 2 +3.1 32 5.95341418816465 2 +3.1 33 5.87355293108498 2 +3.1 34 5.83671427752926 2 +3.1 35 5.74421864238559 2 +3.1 36 5.6693569862354 2 +3.1 37 5.60266471077342 2 +3.1 38 5.5409021188292 2 +3.1 39 5.47905984541928 2 +3.1 4 10.5003373041192 2 +3.1 40 5.43749152608249 2 +3.1 41 5.35674083585452 2 +3.1 42 5.29511160646343 2 +3.1 43 5.2492711192904 2 +3.1 44 5.20591276161486 2 +3.1 45 5.16029887314272 2 +3.1 46 5.0869631417063 2 +3.1 47 5.0446871913684 2 +3.1 48 4.99468288521364 2 +3.1 49 4.93086239323112 2 +3.1 5 10.1218658629764 2 +3.1 50 4.90082452513623 2 +3.1 51 4.83844424760449 2 +3.1 52 4.79604157476108 2 +3.1 53 4.75588621734737 2 +3.1 54 4.69823829762709 2 +3.1 55 4.67048148461409 2 +3.1 56 4.63219663010863 2 +3.1 57 4.5707251022342 2 +3.1 58 4.5383343200802 2 +3.1 59 4.48909034034721 2 +3.1 6 9.8628517797479 2 +3.1 60 4.44617989416443 2 +3.1 61 4.41543599023762 2 +3.1 62 4.37520293289436 2 +3.1 63 4.33658001564656 2 +3.1 64 4.3025101677752 2 +3.1 65 4.25740695712339 2 +3.1 66 4.22101831728413 2 +3.1 67 4.18061996020061 2 +3.1 68 4.15565465409942 2 +3.1 69 4.12236926501509 2 +3.1 7 9.5464477463278 2 +3.1 70 4.07621242905492 2 +3.1 71 4.0327597055654 2 +3.1 72 4.00581237571315 2 +3.1 73 3.96701185466164 2 +3.1 74 3.93658924118901 2 +3.1 75 3.90183185457166 2 +3.1 76 3.86228796748348 2 +3.1 77 3.84335000393642 2 +3.1 78 3.80647811316143 2 +3.1 79 3.77973389890336 2 +3.1 8 9.24291356255307 2 +3.1 80 3.74863521172614 2 +3.1 81 3.70342529391829 2 +3.1 82 3.68028045670526 2 +3.1 83 3.64497787429614 2 +3.1 84 3.61412420208225 2 +3.1 85 3.58448094803357 2 +3.1 86 3.55214071471285 2 +3.1 87 3.51301578836488 2 +3.1 88 3.49466780528253 2 +3.1 89 3.44902010522424 2 +3.1 9 9.00787358157 2 +3.1 90 3.43580282599739 2 +3.1 91 3.40550362742809 2 +3.1 92 3.36847145421801 2 +3.1 93 3.3480517208328 2 +3.1 94 3.31310782285946 2 +3.1 95 3.28206948296812 2 +3.1 96 3.26057924461169 2 +3.1 97 3.2257487364007 2 +3.1 98 3.20090684691587 2 +3.1 99 3.16436968560967 2 +3.2 0 9.83187591454088 1 +3.2 1 9.35697662399821 1 +3.2 10 6.37898060751621 1 +3.2 100 1.56739265671288 1 +3.2 11 6.20925876189115 1 +3.2 12 6.02587794712115 1 +3.2 13 5.88009706806184 1 +3.2 14 5.72536256763469 1 +3.2 15 5.57905285676212 1 +3.2 16 5.45009052398972 1 +3.2 17 5.3139434910895 1 +3.2 18 5.20604620674037 1 +3.2 19 5.10532890254128 1 +3.2 2 8.83036645059616 1 +3.2 20 5.00331780459789 1 +3.2 21 4.8839522505753 1 +3.2 22 4.79472167471806 1 +3.2 23 4.69582946967834 1 +3.2 24 4.60880093454306 1 +3.2 25 4.52688207798181 1 +3.2 26 4.45606518865621 1 +3.2 27 4.36625756824556 1 +3.2 28 4.30259684764746 1 +3.2 29 4.23186387060797 1 +3.2 3 8.33115693650036 1 +3.2 30 4.15946947872457 1 +3.2 31 4.09337944746586 1 +3.2 32 4.02462702462032 1 +3.2 33 3.95937942973286 1 +3.2 34 3.90342711114891 1 +3.2 35 3.84827095787732 1 +3.2 36 3.79002004790333 1 +3.2 37 3.73051833714797 1 +3.2 38 3.66619006230373 1 +3.2 39 3.6300835008185 1 +3.2 4 7.95155510001997 1 +3.2 40 3.56899742095717 1 +3.2 41 3.51978827511645 1 +3.2 42 3.45783930624731 1 +3.2 43 3.42023769769289 1 +3.2 44 3.37031246725514 1 +3.2 45 3.32322720959872 1 +3.2 46 3.27678876245037 1 +3.2 47 3.22932838994664 1 +3.2 48 3.18160353934904 1 +3.2 49 3.13937331742782 1 +3.2 5 7.6110321347947 1 +3.2 50 3.09556240878102 1 +3.2 51 3.05838077873455 1 +3.2 52 3.01352113748765 1 +3.2 53 2.96884054578138 1 +3.2 54 2.93829380499842 1 +3.2 55 2.88787835477113 1 +3.2 56 2.84395657609175 1 +3.2 57 2.80493703077213 1 +3.2 58 2.76199790328934 1 +3.2 59 2.73515830507211 1 +3.2 6 7.29943785229016 1 +3.2 60 2.69571961990716 1 +3.2 61 2.65738032615845 1 +3.2 62 2.62124715979701 1 +3.2 63 2.58107210736732 1 +3.2 64 2.55001207217471 1 +3.2 65 2.5132303397919 1 +3.2 66 2.48114617387985 1 +3.2 67 2.45000546260591 1 +3.2 68 2.414230519617 1 +3.2 69 2.38190617404394 1 +3.2 7 7.07296036294695 1 +3.2 70 2.34887019555203 1 +3.2 71 2.3241113926071 1 +3.2 72 2.29885065285644 1 +3.2 73 2.26166269458655 1 +3.2 74 2.23844802186153 1 +3.2 75 2.2050383521839 1 +3.2 76 2.18378805962044 1 +3.2 77 2.1423642786537 1 +3.2 78 2.11665099564659 1 +3.2 79 2.08170124829144 1 +3.2 8 6.82959003741118 1 +3.2 80 2.05889676143356 1 +3.2 81 2.02542734761057 1 +3.2 82 2.00371014559591 1 +3.2 83 1.9759128929578 1 +3.2 84 1.93806134289656 1 +3.2 85 1.92276065580204 1 +3.2 86 1.89319438329434 1 +3.2 87 1.87042120807532 1 +3.2 88 1.83761931753456 1 +3.2 89 1.81515395283423 1 +3.2 9 6.58157013540294 1 +3.2 90 1.79560075370345 1 +3.2 91 1.76311162143318 1 +3.2 92 1.74470140232713 1 +3.2 93 1.71554472325794 1 +3.2 94 1.70753648479709 1 +3.2 95 1.67917272656096 1 +3.2 96 1.65513351052041 1 +3.2 97 1.6337982816399 1 +3.2 98 1.60965321522774 1 +3.2 99 1.57675171272788 1 +3.2 0 12.6861791934235 2 +3.2 1 12.3754440721103 2 +3.2 10 9.24595944367956 2 +3.2 100 3.50489173082298 2 +3.2 11 9.05158631295038 2 +3.2 12 8.84039626157907 2 +3.2 13 8.65520832522109 2 +3.2 14 8.46104581375515 2 +3.2 15 8.29194517654515 2 +3.2 16 8.1370746066976 2 +3.2 17 7.98402668984821 2 +3.2 18 7.82213554586466 2 +3.2 19 7.71077163465982 2 +3.2 2 11.8790286786695 2 +3.2 20 7.56456380126604 2 +3.2 21 7.43474791540242 2 +3.2 22 7.33042518712592 2 +3.2 23 7.20800026598689 2 +3.2 24 7.10394958433866 2 +3.2 25 6.99806396459511 2 +3.2 26 6.90156088053215 2 +3.2 27 6.80125759183894 2 +3.2 28 6.7259120587906 2 +3.2 29 6.62372916114431 2 +3.2 3 11.3781576295878 2 +3.2 30 6.54292999440798 2 +3.2 31 6.4705210192269 2 +3.2 32 6.37982893380241 2 +3.2 33 6.30463355228281 2 +3.2 34 6.24450140279589 2 +3.2 35 6.16102785246317 2 +3.2 36 6.10889918323949 2 +3.2 37 6.01579893947357 2 +3.2 38 5.94487824800617 2 +3.2 39 5.89137324896078 2 +3.2 4 10.9866896694477 2 +3.2 40 5.81983488920435 2 +3.2 41 5.75643784058168 2 +3.2 42 5.70679139488494 2 +3.2 43 5.64321952917071 2 +3.2 44 5.58565326924591 2 +3.2 45 5.53869976209569 2 +3.2 46 5.49007890281752 2 +3.2 47 5.42295248112201 2 +3.2 48 5.39626856643472 2 +3.2 49 5.34031733120661 2 +3.2 5 10.6684238972312 2 +3.2 50 5.28192154510836 2 +3.2 51 5.21694404439759 2 +3.2 52 5.18459517136485 2 +3.2 53 5.13322841517175 2 +3.2 54 5.08740770649447 2 +3.2 55 5.04063768968818 2 +3.2 56 5.00317644927722 2 +3.2 57 4.94171185268859 2 +3.2 58 4.91275059206061 2 +3.2 59 4.86993143423294 2 +3.2 6 10.3421776007109 2 +3.2 60 4.83932977105428 2 +3.2 61 4.8019085371166 2 +3.2 62 4.73679705041546 2 +3.2 63 4.70716874167988 2 +3.2 64 4.66498757192754 2 +3.2 65 4.63370519503037 2 +3.2 66 4.59614578254885 2 +3.2 67 4.57137675834642 2 +3.2 68 4.5221039051115 2 +3.2 69 4.48278054089725 2 +3.2 7 10.0461389271067 2 +3.2 70 4.45825382532263 2 +3.2 71 4.40260257497567 2 +3.2 72 4.38496339407912 2 +3.2 73 4.3336460703435 2 +3.2 74 4.30664749354621 2 +3.2 75 4.27891635448451 2 +3.2 76 4.22668339842033 2 +3.2 77 4.20353202409766 2 +3.2 78 4.16934546121656 2 +3.2 79 4.15005594203326 2 +3.2 8 9.74409286887504 2 +3.2 80 4.10401217401327 2 +3.2 81 4.07539833659478 2 +3.2 82 4.04968024787228 2 +3.2 83 4.00742695886173 2 +3.2 84 3.9633296580562 2 +3.2 85 3.94095118859536 2 +3.2 86 3.90924278841068 2 +3.2 87 3.89582641882795 2 +3.2 88 3.85923913774353 2 +3.2 89 3.82393879048576 2 +3.2 9 9.50459038511628 2 +3.2 90 3.79893630544269 2 +3.2 91 3.75771713343253 2 +3.2 92 3.73016023798703 2 +3.2 93 3.70713577054015 2 +3.2 94 3.68173264824105 2 +3.2 95 3.65162405051252 2 +3.2 96 3.61255682236028 2 +3.2 97 3.59604345357792 2 +3.2 98 3.56532443951483 2 +3.2 99 3.51982141399234 2 +3.3 0 10.263174650584 1 +3.3 1 9.79070170867395 1 +3.3 10 6.79983819645105 1 +3.3 100 1.81127736553343 1 +3.3 11 6.62318912032122 1 +3.3 12 6.42229910904978 1 +3.3 13 6.27312995674222 1 +3.3 14 6.08509589513563 1 +3.3 15 5.97234773361816 1 +3.3 16 5.82079829570957 1 +3.3 17 5.70862350365563 1 +3.3 18 5.56535631274824 1 +3.3 19 5.48095063202401 1 +3.3 2 9.29739050874613 1 +3.3 20 5.34849608032264 1 +3.3 21 5.26206102551612 1 +3.3 22 5.14557277194857 1 +3.3 23 5.06531817592743 1 +3.3 24 4.97457982504773 1 +3.3 25 4.89110508152742 1 +3.3 26 4.79294964126341 1 +3.3 27 4.72731230998983 1 +3.3 28 4.64200397589698 1 +3.3 29 4.57538357562604 1 +3.3 3 8.77917314697166 1 +3.3 30 4.49137859477903 1 +3.3 31 4.43506316736478 1 +3.3 32 4.34364882738515 1 +3.3 33 4.29791671954445 1 +3.3 34 4.23028481299481 1 +3.3 35 4.16402908990197 1 +3.3 36 4.10360212060719 1 +3.3 37 4.04906701954129 1 +3.3 38 4.00364274425764 1 +3.3 39 3.93768088773534 1 +3.3 4 8.40163438797083 1 +3.3 40 3.89463453987424 1 +3.3 41 3.81936934145244 1 +3.3 42 3.78625596537239 1 +3.3 43 3.72767105327429 1 +3.3 44 3.68438141581007 1 +3.3 45 3.63029230159404 1 +3.3 46 3.56883329305268 1 +3.3 47 3.53412508117343 1 +3.3 48 3.47973353977951 1 +3.3 49 3.43954477397853 1 +3.3 5 8.08103723816916 1 +3.3 50 3.39492194960868 1 +3.3 51 3.35408593119804 1 +3.3 52 3.30505714436899 1 +3.3 53 3.27199393690444 1 +3.3 54 3.22932213392208 1 +3.3 55 3.1821139148782 1 +3.3 56 3.15253462169185 1 +3.3 57 3.10987777151739 1 +3.3 58 3.0776183439307 1 +3.3 59 3.03569454935188 1 +3.3 6 7.79032989469667 1 +3.3 60 2.98549578792153 1 +3.3 61 2.95089469049074 1 +3.3 62 2.91992049104621 1 +3.3 63 2.8753880962627 1 +3.3 64 2.85191379562233 1 +3.3 65 2.80489972812074 1 +3.3 66 2.77616850248764 1 +3.3 67 2.73834400087908 1 +3.3 68 2.7034634373671 1 +3.3 69 2.67352730028236 1 +3.3 7 7.49042949078897 1 +3.3 70 2.63991509103866 1 +3.3 71 2.60429422007155 1 +3.3 72 2.56759925485212 1 +3.3 73 2.54648918992128 1 +3.3 74 2.50006345118094 1 +3.3 75 2.474043961028 1 +3.3 76 2.44797034229592 1 +3.3 77 2.41440486320984 1 +3.3 78 2.38314623871601 1 +3.3 79 2.35931662623022 1 +3.3 8 7.23330301301589 1 +3.3 80 2.32196789573924 1 +3.3 81 2.30320146313481 1 +3.3 82 2.27488391634693 1 +3.3 83 2.23559880528504 1 +3.3 84 2.20715654860438 1 +3.3 85 2.19248869258631 1 +3.3 86 2.16395645899623 1 +3.3 87 2.13327489127214 1 +3.3 88 2.09843117847466 1 +3.3 89 2.08224284484296 1 +3.3 9 7.02384198833387 1 +3.3 90 2.05453457125734 1 +3.3 91 2.02455111446754 1 +3.3 92 2.00030519100901 1 +3.3 93 1.97594556382891 1 +3.3 94 1.95664456961793 1 +3.3 95 1.92746862639877 1 +3.3 96 1.90290106490128 1 +3.3 97 1.87449851303671 1 +3.3 98 1.85495013227499 1 +3.3 99 1.83468995635622 1 +3.3 0 13.1873822817214 2 +3.3 1 12.8295594446806 2 +3.3 10 9.73001959706902 2 +3.3 100 3.8524892339738 2 +3.3 11 9.56662211828163 2 +3.3 12 9.38737975187565 2 +3.3 13 9.13138320332058 2 +3.3 14 8.95716910654444 2 +3.3 15 8.76537584646824 2 +3.3 16 8.60222536989999 2 +3.3 17 8.45398194899698 2 +3.3 18 8.33248715635556 2 +3.3 19 8.15641091840669 2 +3.3 2 12.3705374462507 2 +3.3 20 8.03438169837847 2 +3.3 21 7.93020808620485 2 +3.3 22 7.75582002411951 2 +3.3 23 7.63062022091953 2 +3.3 24 7.53476621695166 2 +3.3 25 7.43638481616513 2 +3.3 26 7.36082288523184 2 +3.3 27 7.23553034750955 2 +3.3 28 7.13424419363849 2 +3.3 29 7.0494068443451 2 +3.3 3 11.9036298146719 2 +3.3 30 6.96722301768003 2 +3.3 31 6.86835373156039 2 +3.3 32 6.80832061321396 2 +3.3 33 6.73761675763021 2 +3.3 34 6.65510796744232 2 +3.3 35 6.57072736143397 2 +3.3 36 6.49339814310653 2 +3.3 37 6.4244232871438 2 +3.3 38 6.3478609297092 2 +3.3 39 6.27051048993812 2 +3.3 4 11.5223588778089 2 +3.3 40 6.22068775765357 2 +3.3 41 6.1822563061789 2 +3.3 42 6.12180680126107 2 +3.3 43 6.04112567872216 2 +3.3 44 5.99018577788866 2 +3.3 45 5.9162033175865 2 +3.3 46 5.89174509934085 2 +3.3 47 5.82941840156224 2 +3.3 48 5.77474283212356 2 +3.3 49 5.70281437613257 2 +3.3 5 11.2169055958908 2 +3.3 50 5.66900635993274 2 +3.3 51 5.60912091024791 2 +3.3 52 5.56854190032189 2 +3.3 53 5.54174778077732 2 +3.3 54 5.46807422403843 2 +3.3 55 5.427838033869 2 +3.3 56 5.37638988999272 2 +3.3 57 5.33353948738455 2 +3.3 58 5.30732918322801 2 +3.3 59 5.264208386768 2 +3.3 6 10.8642317300868 2 +3.3 60 5.21808190666244 2 +3.3 61 5.15992726020237 2 +3.3 62 5.12692958184196 2 +3.3 63 5.07249981616664 2 +3.3 64 5.04137422726008 2 +3.3 65 4.99896589428374 2 +3.3 66 4.94605411079282 2 +3.3 67 4.92388934485782 2 +3.3 68 4.89495229441524 2 +3.3 69 4.84872737561817 2 +3.3 7 10.5503447835844 2 +3.3 70 4.80979981237738 2 +3.3 71 4.77458400292269 2 +3.3 72 4.73685748594958 2 +3.3 73 4.71240732914511 2 +3.3 74 4.68605588295993 2 +3.3 75 4.63019663701231 2 +3.3 76 4.60845612928396 2 +3.3 77 4.56462105259457 2 +3.3 78 4.54686746602805 2 +3.3 79 4.4985164375339 2 +3.3 8 10.2456361965098 2 +3.3 80 4.48964861651835 2 +3.3 81 4.42636015406618 2 +3.3 82 4.41622303817583 2 +3.3 83 4.37177410594632 2 +3.3 84 4.34096184230915 2 +3.3 85 4.30833073879283 2 +3.3 86 4.28598413098637 2 +3.3 87 4.25603466045515 2 +3.3 88 4.22032977403187 2 +3.3 89 4.18056417866017 2 +3.3 9 10.0224541371547 2 +3.3 90 4.15488480005517 2 +3.3 91 4.13260064316617 2 +3.3 92 4.12250172073722 2 +3.3 93 4.07441102651604 2 +3.3 94 4.04842523737832 2 +3.3 95 4.02438978388367 2 +3.3 96 3.97882259190708 2 +3.3 97 3.94937684318326 2 +3.3 98 3.91414012856025 2 +3.3 99 3.90812768919873 2 +3.4 0 10.6651104589027 1 +3.4 1 10.2394434149525 1 +3.4 10 7.22682394287737 1 +3.4 100 2.07700325510859 1 +3.4 11 7.06842180197849 1 +3.4 12 6.84467222035568 1 +3.4 13 6.69167060856727 1 +3.4 14 6.48416619827538 1 +3.4 15 6.32920435029848 1 +3.4 16 6.2139446960956 1 +3.4 17 6.0845413427418 1 +3.4 18 5.93313116765656 1 +3.4 19 5.83445303994485 1 +3.4 2 9.77967455853495 1 +3.4 20 5.69911268005393 1 +3.4 21 5.60889992469722 1 +3.4 22 5.50218172120206 1 +3.4 23 5.42699076067171 1 +3.4 24 5.34217870625239 1 +3.4 25 5.209996957704 1 +3.4 26 5.16084734924811 1 +3.4 27 5.06874784977094 1 +3.4 28 4.9848637743118 1 +3.4 29 4.90515917343109 1 +3.4 3 9.24905569814526 1 +3.4 30 4.83129416972553 1 +3.4 31 4.76219643135552 1 +3.4 32 4.68798752410469 1 +3.4 33 4.63540019622341 1 +3.4 34 4.54944052614688 1 +3.4 35 4.4925965305337 1 +3.4 36 4.42288285788442 1 +3.4 37 4.37410301355157 1 +3.4 38 4.31965768208985 1 +3.4 39 4.2602093481821 1 +3.4 4 8.84169494377234 1 +3.4 40 4.21558332990657 1 +3.4 41 4.15342371051197 1 +3.4 42 4.09619544775968 1 +3.4 43 4.04099214608142 1 +3.4 44 3.98761653347761 1 +3.4 45 3.94881629402037 1 +3.4 46 3.88607988156488 1 +3.4 47 3.84910948860515 1 +3.4 48 3.79737020215641 1 +3.4 49 3.7557541011173 1 +3.4 5 8.5279906605989 1 +3.4 50 3.7245544396552 1 +3.4 51 3.6690480857534 1 +3.4 52 3.61567659617273 1 +3.4 53 3.57530126310942 1 +3.4 54 3.52326627288952 1 +3.4 55 3.49397785418742 1 +3.4 56 3.4413098917904 1 +3.4 57 3.40867405673242 1 +3.4 58 3.3624893674502 1 +3.4 59 3.31884813083283 1 +3.4 6 8.20988519987717 1 +3.4 60 3.29131678253556 1 +3.4 61 3.25089225557435 1 +3.4 62 3.20477240854039 1 +3.4 63 3.18420091649609 1 +3.4 64 3.14245711191838 1 +3.4 65 3.09980059917087 1 +3.4 66 3.06300097573856 1 +3.4 67 3.02909728719841 1 +3.4 68 2.9866610776391 1 +3.4 69 2.96206822230876 1 +3.4 7 7.93045594476845 1 +3.4 70 2.93190068231315 1 +3.4 71 2.89630844840393 1 +3.4 72 2.86501348898931 1 +3.4 73 2.8299023176801 1 +3.4 74 2.79832048853091 1 +3.4 75 2.75648576058905 1 +3.4 76 2.73946943546729 1 +3.4 77 2.69328128692367 1 +3.4 78 2.67220767043556 1 +3.4 79 2.64370113977945 1 +3.4 8 7.66117248605375 1 +3.4 80 2.60581834237675 1 +3.4 81 2.57506415698555 1 +3.4 82 2.55012953992678 1 +3.4 83 2.52109580546345 1 +3.4 84 2.4961937542517 1 +3.4 85 2.46139068740808 1 +3.4 86 2.43281853714144 1 +3.4 87 2.40395889151911 1 +3.4 88 2.3770822580005 1 +3.4 89 2.34713888016019 1 +3.4 9 7.45339391988433 1 +3.4 90 2.33097394134726 1 +3.4 91 2.29197007905484 1 +3.4 92 2.27370351797315 1 +3.4 93 2.24258807110786 1 +3.4 94 2.21079303787968 1 +3.4 95 2.1960999363342 1 +3.4 96 2.1678917427336 1 +3.4 97 2.15400571807513 1 +3.4 98 2.10924969560683 1 +3.4 99 2.09588587147917 1 +3.4 0 13.674575708465 2 +3.4 1 13.3029634839119 2 +3.4 10 10.2765102467643 2 +3.4 100 4.22952767663003 2 +3.4 11 10.0625877463668 2 +3.4 12 9.80473710072149 2 +3.4 13 9.62647682019811 2 +3.4 14 9.43953960702691 2 +3.4 15 9.26713062097697 2 +3.4 16 9.06634173444066 2 +3.4 17 8.91921713091035 2 +3.4 18 8.77183262256734 2 +3.4 19 8.62701978760815 2 +3.4 2 12.8750141684669 2 +3.4 20 8.4874280360278 2 +3.4 21 8.35193907528808 2 +3.4 22 8.23397128080179 2 +3.4 23 8.12286599970629 2 +3.4 24 8.02120366355555 2 +3.4 25 7.87961195659183 2 +3.4 26 7.79058996701083 2 +3.4 27 7.66173443176787 2 +3.4 28 7.57000816698933 2 +3.4 29 7.47138779870002 2 +3.4 3 12.4583593803845 2 +3.4 30 7.39990704363592 2 +3.4 31 7.3201127100713 2 +3.4 32 7.21574298066451 2 +3.4 33 7.12840760056265 2 +3.4 34 7.05690865122585 2 +3.4 35 6.97589398638367 2 +3.4 36 6.89145870531856 2 +3.4 37 6.83116915299818 2 +3.4 38 6.76362821420001 2 +3.4 39 6.70700192591475 2 +3.4 4 12.0842042882391 2 +3.4 40 6.61001514467014 2 +3.4 41 6.57082969602858 2 +3.4 42 6.50262142492449 2 +3.4 43 6.44906227462873 2 +3.4 44 6.39136748217182 2 +3.4 45 6.31937309689706 2 +3.4 46 6.27372963767068 2 +3.4 47 6.2060863463044 2 +3.4 48 6.16057804746151 2 +3.4 49 6.11229206445369 2 +3.4 5 11.7342114348545 2 +3.4 50 6.04212058750989 2 +3.4 51 5.99771800192755 2 +3.4 52 5.93060076804637 2 +3.4 53 5.88702674792715 2 +3.4 54 5.83909547499945 2 +3.4 55 5.80101812726512 2 +3.4 56 5.77855790933981 2 +3.4 57 5.72831253755706 2 +3.4 58 5.68841110265311 2 +3.4 59 5.64813711753659 2 +3.4 6 11.3562150340973 2 +3.4 60 5.59035817634989 2 +3.4 61 5.53097089859052 2 +3.4 62 5.49699156264111 2 +3.4 63 5.46427929549759 2 +3.4 64 5.40852888644164 2 +3.4 65 5.3874094508189 2 +3.4 66 5.33242759288219 2 +3.4 67 5.2997206203304 2 +3.4 68 5.25769362363219 2 +3.4 69 5.22697073450293 2 +3.4 7 11.0951522921152 2 +3.4 70 5.20110303712478 2 +3.4 71 5.14663110421528 2 +3.4 72 5.13176952512551 2 +3.4 73 5.07127392455935 2 +3.4 74 5.03809506046252 2 +3.4 75 5.00200014911962 2 +3.4 76 4.97157145292496 2 +3.4 77 4.93273991708956 2 +3.4 78 4.90807787912355 2 +3.4 79 4.85479481161586 2 +3.4 8 10.7992939940737 2 +3.4 80 4.83523935598094 2 +3.4 81 4.79575031593395 2 +3.4 82 4.7718622728462 2 +3.4 83 4.72941270354306 2 +3.4 84 4.69640288612686 2 +3.4 85 4.67603239411639 2 +3.4 86 4.64187130470433 2 +3.4 87 4.60860267562505 2 +3.4 88 4.57395676475948 2 +3.4 89 4.5680164635675 2 +3.4 9 10.5555261197387 2 +3.4 90 4.52138942336837 2 +3.4 91 4.47716547088752 2 +3.4 92 4.45855036841115 2 +3.4 93 4.4204093775639 2 +3.4 94 4.40011087722918 2 +3.4 95 4.37837098082447 2 +3.4 96 4.33136596807661 2 +3.4 97 4.32563326984315 2 +3.4 98 4.28393210849186 2 +3.4 99 4.26140014173534 2 +3.5 0 11.1085161272873 1 +3.5 1 10.6922733346247 1 +3.5 10 7.64185826638846 1 +3.5 100 2.33829157059735 1 +3.5 11 7.43936778971421 1 +3.5 12 7.26229137354211 1 +3.5 13 7.04851174526523 1 +3.5 14 6.90871878348255 1 +3.5 15 6.75647613505231 1 +3.5 16 6.59535625818085 1 +3.5 17 6.45221491811664 1 +3.5 18 6.31954149629655 1 +3.5 19 6.196362380903 1 +3.5 2 10.2291213269695 1 +3.5 20 6.08348568527996 1 +3.5 21 5.97743005047281 1 +3.5 22 5.86774632545018 1 +3.5 23 5.78119855158044 1 +3.5 24 5.68271795561584 1 +3.5 25 5.58785245510112 1 +3.5 26 5.49661348696939 1 +3.5 27 5.40890903101789 1 +3.5 28 5.3222997597145 1 +3.5 29 5.25541508281266 1 +3.5 3 9.69711046362605 1 +3.5 30 5.16694632856494 1 +3.5 31 5.10047440209664 1 +3.5 32 5.0264181221327 1 +3.5 33 4.96955335805539 1 +3.5 34 4.89737439094354 1 +3.5 35 4.82100753415189 1 +3.5 36 4.76550152848944 1 +3.5 37 4.69976451069885 1 +3.5 38 4.62534508011627 1 +3.5 39 4.57786391458015 1 +3.5 4 9.31958690169393 1 +3.5 40 4.53086588760368 1 +3.5 41 4.46782272562004 1 +3.5 42 4.41522289705555 1 +3.5 43 4.37047019600331 1 +3.5 44 4.31261177095432 1 +3.5 45 4.26409799182418 1 +3.5 46 4.20270230289739 1 +3.5 47 4.151498381614 1 +3.5 48 4.09343729144446 1 +3.5 49 4.05036341125659 1 +3.5 5 8.97781386989892 1 +3.5 50 4.00828213923158 1 +3.5 51 3.96939181965579 1 +3.5 52 3.93086625047402 1 +3.5 53 3.87557463839345 1 +3.5 54 3.848372697726 1 +3.5 55 3.78756764429836 1 +3.5 56 3.75383704274614 1 +3.5 57 3.71066668418438 1 +3.5 58 3.67107781379608 1 +3.5 59 3.63406513328327 1 +3.5 6 8.6535614275926 1 +3.5 60 3.59588744080412 1 +3.5 61 3.55949455557385 1 +3.5 62 3.51943378176212 1 +3.5 63 3.46794780670474 1 +3.5 64 3.45305825688239 1 +3.5 65 3.39288680866101 1 +3.5 66 3.35683438426832 1 +3.5 67 3.33016131497119 1 +3.5 68 3.30119185597834 1 +3.5 69 3.25622991103289 1 +3.5 7 8.36247345479856 1 +3.5 70 3.23188309338726 1 +3.5 71 3.18719674258909 1 +3.5 72 3.16468624361561 1 +3.5 73 3.12221469596717 1 +3.5 74 3.08553928055517 1 +3.5 75 3.05060006957654 1 +3.5 76 3.03333821804022 1 +3.5 77 2.98600702162725 1 +3.5 78 2.95731465366505 1 +3.5 79 2.92601079554847 1 +3.5 8 8.11817196209719 1 +3.5 80 2.90104114899107 1 +3.5 81 2.8699269515553 1 +3.5 82 2.82581093204091 1 +3.5 83 2.81412742818668 1 +3.5 84 2.77070039613894 1 +3.5 85 2.75488063338741 1 +3.5 86 2.70991558592153 1 +3.5 87 2.68586501598739 1 +3.5 88 2.65715138533362 1 +3.5 89 2.62184550718513 1 +3.5 9 7.82583654853464 1 +3.5 90 2.59677386226019 1 +3.5 91 2.57909520299575 1 +3.5 92 2.54930307055765 1 +3.5 93 2.51802662423506 1 +3.5 94 2.50527584875428 1 +3.5 95 2.47275232887331 1 +3.5 96 2.43678447632056 1 +3.5 97 2.41426823442491 1 +3.5 98 2.39478268269286 1 +3.5 99 2.3653483014622 1 +3.5 0 14.1335456176181 2 +3.5 1 13.8137594093376 2 +3.5 10 10.7742672532526 2 +3.5 100 4.60114022124086 2 +3.5 11 10.5304138484357 2 +3.5 12 10.3307269918368 2 +3.5 13 10.1212220220112 2 +3.5 14 9.91224669031468 2 +3.5 15 9.73202878547104 2 +3.5 16 9.58734095514254 2 +3.5 17 9.41811650177831 2 +3.5 18 9.258665300645 2 +3.5 19 9.10307983513958 2 +3.5 2 13.3821596050072 2 +3.5 20 8.93098619788011 2 +3.5 21 8.80300530230856 2 +3.5 22 8.69622237448533 2 +3.5 23 8.55391525892156 2 +3.5 24 8.43414808330165 2 +3.5 25 8.33044133095145 2 +3.5 26 8.23533854483763 2 +3.5 27 8.15590631404169 2 +3.5 28 8.01150403256351 2 +3.5 29 7.92517141926382 2 +3.5 3 12.9368753071119 2 +3.5 30 7.81801638375546 2 +3.5 31 7.7381954282364 2 +3.5 32 7.63305836357274 2 +3.5 33 7.54203455681413 2 +3.5 34 7.49020445374651 2 +3.5 35 7.39116711064083 2 +3.5 36 7.34444861411774 2 +3.5 37 7.24081192443858 2 +3.5 38 7.17742506603538 2 +3.5 39 7.11233164973009 2 +3.5 4 12.5367657021209 2 +3.5 40 7.02467697504426 2 +3.5 41 6.93772808972886 2 +3.5 42 6.91538212099731 2 +3.5 43 6.85031942666674 2 +3.5 44 6.79514645989639 2 +3.5 45 6.71730675537903 2 +3.5 46 6.67978983952655 2 +3.5 47 6.60530121180905 2 +3.5 48 6.57169362648599 2 +3.5 49 6.50675614478216 2 +3.5 5 12.1969596591995 2 +3.5 50 6.43647395049669 2 +3.5 51 6.36650118535392 2 +3.5 52 6.32415014303005 2 +3.5 53 6.29663398218925 2 +3.5 54 6.22567006349776 2 +3.5 55 6.18505396149397 2 +3.5 56 6.12672114450891 2 +3.5 57 6.10832743691581 2 +3.5 58 6.04793234510297 2 +3.5 59 5.99092190598741 2 +3.5 6 11.8723616766289 2 +3.5 60 5.95193677392213 2 +3.5 61 5.91512660271823 2 +3.5 62 5.87628388226728 2 +3.5 63 5.82285280713358 2 +3.5 64 5.79986167567187 2 +3.5 65 5.74950715550275 2 +3.5 66 5.72186653568278 2 +3.5 67 5.68425174714191 2 +3.5 68 5.63914982792462 2 +3.5 69 5.5943701238547 2 +3.5 7 11.6176329313801 2 +3.5 70 5.56955427019216 2 +3.5 71 5.49772856958956 2 +3.5 72 5.48275342353007 2 +3.5 73 5.46192943709365 2 +3.5 74 5.39604116168903 2 +3.5 75 5.37355461253463 2 +3.5 76 5.33428678822097 2 +3.5 77 5.30731365863448 2 +3.5 78 5.27628983156373 2 +3.5 79 5.22812279873252 2 +3.5 8 11.2840450298177 2 +3.5 80 5.20320589547565 2 +3.5 81 5.18834440817981 2 +3.5 82 5.13762751495446 2 +3.5 83 5.09871759183211 2 +3.5 84 5.08275958631838 2 +3.5 85 5.02658825375383 2 +3.5 86 5.01254584427392 2 +3.5 87 4.97265568055257 2 +3.5 88 4.94727066927455 2 +3.5 89 4.91085472831507 2 +3.5 9 11.0200793278258 2 +3.5 90 4.87824332235568 2 +3.5 91 4.85453268754536 2 +3.5 92 4.81642616015691 2 +3.5 93 4.78619489592626 2 +3.5 94 4.78041010996745 2 +3.5 95 4.75076979268275 2 +3.5 96 4.70276072653652 2 +3.5 97 4.68281382288069 2 +3.5 98 4.65575423622823 2 +3.5 99 4.62552090600031 2 +3.6 0 11.5329335500688 1 +3.6 1 11.1292275276052 1 +3.6 10 8.08490447218109 1 +3.6 100 2.62059027789484 1 +3.6 11 7.84097032461495 1 +3.6 12 7.66024123346551 1 +3.6 13 7.49821209065018 1 +3.6 14 7.31838780497531 1 +3.6 15 7.15110669045113 1 +3.6 16 7.00561285596437 1 +3.6 17 6.85025157410146 1 +3.6 18 6.717218043275 1 +3.6 19 6.59555397057971 1 +3.6 2 10.647304459658 1 +3.6 20 6.47986026459451 1 +3.6 21 6.36389256287902 1 +3.6 22 6.25439846009495 1 +3.6 23 6.13049628995546 1 +3.6 24 6.03366538008476 1 +3.6 25 5.95065339354076 1 +3.6 26 5.84747891824378 1 +3.6 27 5.76309020197047 1 +3.6 28 5.68333699392031 1 +3.6 29 5.59547527237562 1 +3.6 3 10.1538557005587 1 +3.6 30 5.50879165150825 1 +3.6 31 5.42983690132715 1 +3.6 32 5.38013427094485 1 +3.6 33 5.29098765384698 1 +3.6 34 5.22164445469085 1 +3.6 35 5.15961568322508 1 +3.6 36 5.10472628614594 1 +3.6 37 5.03283128831749 1 +3.6 38 4.95898047773535 1 +3.6 39 4.90491086005299 1 +3.6 4 9.75806349577552 1 +3.6 40 4.84678374286023 1 +3.6 41 4.7963921528991 1 +3.6 42 4.73617141357466 1 +3.6 43 4.68846646635584 1 +3.6 44 4.6275989594823 1 +3.6 45 4.57098193476759 1 +3.6 46 4.52117071595068 1 +3.6 47 4.46657808288808 1 +3.6 48 4.42064199379935 1 +3.6 49 4.38292213912132 1 +3.6 5 9.40114431855664 1 +3.6 50 4.3178094373432 1 +3.6 51 4.28206742518416 1 +3.6 52 4.23577694967843 1 +3.6 53 4.19212184061951 1 +3.6 54 4.15142190967391 1 +3.6 55 4.11372309063434 1 +3.6 56 4.04866004983818 1 +3.6 57 4.02129499285826 1 +3.6 58 3.980403933131 1 +3.6 59 3.93941009049247 1 +3.6 6 9.11290008814093 1 +3.6 60 3.9019893771533 1 +3.6 61 3.86108764811048 1 +3.6 62 3.81498473343127 1 +3.6 63 3.78289594877008 1 +3.6 64 3.72861990289386 1 +3.6 65 3.71554232740988 1 +3.6 66 3.672000568136 1 +3.6 67 3.62882344968288 1 +3.6 68 3.58074283190977 1 +3.6 69 3.5511435484704 1 +3.6 7 8.81546714587735 1 +3.6 70 3.51772456272328 1 +3.6 71 3.48971652450015 1 +3.6 72 3.45617269273434 1 +3.6 73 3.41267813872303 1 +3.6 74 3.39024634119288 1 +3.6 75 3.35289095689515 1 +3.6 76 3.32138263217889 1 +3.6 77 3.28396308342623 1 +3.6 78 3.25365995890647 1 +3.6 79 3.21979230168873 1 +3.6 8 8.53462950889747 1 +3.6 80 3.19689564425472 1 +3.6 81 3.15455673170253 1 +3.6 82 3.12245260286657 1 +3.6 83 3.0953832676559 1 +3.6 84 3.07503762797233 1 +3.6 85 3.03074340208728 1 +3.6 86 2.99800863614389 1 +3.6 87 2.97006736586368 1 +3.6 88 2.94333383382971 1 +3.6 89 2.91486989380571 1 +3.6 9 8.26467945523126 1 +3.6 90 2.88718784056415 1 +3.6 91 2.8541004558551 1 +3.6 92 2.8286227285431 1 +3.6 93 2.79976908219351 1 +3.6 94 2.77108289386454 1 +3.6 95 2.75540245293309 1 +3.6 96 2.72141790802051 1 +3.6 97 2.6907476135923 1 +3.6 98 2.67520932830549 1 +3.6 99 2.6549196442302 1 +3.6 0 14.6291769555431 2 +3.6 1 14.2816651583813 2 +3.6 10 11.2731126569303 2 +3.6 100 4.94596391997715 2 +3.6 11 11.015674602995 2 +3.6 12 10.8125911935017 2 +3.6 13 10.6184225777224 2 +3.6 14 10.3874615761505 2 +3.6 15 10.2358565342916 2 +3.6 16 10.0418746294932 2 +3.6 17 9.86665029189398 2 +3.6 18 9.70632503823788 2 +3.6 19 9.53953100434465 2 +3.6 2 13.8840878603129 2 +3.6 20 9.42675308593486 2 +3.6 21 9.27919908510669 2 +3.6 22 9.1279408063747 2 +3.6 23 9.01870985648959 2 +3.6 24 8.86525855842253 2 +3.6 25 8.77766385015271 2 +3.6 26 8.6729522462301 2 +3.6 27 8.52761504752421 2 +3.6 28 8.47322638721904 2 +3.6 29 8.34253201650075 2 +3.6 3 13.4548960032498 2 +3.6 30 8.25492793916593 2 +3.6 31 8.18310582276305 2 +3.6 32 8.07831525711765 2 +3.6 33 7.97907737094399 2 +3.6 34 7.88892998953562 2 +3.6 35 7.80859113205566 2 +3.6 36 7.74128304883622 2 +3.6 37 7.67381312873513 2 +3.6 38 7.60414824845251 2 +3.6 39 7.51851518654034 2 +3.6 4 13.0756550724105 2 +3.6 40 7.44422205123053 2 +3.6 41 7.35259147869079 2 +3.6 42 7.31020460371687 2 +3.6 43 7.23488159098655 2 +3.6 44 7.18022707271764 2 +3.6 45 7.11725656195447 2 +3.6 46 7.07516470747309 2 +3.6 47 6.98612364218627 2 +3.6 48 6.93968980589729 2 +3.6 49 6.90357806868634 2 +3.6 5 12.7278745862379 2 +3.6 50 6.82016462930502 2 +3.6 51 6.80528303012471 2 +3.6 52 6.74184491054845 2 +3.6 53 6.66376853487096 2 +3.6 54 6.62232909856693 2 +3.6 55 6.58102536420398 2 +3.6 56 6.51624690690662 2 +3.6 57 6.49834412391702 2 +3.6 58 6.42038857231187 2 +3.6 59 6.38778439043825 2 +3.6 6 12.3979867880708 2 +3.6 60 6.33615966877164 2 +3.6 61 6.3087206273238 2 +3.6 62 6.27649752940124 2 +3.6 63 6.21182345654909 2 +3.6 64 6.16823106928944 2 +3.6 65 6.11930903168766 2 +3.6 66 6.08546522207932 2 +3.6 67 6.0290167377813 2 +3.6 68 6.00894097365558 2 +3.6 69 5.96365006192298 2 +3.6 7 12.0591787588298 2 +3.6 70 5.93686547579847 2 +3.6 71 5.90138756415159 2 +3.6 72 5.84280542179191 2 +3.6 73 5.80713048573291 2 +3.6 74 5.7896860852772 2 +3.6 75 5.74393802967412 2 +3.6 76 5.7106735825508 2 +3.6 77 5.68238495757549 2 +3.6 78 5.64305902048072 2 +3.6 79 5.59847722313663 2 +3.6 8 11.796297395513 2 +3.6 80 5.56608921731058 2 +3.6 81 5.54937314491844 2 +3.6 82 5.50795474250168 2 +3.6 83 5.45344033498301 2 +3.6 84 5.43194320223606 2 +3.6 85 5.41415185110298 2 +3.6 86 5.37510363572746 2 +3.6 87 5.33634913797076 2 +3.6 88 5.32385167851776 2 +3.6 89 5.27161231705022 2 +3.6 9 11.5101926576265 2 +3.6 90 5.22390212382265 2 +3.6 91 5.22196598124334 2 +3.6 92 5.18656364127105 2 +3.6 93 5.15642300980256 2 +3.6 94 5.13854175034357 2 +3.6 95 5.11557716345663 2 +3.6 96 5.07384648028954 2 +3.6 97 5.04878134595087 2 +3.6 98 5.01612506151787 2 +3.6 99 4.98259984747803 2 +3.7 0 11.9634758471782 1 +3.7 1 11.5437472686861 1 +3.7 10 8.48587439958126 1 +3.7 100 2.90115583141966 1 +3.7 11 8.2817561806349 1 +3.7 12 8.07431904020885 1 +3.7 13 7.88271072035906 1 +3.7 14 7.71216913603469 1 +3.7 15 7.53955578970033 1 +3.7 16 7.40178514527015 1 +3.7 17 7.24441503603081 1 +3.7 18 7.10361511619823 1 +3.7 19 6.97378749984762 1 +3.7 2 11.0551352745263 1 +3.7 20 6.8445404380047 1 +3.7 21 6.75445908200838 1 +3.7 22 6.60828105854094 1 +3.7 23 6.51777512152956 1 +3.7 24 6.38684551035019 1 +3.7 25 6.2912429591909 1 +3.7 26 6.21087709830885 1 +3.7 27 6.1271462356647 1 +3.7 28 6.02317529766356 1 +3.7 29 5.93358492729738 1 +3.7 3 10.5967482126938 1 +3.7 30 5.85496249738095 1 +3.7 31 5.75922958379958 1 +3.7 32 5.71711563323683 1 +3.7 33 5.62740245095083 1 +3.7 34 5.56205458064425 1 +3.7 35 5.50024374219148 1 +3.7 36 5.41761940957119 1 +3.7 37 5.36114748632072 1 +3.7 38 5.28587525137732 1 +3.7 39 5.23621495360548 1 +3.7 4 10.1767003429885 1 +3.7 40 5.17768419852495 1 +3.7 41 5.10764537582856 1 +3.7 42 5.04454819326427 1 +3.7 43 5.00886469337769 1 +3.7 44 4.94664443289451 1 +3.7 45 4.89607326006327 1 +3.7 46 4.83619527792546 1 +3.7 47 4.79337146737161 1 +3.7 48 4.7417198983993 1 +3.7 49 4.68319530024663 1 +3.7 5 9.81297166084228 1 +3.7 50 4.63690561093313 1 +3.7 51 4.59527540023799 1 +3.7 52 4.55548686043861 1 +3.7 53 4.50978414266364 1 +3.7 54 4.45789072351738 1 +3.7 55 4.4163598924809 1 +3.7 56 4.38020249349496 1 +3.7 57 4.32962902356524 1 +3.7 58 4.28349320550244 1 +3.7 59 4.24751108412911 1 +3.7 6 9.54406103353136 1 +3.7 60 4.1995729398068 1 +3.7 61 4.15664984916559 1 +3.7 62 4.12844144796865 1 +3.7 63 4.08438179964745 1 +3.7 64 4.06598461689481 1 +3.7 65 4.00674173305397 1 +3.7 66 3.96624217711133 1 +3.7 67 3.92872029384851 1 +3.7 68 3.89017337293178 1 +3.7 69 3.87152086264749 1 +3.7 7 9.23998976689084 1 +3.7 70 3.8120688009956 1 +3.7 71 3.79052396503659 1 +3.7 72 3.76598600720445 1 +3.7 73 3.71936968478735 1 +3.7 74 3.68101582580346 1 +3.7 75 3.65174684139864 1 +3.7 76 3.61994022592574 1 +3.7 77 3.59250408706421 1 +3.7 78 3.55964045033112 1 +3.7 79 3.52202256498761 1 +3.7 8 8.98438115064265 1 +3.7 80 3.49198961202225 1 +3.7 81 3.45966251724614 1 +3.7 82 3.40818729268379 1 +3.7 83 3.38659623420218 1 +3.7 84 3.35309843775121 1 +3.7 85 3.32569254430066 1 +3.7 86 3.30175144460702 1 +3.7 87 3.26339448401363 1 +3.7 88 3.23034829625679 1 +3.7 89 3.2019079784739 1 +3.7 9 8.71985679702112 1 +3.7 90 3.17789033965188 1 +3.7 91 3.155141459074 1 +3.7 92 3.11627749721314 1 +3.7 93 3.08872347223164 1 +3.7 94 3.06863618352647 1 +3.7 95 3.0467231699263 1 +3.7 96 3.01599169723988 1 +3.7 97 2.98699093671902 1 +3.7 98 2.96174561993235 1 +3.7 99 2.92897268876905 1 +3.7 0 15.10505090767 2 +3.7 1 14.7870864039291 2 +3.7 10 11.7848442557061 2 +3.7 100 5.31642828955592 2 +3.7 11 11.51606135 2 +3.7 12 11.3064232112276 2 +3.7 13 11.0966424174865 2 +3.7 14 10.8839523250055 2 +3.7 15 10.7332854198751 2 +3.7 16 10.5063700542315 2 +3.7 17 10.3772804097705 2 +3.7 18 10.1804551261182 2 +3.7 19 10.0195798893432 2 +3.7 2 14.3992691119509 2 +3.7 20 9.85449226408885 2 +3.7 21 9.72785582444585 2 +3.7 22 9.6292126541501 2 +3.7 23 9.47457771717963 2 +3.7 24 9.33884691219495 2 +3.7 25 9.20215120832176 2 +3.7 26 9.10884605448553 2 +3.7 27 9.00266873818978 2 +3.7 28 8.87596635482575 2 +3.7 29 8.76603570151729 2 +3.7 3 13.9533174369243 2 +3.7 30 8.68032502696411 2 +3.7 31 8.60419520526464 2 +3.7 32 8.49539421204626 2 +3.7 33 8.3974437050946 2 +3.7 34 8.31543875999055 2 +3.7 35 8.23769751483063 2 +3.7 36 8.14863542373995 2 +3.7 37 8.08259365135506 2 +3.7 38 8.00317430812848 2 +3.7 39 7.91481286260561 2 +3.7 4 13.5482440217639 2 +3.7 40 7.84212631635298 2 +3.7 41 7.78229127730864 2 +3.7 42 7.6868149568942 2 +3.7 43 7.6389957116607 2 +3.7 44 7.58031501386321 2 +3.7 45 7.52688700443748 2 +3.7 46 7.46366225054795 2 +3.7 47 7.39173476881633 2 +3.7 48 7.34030277527401 2 +3.7 49 7.31056181106089 2 +3.7 5 13.2022095209803 2 +3.7 50 7.23245897998598 2 +3.7 51 7.16353853100311 2 +3.7 52 7.11991780025474 2 +3.7 53 7.05597968039306 2 +3.7 54 7.01608551061762 2 +3.7 55 6.95020815897077 2 +3.7 56 6.90478346043341 2 +3.7 57 6.86272809431474 2 +3.7 58 6.81744018464749 2 +3.7 59 6.77092901428242 2 +3.7 6 12.8791936093695 2 +3.7 60 6.71892332791536 2 +3.7 61 6.66399180577494 2 +3.7 62 6.62949690736266 2 +3.7 63 6.59258516288049 2 +3.7 64 6.54716951657775 2 +3.7 65 6.50318690769971 2 +3.7 66 6.46313067497243 2 +3.7 67 6.41305780770815 2 +3.7 68 6.38090750994968 2 +3.7 69 6.33817047867072 2 +3.7 7 12.5990057693838 2 +3.7 70 6.30197124561582 2 +3.7 71 6.26324226587786 2 +3.7 72 6.21676127482638 2 +3.7 73 6.18835557567771 2 +3.7 74 6.15586061476716 2 +3.7 75 6.10204334118446 2 +3.7 76 6.07086587099558 2 +3.7 77 6.02855862109463 2 +3.7 78 6.01401905062257 2 +3.7 79 5.9646726507782 2 +3.7 8 12.3135638346986 2 +3.7 80 5.95589511565789 2 +3.7 81 5.89187726967091 2 +3.7 82 5.86718577663444 2 +3.7 83 5.84292913250455 2 +3.7 84 5.80226347491994 2 +3.7 85 5.76286356766691 2 +3.7 86 5.73130931658254 2 +3.7 87 5.70147531993954 2 +3.7 88 5.67129707341058 2 +3.7 89 5.63149524981673 2 +3.7 9 12.0178193119177 2 +3.7 90 5.60941268890851 2 +3.7 91 5.58841222905943 2 +3.7 92 5.57418440856533 2 +3.7 93 5.49709550823203 2 +3.7 94 5.5103954077831 2 +3.7 95 5.45935528391836 2 +3.7 96 5.42448952719558 2 +3.7 97 5.38328881072224 2 +3.7 98 5.37543904848877 2 +3.7 99 5.33891463178643 2 +3.8 0 12.3623236564312 1 +3.8 1 11.9757939954776 1 +3.8 10 8.90922915182148 1 +3.8 100 3.190678020183 1 +3.8 11 8.70460938110126 1 +3.8 12 8.49854510519506 1 +3.8 13 8.28681166462938 1 +3.8 14 8.11508695801905 1 +3.8 15 7.94551523267676 1 +3.8 16 7.79979115357176 1 +3.8 17 7.63491766340022 1 +3.8 18 7.48959340031864 1 +3.8 19 7.36331325050219 1 +3.8 2 11.5047689332388 1 +3.8 20 7.23648264988243 1 +3.8 21 7.117552544094 1 +3.8 22 6.99250725477977 1 +3.8 23 6.86861932514292 1 +3.8 24 6.77085890280677 1 +3.8 25 6.65973729431495 1 +3.8 26 6.56613494204244 1 +3.8 27 6.48088499239762 1 +3.8 28 6.39826716263467 1 +3.8 29 6.30719638601113 1 +3.8 3 11.0426393725221 1 +3.8 30 6.20782406633584 1 +3.8 31 6.1409665653978 1 +3.8 32 6.04512642231601 1 +3.8 33 5.96791882419665 1 +3.8 34 5.89109397565753 1 +3.8 35 5.82237054417723 1 +3.8 36 5.77077733733592 1 +3.8 37 5.69242307800384 1 +3.8 38 5.62608842400024 1 +3.8 39 5.5657686067275 1 +3.8 4 10.6413276227784 1 +3.8 40 5.48707025397827 1 +3.8 41 5.46024534647335 1 +3.8 42 5.38134173417873 1 +3.8 43 5.32546435671905 1 +3.8 44 5.26922836299967 1 +3.8 45 5.20815970848027 1 +3.8 46 5.16554672785757 1 +3.8 47 5.10852708937292 1 +3.8 48 5.05652621959521 1 +3.8 49 5.02106126959041 1 +3.8 5 10.297517824004 1 +3.8 50 4.95817025901178 1 +3.8 51 4.91064157465199 1 +3.8 52 4.86052422672859 1 +3.8 53 4.81371907709827 1 +3.8 54 4.76399680071558 1 +3.8 55 4.74220584534367 1 +3.8 56 4.67830061009418 1 +3.8 57 4.64977286905998 1 +3.8 58 4.58676597564705 1 +3.8 59 4.54364614413542 1 +3.8 6 9.96811895984436 1 +3.8 60 4.50738909275985 1 +3.8 61 4.47962288810401 1 +3.8 62 4.43008448706485 1 +3.8 63 4.40035223291395 1 +3.8 64 4.36218443200684 1 +3.8 65 4.31609997192158 1 +3.8 66 4.2758492214604 1 +3.8 67 4.2503603603292 1 +3.8 68 4.19727448763996 1 +3.8 69 4.16384580143779 1 +3.8 7 9.65958309337412 1 +3.8 70 4.12016375601837 1 +3.8 71 4.10681739109039 1 +3.8 72 4.05475678743585 1 +3.8 73 4.03691966383307 1 +3.8 74 3.98954907712612 1 +3.8 75 3.95087889625468 1 +3.8 76 3.91736995337566 1 +3.8 77 3.89501025454662 1 +3.8 78 3.84987001741692 1 +3.8 79 3.81106064043707 1 +3.8 8 9.40899277495907 1 +3.8 80 3.78274949998992 1 +3.8 81 3.75456167331735 1 +3.8 82 3.73040899260344 1 +3.8 83 3.68905312054541 1 +3.8 84 3.65509914961588 1 +3.8 85 3.62976394789771 1 +3.8 86 3.59667270655641 1 +3.8 87 3.55900313707332 1 +3.8 88 3.53552489919871 1 +3.8 89 3.51236096291803 1 +3.8 9 9.13086497969681 1 +3.8 90 3.46924543878394 1 +3.8 91 3.45544229477049 1 +3.8 92 3.41146113204637 1 +3.8 93 3.38885329083517 1 +3.8 94 3.36745707744029 1 +3.8 95 3.32524608376467 1 +3.8 96 3.30081214996588 1 +3.8 97 3.27080045978681 1 +3.8 98 3.24139221841915 1 +3.8 99 3.22830347805006 1 +3.8 0 15.5284094654518 2 +3.8 1 15.2191655308686 2 +3.8 10 12.254433250795 2 +3.8 100 5.67165132567362 2 +3.8 11 11.9885485711909 2 +3.8 12 11.7896095614387 2 +3.8 13 11.5741341323846 2 +3.8 14 11.3333592611412 2 +3.8 15 11.2257912468223 2 +3.8 16 10.9965233449268 2 +3.8 17 10.8032306697823 2 +3.8 18 10.6656085893002 2 +3.8 19 10.5165916984832 2 +3.8 2 14.8818207398819 2 +3.8 20 10.345927929104 2 +3.8 21 10.1612273438858 2 +3.8 22 10.0237654723143 2 +3.8 23 9.93068556193804 2 +3.8 24 9.7899690708021 2 +3.8 25 9.68118178087881 2 +3.8 26 9.54678050879309 2 +3.8 27 9.4531495303137 2 +3.8 28 9.30972150466652 2 +3.8 29 9.22093046776527 2 +3.8 3 14.4460471921402 2 +3.8 30 9.09768393051511 2 +3.8 31 9.01218996163705 2 +3.8 32 8.94103707516722 2 +3.8 33 8.82362380956998 2 +3.8 34 8.75258121523216 2 +3.8 35 8.63312925008366 2 +3.8 36 8.58640381778083 2 +3.8 37 8.49117199321565 2 +3.8 38 8.42453987221743 2 +3.8 39 8.33529917274193 2 +3.8 4 14.080754865988 2 +3.8 40 8.25582373205186 2 +3.8 41 8.18609897501073 2 +3.8 42 8.11791338779823 2 +3.8 43 8.03355767595393 2 +3.8 44 7.96981393122555 2 +3.8 45 7.92116970393991 2 +3.8 46 7.84535264517837 2 +3.8 47 7.77581786457089 2 +3.8 48 7.74514947132896 2 +3.8 49 7.64378864959274 2 +3.8 5 13.7137620410159 2 +3.8 50 7.6171787767637 2 +3.8 51 7.56459858434855 2 +3.8 52 7.49976097134412 2 +3.8 53 7.42966926520294 2 +3.8 54 7.38713473238712 2 +3.8 55 7.34323331590024 2 +3.8 56 7.29041663573257 2 +3.8 57 7.23504027021541 2 +3.8 58 7.18599998170982 2 +3.8 59 7.11976488638818 2 +3.8 6 13.3493008778173 2 +3.8 60 7.09845994055056 2 +3.8 61 7.0462728895342 2 +3.8 62 7.00611411077959 2 +3.8 63 6.96288696104988 2 +3.8 64 6.91887902572021 2 +3.8 65 6.85508603111263 2 +3.8 66 6.81189868630804 2 +3.8 67 6.76897003283707 2 +3.8 68 6.73552349594369 2 +3.8 69 6.7134751121136 2 +3.8 7 13.0552797697091 2 +3.8 70 6.6773587085998 2 +3.8 71 6.61342250561793 2 +3.8 72 6.59487864128712 2 +3.8 73 6.54856536095927 2 +3.8 74 6.53322849075232 2 +3.8 75 6.46624673465899 2 +3.8 76 6.43581702605925 2 +3.8 77 6.40668359540235 2 +3.8 78 6.36793401798094 2 +3.8 79 6.3396104878778 2 +3.8 8 12.7667015964797 2 +3.8 80 6.28686560936892 2 +3.8 81 6.26982585948348 2 +3.8 82 6.22695497825226 2 +3.8 83 6.18871718670076 2 +3.8 84 6.16380019446546 2 +3.8 85 6.13932317537722 2 +3.8 86 6.10933687650963 2 +3.8 87 6.06532691360277 2 +3.8 88 6.03203920716869 2 +3.8 89 6.0060982829953 2 +3.8 9 12.5108947912523 2 +3.8 90 5.95687761028115 2 +3.8 91 5.93559207290046 2 +3.8 92 5.8863953830332 2 +3.8 93 5.87430441186967 2 +3.8 94 5.85431834943863 2 +3.8 95 5.82707150265361 2 +3.8 96 5.80083030133642 2 +3.8 97 5.74687085072886 2 +3.8 98 5.72875421735276 2 +3.8 99 5.69208157987556 2 +3.9 0 12.7631965967206 1 +3.9 1 12.3748051028485 1 +3.9 10 9.33717811932903 1 +3.9 100 3.48072549643304 1 +3.9 11 9.09922104775057 1 +3.9 12 8.88446949850526 1 +3.9 13 8.70389736837964 1 +3.9 14 8.51786831072152 1 +3.9 15 8.3116726413459 1 +3.9 16 8.17019486456083 1 +3.9 17 8.01260888425315 1 +3.9 18 7.87790171862841 1 +3.9 19 7.74643086123323 1 +3.9 2 11.9456001411631 1 +3.9 20 7.61380130324324 1 +3.9 21 7.46523290064483 1 +3.9 22 7.34672301026815 1 +3.9 23 7.26047801048652 1 +3.9 24 7.13176145546781 1 +3.9 25 7.03567093333161 1 +3.9 26 6.94384634996979 1 +3.9 27 6.81795317605128 1 +3.9 28 6.76653539539936 1 +3.9 29 6.66454377012049 1 +3.9 3 11.3862851542321 1 +3.9 30 6.56076077009576 1 +3.9 31 6.47360751783938 1 +3.9 32 6.40127508203846 1 +3.9 33 6.33400968344724 1 +3.9 34 6.25213762081152 1 +3.9 35 6.17475611580766 1 +3.9 36 6.10909493396193 1 +3.9 37 6.04732376992739 1 +3.9 38 5.97790849511339 1 +3.9 39 5.90978000060323 1 +3.9 4 11.0805117577009 1 +3.9 40 5.84416243278115 1 +3.9 41 5.77612591580385 1 +3.9 42 5.7230033450545 1 +3.9 43 5.67051181890492 1 +3.9 44 5.60894231706552 1 +3.9 45 5.53864540935738 1 +3.9 46 5.49690349848682 1 +3.9 47 5.44067771320641 1 +3.9 48 5.40853189426591 1 +3.9 49 5.32427235017896 1 +3.9 5 10.7150191960568 1 +3.9 50 5.27434047881686 1 +3.9 51 5.23442680756083 1 +3.9 52 5.18638284901073 1 +3.9 53 5.11995436247224 1 +3.9 54 5.07598178607058 1 +3.9 55 5.02933985176665 1 +3.9 56 5.00225501895921 1 +3.9 57 4.9534538426366 1 +3.9 58 4.90925303107428 1 +3.9 59 4.86890714211676 1 +3.9 6 10.4039285159156 1 +3.9 60 4.82002199643784 1 +3.9 61 4.79357182290607 1 +3.9 62 4.74317004390969 1 +3.9 63 4.70285246060966 1 +3.9 64 4.66455466064722 1 +3.9 65 4.62844626921825 1 +3.9 66 4.59070837362621 1 +3.9 67 4.54752601841927 1 +3.9 68 4.51131462430271 1 +3.9 69 4.46828695636899 1 +3.9 7 10.1168128869549 1 +3.9 70 4.43239946801344 1 +3.9 71 4.39266036478986 1 +3.9 72 4.35160938154654 1 +3.9 73 4.32955165391129 1 +3.9 74 4.28959672076996 1 +3.9 75 4.25696333628844 1 +3.9 76 4.21564692448032 1 +3.9 77 4.18906577595455 1 +3.9 78 4.15671244024036 1 +3.9 79 4.11310935141382 1 +3.9 8 9.82193002313996 1 +3.9 80 4.07622664401813 1 +3.9 81 4.04118299506713 1 +3.9 82 4.03948889149754 1 +3.9 83 3.98760675208108 1 +3.9 84 3.96291707956473 1 +3.9 85 3.92426009020287 1 +3.9 86 3.8870032752706 1 +3.9 87 3.8629042955268 1 +3.9 88 3.84688046511214 1 +3.9 89 3.8116156036593 1 +3.9 9 9.57455540630027 1 +3.9 90 3.76741696770742 1 +3.9 91 3.73715999492652 1 +3.9 92 3.70022031194218 1 +3.9 93 3.69787341517217 1 +3.9 94 3.6553859030733 1 +3.9 95 3.61488724343486 1 +3.9 96 3.59588356452168 1 +3.9 97 3.5642449764566 1 +3.9 98 3.53072240546443 1 +3.9 99 3.51065909157915 1 +3.9 0 16.0287044300686 2 +3.9 1 15.6823206123596 2 +3.9 10 12.7025564436406 2 +3.9 100 6.03078467173318 2 +3.9 11 12.4852853988555 2 +3.9 12 12.2526545446977 2 +3.9 13 12.0939648728406 2 +3.9 14 11.8738689078816 2 +3.9 15 11.6313059949267 2 +3.9 16 11.4458457816988 2 +3.9 17 11.29718908932 2 +3.9 18 11.1110971179276 2 +3.9 19 10.94173274793 2 +3.9 2 15.3468581828958 2 +3.9 20 10.7983243787627 2 +3.9 21 10.6457107108587 2 +3.9 22 10.5047894761433 2 +3.9 23 10.3664661325112 2 +3.9 24 10.2248168204095 2 +3.9 25 10.1228564169533 2 +3.9 26 9.97943297374756 2 +3.9 27 9.887539981555 2 +3.9 28 9.74812601693193 2 +3.9 29 9.64470219728025 2 +3.9 3 14.9398345753996 2 +3.9 30 9.56347187890408 2 +3.9 31 9.4822771583215 2 +3.9 32 9.35774498851035 2 +3.9 33 9.2383188006694 2 +3.9 34 9.15695600762165 2 +3.9 35 9.08007127770014 2 +3.9 36 8.99115687881866 2 +3.9 37 8.92548611667853 2 +3.9 38 8.79605373722622 2 +3.9 39 8.72519154701648 2 +3.9 4 14.561158007879 2 +3.9 40 8.6451217802676 2 +3.9 41 8.58797769709187 2 +3.9 42 8.52589322733232 2 +3.9 43 8.4640445546984 2 +3.9 44 8.35679962954789 2 +3.9 45 8.35570898583953 2 +3.9 46 8.26259745302042 2 +3.9 47 8.20162188451149 2 +3.9 48 8.10761843130769 2 +3.9 49 8.08442992954747 2 +3.9 5 14.2156120120812 2 +3.9 50 8.00381337809213 2 +3.9 51 7.93759827134646 2 +3.9 52 7.86567902507916 2 +3.9 53 7.81123826707326 2 +3.9 54 7.7715051544084 2 +3.9 55 7.74802511840243 2 +3.9 56 7.66247526469209 2 +3.9 57 7.62111010172941 2 +3.9 58 7.57787815485344 2 +3.9 59 7.52722490528681 2 +3.9 6 13.8916587940721 2 +3.9 60 7.47363956031391 2 +3.9 61 7.43357931774086 2 +3.9 62 7.39413054275306 2 +3.9 63 7.33707289964884 2 +3.9 64 7.30512021743287 2 +3.9 65 7.2548999862984 2 +3.9 66 7.19687802171536 2 +3.9 67 7.1496108471239 2 +3.9 68 7.13902214523982 2 +3.9 69 7.07795670801229 2 +3.9 7 13.5233221990452 2 +3.9 70 7.03410690833911 2 +3.9 71 6.98893797492751 2 +3.9 72 6.97343159177661 2 +3.9 73 6.92780665780566 2 +3.9 74 6.8829579508565 2 +3.9 75 6.81905793137483 2 +3.9 76 6.82557143334713 2 +3.9 77 6.75919440082578 2 +3.9 78 6.73335236285798 2 +3.9 79 6.69653588247804 2 +3.9 8 13.2632422910861 2 +3.9 80 6.65173995997605 2 +3.9 81 6.63750925377657 2 +3.9 82 6.6008082599178 2 +3.9 83 6.56980260454138 2 +3.9 84 6.52461162231435 2 +3.9 85 6.51322340832929 2 +3.9 86 6.46549011136211 2 +3.9 87 6.41753119679461 2 +3.9 88 6.39523983464285 2 +3.9 89 6.36537883858534 2 +3.9 9 13.0043502925823 2 +3.9 90 6.35097098552315 2 +3.9 91 6.31487341104573 2 +3.9 92 6.272105105819 2 +3.9 93 6.24275038285973 2 +3.9 94 6.21140293448806 2 +3.9 95 6.17585301309297 2 +3.9 96 6.14677036884992 2 +3.9 97 6.12135341439898 2 +3.9 98 6.0844399722904 2 +3.9 99 6.06600521808934 2 +4 0 13.1584103741352 1 +4 1 12.8527625877008 1 +4 10 9.7416976592009 1 +4 100 3.78462555340171 1 +4 11 9.51025036302725 1 +4 12 9.32418848564219 1 +4 13 9.12140572068833 1 +4 14 8.94381884976066 1 +4 15 8.74495276875236 1 +4 16 8.60193007664136 1 +4 17 8.42898940511088 1 +4 18 8.26385903827361 1 +4 19 8.11915002060125 1 +4 2 12.3670800158741 1 +4 20 8.01594238343536 1 +4 21 7.85861023219364 1 +4 22 7.7470527369977 1 +4 23 7.63052372116684 1 +4 24 7.51396224830924 1 +4 25 7.39688652915832 1 +4 26 7.29222241619459 1 +4 27 7.1868252656499 1 +4 28 7.0809929843322 1 +4 29 7.00836639577601 1 +4 3 11.9372673701514 1 +4 30 6.93857104326307 1 +4 31 6.82609852204232 1 +4 32 6.73555135309617 1 +4 33 6.66684820775499 1 +4 34 6.57455572407014 1 +4 35 6.5258403797335 1 +4 36 6.42413013839177 1 +4 37 6.39413756947672 1 +4 38 6.31829852910839 1 +4 39 6.26173298112947 1 +4 4 11.5083176623183 1 +4 40 6.18330769307219 1 +4 41 6.12981600128099 1 +4 42 6.03575237037391 1 +4 43 5.99177508994528 1 +4 44 5.92716175621007 1 +4 45 5.8890398870068 1 +4 46 5.81535370471561 1 +4 47 5.77556212699212 1 +4 48 5.7225011033138 1 +4 49 5.6411558393987 1 +4 5 11.1923224242536 1 +4 50 5.5978394775321 1 +4 51 5.55585447728371 1 +4 52 5.50018323737303 1 +4 53 5.45678370766916 1 +4 54 5.42044539196605 1 +4 55 5.36395108441013 1 +4 56 5.33414751807725 1 +4 57 5.26205542452827 1 +4 58 5.22355523698169 1 +4 59 5.18487222937547 1 +4 6 10.8295190449509 1 +4 60 5.15353355497375 1 +4 61 5.08206571851393 1 +4 62 5.04575350027596 1 +4 63 5.00938172267484 1 +4 64 4.97943578745414 1 +4 65 4.94138989475525 1 +4 66 4.88757211284983 1 +4 67 4.83964709470304 1 +4 68 4.83478623192637 1 +4 69 4.78753297312912 1 +4 7 10.5161472986973 1 +4 70 4.76383668345081 1 +4 71 4.7080385831153 1 +4 72 4.67115564111498 1 +4 73 4.62112145498342 1 +4 74 4.59641836268106 1 +4 75 4.56107447171813 1 +4 76 4.53392684586122 1 +4 77 4.49894336885853 1 +4 78 4.45819616241939 1 +4 79 4.42757419077085 1 +4 8 10.2608884732738 1 +4 80 4.3913905862077 1 +4 81 4.34509882949302 1 +4 82 4.32570191862228 1 +4 83 4.29423939419676 1 +4 84 4.26287006258007 1 +4 85 4.23804528829959 1 +4 86 4.20647617624217 1 +4 87 4.16836061119611 1 +4 88 4.12810881326752 1 +4 89 4.10443604549251 1 +4 9 10.0164763383799 1 +4 90 4.064989272884 1 +4 91 4.0331362803564 1 +4 92 4.01240773725293 1 +4 93 3.99269461245417 1 +4 94 3.95402711781659 1 +4 95 3.92702496838426 1 +4 96 3.89060415568864 1 +4 97 3.85950702132142 1 +4 98 3.8317383663491 1 +4 99 3.80973925924715 1 +4 0 16.4488329831824 2 +4 1 16.1784114067907 2 +4 10 13.258214909978 2 +4 100 6.38924360881729 2 +4 11 12.972740543664 2 +4 12 12.7235050378762 2 +4 13 12.5635550732618 2 +4 14 12.2853315011311 2 +4 15 12.1073056683117 2 +4 16 11.9362600692566 2 +4 17 11.7666152359321 2 +4 18 11.5769547396044 2 +4 19 11.3916444684601 2 +4 2 15.8032848199113 2 +4 20 11.2450574202419 2 +4 21 11.1161763714982 2 +4 22 10.9703134633396 2 +4 23 10.7799762041355 2 +4 24 10.6700389650428 2 +4 25 10.5429190394702 2 +4 26 10.4555204369791 2 +4 27 10.3189597220075 2 +4 28 10.1846608895479 2 +4 29 10.0795076817882 2 +4 3 15.4009305787016 2 +4 30 9.98583460841455 2 +4 31 9.90797050508799 2 +4 32 9.76109449828485 2 +4 33 9.67442430854456 2 +4 34 9.59317073540932 2 +4 35 9.502760740845 2 +4 36 9.40479373600721 2 +4 37 9.35304829919706 2 +4 38 9.23105285131196 2 +4 39 9.14087624897861 2 +4 4 15.0607081891415 2 +4 40 9.05759475402312 2 +4 41 8.99164311510923 2 +4 42 8.91994818178171 2 +4 43 8.84556447711547 2 +4 44 8.79159293356925 2 +4 45 8.72209021694048 2 +4 46 8.65725455584659 2 +4 47 8.61817933635261 2 +4 48 8.51502932129077 2 +4 49 8.45248618473099 2 +4 5 14.6617025726663 2 +4 50 8.38869856346531 2 +4 51 8.31181619614573 2 +4 52 8.26539246120953 2 +4 53 8.23089966164848 2 +4 54 8.16238657503708 2 +4 55 8.13300344342941 2 +4 56 8.06195877286027 2 +4 57 8.01305378369598 2 +4 58 7.94870594167096 2 +4 59 7.90761010953075 2 +4 6 14.3671325834718 2 +4 60 7.84985254733156 2 +4 61 7.80853973907198 2 +4 62 7.77639004661046 2 +4 63 7.70148248351871 2 +4 64 7.67669560156287 2 +4 65 7.58678398044592 2 +4 66 7.58099925247516 2 +4 67 7.53317654775246 2 +4 68 7.49409529282325 2 +4 69 7.44240113609006 2 +4 7 14.0162645523918 2 +4 70 7.41666482890219 2 +4 71 7.35210145558659 2 +4 72 7.31431734011737 2 +4 73 7.28447073407702 2 +4 74 7.24755773321485 2 +4 75 7.19895244301763 2 +4 76 7.17368598988372 2 +4 77 7.12217951172009 2 +4 78 7.09820164425826 2 +4 79 7.04202583784478 2 +4 8 13.7037516130141 2 +4 80 7.00431011522513 2 +4 81 6.98428859906698 2 +4 82 6.94515808954696 2 +4 83 6.89759694944721 2 +4 84 6.87887402673069 2 +4 85 6.85332935415673 2 +4 86 6.82535657455048 2 +4 87 6.79506794221785 2 +4 88 6.73213173669638 2 +4 89 6.70096442595842 2 +4 9 13.4818160178312 2 +4 90 6.69294719338509 2 +4 91 6.67668562378497 2 +4 92 6.60856074384984 2 +4 93 6.58749341499556 2 +4 94 6.55957446861457 2 +4 95 6.52209338891183 2 +4 96 6.49663843330641 2 +4 97 6.47458197597742 2 +4 98 6.43542827436942 2 +4 99 6.42720185853083 2 +4.1 0 13.5550139339657 1 +4.1 1 13.2030117359715 1 +4.1 10 10.1687367931826 1 +4.1 100 4.07376958311809 1 +4.1 11 9.92057575414694 1 +4.1 12 9.71938710600295 1 +4.1 13 9.52184124270191 1 +4.1 14 9.32421862825917 1 +4.1 15 9.15545422445029 1 +4.1 16 8.98421753865447 1 +4.1 17 8.82840281224447 1 +4.1 18 8.66483338587271 1 +4.1 19 8.52603752103632 1 +4.1 2 12.7858924156939 1 +4.1 20 8.3797405316122 1 +4.1 21 8.24851979952435 1 +4.1 22 8.10439885939584 1 +4.1 23 7.98038067183599 1 +4.1 24 7.90118151114006 1 +4.1 25 7.76295166606297 1 +4.1 26 7.67489211559711 1 +4.1 27 7.546855819561 1 +4.1 28 7.45026510227542 1 +4.1 29 7.35783482547827 1 +4.1 3 12.3549495914091 1 +4.1 30 7.29645454988295 1 +4.1 31 7.19408002663727 1 +4.1 32 7.11192420224216 1 +4.1 33 7.00777027832861 1 +4.1 34 6.94453655162905 1 +4.1 35 6.85296051791822 1 +4.1 36 6.78265859484613 1 +4.1 37 6.71551912834053 1 +4.1 38 6.64464232501144 1 +4.1 39 6.58956577776249 1 +4.1 4 11.9805954210809 1 +4.1 40 6.5195955071404 1 +4.1 41 6.45320811279901 1 +4.1 42 6.39406811443575 1 +4.1 43 6.33984573686791 1 +4.1 44 6.26561408855138 1 +4.1 45 6.1995973207175 1 +4.1 46 6.14651453094194 1 +4.1 47 6.08637847058196 1 +4.1 48 6.01846621487837 1 +4.1 49 5.97187608315224 1 +4.1 5 11.6137978328703 1 +4.1 50 5.93101888337387 1 +4.1 51 5.88205970003313 1 +4.1 52 5.82244000456176 1 +4.1 53 5.76526150069246 1 +4.1 54 5.73360286454336 1 +4.1 55 5.67554353593061 1 +4.1 56 5.62187786043079 1 +4.1 57 5.5877931582014 1 +4.1 58 5.53528402061624 1 +4.1 59 5.49175069543801 1 +4.1 6 11.2493891069291 1 +4.1 60 5.45132844403164 1 +4.1 61 5.40688824093944 1 +4.1 62 5.36286016850274 1 +4.1 63 5.32259394568534 1 +4.1 64 5.28109679492601 1 +4.1 65 5.23413890138741 1 +4.1 66 5.19847632997333 1 +4.1 67 5.16750595703335 1 +4.1 68 5.12614964534258 1 +4.1 69 5.08294885924801 1 +4.1 7 10.9743681178799 1 +4.1 70 5.05780049662158 1 +4.1 71 5.00967338390135 1 +4.1 72 4.97770851166064 1 +4.1 73 4.92528842308134 1 +4.1 74 4.90319196337404 1 +4.1 75 4.86741386957255 1 +4.1 76 4.83668335559162 1 +4.1 77 4.79403824104744 1 +4.1 78 4.77131354809838 1 +4.1 79 4.73131817734394 1 +4.1 8 10.7004593226796 1 +4.1 80 4.70013782874641 1 +4.1 81 4.66528630651933 1 +4.1 82 4.63011584143854 1 +4.1 83 4.59317438858117 1 +4.1 84 4.57112464047716 1 +4.1 85 4.52634963044832 1 +4.1 86 4.49598534584202 1 +4.1 87 4.46008426952796 1 +4.1 88 4.45127809990249 1 +4.1 89 4.39011319541811 1 +4.1 9 10.3992381756167 1 +4.1 90 4.36989542471947 1 +4.1 91 4.33783760008386 1 +4.1 92 4.31797164154727 1 +4.1 93 4.28926403945875 1 +4.1 94 4.25854216046721 1 +4.1 95 4.23403983605325 1 +4.1 96 4.19907161214458 1 +4.1 97 4.15998065504039 1 +4.1 98 4.14116806892645 1 +4.1 99 4.1299820440601 1 +4.1 0 16.8632163291586 2 +4.1 1 16.6646733919287 2 +4.1 10 13.7243798488403 2 +4.1 100 6.71579651338395 2 +4.1 11 13.4187673708053 2 +4.1 12 13.1867480363613 2 +4.1 13 13.040544661989 2 +4.1 14 12.7875324151661 2 +4.1 15 12.5811860937374 2 +4.1 16 12.3899178985931 2 +4.1 17 12.2153199644789 2 +4.1 18 12.0238702192252 2 +4.1 19 11.9010241614016 2 +4.1 2 16.317555252747 2 +4.1 20 11.7602643820031 2 +4.1 21 11.5522137541922 2 +4.1 22 11.4150986266635 2 +4.1 23 11.2800647480163 2 +4.1 24 11.1388633351529 2 +4.1 25 11.0188541011114 2 +4.1 26 10.8983491954145 2 +4.1 27 10.7339429960419 2 +4.1 28 10.63802741785 2 +4.1 29 10.5156352204682 2 +4.1 3 15.8948806604446 2 +4.1 30 10.4193786684905 2 +4.1 31 10.3068770111973 2 +4.1 32 10.1803572926243 2 +4.1 33 10.1052138041906 2 +4.1 34 10.0216419845849 2 +4.1 35 9.90417475669616 2 +4.1 36 9.78251899373948 2 +4.1 37 9.73578405004171 2 +4.1 38 9.65977990889317 2 +4.1 39 9.57404511764873 2 +4.1 4 15.5559698309276 2 +4.1 40 9.5072877756663 2 +4.1 41 9.394316750484 2 +4.1 42 9.32096779449668 2 +4.1 43 9.24286884456718 2 +4.1 44 9.18476939730617 2 +4.1 45 9.10415196624175 2 +4.1 46 9.04855896282173 2 +4.1 47 8.96927168721181 2 +4.1 48 8.89061958390482 2 +4.1 49 8.83881426522938 2 +4.1 5 15.1905507229381 2 +4.1 50 8.77924359341352 2 +4.1 51 8.71377737986883 2 +4.1 52 8.66751008778491 2 +4.1 53 8.61560010271888 2 +4.1 54 8.52872825479135 2 +4.1 55 8.48674746815204 2 +4.1 56 8.42014254394201 2 +4.1 57 8.36708406281079 2 +4.1 58 8.32439171812154 2 +4.1 59 8.28893486369545 2 +4.1 6 14.8392805781554 2 +4.1 60 8.2224760278347 2 +4.1 61 8.15014556583861 2 +4.1 62 8.13558046345053 2 +4.1 63 8.0725437340981 2 +4.1 64 8.03692924272285 2 +4.1 65 7.99675458649181 2 +4.1 66 7.94821081040612 2 +4.1 67 7.89966871206607 2 +4.1 68 7.86897084250599 2 +4.1 69 7.80854517476622 2 +4.1 7 14.5218434495884 2 +4.1 70 7.77167544841899 2 +4.1 71 7.73969287327006 2 +4.1 72 7.68228959354946 2 +4.1 73 7.63449146240018 2 +4.1 74 7.5849819806255 2 +4.1 75 7.55652280681484 2 +4.1 76 7.54944741964314 2 +4.1 77 7.47827710523206 2 +4.1 78 7.44843161626795 2 +4.1 79 7.42870733600883 2 +4.1 8 14.2229563195324 2 +4.1 80 7.36345598554564 2 +4.1 81 7.33246710952327 2 +4.1 82 7.3053952439781 2 +4.1 83 7.27031073546023 2 +4.1 84 7.249001787819 2 +4.1 85 7.19769939705113 2 +4.1 86 7.15222449390922 2 +4.1 87 7.13146070089267 2 +4.1 88 7.09721447540459 2 +4.1 89 7.07166645103783 2 +4.1 9 13.9532918828265 2 +4.1 90 7.03532493420521 2 +4.1 91 7.01587704758847 2 +4.1 92 6.99585368995686 2 +4.1 93 6.94523339205771 2 +4.1 94 6.90270744565843 2 +4.1 95 6.8912903384402 2 +4.1 96 6.83987514302256 2 +4.1 97 6.81735319230566 2 +4.1 98 6.79326583283518 2 +4.1 99 6.76689963411735 2 +4.2 0 13.9637021204439 1 +4.2 1 13.6617607168457 1 +4.2 10 10.6201185000162 1 +4.2 100 4.39584322734306 1 +4.2 11 10.3570405911582 1 +4.2 12 10.1494462266684 1 +4.2 13 9.93345602231443 1 +4.2 14 9.76127683910516 1 +4.2 15 9.55486603482333 1 +4.2 16 9.38631602149333 1 +4.2 17 9.20769863602387 1 +4.2 18 9.05113776266406 1 +4.2 19 8.90497318195748 1 +4.2 2 13.2238532546426 1 +4.2 20 8.76148802879157 1 +4.2 21 8.63472607322104 1 +4.2 22 8.50625177227988 1 +4.2 23 8.38534010826037 1 +4.2 24 8.25160852960383 1 +4.2 25 8.1474850282919 1 +4.2 26 8.0287709570412 1 +4.2 27 7.93739666745266 1 +4.2 28 7.82760342824984 1 +4.2 29 7.72792722837127 1 +4.2 3 12.7514294219915 1 +4.2 30 7.64800589041375 1 +4.2 31 7.53871422826294 1 +4.2 32 7.48087741624511 1 +4.2 33 7.35891289646518 1 +4.2 34 7.3120434752798 1 +4.2 35 7.19749764238422 1 +4.2 36 7.14672104228065 1 +4.2 37 7.06373849928885 1 +4.2 38 6.99979451298833 1 +4.2 39 6.90709019306061 1 +4.2 4 12.4248449924386 1 +4.2 40 6.86479382059113 1 +4.2 41 6.79157523897055 1 +4.2 42 6.73329676404689 1 +4.2 43 6.65564303054943 1 +4.2 44 6.5913726712569 1 +4.2 45 6.51251657979466 1 +4.2 46 6.46167035225104 1 +4.2 47 6.41163526134061 1 +4.2 48 6.36466412920208 1 +4.2 49 6.30795568044312 1 +4.2 5 12.0230276212968 1 +4.2 50 6.2637317174456 1 +4.2 51 6.19899560542051 1 +4.2 52 6.15028755266353 1 +4.2 53 6.10037163913039 1 +4.2 54 6.05613218786263 1 +4.2 55 5.99838535154145 1 +4.2 56 5.94833052529448 1 +4.2 57 5.89512627023473 1 +4.2 58 5.86784710828559 1 +4.2 59 5.82973793469205 1 +4.2 6 11.7204564229338 1 +4.2 60 5.76716540236004 1 +4.2 61 5.74487387524135 1 +4.2 62 5.68855977844767 1 +4.2 63 5.63398743619904 1 +4.2 64 5.61016077521132 1 +4.2 65 5.54314920156012 1 +4.2 66 5.50537430575608 1 +4.2 67 5.46949648732806 1 +4.2 68 5.44365531905569 1 +4.2 69 5.38322277731976 1 +4.2 7 11.3983400359864 1 +4.2 70 5.36089340296407 1 +4.2 71 5.33451333001489 1 +4.2 72 5.28470409078654 1 +4.2 73 5.24162002678627 1 +4.2 74 5.20621016030149 1 +4.2 75 5.17832912697606 1 +4.2 76 5.14469638173887 1 +4.2 77 5.09830737151526 1 +4.2 78 5.07386625443834 1 +4.2 79 5.04831053207849 1 +4.2 8 11.0947845485173 1 +4.2 80 5.00223822604194 1 +4.2 81 4.9673362525845 1 +4.2 82 4.91698698553918 1 +4.2 83 4.89844755398318 1 +4.2 84 4.8653577738358 1 +4.2 85 4.83640879972972 1 +4.2 86 4.79913932784666 1 +4.2 87 4.77013150793195 1 +4.2 88 4.75299492077732 1 +4.2 89 4.71720716026438 1 +4.2 9 10.8409841404995 1 +4.2 90 4.67479793135759 1 +4.2 91 4.65327447203669 1 +4.2 92 4.62253926905824 1 +4.2 93 4.58824771712436 1 +4.2 94 4.55027768802131 1 +4.2 95 4.51471371144717 1 +4.2 96 4.49983549774816 1 +4.2 97 4.46608483031175 1 +4.2 98 4.44657329224557 1 +4.2 99 4.40764463473037 1 +4.2 0 17.3431586254662 2 +4.2 1 17.1601091825056 2 +4.2 10 14.1992797010113 2 +4.2 100 7.0718428573698 2 +4.2 11 13.910462693543 2 +4.2 12 13.6393882997589 2 +4.2 13 13.4692888627669 2 +4.2 14 13.2671821745908 2 +4.2 15 13.0468600266652 2 +4.2 16 12.8608729925953 2 +4.2 17 12.6875436826405 2 +4.2 18 12.528277453759 2 +4.2 19 12.3163339451823 2 +4.2 2 16.7742801353562 2 +4.2 20 12.1943554184861 2 +4.2 21 12.001620678812 2 +4.2 22 11.8916944616074 2 +4.2 23 11.7299688414569 2 +4.2 24 11.5854954344194 2 +4.2 25 11.4575343576923 2 +4.2 26 11.3204023661421 2 +4.2 27 11.2379467091026 2 +4.2 28 11.0669405811936 2 +4.2 29 10.9645291276879 2 +4.2 3 16.3502595321435 2 +4.2 30 10.8641302161973 2 +4.2 31 10.7468256742762 2 +4.2 32 10.6430042829473 2 +4.2 33 10.5240703601016 2 +4.2 34 10.4281312853305 2 +4.2 35 10.3378739769216 2 +4.2 36 10.2517011131751 2 +4.2 37 10.1370449592476 2 +4.2 38 10.0735469822624 2 +4.2 39 9.98659434361107 2 +4.2 4 15.9958042303 2 +4.2 40 9.91109318552451 2 +4.2 41 9.79817963404095 2 +4.2 42 9.73915174408387 2 +4.2 43 9.64569066059441 2 +4.2 44 9.60091979510235 2 +4.2 45 9.51419694326494 2 +4.2 46 9.44542922530126 2 +4.2 47 9.37834159432479 2 +4.2 48 9.30078254807574 2 +4.2 49 9.22500187649489 2 +4.2 5 15.6943986501375 2 +4.2 50 9.16566920338888 2 +4.2 51 9.12197147073752 2 +4.2 52 9.06796094317795 2 +4.2 53 8.97129401725487 2 +4.2 54 8.91345323387599 2 +4.2 55 8.88989948150551 2 +4.2 56 8.81559362229527 2 +4.2 57 8.75974052748439 2 +4.2 58 8.72217673201004 2 +4.2 59 8.67534236454534 2 +4.2 6 15.3021838853038 2 +4.2 60 8.5833786903027 2 +4.2 61 8.55787811891502 2 +4.2 62 8.4854958656735 2 +4.2 63 8.44456663213465 2 +4.2 64 8.38899413943915 2 +4.2 65 8.35719991008729 2 +4.2 66 8.29675462455408 2 +4.2 67 8.25560623176365 2 +4.2 68 8.22105334721932 2 +4.2 69 8.14242803485115 2 +4.2 7 14.9861757776697 2 +4.2 70 8.11554203186037 2 +4.2 71 8.10100870018597 2 +4.2 72 8.05466683788152 2 +4.2 73 8.01206448255007 2 +4.2 74 7.96608009833785 2 +4.2 75 7.92542419326277 2 +4.2 76 7.89491544756757 2 +4.2 77 7.82245831498469 2 +4.2 78 7.80927675198514 2 +4.2 79 7.74365130458641 2 +4.2 8 14.7387368568372 2 +4.2 80 7.73397960106391 2 +4.2 81 7.68779059334931 2 +4.2 82 7.66454001603256 2 +4.2 83 7.62746107489933 2 +4.2 84 7.60163098178404 2 +4.2 85 7.55648662959627 2 +4.2 86 7.49933289886526 2 +4.2 87 7.47025517135203 2 +4.2 88 7.47149850773345 2 +4.2 89 7.40422823797233 2 +4.2 9 14.423951620247 2 +4.2 90 7.37305641655793 2 +4.2 91 7.34351922686785 2 +4.2 92 7.35864596124409 2 +4.2 93 7.29715611874449 2 +4.2 94 7.25405731008163 2 +4.2 95 7.21209524738464 2 +4.2 96 7.16356078604508 2 +4.2 97 7.17786457350265 2 +4.2 98 7.13859360371513 2 +4.2 99 7.10714785106926 2 +4.3 0 14.3201020649731 1 +4.3 1 14.0084269137838 1 +4.3 10 11.0541102220198 1 +4.3 100 4.68714274368147 1 +4.3 11 10.8145019739417 1 +4.3 12 10.5804740795546 1 +4.3 13 10.3590415513496 1 +4.3 14 10.1532941520714 1 +4.3 15 9.9618373553363 1 +4.3 16 9.78428716244097 1 +4.3 17 9.64105981132241 1 +4.3 18 9.45802013982855 1 +4.3 19 9.30146099939146 1 +4.3 2 13.5908622629409 1 +4.3 20 9.15220171316806 1 +4.3 21 9.0218925867178 1 +4.3 22 8.87156153189926 1 +4.3 23 8.77834379034277 1 +4.3 24 8.6090052569542 1 +4.3 25 8.51181697549853 1 +4.3 26 8.4317587349046 1 +4.3 27 8.31267939854184 1 +4.3 28 8.18996550288037 1 +4.3 29 8.10292086987835 1 +4.3 3 13.1687277041767 1 +4.3 30 8.01868127109953 1 +4.3 31 7.91882164022306 1 +4.3 32 7.82183488216262 1 +4.3 33 7.73200574591089 1 +4.3 34 7.63041847888499 1 +4.3 35 7.57377945053523 1 +4.3 36 7.47899549957575 1 +4.3 37 7.41159603042073 1 +4.3 38 7.36170693006387 1 +4.3 39 7.25575620278788 1 +4.3 4 12.844196886561 1 +4.3 40 7.19420231591188 1 +4.3 41 7.1272500169468 1 +4.3 42 7.04764679471384 1 +4.3 43 7.01149033693663 1 +4.3 44 6.92726013645407 1 +4.3 45 6.87680217992795 1 +4.3 46 6.82790135847229 1 +4.3 47 6.74669801626669 1 +4.3 48 6.69590268484178 1 +4.3 49 6.62713094585705 1 +4.3 5 12.458241383154 1 +4.3 50 6.58113803348515 1 +4.3 51 6.53827659844161 1 +4.3 52 6.47290961766853 1 +4.3 53 6.42580383658217 1 +4.3 54 6.36685991539715 1 +4.3 55 6.32382520389573 1 +4.3 56 6.27867000332601 1 +4.3 57 6.23485041118006 1 +4.3 58 6.16780327691676 1 +4.3 59 6.13756838001905 1 +4.3 6 12.1247960667218 1 +4.3 60 6.09959753639341 1 +4.3 61 6.04042081914541 1 +4.3 62 5.9919103069037 1 +4.3 63 5.95449692358569 1 +4.3 64 5.91866445025823 1 +4.3 65 5.86225199914003 1 +4.3 66 5.80415375408582 1 +4.3 67 5.78682601825046 1 +4.3 68 5.73868752241994 1 +4.3 69 5.69329636800981 1 +4.3 7 11.7965944553292 1 +4.3 70 5.65798231410337 1 +4.3 71 5.64124632833045 1 +4.3 72 5.58144316422089 1 +4.3 73 5.53893089610587 1 +4.3 74 5.52039202680912 1 +4.3 75 5.49218549500664 1 +4.3 76 5.44112776489182 1 +4.3 77 5.41589588832549 1 +4.3 78 5.37022669682779 1 +4.3 79 5.32933801418647 1 +4.3 8 11.5483260521591 1 +4.3 80 5.3122171997399 1 +4.3 81 5.26550604368311 1 +4.3 82 5.24762855161933 1 +4.3 83 5.2119889513802 1 +4.3 84 5.16735409231414 1 +4.3 85 5.14710920491808 1 +4.3 86 5.09564242250449 1 +4.3 87 5.09007070396961 1 +4.3 88 5.03638894113577 1 +4.3 89 5.01797074410829 1 +4.3 9 11.2473049466026 1 +4.3 90 4.9740817343251 1 +4.3 91 4.93149552951078 1 +4.3 92 4.92153979530469 1 +4.3 93 4.88407071328978 1 +4.3 94 4.84935757921129 1 +4.3 95 4.83353278741413 1 +4.3 96 4.79306222104864 1 +4.3 97 4.77144264846295 1 +4.3 98 4.73466105787481 1 +4.3 99 4.69616579080132 1 +4.3 0 17.8613741932681 2 +4.3 1 17.6120001146302 2 +4.3 10 14.6440082966535 2 +4.3 100 7.43466883372498 2 +4.3 11 14.3773208368552 2 +4.3 12 14.1696954484964 2 +4.3 13 13.9245926021961 2 +4.3 14 13.7366128643521 2 +4.3 15 13.5111633459603 2 +4.3 16 13.3437899037372 2 +4.3 17 13.145960401397 2 +4.3 18 12.964301087138 2 +4.3 19 12.7836834052012 2 +4.3 2 17.2863895471174 2 +4.3 20 12.6349580728933 2 +4.3 21 12.4945649682484 2 +4.3 22 12.3028566046846 2 +4.3 23 12.2224968361914 2 +4.3 24 12.0450031604363 2 +4.3 25 11.9023228735721 2 +4.3 26 11.763822323383 2 +4.3 27 11.6579013817537 2 +4.3 28 11.4962356303922 2 +4.3 29 11.3757809009616 2 +4.3 3 16.8210858498713 2 +4.3 30 11.2615530297684 2 +4.3 31 11.1571044854249 2 +4.3 32 11.0931072970496 2 +4.3 33 10.9468395185769 2 +4.3 34 10.8490620432483 2 +4.3 35 10.7516551817394 2 +4.3 36 10.6741382172634 2 +4.3 37 10.5435257572516 2 +4.3 38 10.5126547171701 2 +4.3 39 10.3967006802733 2 +4.3 4 16.4694521860489 2 +4.3 40 10.2900803526409 2 +4.3 41 10.2439086860088 2 +4.3 42 10.1490715393796 2 +4.3 43 10.065917426466 2 +4.3 44 9.99808878657281 2 +4.3 45 9.91975102006337 2 +4.3 46 9.85259744480498 2 +4.3 47 9.76835928404025 2 +4.3 48 9.689214314176 2 +4.3 49 9.63662011135806 2 +4.3 5 16.078562551462 2 +4.3 50 9.57434770249273 2 +4.3 51 9.51619240886398 2 +4.3 52 9.44572894860704 2 +4.3 53 9.36140304802502 2 +4.3 54 9.28997177741425 2 +4.3 55 9.23226051284838 2 +4.3 56 9.21308611828383 2 +4.3 57 9.14543992918761 2 +4.3 58 9.08736471302139 2 +4.3 59 9.03221960656875 2 +4.3 6 15.7917519387599 2 +4.3 60 8.98962483379809 2 +4.3 61 8.94130653803864 2 +4.3 62 8.89225530258648 2 +4.3 63 8.80862973782607 2 +4.3 64 8.77264165095522 2 +4.3 65 8.701372167801 2 +4.3 66 8.67744995689079 2 +4.3 67 8.62445321299924 2 +4.3 68 8.57578077085599 2 +4.3 69 8.54438520863548 2 +4.3 7 15.4524950994649 2 +4.3 70 8.51264455077262 2 +4.3 71 8.44968616584313 2 +4.3 72 8.40290761009044 2 +4.3 73 8.37487375002792 2 +4.3 74 8.32836707797211 2 +4.3 75 8.27835460299674 2 +4.3 76 8.26303328324148 2 +4.3 77 8.20900890743843 2 +4.3 78 8.17441640026327 2 +4.3 79 8.12836376542508 2 +4.3 8 15.2041489631725 2 +4.3 80 8.10108949822055 2 +4.3 81 8.05696365037921 2 +4.3 82 8.01990619702074 2 +4.3 83 7.95925361433316 2 +4.3 84 7.93230716580217 2 +4.3 85 7.89089453979896 2 +4.3 86 7.86991931924303 2 +4.3 87 7.82530325539865 2 +4.3 88 7.80839586381892 2 +4.3 89 7.76675557912425 2 +4.3 9 14.9309465163722 2 +4.3 90 7.72093171691389 2 +4.3 91 7.69351913727118 2 +4.3 92 7.67613892724693 2 +4.3 93 7.64151874623208 2 +4.3 94 7.60559376582377 2 +4.3 95 7.60621399642859 2 +4.3 96 7.52624078909538 2 +4.3 97 7.5357137231511 2 +4.3 98 7.48597560998077 2 +4.3 99 7.43784223151348 2 +4.4 0 14.741078394843 1 +4.4 1 14.4430094934128 1 +4.4 10 11.4215363108084 1 +4.4 100 4.97045826793306 1 +4.4 11 11.1791714532693 1 +4.4 12 10.9792085455172 1 +4.4 13 10.7614498631878 1 +4.4 14 10.5670227648691 1 +4.4 15 10.3677735602073 1 +4.4 16 10.1764314960772 1 +4.4 17 10.0044912211422 1 +4.4 18 9.85886998708993 1 +4.4 19 9.67296359890045 1 +4.4 2 14.0333470684416 1 +4.4 20 9.58031650810797 1 +4.4 21 9.3722902362446 1 +4.4 22 9.26896978109141 1 +4.4 23 9.15608359787668 1 +4.4 24 9.0290752516106 1 +4.4 25 8.91684723614405 1 +4.4 26 8.76884562127385 1 +4.4 27 8.65711831792641 1 +4.4 28 8.56386599549056 1 +4.4 29 8.46408808876041 1 +4.4 3 13.6237861488075 1 +4.4 30 8.38416873103829 1 +4.4 31 8.25566289093844 1 +4.4 32 8.18129552093065 1 +4.4 33 8.1058608238158 1 +4.4 34 7.97729326392913 1 +4.4 35 7.92720325305698 1 +4.4 36 7.83152468242965 1 +4.4 37 7.74027711000786 1 +4.4 38 7.69317890690327 1 +4.4 39 7.59448884059977 1 +4.4 4 13.1998070045636 1 +4.4 40 7.50907669680736 1 +4.4 41 7.46193843420265 1 +4.4 42 7.39900926897912 1 +4.4 43 7.33227168394283 1 +4.4 44 7.23998398093239 1 +4.4 45 7.20926810664854 1 +4.4 46 7.13492967092246 1 +4.4 47 7.07151476011613 1 +4.4 48 7.01443685205797 1 +4.4 49 6.94554627940487 1 +4.4 5 12.9137517598162 1 +4.4 50 6.91193610098052 1 +4.4 51 6.83723882674533 1 +4.4 52 6.77804696210347 1 +4.4 53 6.74264260348949 1 +4.4 54 6.69176812621811 1 +4.4 55 6.65385478039123 1 +4.4 56 6.60201017293684 1 +4.4 57 6.52889877816987 1 +4.4 58 6.48218255735624 1 +4.4 59 6.46620522340837 1 +4.4 6 12.4958429818679 1 +4.4 60 6.39110303370922 1 +4.4 61 6.34130999778735 1 +4.4 62 6.31085376674827 1 +4.4 63 6.24792431340225 1 +4.4 64 6.23026197603984 1 +4.4 65 6.17635123770322 1 +4.4 66 6.14740617289977 1 +4.4 67 6.10966105922998 1 +4.4 68 6.07927273004647 1 +4.4 69 6.02445238283961 1 +4.4 7 12.2795958137523 1 +4.4 70 5.97310323710886 1 +4.4 71 5.93544351545352 1 +4.4 72 5.90159548396556 1 +4.4 73 5.8743821720756 1 +4.4 74 5.83119533746418 1 +4.4 75 5.78073808305141 1 +4.4 76 5.76123468442313 1 +4.4 77 5.73614124111701 1 +4.4 78 5.67854437163828 1 +4.4 79 5.63535208196229 1 +4.4 8 11.9323103181945 1 +4.4 80 5.60440610721635 1 +4.4 81 5.57941515488759 1 +4.4 82 5.55017684772313 1 +4.4 83 5.50697920841482 1 +4.4 84 5.47881340798703 1 +4.4 85 5.43009235910875 1 +4.4 86 5.40013544538069 1 +4.4 87 5.37844791574254 1 +4.4 88 5.35643451992141 1 +4.4 89 5.30533311066398 1 +4.4 9 11.6825454220063 1 +4.4 90 5.27192661159664 1 +4.4 91 5.25878853540494 1 +4.4 92 5.23213958284907 1 +4.4 93 5.18148052027808 1 +4.4 94 5.16244660681192 1 +4.4 95 5.1184809401333 1 +4.4 96 5.11879397189678 1 +4.4 97 5.07153089612027 1 +4.4 98 5.04843622729174 1 +4.4 99 4.99424765685984 1 +4.4 0 18.2613958144323 2 +4.4 1 18.047060404138 2 +4.4 10 15.1258847423001 2 +4.4 100 7.76754594329343 2 +4.4 11 14.8905193795162 2 +4.4 12 14.5979891261981 2 +4.4 13 14.4016268297841 2 +4.4 14 14.2100896143927 2 +4.4 15 14.0027705352981 2 +4.4 16 13.7845728358577 2 +4.4 17 13.6043401011004 2 +4.4 18 13.4104855927122 2 +4.4 19 13.261010972734 2 +4.4 2 17.6636784562091 2 +4.4 20 13.0632410089119 2 +4.4 21 12.8775437500746 2 +4.4 22 12.7761768929975 2 +4.4 23 12.626655992033 2 +4.4 24 12.483999263432 2 +4.4 25 12.337573017741 2 +4.4 26 12.200213740484 2 +4.4 27 12.0642116124971 2 +4.4 28 11.9582330631964 2 +4.4 29 11.8229810881431 2 +4.4 3 17.3851620164806 2 +4.4 30 11.6913059999427 2 +4.4 31 11.6235006482212 2 +4.4 32 11.5042197934852 2 +4.4 33 11.3656032797984 2 +4.4 34 11.2663534940034 2 +4.4 35 11.181145291152 2 +4.4 36 11.0637561109913 2 +4.4 37 10.9822210325028 2 +4.4 38 10.9017460827223 2 +4.4 39 10.7890579281903 2 +4.4 4 16.9725405263174 2 +4.4 40 10.7069350200533 2 +4.4 41 10.5954303787857 2 +4.4 42 10.5506082704494 2 +4.4 43 10.4802585887201 2 +4.4 44 10.367822683798 2 +4.4 45 10.3055916379701 2 +4.4 46 10.2326998949374 2 +4.4 47 10.1713589431719 2 +4.4 48 10.099726681614 2 +4.4 49 10.0261035092144 2 +4.4 5 16.5584013646114 2 +4.4 50 9.94916210422101 2 +4.4 51 9.86068074967136 2 +4.4 52 9.7782653562037 2 +4.4 53 9.75467707231134 2 +4.4 54 9.70092195770015 2 +4.4 55 9.60491490694512 2 +4.4 56 9.55435840167371 2 +4.4 57 9.50358716508578 2 +4.4 58 9.46690204460286 2 +4.4 59 9.42960493596023 2 +4.4 6 16.2398652529906 2 +4.4 60 9.35395698011479 2 +4.4 61 9.3091000848802 2 +4.4 62 9.26063214140342 2 +4.4 63 9.19857225398078 2 +4.4 64 9.14435350202257 2 +4.4 65 9.09532890868973 2 +4.4 66 9.03398989161508 2 +4.4 67 8.98501673966637 2 +4.4 68 8.95567832646226 2 +4.4 69 8.92018274902099 2 +4.4 7 15.970971233622 2 +4.4 70 8.8608972968759 2 +4.4 71 8.83556659627733 2 +4.4 72 8.78513174104182 2 +4.4 73 8.73678817514049 2 +4.4 74 8.69403936851572 2 +4.4 75 8.65198769471751 2 +4.4 76 8.6042892561857 2 +4.4 77 8.54550154052288 2 +4.4 78 8.53744500344678 2 +4.4 79 8.47172439051917 2 +4.4 8 15.6755590210074 2 +4.4 80 8.44391937036349 2 +4.4 81 8.39852762045757 2 +4.4 82 8.36347856113275 2 +4.4 83 8.3226935715533 2 +4.4 84 8.30539116313881 2 +4.4 85 8.2731778712417 2 +4.4 86 8.20812876116348 2 +4.4 87 8.16633172144737 2 +4.4 88 8.15095749518632 2 +4.4 89 8.11893923804953 2 +4.4 9 15.3258303006116 2 +4.4 90 8.09178406098756 2 +4.4 91 8.01643068800514 2 +4.4 92 7.99725738363659 2 +4.4 93 7.99280493639426 2 +4.4 94 7.97180772324799 2 +4.4 95 7.9171490491372 2 +4.4 96 7.92375254564987 2 +4.4 97 7.8617095649955 2 +4.4 98 7.82692044514666 2 +4.4 99 7.79626391891845 2 +4.5 0 15.1285768277693 1 +4.5 1 14.8352434451274 1 +4.5 10 11.8604344699133 1 +4.5 100 5.28642013416697 1 +4.5 11 11.619064232496 1 +4.5 12 11.3611515566148 1 +4.5 13 11.1617757992457 1 +4.5 14 10.9982222249104 1 +4.5 15 10.7867160039011 1 +4.5 16 10.5709214829753 1 +4.5 17 10.4019670998968 1 +4.5 18 10.2408621971937 1 +4.5 19 10.1248875777449 1 +4.5 2 14.4462553340586 1 +4.5 20 9.9458728024349 1 +4.5 21 9.80176190068912 1 +4.5 22 9.68345548000578 1 +4.5 23 9.53306896787993 1 +4.5 24 9.3990285801801 1 +4.5 25 9.28064779146865 1 +4.5 26 9.15160968574807 1 +4.5 27 9.056160505776 1 +4.5 28 8.93004100027456 1 +4.5 29 8.80958054018019 1 +4.5 3 14.0443628093462 1 +4.5 30 8.70887147789206 1 +4.5 31 8.6365359182446 1 +4.5 32 8.5265386159477 1 +4.5 33 8.44518933292776 1 +4.5 34 8.37345931717283 1 +4.5 35 8.23709339004071 1 +4.5 36 8.19334277463758 1 +4.5 37 8.09873937152378 1 +4.5 38 8.04891754671655 1 +4.5 39 7.9405926485922 1 +4.5 4 13.6337621134963 1 +4.5 40 7.8601823787741 1 +4.5 41 7.83356738880735 1 +4.5 42 7.74797696619972 1 +4.5 43 7.66272930752967 1 +4.5 44 7.60126007527068 1 +4.5 45 7.52885810029412 1 +4.5 46 7.43590707813242 1 +4.5 47 7.41527128748732 1 +4.5 48 7.34998862232134 1 +4.5 49 7.28158699821085 1 +4.5 5 13.2907488998792 1 +4.5 50 7.23238956424525 1 +4.5 51 7.18692847612505 1 +4.5 52 7.13927314622563 1 +4.5 53 7.06197320616384 1 +4.5 54 7.02453287997239 1 +4.5 55 6.96288122214421 1 +4.5 56 6.93040488217596 1 +4.5 57 6.84683652374135 1 +4.5 58 6.81324652115049 1 +4.5 59 6.76224443266381 1 +4.5 6 12.9727652187778 1 +4.5 60 6.72346799479055 1 +4.5 61 6.67320862792809 1 +4.5 62 6.62172095136939 1 +4.5 63 6.57133316340722 1 +4.5 64 6.52648152457079 1 +4.5 65 6.49633851794074 1 +4.5 66 6.44199378937992 1 +4.5 67 6.39903249576407 1 +4.5 68 6.37069131091938 1 +4.5 69 6.32188792893411 1 +4.5 7 12.6535857800305 1 +4.5 70 6.27025517947869 1 +4.5 71 6.24979215520124 1 +4.5 72 6.21518152731389 1 +4.5 73 6.16087558131545 1 +4.5 74 6.14970898029285 1 +4.5 75 6.08517455194448 1 +4.5 76 6.061722007483 1 +4.5 77 6.01524102845723 1 +4.5 78 5.98508437293351 1 +4.5 79 5.95107800221773 1 +4.5 8 12.3522037618918 1 +4.5 80 5.92164699209063 1 +4.5 81 5.87701046867818 1 +4.5 82 5.86063660354191 1 +4.5 83 5.81051616741485 1 +4.5 84 5.77179905047289 1 +4.5 85 5.74032678651399 1 +4.5 86 5.70042936117405 1 +4.5 87 5.67813498417183 1 +4.5 88 5.64589890455414 1 +4.5 89 5.61306498361995 1 +4.5 9 12.0996710520697 1 +4.5 90 5.57583346219951 1 +4.5 91 5.54904027794986 1 +4.5 92 5.52194014953838 1 +4.5 93 5.4845159932172 1 +4.5 94 5.46770109224632 1 +4.5 95 5.43242052610865 1 +4.5 96 5.39836671376204 1 +4.5 97 5.3573355232258 1 +4.5 98 5.33790888012 1 +4.5 99 5.31041260604388 1 +4.5 0 18.6768474184536 2 +4.5 1 18.4815790573065 2 +4.5 10 15.5907198546215 2 +4.5 100 8.10305564258217 2 +4.5 11 15.2960780331248 2 +4.5 12 15.0854229519231 2 +4.5 13 14.8315071738086 2 +4.5 14 14.6234761551814 2 +4.5 15 14.4432393387313 2 +4.5 16 14.2368355943357 2 +4.5 17 14.0016867745029 2 +4.5 18 13.873954304119 2 +4.5 19 13.6695528064452 2 +4.5 2 18.1798158695827 2 +4.5 20 13.5093792619634 2 +4.5 21 13.3659611279212 2 +4.5 22 13.1946454213461 2 +4.5 23 13.0486964175095 2 +4.5 24 12.9054775857375 2 +4.5 25 12.7599640308051 2 +4.5 26 12.6127807566623 2 +4.5 27 12.5092954758683 2 +4.5 28 12.3826370437596 2 +4.5 29 12.2762898428377 2 +4.5 3 17.7887461843753 2 +4.5 30 12.1520317027627 2 +4.5 31 12.0385018996763 2 +4.5 32 11.9103849334365 2 +4.5 33 11.7636128268999 2 +4.5 34 11.7236410146383 2 +4.5 35 11.6026869686057 2 +4.5 36 11.5112701446375 2 +4.5 37 11.3871297151691 2 +4.5 38 11.3200094650544 2 +4.5 39 11.2151287259884 2 +4.5 4 17.4130517067891 2 +4.5 40 11.1102563743669 2 +4.5 41 11.0300948294669 2 +4.5 42 10.969270746146 2 +4.5 43 10.888679760254 2 +4.5 44 10.7778883094996 2 +4.5 45 10.6918121286569 2 +4.5 46 10.6254058751938 2 +4.5 47 10.5360492994788 2 +4.5 48 10.4863529065463 2 +4.5 49 10.406063658763 2 +4.5 5 17.0555885863945 2 +4.5 50 10.3634732300443 2 +4.5 51 10.2900724776283 2 +4.5 52 10.1857732531817 2 +4.5 53 10.13963443213 2 +4.5 54 10.0702559966001 2 +4.5 55 10.029685425094 2 +4.5 56 9.97223566852475 2 +4.5 57 9.93114319801657 2 +4.5 58 9.84684784411773 2 +4.5 59 9.78926535161805 2 +4.5 6 16.7270120678029 2 +4.5 60 9.75576177448668 2 +4.5 61 9.69567458271717 2 +4.5 62 9.58599461836805 2 +4.5 63 9.59170459195398 2 +4.5 64 9.51452123919349 2 +4.5 65 9.44816449608402 2 +4.5 66 9.4103124833362 2 +4.5 67 9.3728814997547 2 +4.5 68 9.32594570583742 2 +4.5 69 9.25351127106673 2 +4.5 7 16.4386497575534 2 +4.5 70 9.25846259307222 2 +4.5 71 9.14761010745983 2 +4.5 72 9.15444266696204 2 +4.5 73 9.07251492736593 2 +4.5 74 9.03116180952052 2 +4.5 75 9.00124446433824 2 +4.5 76 8.98292498154947 2 +4.5 77 8.90847326165246 2 +4.5 78 8.87837869010504 2 +4.5 79 8.83538075141092 2 +4.5 8 16.1300534080534 2 +4.5 80 8.78967497210684 2 +4.5 81 8.76114189280112 2 +4.5 82 8.71656978652923 2 +4.5 83 8.67839640417001 2 +4.5 84 8.63445158675756 2 +4.5 85 8.60241936540541 2 +4.5 86 8.57799773884725 2 +4.5 87 8.55426924509701 2 +4.5 88 8.49474897527644 2 +4.5 89 8.44109167140463 2 +4.5 9 15.8283562516574 2 +4.5 90 8.41862354851943 2 +4.5 91 8.40028626688883 2 +4.5 92 8.35869432887118 2 +4.5 93 8.33205300475363 2 +4.5 94 8.30936932609918 2 +4.5 95 8.25522810122081 2 +4.5 96 8.23756607737402 2 +4.5 97 8.17913865250094 2 +4.5 98 8.13999608858364 2 +4.5 99 8.14053348958677 2 +4.6 0 15.5344964909509 1 +4.6 1 15.2289851395971 1 +4.6 10 12.265140825884 1 +4.6 100 5.58345933545142 1 +4.6 11 12.0484881881649 1 +4.6 12 11.8038579422987 1 +4.6 13 11.5692793969369 1 +4.6 14 11.3923264857398 1 +4.6 15 11.1929773053248 1 +4.6 16 10.9695831777137 1 +4.6 17 10.8359482587681 1 +4.6 18 10.6394029823138 1 +4.6 19 10.4643522688605 1 +4.6 2 14.8592305185953 1 +4.6 20 10.3312122193631 1 +4.6 21 10.1789281388592 1 +4.6 22 10.0349583609457 1 +4.6 23 9.8914113604418 1 +4.6 24 9.78861325062681 1 +4.6 25 9.67717757184977 1 +4.6 26 9.54634319031529 1 +4.6 27 9.42681142328121 1 +4.6 28 9.32310470898603 1 +4.6 29 9.19355696914321 1 +4.6 3 14.4460494077871 1 +4.6 30 9.11287081464482 1 +4.6 31 9.00138080362776 1 +4.6 32 8.88164442406365 1 +4.6 33 8.79680497848419 1 +4.6 34 8.6964561458942 1 +4.6 35 8.6214056016696 1 +4.6 36 8.53552539793225 1 +4.6 37 8.43206077829421 1 +4.6 38 8.38234292148052 1 +4.6 39 8.31340475596259 1 +4.6 4 14.0831869604353 1 +4.6 40 8.23212051334649 1 +4.6 41 8.13857839744972 1 +4.6 42 8.08324150167648 1 +4.6 43 7.99680700186375 1 +4.6 44 7.93865541027147 1 +4.6 45 7.87521085002133 1 +4.6 46 7.79458193726269 1 +4.6 47 7.75379001452246 1 +4.6 48 7.69343748583501 1 +4.6 49 7.6484770656103 1 +4.6 5 13.6821915986747 1 +4.6 50 7.55476330453391 1 +4.6 51 7.48515060969341 1 +4.6 52 7.43333163874031 1 +4.6 53 7.39066894198263 1 +4.6 54 7.35585580085151 1 +4.6 55 7.28404530336707 1 +4.6 56 7.23944516194241 1 +4.6 57 7.18979912114864 1 +4.6 58 7.13169867427208 1 +4.6 59 7.07428254267813 1 +4.6 6 13.4427817552439 1 +4.6 60 7.05828448263756 1 +4.6 61 6.98585053325703 1 +4.6 62 6.9524215241151 1 +4.6 63 6.89969996758838 1 +4.6 64 6.84278256462092 1 +4.6 65 6.81789204543053 1 +4.6 66 6.77578390074189 1 +4.6 67 6.72371595459494 1 +4.6 68 6.66139720694177 1 +4.6 69 6.64038387770544 1 +4.6 7 13.1499549217928 1 +4.6 70 6.58211159120891 1 +4.6 71 6.55012652684775 1 +4.6 72 6.51597441652855 1 +4.6 73 6.47459581517585 1 +4.6 74 6.44767914630135 1 +4.6 75 6.4093946536793 1 +4.6 76 6.38477241793411 1 +4.6 77 6.34456486657438 1 +4.6 78 6.30319804051807 1 +4.6 79 6.26495935432315 1 +4.6 8 12.768714835709 1 +4.6 80 6.21402573057763 1 +4.6 81 6.18687658318035 1 +4.6 82 6.15998617979766 1 +4.6 83 6.13287375854513 1 +4.6 84 6.07692065924331 1 +4.6 85 6.05150516712133 1 +4.6 86 5.99445459340782 1 +4.6 87 5.99623591910647 1 +4.6 88 5.92804952875174 1 +4.6 89 5.92892599641878 1 +4.6 9 12.5413314183692 1 +4.6 90 5.88477299829588 1 +4.6 91 5.8618885628726 1 +4.6 92 5.82808704072381 1 +4.6 93 5.79439426288939 1 +4.6 94 5.75799324355715 1 +4.6 95 5.72792162019364 1 +4.6 96 5.71203130810646 1 +4.6 97 5.67241529694586 1 +4.6 98 5.65903167898706 1 +4.6 99 5.61529677999766 1 +4.6 0 19.0635084774205 2 +4.6 1 18.9079158068932 2 +4.6 10 16.0978397143051 2 +4.6 100 8.44448049052997 2 +4.6 11 15.7945242470035 2 +4.6 12 15.5420466875123 2 +4.6 13 15.3767146623907 2 +4.6 14 15.1243365812833 2 +4.6 15 14.913180984747 2 +4.6 16 14.739660772909 2 +4.6 17 14.4769263528795 2 +4.6 18 14.3311603946013 2 +4.6 19 14.1273779686084 2 +4.6 2 18.6285409095764 2 +4.6 20 13.9937453784988 2 +4.6 21 13.8138565792572 2 +4.6 22 13.624008399033 2 +4.6 23 13.517090492395 2 +4.6 24 13.3585492495229 2 +4.6 25 13.2386492651537 2 +4.6 26 13.0705941478463 2 +4.6 27 12.918173793098 2 +4.6 28 12.7927512257529 2 +4.6 29 12.6958509693505 2 +4.6 3 18.3119035147411 2 +4.6 30 12.5594079998249 2 +4.6 31 12.4264887167506 2 +4.6 32 12.3034564171157 2 +4.6 33 12.2084320708262 2 +4.6 34 12.1041266691249 2 +4.6 35 12.0288722055252 2 +4.6 36 11.911329724847 2 +4.6 37 11.825794503785 2 +4.6 38 11.7119781080391 2 +4.6 39 11.5680291221467 2 +4.6 4 17.8522761731622 2 +4.6 40 11.546309763613 2 +4.6 41 11.4291350778245 2 +4.6 42 11.3591052906178 2 +4.6 43 11.2704261902711 2 +4.6 44 11.1854255027599 2 +4.6 45 11.1016417403527 2 +4.6 46 11.0527914905323 2 +4.6 47 10.9674940727382 2 +4.6 48 10.8834443624014 2 +4.6 49 10.7848519111389 2 +4.6 5 17.5478919846107 2 +4.6 50 10.7132808931299 2 +4.6 51 10.6318681981687 2 +4.6 52 10.5964997255646 2 +4.6 53 10.5118290875625 2 +4.6 54 10.4554377598395 2 +4.6 55 10.411920285956 2 +4.6 56 10.3448985495225 2 +4.6 57 10.2649826606003 2 +4.6 58 10.2170018154676 2 +4.6 59 10.1736704064042 2 +4.6 6 17.1873581637006 2 +4.6 60 10.1111755374811 2 +4.6 61 10.0419802308535 2 +4.6 62 9.96882348054562 2 +4.6 63 9.9476426191336 2 +4.6 64 9.89844228482054 2 +4.6 65 9.82757564264433 2 +4.6 66 9.77990565261509 2 +4.6 67 9.72134072151209 2 +4.6 68 9.67836913663169 2 +4.6 69 9.62169591953692 2 +4.6 7 16.8960924263823 2 +4.6 70 9.55105089829176 2 +4.6 71 9.53778074807147 2 +4.6 72 9.50532441681809 2 +4.6 73 9.44385443079625 2 +4.6 74 9.36547566599899 2 +4.6 75 9.36148809294496 2 +4.6 76 9.31191799831666 2 +4.6 77 9.26816625688574 2 +4.6 78 9.22654954360438 2 +4.6 79 9.1734525194241 2 +4.6 8 16.5322629494033 2 +4.6 80 9.16068277231693 2 +4.6 81 9.12797665822715 2 +4.6 82 9.03686092711068 2 +4.6 83 9.01669053121582 2 +4.6 84 8.99452665378156 2 +4.6 85 8.91878324538752 2 +4.6 86 8.91275669287663 2 +4.6 87 8.87241632689864 2 +4.6 88 8.84839667789216 2 +4.6 89 8.81068330463339 2 +4.6 9 16.3193828735573 2 +4.6 90 8.75962586929834 2 +4.6 91 8.73158695213945 2 +4.6 92 8.72751892407296 2 +4.6 93 8.68130987947572 2 +4.6 94 8.63952208466628 2 +4.6 95 8.6158337524293 2 +4.6 96 8.57698581052048 2 +4.6 97 8.56653359856552 2 +4.6 98 8.50897210140722 2 +4.6 99 8.47570900247387 2 +4.7 0 15.8856577005229 1 +4.7 1 15.651253267515 1 +4.7 10 12.6921971955268 1 +4.7 100 5.86681380463832 1 +4.7 11 12.440400889601 1 +4.7 12 12.2131032339588 1 +4.7 13 11.9541921665463 1 +4.7 14 11.7665406439603 1 +4.7 15 11.612196790971 1 +4.7 16 11.4079504003676 1 +4.7 17 11.2036116434526 1 +4.7 18 11.0215618687214 1 +4.7 19 10.8570811711814 1 +4.7 2 15.286652429341 1 +4.7 20 10.7304224562438 1 +4.7 21 10.5573669862833 1 +4.7 22 10.4331345979109 1 +4.7 23 10.2724297355216 1 +4.7 24 10.1656545839201 1 +4.7 25 10.0210550827457 1 +4.7 26 9.86803791203065 1 +4.7 27 9.76872233294473 1 +4.7 28 9.68074001468394 1 +4.7 29 9.57032254474864 1 +4.7 3 14.8512784256639 1 +4.7 30 9.45174674073779 1 +4.7 31 9.34874483157215 1 +4.7 32 9.25794322742178 1 +4.7 33 9.15035308941016 1 +4.7 34 9.06632958248677 1 +4.7 35 8.96711060706242 1 +4.7 36 8.88104499163381 1 +4.7 37 8.81264324361378 1 +4.7 38 8.71517175979164 1 +4.7 39 8.63594161703312 1 +4.7 4 14.4931287651893 1 +4.7 40 8.55418216571652 1 +4.7 41 8.50301095501941 1 +4.7 42 8.41419570897189 1 +4.7 43 8.34596825258384 1 +4.7 44 8.28142942802736 1 +4.7 45 8.20930727033507 1 +4.7 46 8.16549071603739 1 +4.7 47 8.079244693461 1 +4.7 48 8.02170340840794 1 +4.7 49 7.95550407619172 1 +4.7 5 14.1430776677463 1 +4.7 50 7.90012844073935 1 +4.7 51 7.84968865636912 1 +4.7 52 7.77087308746332 1 +4.7 53 7.71501788204818 1 +4.7 54 7.66878942706678 1 +4.7 55 7.6472802948775 1 +4.7 56 7.55030405735165 1 +4.7 57 7.4961130685733 1 +4.7 58 7.43519139450841 1 +4.7 59 7.40709623829727 1 +4.7 6 13.8517803514307 1 +4.7 60 7.36299001791845 1 +4.7 61 7.31257175903804 1 +4.7 62 7.26478144296311 1 +4.7 63 7.21895888551421 1 +4.7 64 7.1651683361195 1 +4.7 65 7.12235527909877 1 +4.7 66 7.08788885204581 1 +4.7 67 7.03094733539535 1 +4.7 68 7.0080071540693 1 +4.7 69 6.93832968063377 1 +4.7 7 13.5417090330449 1 +4.7 70 6.91832098879929 1 +4.7 71 6.86998461315923 1 +4.7 72 6.82362958019877 1 +4.7 73 6.77516902583579 1 +4.7 74 6.75566376416906 1 +4.7 75 6.71242493966709 1 +4.7 76 6.65658333528662 1 +4.7 77 6.64058823847065 1 +4.7 78 6.5959570947176 1 +4.7 79 6.56319967872434 1 +4.7 8 13.1900708588791 1 +4.7 80 6.51910102983253 1 +4.7 81 6.46406851315018 1 +4.7 82 6.4780429589773 1 +4.7 83 6.41844430167009 1 +4.7 84 6.38005131553476 1 +4.7 85 6.35204055131371 1 +4.7 86 6.32394356484354 1 +4.7 87 6.28531019508491 1 +4.7 88 6.27041358840902 1 +4.7 89 6.21966183169918 1 +4.7 9 12.9558864299897 1 +4.7 90 6.16242148530155 1 +4.7 91 6.1571011652383 1 +4.7 92 6.12904340506759 1 +4.7 93 6.08113212713548 1 +4.7 94 6.07988418056308 1 +4.7 95 6.03167213918465 1 +4.7 96 6.00129710701389 1 +4.7 97 5.94991302683359 1 +4.7 98 5.93930524660441 1 +4.7 99 5.90201301076363 1 +4.7 0 19.5587799002647 2 +4.7 1 19.4141307944885 2 +4.7 10 16.4591396201821 2 +4.7 100 8.7744948408089 2 +4.7 11 16.2888996690173 2 +4.7 12 16.0117708292984 2 +4.7 13 15.7240064332371 2 +4.7 14 15.5242027947248 2 +4.7 15 15.3567974461649 2 +4.7 16 15.1387650324297 2 +4.7 17 14.9446032623676 2 +4.7 18 14.8270113839766 2 +4.7 19 14.5699428142893 2 +4.7 2 19.0964578891962 2 +4.7 20 14.4278509463851 2 +4.7 21 14.2266008748857 2 +4.7 22 14.0673944813558 2 +4.7 23 13.9234711220918 2 +4.7 24 13.8118182940162 2 +4.7 25 13.6021004493075 2 +4.7 26 13.5237740656435 2 +4.7 27 13.3603046443363 2 +4.7 28 13.2227877075831 2 +4.7 29 13.089763655376 2 +4.7 3 18.6971424277519 2 +4.7 30 12.9894604502667 2 +4.7 31 12.8708359476802 2 +4.7 32 12.7650362029675 2 +4.7 33 12.6291623269181 2 +4.7 34 12.5482646648148 2 +4.7 35 12.4494090089006 2 +4.7 36 12.3547208610811 2 +4.7 37 12.2317415909875 2 +4.7 38 12.1460447380725 2 +4.7 39 12.0477487312244 2 +4.7 4 18.2917201790346 2 +4.7 40 11.9247266314739 2 +4.7 41 11.8233742319495 2 +4.7 42 11.7733234133321 2 +4.7 43 11.6715555811702 2 +4.7 44 11.6066455543303 2 +4.7 45 11.4735279385815 2 +4.7 46 11.4113864174893 2 +4.7 47 11.3831787786903 2 +4.7 48 11.2726205336874 2 +4.7 49 11.2070908509916 2 +4.7 5 17.9705321910159 2 +4.7 50 11.1167352310958 2 +4.7 51 11.0548038795082 2 +4.7 52 10.9754979933368 2 +4.7 53 10.9318984639749 2 +4.7 54 10.8969685810461 2 +4.7 55 10.7839247137006 2 +4.7 56 10.6964948316735 2 +4.7 57 10.6458537273911 2 +4.7 58 10.6353352355565 2 +4.7 59 10.5606616877982 2 +4.7 6 17.6181011228813 2 +4.7 60 10.4673278250993 2 +4.7 61 10.4320059352697 2 +4.7 62 10.3651947948896 2 +4.7 63 10.3249046272026 2 +4.7 64 10.2057397987702 2 +4.7 65 10.2024562180015 2 +4.7 66 10.133149249792 2 +4.7 67 10.0744662789155 2 +4.7 68 10.0526084427759 2 +4.7 69 9.98946157180373 2 +4.7 7 17.3791426551884 2 +4.7 70 9.94667289275375 2 +4.7 71 9.88488078900405 2 +4.7 72 9.83208195102268 2 +4.7 73 9.79746989275762 2 +4.7 74 9.75640507098928 2 +4.7 75 9.7066392371464 2 +4.7 76 9.68601028060963 2 +4.7 77 9.62373730008497 2 +4.7 78 9.56489447008298 2 +4.7 79 9.54737702553643 2 +4.7 8 17.0674535850198 2 +4.7 80 9.50493751955335 2 +4.7 81 9.42679646188477 2 +4.7 82 9.40071775189212 2 +4.7 83 9.38185738746127 2 +4.7 84 9.33609181348283 2 +4.7 85 9.2912816425172 2 +4.7 86 9.25379711087588 2 +4.7 87 9.21770051837362 2 +4.7 88 9.17105945881194 2 +4.7 89 9.15474795196123 2 +4.7 9 16.760660746447 2 +4.7 90 9.12446449269776 2 +4.7 91 9.07520729913409 2 +4.7 92 9.0382809644982 2 +4.7 93 9.01549949760549 2 +4.7 94 8.97767176375609 2 +4.7 95 8.94680993975532 2 +4.7 96 8.91637350162228 2 +4.7 97 8.86397889372055 2 +4.7 98 8.86408185013789 2 +4.7 99 8.82458311072183 2 +4.8 0 16.2955583886832 1 +4.8 1 15.9909918960661 1 +4.8 10 13.0659524863535 1 +4.8 100 6.1884244224873 1 +4.8 11 12.8409831476308 1 +4.8 12 12.601729037135 1 +4.8 13 12.4004906541126 1 +4.8 14 12.1726320534183 1 +4.8 15 11.9832197514005 1 +4.8 16 11.8178907569352 1 +4.8 17 11.6011385486473 1 +4.8 18 11.4306849911266 1 +4.8 19 11.2766405253885 1 +4.8 2 15.6850249597526 1 +4.8 20 11.0905640164943 1 +4.8 21 10.9493793262931 1 +4.8 22 10.7889496884905 1 +4.8 23 10.6537045742745 1 +4.8 24 10.5541035146148 1 +4.8 25 10.3968649896047 1 +4.8 26 10.2793698642933 1 +4.8 27 10.1698990355894 1 +4.8 28 10.0398200393191 1 +4.8 29 9.9394620946036 1 +4.8 3 15.2686579624692 1 +4.8 30 9.82606977716322 1 +4.8 31 9.73139047943213 1 +4.8 32 9.62498731927985 1 +4.8 33 9.51572080977681 1 +4.8 34 9.43882007552584 1 +4.8 35 9.3409862899828 1 +4.8 36 9.21038858253575 1 +4.8 37 9.15794573956099 1 +4.8 38 9.08413578312093 1 +4.8 39 9.00391132214287 1 +4.8 4 14.8709560682805 1 +4.8 40 8.91881915994344 1 +4.8 41 8.81662210486059 1 +4.8 42 8.73694046158971 1 +4.8 43 8.68226698800223 1 +4.8 44 8.62494300303775 1 +4.8 45 8.56457454446825 1 +4.8 46 8.48726663899987 1 +4.8 47 8.42119027911799 1 +4.8 48 8.35585947904707 1 +4.8 49 8.28066700273524 1 +4.8 5 14.5724784986365 1 +4.8 50 8.23578257760444 1 +4.8 51 8.19216458441607 1 +4.8 52 8.08506540283677 1 +4.8 53 8.03501778024406 1 +4.8 54 7.99849146824157 1 +4.8 55 7.92440503203595 1 +4.8 56 7.88485782745829 1 +4.8 57 7.81917929950233 1 +4.8 58 7.76256536084401 1 +4.8 59 7.71222959371013 1 +4.8 6 14.2111698153976 1 +4.8 60 7.68852595928611 1 +4.8 61 7.62770325909029 1 +4.8 62 7.5465134756559 1 +4.8 63 7.50165981749079 1 +4.8 64 7.47540937794662 1 +4.8 65 7.42436982019349 1 +4.8 66 7.40929686435813 1 +4.8 67 7.3341150604681 1 +4.8 68 7.30696516348841 1 +4.8 69 7.25512140007171 1 +4.8 7 13.9011567132847 1 +4.8 70 7.2273348955062 1 +4.8 71 7.18523930628748 1 +4.8 72 7.14094447747393 1 +4.8 73 7.09037499119766 1 +4.8 74 7.04293297333328 1 +4.8 75 6.99108022647729 1 +4.8 76 6.98212582486448 1 +4.8 77 6.93324067453987 1 +4.8 78 6.88827343464647 1 +4.8 79 6.87781071556005 1 +4.8 8 13.6190175854802 1 +4.8 80 6.81643222590989 1 +4.8 81 6.78481162081613 1 +4.8 82 6.77625347695928 1 +4.8 83 6.70856062399777 1 +4.8 84 6.68534671433599 1 +4.8 85 6.6571212661768 1 +4.8 86 6.63148430491374 1 +4.8 87 6.58242163736217 1 +4.8 88 6.55754762542676 1 +4.8 89 6.50612241307066 1 +4.8 9 13.3510210839882 1 +4.8 90 6.50338164243606 1 +4.8 91 6.44713233273474 1 +4.8 92 6.42476905671662 1 +4.8 93 6.36929516746401 1 +4.8 94 6.36673138050301 1 +4.8 95 6.32754154595106 1 +4.8 96 6.30701879780998 1 +4.8 97 6.26801268926909 1 +4.8 98 6.23885536263086 1 +4.8 99 6.2081814396984 1 +4.8 0 20.039932828242 2 +4.8 1 19.8842702217283 2 +4.8 10 16.9796315871991 2 +4.8 100 9.10211924138786 2 +4.8 11 16.6510483985188 2 +4.8 12 16.4416564477852 2 +4.8 13 16.2585869935861 2 +4.8 14 15.9954923788882 2 +4.8 15 15.753322974423 2 +4.8 16 15.5899262564813 2 +4.8 17 15.3559951389355 2 +4.8 18 15.2036864007324 2 +4.8 19 15.0284291537222 2 +4.8 2 19.4559192726755 2 +4.8 20 14.8434738781611 2 +4.8 21 14.7052110604073 2 +4.8 22 14.5188575696266 2 +4.8 23 14.3713991745645 2 +4.8 24 14.2033256489033 2 +4.8 25 14.0861013952299 2 +4.8 26 13.9427219686787 2 +4.8 27 13.8049084346274 2 +4.8 28 13.6502297332955 2 +4.8 29 13.5378942700621 2 +4.8 3 19.2516722338875 2 +4.8 30 13.3930777544693 2 +4.8 31 13.2716926396682 2 +4.8 32 13.1395085655344 2 +4.8 33 12.9970060421139 2 +4.8 34 12.925871967353 2 +4.8 35 12.8640727123924 2 +4.8 36 12.711105481719 2 +4.8 37 12.6119713182378 2 +4.8 38 12.5591773610381 2 +4.8 39 12.4418343719252 2 +4.8 4 18.8098405878904 2 +4.8 40 12.3340450851414 2 +4.8 41 12.2339148491818 2 +4.8 42 12.1623681118318 2 +4.8 43 12.0638813153301 2 +4.8 44 12.002012748917 2 +4.8 45 11.9012817329353 2 +4.8 46 11.8635660369471 2 +4.8 47 11.721683037691 2 +4.8 48 11.6709253040896 2 +4.8 49 11.5869737027897 2 +4.8 5 18.4730567958201 2 +4.8 50 11.4810113622274 2 +4.8 51 11.4411346869826 2 +4.8 52 11.3702659764441 2 +4.8 53 11.2945328393444 2 +4.8 54 11.2284969596923 2 +4.8 55 11.1420766517515 2 +4.8 56 11.1289312474084 2 +4.8 57 11.0318307206149 2 +4.8 58 10.9706521490888 2 +4.8 59 10.9475072693317 2 +4.8 6 18.0953957096134 2 +4.8 60 10.8229687130647 2 +4.8 61 10.8024941714159 2 +4.8 62 10.7616451796266 2 +4.8 63 10.6856570641015 2 +4.8 64 10.632510207266 2 +4.8 65 10.5384758213158 2 +4.8 66 10.5120605071298 2 +4.8 67 10.4194329611381 2 +4.8 68 10.4278629985503 2 +4.8 69 10.3537426779367 2 +4.8 7 17.8132444869726 2 +4.8 70 10.3063494500825 2 +4.8 71 10.227154270614 2 +4.8 72 10.1864799201661 2 +4.8 73 10.1482264398986 2 +4.8 74 10.1107753074481 2 +4.8 75 10.1103844241478 2 +4.8 76 10.0054242306124 2 +4.8 77 9.9584326671501 2 +4.8 78 9.93168149196798 2 +4.8 79 9.90844855548125 2 +4.8 8 17.4900592936624 2 +4.8 80 9.86056523056787 2 +4.8 81 9.81825063657925 2 +4.8 82 9.75925828533737 2 +4.8 83 9.70052503757787 2 +4.8 84 9.63901310876022 2 +4.8 85 9.6649509975501 2 +4.8 86 9.57380740234914 2 +4.8 87 9.56179302844267 2 +4.8 88 9.55158512346974 2 +4.8 89 9.47469010196154 2 +4.8 9 17.1980251801524 2 +4.8 90 9.45429154106317 2 +4.8 91 9.4260873167348 2 +4.8 92 9.38590515562582 2 +4.8 93 9.35655923051923 2 +4.8 94 9.29725932953013 2 +4.8 95 9.30662811966189 2 +4.8 96 9.21441965294909 2 +4.8 97 9.22276336518174 2 +4.8 98 9.15408124935089 2 +4.8 99 9.14197038014102 2 +4.9 0 16.6468190232717 1 +4.9 1 16.4493043938012 1 +4.9 10 13.4927095709295 1 +4.9 100 6.48210489108933 1 +4.9 11 13.2022437494205 1 +4.9 12 13.0211927451418 1 +4.9 13 12.7830028841372 1 +4.9 14 12.6074710376219 1 +4.9 15 12.4309115841015 1 +4.9 16 12.1856502454268 1 +4.9 17 12.0434532485981 1 +4.9 18 11.8379048628034 1 +4.9 19 11.6529529162743 1 +4.9 2 16.0814350841496 1 +4.9 20 11.4671499268402 1 +4.9 21 11.3611757546878 1 +4.9 22 11.1974104791872 1 +4.9 23 11.0665343377425 1 +4.9 24 10.8982243560607 1 +4.9 25 10.7549971159688 1 +4.9 26 10.6665673490834 1 +4.9 27 10.5192759155939 1 +4.9 28 10.4347435949511 1 +4.9 29 10.3156456915709 1 +4.9 3 15.6734148028392 1 +4.9 30 10.1623702376913 1 +4.9 31 10.0672291330986 1 +4.9 32 9.9648743648149 1 +4.9 33 9.86709664803539 1 +4.9 34 9.80527007718533 1 +4.9 35 9.71259321312929 1 +4.9 36 9.60566425953943 1 +4.9 37 9.50639234333893 1 +4.9 38 9.46004792306309 1 +4.9 39 9.33290139279215 1 +4.9 4 15.342124010731 1 +4.9 40 9.2594409861867 1 +4.9 41 9.18323783089447 1 +4.9 42 9.10802913745452 1 +4.9 43 9.03259322495046 1 +4.9 44 8.96332673884694 1 +4.9 45 8.90474764019051 1 +4.9 46 8.81886812484489 1 +4.9 47 8.77839318516032 1 +4.9 48 8.71067049802011 1 +4.9 49 8.61856420386095 1 +4.9 5 14.9525744560145 1 +4.9 50 8.53270855105984 1 +4.9 51 8.48476111981722 1 +4.9 52 8.42824103013932 1 +4.9 53 8.37869061265683 1 +4.9 54 8.28489016840146 1 +4.9 55 8.2535541210609 1 +4.9 56 8.19643547922926 1 +4.9 57 8.15552939734659 1 +4.9 58 8.08922513634709 1 +4.9 59 8.03726528546443 1 +4.9 6 14.6635075682629 1 +4.9 60 7.96919737718606 1 +4.9 61 7.93181610307615 1 +4.9 62 7.88555931160431 1 +4.9 63 7.86076646033637 1 +4.9 64 7.77471176792784 1 +4.9 65 7.74152716044932 1 +4.9 66 7.70796147340055 1 +4.9 67 7.6651806271777 1 +4.9 68 7.60049060900279 1 +4.9 69 7.58756492826715 1 +4.9 7 14.3058342954091 1 +4.9 70 7.56269571453073 1 +4.9 71 7.49749683544865 1 +4.9 72 7.45467386001626 1 +4.9 73 7.4251463478499 1 +4.9 74 7.33926216170764 1 +4.9 75 7.3290922583473 1 +4.9 76 7.29170848946 1 +4.9 77 7.25598635913647 1 +4.9 78 7.21244211230572 1 +4.9 79 7.16795105698546 1 +4.9 8 14.0161337028551 1 +4.9 80 7.14923959410875 1 +4.9 81 7.11577485192479 1 +4.9 82 7.05359692763813 1 +4.9 83 7.03251682979826 1 +4.9 84 7.00254374664906 1 +4.9 85 6.94306405049258 1 +4.9 86 6.91795355467216 1 +4.9 87 6.87088593464803 1 +4.9 88 6.85868330556882 1 +4.9 89 6.81054603150481 1 +4.9 9 13.7622560517609 1 +4.9 90 6.79298592946765 1 +4.9 91 6.72945040412569 1 +4.9 92 6.73857140332316 1 +4.9 93 6.68137021731218 1 +4.9 94 6.64265272976941 1 +4.9 95 6.62266206635108 1 +4.9 96 6.60252538410582 1 +4.9 97 6.5794283930395 1 +4.9 98 6.55454410975115 1 +4.9 99 6.5040069959557 1 +4.9 0 20.4477018033952 2 +4.9 1 20.2604584775901 2 +4.9 10 17.3648686604622 2 +4.9 100 9.43887207086837 2 +4.9 11 17.1440043329714 2 +4.9 12 16.9860910568372 2 +4.9 13 16.6378999933538 2 +4.9 14 16.4641674597489 2 +4.9 15 16.2213221269604 2 +4.9 16 16.0422160734718 2 +4.9 17 15.8610471035351 2 +4.9 18 15.6578041113222 2 +4.9 19 15.4795441453643 2 +4.9 2 20.0002376977748 2 +4.9 20 15.3111504831283 2 +4.9 21 15.1110009821836 2 +4.9 22 14.9578350752593 2 +4.9 23 14.8052730873169 2 +4.9 24 14.6436937610832 2 +4.9 25 14.5104302034258 2 +4.9 26 14.3304793425179 2 +4.9 27 14.2723602133053 2 +4.9 28 14.0738869921518 2 +4.9 29 13.9855336569422 2 +4.9 3 19.6724321893097 2 +4.9 30 13.8046205771064 2 +4.9 31 13.6863535727263 2 +4.9 32 13.6082697469719 2 +4.9 33 13.4798018233196 2 +4.9 34 13.3912269678787 2 +4.9 35 13.2357194281314 2 +4.9 36 13.1437939983323 2 +4.9 37 13.0329499643775 2 +4.9 38 12.9654037012249 2 +4.9 39 12.8590088261516 2 +4.9 4 19.2942606276881 2 +4.9 40 12.7525862852929 2 +4.9 41 12.6060185807642 2 +4.9 42 12.5688169052125 2 +4.9 43 12.4524746558444 2 +4.9 44 12.377667375937 2 +4.9 45 12.3063281129728 2 +4.9 46 12.2092813574546 2 +4.9 47 12.1382682091604 2 +4.9 48 12.0588795952334 2 +4.9 49 11.9699051857732 2 +4.9 5 18.8995868802082 2 +4.9 50 11.8666092744454 2 +4.9 51 11.8169981987376 2 +4.9 52 11.7669571339129 2 +4.9 53 11.671995925499 2 +4.9 54 11.5753035143738 2 +4.9 55 11.4811954536351 2 +4.9 56 11.4731254671261 2 +4.9 57 11.3906989816881 2 +4.9 58 11.342636754133 2 +4.9 59 11.3006851580933 2 +4.9 6 18.5637160479776 2 +4.9 60 11.2230381579817 2 +4.9 61 11.144179131633 2 +4.9 62 11.0913385179529 2 +4.9 63 11.0441996643793 2 +4.9 64 10.9999650883507 2 +4.9 65 10.9520550236734 2 +4.9 66 10.8743668897896 2 +4.9 67 10.7883749536763 2 +4.9 68 10.7701362810483 2 +4.9 69 10.7115612474419 2 +4.9 7 18.2683389519134 2 +4.9 70 10.6823497743033 2 +4.9 71 10.6257886923863 2 +4.9 72 10.5670110114188 2 +4.9 73 10.4979902636626 2 +4.9 74 10.4964816106518 2 +4.9 75 10.4193624311524 2 +4.9 76 10.3569124862693 2 +4.9 77 10.3253620462789 2 +4.9 78 10.2663369316909 2 +4.9 79 10.2527062390539 2 +4.9 8 17.9504388364091 2 +4.9 80 10.1974319709512 2 +4.9 81 10.1576625272948 2 +4.9 82 10.1142399777364 2 +4.9 83 10.0722133017683 2 +4.9 84 10.04711090902 2 +4.9 85 10.0024290055112 2 +4.9 86 9.9144983851411 2 +4.9 87 9.90729120393717 2 +4.9 88 9.84820435317936 2 +4.9 89 9.86584766118287 2 +4.9 9 17.7021756612303 2 +4.9 90 9.77188764433986 2 +4.9 91 9.78867961070622 2 +4.9 92 9.7219442621505 2 +4.9 93 9.66561605494986 2 +4.9 94 9.63949690360568 2 +4.9 95 9.61948308879696 2 +4.9 96 9.58223563923663 2 +4.9 97 9.55500103754177 2 +4.9 98 9.49555891653971 2 +4.9 99 9.47835639969601 2 +5 0 17.0324834025743 1 +5 1 16.8572379024019 1 +5 10 13.9153945545117 1 +5 100 6.76441313153097 1 +5 11 13.6434350651039 1 +5 12 13.4289669901951 1 +5 13 13.195411202215 1 +5 14 12.9848195682438 1 +5 15 12.8092640640499 1 +5 16 12.6116264287621 1 +5 17 12.3961492554036 1 +5 18 12.235810842914 1 +5 19 12.0613442360805 1 +5 2 16.4891332811803 1 +5 20 11.8893337300208 1 +5 21 11.7243636370709 1 +5 22 11.5728155070453 1 +5 23 11.4551704717599 1 +5 24 11.3174743181286 1 +5 25 11.1628850867108 1 +5 26 11.0169507403292 1 +5 27 10.914401860432 1 +5 28 10.7639482990079 1 +5 29 10.6702313025246 1 +5 3 16.0931475583468 1 +5 30 10.54440452599 1 +5 31 10.4475141988288 1 +5 32 10.3593279873954 1 +5 33 10.2233385840802 1 +5 34 10.1655709364054 1 +5 35 10.0169972557083 1 +5 36 9.95106401295833 1 +5 37 9.86274753654541 1 +5 38 9.80080994378721 1 +5 39 9.67593278621036 1 +5 4 15.742914988214 1 +5 40 9.63014937793417 1 +5 41 9.53052981388707 1 +5 42 9.44650026014358 1 +5 43 9.38710472618235 1 +5 44 9.30583127198165 1 +5 45 9.23395104011853 1 +5 46 9.15607538354198 1 +5 47 9.06954700832184 1 +5 48 9.01569931604462 1 +5 49 8.96856947875565 1 +5 5 15.3784886741929 1 +5 50 8.88901917795187 1 +5 51 8.83707260196621 1 +5 52 8.81397557918369 1 +5 53 8.70990849573368 1 +5 54 8.63377062709448 1 +5 55 8.58186986870837 1 +5 56 8.51282747498647 1 +5 57 8.46646380906091 1 +5 58 8.41090069998945 1 +5 59 8.37125957228281 1 +5 6 15.1020225270348 1 +5 60 8.31075024012886 1 +5 61 8.25928271979167 1 +5 62 8.20831597423281 1 +5 63 8.14493938859894 1 +5 64 8.12126519912205 1 +5 65 8.05487939539631 1 +5 66 8.01180685984105 1 +5 67 7.96647635807173 1 +5 68 7.9248568903085 1 +5 69 7.88163891214536 1 +5 7 14.7398020850845 1 +5 70 7.83043253050336 1 +5 71 7.78438024244507 1 +5 72 7.76270646940966 1 +5 73 7.70797304036218 1 +5 74 7.66563853874054 1 +5 75 7.63233887939544 1 +5 76 7.57716765693639 1 +5 77 7.54123790686485 1 +5 78 7.53337869162213 1 +5 79 7.47003470760847 1 +5 8 14.4341341890449 1 +5 80 7.44131289612964 1 +5 81 7.39189072443294 1 +5 82 7.34301042514168 1 +5 83 7.33608525789583 1 +5 84 7.28785276646816 1 +5 85 7.22807251576813 1 +5 86 7.21897806938154 1 +5 87 7.17442407724984 1 +5 88 7.14938398013364 1 +5 89 7.13130726368126 1 +5 9 14.1700530637345 1 +5 90 7.08937691253724 1 +5 91 7.05457420949697 1 +5 92 7.02307792168583 1 +5 93 6.96797866542291 1 +5 94 6.94543749415824 1 +5 95 6.92994038207283 1 +5 96 6.88681094216182 1 +5 97 6.85082169401863 1 +5 98 6.83160573694459 1 +5 99 6.80711715922043 1 +5 0 20.9012481821201 2 +5 1 20.8007829796772 2 +5 10 17.7973482152374 2 +5 100 9.76229020609024 2 +5 11 17.5924655432502 2 +5 12 17.4034745785351 2 +5 13 17.1663593050815 2 +5 14 16.9515057601081 2 +5 15 16.734803395809 2 +5 16 16.5385884139447 2 +5 17 16.2891642128117 2 +5 18 16.082084935106 2 +5 19 15.9121971825364 2 +5 2 20.4653595287175 2 +5 20 15.7667391262409 2 +5 21 15.5902360264612 2 +5 22 15.4103191587039 2 +5 23 15.2797460105363 2 +5 24 15.0707263636493 2 +5 25 14.9479237777791 2 +5 26 14.7920403288899 2 +5 27 14.6805107931477 2 +5 28 14.5022584351396 2 +5 29 14.3455548994965 2 +5 3 20.1904668888713 2 +5 30 14.2481701551251 2 +5 31 14.0968020629668 2 +5 32 14.0059307149157 2 +5 33 13.8930746214736 2 +5 34 13.7620999448584 2 +5 35 13.6686114152326 2 +5 36 13.565782801489 2 +5 37 13.4223435665807 2 +5 38 13.3466269695818 2 +5 39 13.2348419893523 2 +5 4 19.7267240395685 2 +5 40 13.121990799285 2 +5 41 13.0517808575686 2 +5 42 12.9676520608167 2 +5 43 12.8548681019833 2 +5 44 12.7325423189815 2 +5 45 12.6985882394727 2 +5 46 12.5678724710387 2 +5 47 12.5110476882306 2 +5 48 12.4308057405408 2 +5 49 12.3968465629074 2 +5 5 19.3599574291294 2 +5 50 12.3020713982234 2 +5 51 12.2368930607299 2 +5 52 12.1413805835569 2 +5 53 12.0594690885755 2 +5 54 11.9926925085724 2 +5 55 11.9545985999061 2 +5 56 11.8415628044591 2 +5 57 11.7631417672818 2 +5 58 11.732002942477 2 +5 59 11.6414190914431 2 +5 6 19.0284797464048 2 +5 60 11.6008244803143 2 +5 61 11.5380034842346 2 +5 62 11.4866177706839 2 +5 63 11.4029087807207 2 +5 64 11.3667945242631 2 +5 65 11.2654629520863 2 +5 66 11.2445499679525 2 +5 67 11.1937418026394 2 +5 68 11.1271735188513 2 +5 69 11.0833844205617 2 +5 7 18.6771451063195 2 +5 70 10.9869053168498 2 +5 71 10.9429438458715 2 +5 72 10.9174981914773 2 +5 73 10.8562938468579 2 +5 74 10.8084133429405 2 +5 75 10.7518668808607 2 +5 76 10.7126588660094 2 +5 77 10.6450942658088 2 +5 78 10.6210425196567 2 +5 79 10.5674128541124 2 +5 8 18.4119789029705 2 +5 80 10.5120144242864 2 +5 81 10.5113555932979 2 +5 82 10.4473370899449 2 +5 83 10.3975521518485 2 +5 84 10.3600502745261 2 +5 85 10.3202939147492 2 +5 86 10.3060337345727 2 +5 87 10.2392878502721 2 +5 88 10.2129332739633 2 +5 89 10.1833984452679 2 +5 9 18.1531178764555 2 +5 90 10.1367138946344 2 +5 91 10.0944133516746 2 +5 92 10.0490517615879 2 +5 93 10.039441535135 2 +5 94 9.99679190025382 2 +5 95 9.94299852790477 2 +5 96 9.90457463354425 2 +5 97 9.88659965128176 2 +5 98 9.84589641401555 2 +5 99 9.80232948838905 2 +5.1 0 17.4437110935815 1 +5.1 1 17.2288118098531 1 +5.1 10 14.2857088594654 1 +5.1 100 7.0905626196088 1 +5.1 11 14.0412035979343 1 +5.1 12 13.8116831787195 1 +5.1 13 13.5854772432221 1 +5.1 14 13.4014565564449 1 +5.1 15 13.1824595956757 1 +5.1 16 12.9976826059587 1 +5.1 17 12.8049888897436 1 +5.1 18 12.6228448295323 1 +5.1 19 12.4921709683829 1 +5.1 2 16.8928484225401 1 +5.1 20 12.2981778981542 1 +5.1 21 12.1312703319334 1 +5.1 22 11.994583731643 1 +5.1 23 11.8173692551785 1 +5.1 24 11.7064547856862 1 +5.1 25 11.5591013455162 1 +5.1 26 11.3831437190207 1 +5.1 27 11.2587758889945 1 +5.1 28 11.1767194907046 1 +5.1 29 11.0801725922706 1 +5.1 3 16.5345054444604 1 +5.1 30 10.8954363884801 1 +5.1 31 10.832849079653 1 +5.1 32 10.6955904683418 1 +5.1 33 10.5852957095686 1 +5.1 34 10.4757503665285 1 +5.1 35 10.4217008981411 1 +5.1 36 10.2884483133857 1 +5.1 37 10.2207216877091 1 +5.1 38 10.1408875300229 1 +5.1 39 10.0562204361412 1 +5.1 4 16.0935393167289 1 +5.1 40 9.97729307258367 1 +5.1 41 9.88591687426644 1 +5.1 42 9.78785830775423 1 +5.1 43 9.71322238866033 1 +5.1 44 9.63274979066057 1 +5.1 45 9.57787879481499 1 +5.1 46 9.49405623608428 1 +5.1 47 9.41082860744542 1 +5.1 48 9.36132110850311 1 +5.1 49 9.30447139639787 1 +5.1 5 15.8035959685884 1 +5.1 50 9.19872235953115 1 +5.1 51 9.13731227359271 1 +5.1 52 9.08505577671549 1 +5.1 53 9.03621762338191 1 +5.1 54 8.97958935588143 1 +5.1 55 8.91389595223447 1 +5.1 56 8.86768574851888 1 +5.1 57 8.77321161739675 1 +5.1 58 8.74359412001775 1 +5.1 59 8.70631073540804 1 +5.1 6 15.4244912268405 1 +5.1 60 8.60978532327378 1 +5.1 61 8.56446068650247 1 +5.1 62 8.53188839239905 1 +5.1 63 8.46756881570572 1 +5.1 64 8.44077655993573 1 +5.1 65 8.38642969416605 1 +5.1 66 8.33997082610576 1 +5.1 67 8.30329666584414 1 +5.1 68 8.23497100087863 1 +5.1 69 8.19167879622144 1 +5.1 7 15.1550450787041 1 +5.1 70 8.15852958943416 1 +5.1 71 8.10987594806991 1 +5.1 72 8.08083302738256 1 +5.1 73 8.01804393907772 1 +5.1 74 7.97834085921049 1 +5.1 75 7.92756025423014 1 +5.1 76 7.87733980177731 1 +5.1 77 7.85786729312681 1 +5.1 78 7.82103435175617 1 +5.1 79 7.77680150643575 1 +5.1 8 14.8657387025023 1 +5.1 80 7.73778166407166 1 +5.1 81 7.71381753979369 1 +5.1 82 7.64585474249802 1 +5.1 83 7.61489048545601 1 +5.1 84 7.58159684367986 1 +5.1 85 7.56169629930262 1 +5.1 86 7.5223176206418 1 +5.1 87 7.48391465434348 1 +5.1 88 7.44501480539613 1 +5.1 89 7.43025811413366 1 +5.1 9 14.584413349175 1 +5.1 90 7.36132282039841 1 +5.1 91 7.36392735507459 1 +5.1 92 7.31875739148992 1 +5.1 93 7.27721305293645 1 +5.1 94 7.27630630794147 1 +5.1 95 7.23346317746351 1 +5.1 96 7.17229241802559 1 +5.1 97 7.15878416375279 1 +5.1 98 7.13481803466225 1 +5.1 99 7.10895997318542 1 +5.1 0 21.3667253174149 2 +5.1 1 21.1383669552578 2 +5.1 10 18.3378616072471 2 +5.1 100 10.1033427379161 2 +5.1 11 18.0055967539748 2 +5.1 12 17.7944133251025 2 +5.1 13 17.6172827315337 2 +5.1 14 17.285873513469 2 +5.1 15 17.0700940895492 2 +5.1 16 16.8872715093353 2 +5.1 17 16.789039412688 2 +5.1 18 16.5565198653359 2 +5.1 19 16.3733051628308 2 +5.1 2 20.8835117445286 2 +5.1 20 16.1487028695032 2 +5.1 21 15.9528738885244 2 +5.1 22 15.8230371923989 2 +5.1 23 15.6542555162155 2 +5.1 24 15.5168322605954 2 +5.1 25 15.3826305338234 2 +5.1 26 15.169223724821 2 +5.1 27 15.0862427088407 2 +5.1 28 14.9200858189186 2 +5.1 29 14.7607500131983 2 +5.1 3 20.6346027816359 2 +5.1 30 14.6455368144103 2 +5.1 31 14.5403146080634 2 +5.1 32 14.3765080864303 2 +5.1 33 14.3040554283207 2 +5.1 34 14.2108746476386 2 +5.1 35 14.0650143707668 2 +5.1 36 13.933695595314 2 +5.1 37 13.8357337805845 2 +5.1 38 13.7646745023744 2 +5.1 39 13.6478185771363 2 +5.1 4 20.1862029223933 2 +5.1 40 13.5516559524417 2 +5.1 41 13.4523942428388 2 +5.1 42 13.3745276874549 2 +5.1 43 13.214507534664 2 +5.1 44 13.1579854372727 2 +5.1 45 13.0415194870687 2 +5.1 46 13.0212548161885 2 +5.1 47 12.8812623959771 2 +5.1 48 12.82125110193 2 +5.1 49 12.730114626021 2 +5.1 5 19.8410093886797 2 +5.1 50 12.6989770000007 2 +5.1 51 12.5933782639224 2 +5.1 52 12.5456635368063 2 +5.1 53 12.4337873279268 2 +5.1 54 12.3579228898313 2 +5.1 55 12.2844995841397 2 +5.1 56 12.2148292178575 2 +5.1 57 12.1018357346775 2 +5.1 58 12.1125300496864 2 +5.1 59 12.067760907576 2 +5.1 6 19.4878082146937 2 +5.1 60 11.9503392956371 2 +5.1 61 11.9278915535208 2 +5.1 62 11.8362427340415 2 +5.1 63 11.7627691240509 2 +5.1 64 11.7085755059689 2 +5.1 65 11.6444899479697 2 +5.1 66 11.6026536401778 2 +5.1 67 11.5305973524402 2 +5.1 68 11.4490483947762 2 +5.1 69 11.403902934428 2 +5.1 7 19.2136357115673 2 +5.1 70 11.3854988464196 2 +5.1 71 11.3170023879938 2 +5.1 72 11.264115319796 2 +5.1 73 11.2436752382948 2 +5.1 74 11.2245216611274 2 +5.1 75 11.1168987229898 2 +5.1 76 11.0892829814298 2 +5.1 77 11.037539149689 2 +5.1 78 10.9676429328627 2 +5.1 79 10.9573893656675 2 +5.1 8 18.8741513148447 2 +5.1 80 10.9216441816008 2 +5.1 81 10.8569130408817 2 +5.1 82 10.8305581345994 2 +5.1 83 10.7477619909718 2 +5.1 84 10.7118729347136 2 +5.1 85 10.6620230804127 2 +5.1 86 10.64934875775 2 +5.1 87 10.59312411824 2 +5.1 88 10.5781385545206 2 +5.1 89 10.5049942245603 2 +5.1 9 18.5803779312107 2 +5.1 90 10.4432893161978 2 +5.1 91 10.4230614100182 2 +5.1 92 10.4102107597966 2 +5.1 93 10.3659674739804 2 +5.1 94 10.313433565076 2 +5.1 95 10.2941509477408 2 +5.1 96 10.2362732200636 2 +5.1 97 10.2003785169005 2 +5.1 98 10.1524563245211 2 +5.1 99 10.1505203703445 2 +5.2 0 17.8462433102009 1 +5.2 1 17.5918842438682 1 +5.2 10 14.6924730323473 1 +5.2 100 7.36736475709467 1 +5.2 11 14.4747057101693 1 +5.2 12 14.2264088790208 1 +5.2 13 14.0052755906527 1 +5.2 14 13.7512133677607 1 +5.2 15 13.5773022050973 1 +5.2 16 13.4166124380183 1 +5.2 17 13.1852958059074 1 +5.2 18 13.0273671516148 1 +5.2 19 12.8244353137369 1 +5.2 2 17.2665276533697 1 +5.2 20 12.7163790323863 1 +5.2 21 12.4693444258601 1 +5.2 22 12.3895841202238 1 +5.2 23 12.2318012818911 1 +5.2 24 12.080297074499 1 +5.2 25 11.9374270798467 1 +5.2 26 11.7948155834415 1 +5.2 27 11.6412814088623 1 +5.2 28 11.5346730799528 1 +5.2 29 11.3931543045304 1 +5.2 3 16.9430882927072 1 +5.2 30 11.3403652287778 1 +5.2 31 11.166982644615 1 +5.2 32 11.1081038485988 1 +5.2 33 10.9601003583696 1 +5.2 34 10.8866268140717 1 +5.2 35 10.7582624859826 1 +5.2 36 10.6891446701099 1 +5.2 37 10.5878600111658 1 +5.2 38 10.4999134322632 1 +5.2 39 10.405033222358 1 +5.2 4 16.588208331682 1 +5.2 40 10.2885621067718 1 +5.2 41 10.208868074024 1 +5.2 42 10.1406116155862 1 +5.2 43 10.0670594560249 1 +5.2 44 9.96216311551037 1 +5.2 45 9.92998438179151 1 +5.2 46 9.80267686466688 1 +5.2 47 9.77959746836433 1 +5.2 48 9.66827109329631 1 +5.2 49 9.62093601092481 1 +5.2 5 16.182349650207 1 +5.2 50 9.58828983826029 1 +5.2 51 9.46507777982772 1 +5.2 52 9.42445050233933 1 +5.2 53 9.36320616387698 1 +5.2 54 9.30884415700345 1 +5.2 55 9.27176668867282 1 +5.2 56 9.13860430550823 1 +5.2 57 9.14959409622666 1 +5.2 58 9.06075676559819 1 +5.2 59 8.9856622408637 1 +5.2 6 15.8927879702974 1 +5.2 60 8.96703421209195 1 +5.2 61 8.90929041646958 1 +5.2 62 8.86513362277222 1 +5.2 63 8.79486673872526 1 +5.2 64 8.7335468634502 1 +5.2 65 8.68644309601641 1 +5.2 66 8.64729531337018 1 +5.2 67 8.57804231869046 1 +5.2 68 8.55472657737192 1 +5.2 69 8.51791919792553 1 +5.2 7 15.5377776771747 1 +5.2 70 8.46868458717051 1 +5.2 71 8.40096918037666 1 +5.2 72 8.35154540794127 1 +5.2 73 8.33662119219937 1 +5.2 74 8.28257684952514 1 +5.2 75 8.23184552313895 1 +5.2 76 8.20408051251151 1 +5.2 77 8.1716552256157 1 +5.2 78 8.1232965779058 1 +5.2 79 8.10043127421848 1 +5.2 8 15.2069494381937 1 +5.2 80 8.01709611082023 1 +5.2 81 8.01579423140114 1 +5.2 82 7.94215370542151 1 +5.2 83 7.92925591557396 1 +5.2 84 7.89197249830619 1 +5.2 85 7.83679898728075 1 +5.2 86 7.82076948099288 1 +5.2 87 7.77004688962707 1 +5.2 88 7.76294647212961 1 +5.2 89 7.71341119030799 1 +5.2 9 14.9701467306412 1 +5.2 90 7.67772940555073 1 +5.2 91 7.6846314555535 1 +5.2 92 7.64365798618116 1 +5.2 93 7.58446762439185 1 +5.2 94 7.5393121874955 1 +5.2 95 7.5297828374551 1 +5.2 96 7.49935604709132 1 +5.2 97 7.45731733456186 1 +5.2 98 7.39539046371324 1 +5.2 99 7.38117668606741 1 +5.2 0 21.7305394893549 2 +5.2 1 21.6730029924433 2 +5.2 10 18.6355218167053 2 +5.2 100 10.4159070298427 2 +5.2 11 18.4072104686478 2 +5.2 12 18.3158238482334 2 +5.2 13 17.9995608312023 2 +5.2 14 17.8302077819106 2 +5.2 15 17.5401612316889 2 +5.2 16 17.3376810502803 2 +5.2 17 17.1553148534189 2 +5.2 18 16.9330827673765 2 +5.2 19 16.8122504991234 2 +5.2 2 21.3701015405567 2 +5.2 20 16.5876401705535 2 +5.2 21 16.4124737790011 2 +5.2 22 16.2636247230302 2 +5.2 23 16.0706419340057 2 +5.2 24 15.9367673632526 2 +5.2 25 15.7878046003839 2 +5.2 26 15.6831071620958 2 +5.2 27 15.429394889883 2 +5.2 28 15.3330139514208 2 +5.2 29 15.2099484505798 2 +5.2 3 21.1198711471817 2 +5.2 30 15.1005977225651 2 +5.2 31 14.9600618432046 2 +5.2 32 14.8313876029919 2 +5.2 33 14.7319354307435 2 +5.2 34 14.6126644068444 2 +5.2 35 14.4398521860294 2 +5.2 36 14.3876361800937 2 +5.2 37 14.2507499117021 2 +5.2 38 14.1339347960559 2 +5.2 39 13.9990147362119 2 +5.2 4 20.5842864270614 2 +5.2 40 13.9445046681953 2 +5.2 41 13.8701349278294 2 +5.2 42 13.7935057182717 2 +5.2 43 13.6951685352394 2 +5.2 44 13.5843381848263 2 +5.2 45 13.4461074685791 2 +5.2 46 13.3670783752746 2 +5.2 47 13.289036340848 2 +5.2 48 13.2085899681943 2 +5.2 49 13.0751253270879 2 +5.2 5 20.2690949503943 2 +5.2 50 13.0467625521929 2 +5.2 51 12.983441936891 2 +5.2 52 12.8773897414608 2 +5.2 53 12.8005984600636 2 +5.2 54 12.7165294691024 2 +5.2 55 12.6660338370542 2 +5.2 56 12.6217172563976 2 +5.2 57 12.574992765757 2 +5.2 58 12.4400937825434 2 +5.2 59 12.3974266720139 2 +5.2 6 19.9483754397237 2 +5.2 60 12.3280057355225 2 +5.2 61 12.2707273945231 2 +5.2 62 12.1813061105043 2 +5.2 63 12.141384222873 2 +5.2 64 12.0766348451611 2 +5.2 65 12.0005489495094 2 +5.2 66 11.9604269240076 2 +5.2 67 11.8911764406856 2 +5.2 68 11.8353311597303 2 +5.2 69 11.7852454834501 2 +5.2 7 19.6649575647389 2 +5.2 70 11.7312152443315 2 +5.2 71 11.6393299795378 2 +5.2 72 11.6397505494979 2 +5.2 73 11.587804143099 2 +5.2 74 11.524999326249 2 +5.2 75 11.4677982765274 2 +5.2 76 11.4178417581577 2 +5.2 77 11.3982667595265 2 +5.2 78 11.344678715717 2 +5.2 79 11.2711005980893 2 +5.2 8 19.2911371085049 2 +5.2 80 11.2504851570296 2 +5.2 81 11.2028255816504 2 +5.2 82 11.1457630344145 2 +5.2 83 11.1230152888039 2 +5.2 84 11.0363349217161 2 +5.2 85 11.0083187935623 2 +5.2 86 10.9360670809979 2 +5.2 87 10.956127807012 2 +5.2 88 10.8765326383875 2 +5.2 89 10.839967405288 2 +5.2 9 19.046949372898 2 +5.2 90 10.8024462323983 2 +5.2 91 10.7264281066611 2 +5.2 92 10.7109577676461 2 +5.2 93 10.6926200223331 2 +5.2 94 10.6717955550244 2 +5.2 95 10.6166526403336 2 +5.2 96 10.6031672287165 2 +5.2 97 10.5658960897926 2 +5.2 98 10.4754410782188 2 +5.2 99 10.4634335960589 2 +5.3 0 18.2648740477682 1 +5.3 1 18.0123954137265 1 +5.3 10 15.1113028023415 1 +5.3 100 7.65444040001007 1 +5.3 11 14.8635791019516 1 +5.3 12 14.6240345399156 1 +5.3 13 14.3942522747613 1 +5.3 14 14.2013968063812 1 +5.3 15 13.9754173152532 1 +5.3 16 13.7839925521199 1 +5.3 17 13.603264321485 1 +5.3 18 13.4356425178002 1 +5.3 19 13.2130443632344 1 +5.3 2 17.6429210605096 1 +5.3 20 13.0673556825796 1 +5.3 21 12.8786610735357 1 +5.3 22 12.7747633151144 1 +5.3 23 12.5822218126221 1 +5.3 24 12.4984777513435 1 +5.3 25 12.2712011502398 1 +5.3 26 12.1496073849463 1 +5.3 27 12.038831924985 1 +5.3 28 11.9021096907942 1 +5.3 29 11.7516287927204 1 +5.3 3 17.3011934147316 1 +5.3 30 11.6862887232837 1 +5.3 31 11.5514460254984 1 +5.3 32 11.4547003164156 1 +5.3 33 11.3509091692885 1 +5.3 34 11.2298138811177 1 +5.3 35 11.1368184516507 1 +5.3 36 11.0166982689761 1 +5.3 37 10.9245524711146 1 +5.3 38 10.8433087428747 1 +5.3 39 10.7680387406706 1 +5.3 4 16.9101116244623 1 +5.3 40 10.6918033614298 1 +5.3 41 10.5456905154137 1 +5.3 42 10.4815450881314 1 +5.3 43 10.4062106117895 1 +5.3 44 10.3392037723036 1 +5.3 45 10.2793649326227 1 +5.3 46 10.1780623354691 1 +5.3 47 10.1096297551363 1 +5.3 48 10.0106676641511 1 +5.3 49 9.94567115755463 1 +5.3 5 16.6255230770964 1 +5.3 50 9.90002746561817 1 +5.3 51 9.81926884111542 1 +5.3 52 9.73368897972058 1 +5.3 53 9.69615661341643 1 +5.3 54 9.63077819945048 1 +5.3 55 9.60138086225384 1 +5.3 56 9.51256418027533 1 +5.3 57 9.44186818617542 1 +5.3 58 9.36531220843538 1 +5.3 59 9.33094406182294 1 +5.3 6 16.2387640962485 1 +5.3 60 9.3100529331255 1 +5.3 61 9.23720213573453 1 +5.3 62 9.16190391453284 1 +5.3 63 9.12610333232785 1 +5.3 64 9.04422830446471 1 +5.3 65 9.02113861805708 1 +5.3 66 8.97068292657362 1 +5.3 67 8.88894555658361 1 +5.3 68 8.83829650003694 1 +5.3 69 8.84022861906805 1 +5.3 7 15.9172938306972 1 +5.3 70 8.76882412099183 1 +5.3 71 8.7281312884776 1 +5.3 72 8.66052855652525 1 +5.3 73 8.63430354740954 1 +5.3 74 8.58642422698753 1 +5.3 75 8.55176287574687 1 +5.3 76 8.50264985821467 1 +5.3 77 8.47685620952162 1 +5.3 78 8.42189523009044 1 +5.3 79 8.38506094600417 1 +5.3 8 15.6468076887982 1 +5.3 80 8.32574828370879 1 +5.3 81 8.3089885265354 1 +5.3 82 8.26978953081581 1 +5.3 83 8.22404399167378 1 +5.3 84 8.18773033895695 1 +5.3 85 8.159718354927 1 +5.3 86 8.13429447960423 1 +5.3 87 8.07516932478781 1 +5.3 88 8.07228111304176 1 +5.3 89 7.98671969591602 1 +5.3 9 15.3768748897746 1 +5.3 90 7.97991300634406 1 +5.3 91 7.92338422967556 1 +5.3 92 7.92615559162287 1 +5.3 93 7.84384654690344 1 +5.3 94 7.84660118831732 1 +5.3 95 7.8231312031949 1 +5.3 96 7.77853162616355 1 +5.3 97 7.74683652050851 1 +5.3 98 7.73146526194872 1 +5.3 99 7.68773718087077 1 +5.3 0 22.1860935407278 2 +5.3 1 22.0683459546531 2 +5.3 10 19.2055349553175 2 +5.3 100 10.7794045831096 2 +5.3 11 18.9711015623227 2 +5.3 12 18.6430041357008 2 +5.3 13 18.4911735501891 2 +5.3 14 18.2936065839699 2 +5.3 15 17.9703588641327 2 +5.3 16 17.8108653576948 2 +5.3 17 17.6229759217285 2 +5.3 18 17.3584887004436 2 +5.3 19 17.1747761761226 2 +5.3 2 21.864368369041 2 +5.3 20 17.0017470939127 2 +5.3 21 16.837701538944 2 +5.3 22 16.6609631491291 2 +5.3 23 16.5178348093422 2 +5.3 24 16.342856300316 2 +5.3 25 16.221129047113 2 +5.3 26 16.0681589565651 2 +5.3 27 15.9193893224006 2 +5.3 28 15.7474268487152 2 +5.3 29 15.6233917478697 2 +5.3 3 21.507770891145 2 +5.3 30 15.4864850079026 2 +5.3 31 15.3758360714959 2 +5.3 32 15.2180042772756 2 +5.3 33 15.0911216395062 2 +5.3 34 15.0110812466228 2 +5.3 35 14.8377152582409 2 +5.3 36 14.7470880333281 2 +5.3 37 14.674507695972 2 +5.3 38 14.5464844287353 2 +5.3 39 14.4144502263396 2 +5.3 4 21.0991999061444 2 +5.3 40 14.3432804412244 2 +5.3 41 14.2324469900394 2 +5.3 42 14.1176801165987 2 +5.3 43 14.0466380675486 2 +5.3 44 13.9545390825462 2 +5.3 45 13.8352754967939 2 +5.3 46 13.7536678772346 2 +5.3 47 13.6344618437529 2 +5.3 48 13.5584456912234 2 +5.3 49 13.5044198531605 2 +5.3 5 20.7719005388261 2 +5.3 50 13.4297493463101 2 +5.3 51 13.3445596136297 2 +5.3 52 13.2782112038092 2 +5.3 53 13.19349113782 2 +5.3 54 13.1372090629184 2 +5.3 55 13.0440872509646 2 +5.3 56 13.0107652368852 2 +5.3 57 12.9241973488641 2 +5.3 58 12.8467647614491 2 +5.3 59 12.7693860862402 2 +5.3 6 20.3799858314171 2 +5.3 60 12.6879996023787 2 +5.3 61 12.6303421244682 2 +5.3 62 12.5687785595271 2 +5.3 63 12.5375533638687 2 +5.3 64 12.4204235240646 2 +5.3 65 12.3337627530491 2 +5.3 66 12.3247324289322 2 +5.3 67 12.2629594503086 2 +5.3 68 12.2261035772619 2 +5.3 69 12.148667638655 2 +5.3 7 20.0380634202647 2 +5.3 70 12.0809823637499 2 +5.3 71 12.0652372419412 2 +5.3 72 11.9588609983991 2 +5.3 73 11.895750790036 2 +5.3 74 11.8933465118506 2 +5.3 75 11.8179684429935 2 +5.3 76 11.7818389871202 2 +5.3 77 11.7164233172431 2 +5.3 78 11.6575519668996 2 +5.3 79 11.6391729042638 2 +5.3 8 19.7202083527827 2 +5.3 80 11.5822688269049 2 +5.3 81 11.5470035724008 2 +5.3 82 11.4735533000281 2 +5.3 83 11.4322662489092 2 +5.3 84 11.3854848648478 2 +5.3 85 11.3438418529727 2 +5.3 86 11.289294331501 2 +5.3 87 11.2657848053727 2 +5.3 88 11.1978041479449 2 +5.3 89 11.1705411003625 2 +5.3 9 19.4462560624648 2 +5.3 90 11.1331104180065 2 +5.3 91 11.0926428764627 2 +5.3 92 11.0894578912328 2 +5.3 93 10.990810706283 2 +5.3 94 10.9994345601257 2 +5.3 95 10.9726158887421 2 +5.3 96 10.8809601335242 2 +5.3 97 10.8596173639281 2 +5.3 98 10.7841392283746 2 +5.3 99 10.7906738176459 2 +5.4 0 18.5593115072544 1 +5.4 1 18.4201747985762 1 +5.4 10 15.5172160482296 1 +5.4 100 7.97016536628029 1 +5.4 11 15.2744885349069 1 +5.4 12 15.0277617718738 1 +5.4 13 14.779691688085 1 +5.4 14 14.5836246847144 1 +5.4 15 14.332406650825 1 +5.4 16 14.1657719664073 1 +5.4 17 13.982630917302 1 +5.4 18 13.7865783534007 1 +5.4 19 13.6352067666886 1 +5.4 2 18.1442656057974 1 +5.4 20 13.4628719961901 1 +5.4 21 13.2624742499063 1 +5.4 22 13.1257892229184 1 +5.4 23 12.9511826207466 1 +5.4 24 12.7794494756354 1 +5.4 25 12.6439872478263 1 +5.4 26 12.5673619903682 1 +5.4 27 12.4204066825432 1 +5.4 28 12.250904429511 1 +5.4 29 12.1399700564117 1 +5.4 3 17.7557153246742 1 +5.4 30 12.038874606089 1 +5.4 31 11.9301331192591 1 +5.4 32 11.7920635905327 1 +5.4 33 11.6943752924369 1 +5.4 34 11.5725740602563 1 +5.4 35 11.4634917147542 1 +5.4 36 11.3521524573985 1 +5.4 37 11.2904522780211 1 +5.4 38 11.1774980548601 1 +5.4 39 11.094430123079 1 +5.4 4 17.3177999845386 1 +5.4 40 11.0145767140782 1 +5.4 41 10.9154505646504 1 +5.4 42 10.8593171515155 1 +5.4 43 10.751006166083 1 +5.4 44 10.6711363274653 1 +5.4 45 10.6140493207767 1 +5.4 46 10.5185005755182 1 +5.4 47 10.4547676337067 1 +5.4 48 10.3808850050616 1 +5.4 49 10.3046994139687 1 +5.4 5 16.9583971036957 1 +5.4 50 10.2327058655384 1 +5.4 51 10.1352735267037 1 +5.4 52 10.0859113540146 1 +5.4 53 10.045087221075 1 +5.4 54 9.96518424049571 1 +5.4 55 9.88538135687285 1 +5.4 56 9.8452603189416 1 +5.4 57 9.76394032027484 1 +5.4 58 9.70449949981538 1 +5.4 59 9.63455566540387 1 +5.4 6 16.6194895846811 1 +5.4 60 9.59290508549584 1 +5.4 61 9.52503418654016 1 +5.4 62 9.50583013660119 1 +5.4 63 9.41575744626165 1 +5.4 64 9.39711486348863 1 +5.4 65 9.33142599247624 1 +5.4 66 9.29145660729381 1 +5.4 67 9.25246724461571 1 +5.4 68 9.17687201974415 1 +5.4 69 9.15269538383572 1 +5.4 7 16.3472716109426 1 +5.4 70 9.09595419964174 1 +5.4 71 9.04002019825687 1 +5.4 72 9.00438837080536 1 +5.4 73 8.95143856064911 1 +5.4 74 8.89659920945113 1 +5.4 75 8.85646880314989 1 +5.4 76 8.84084776341573 1 +5.4 77 8.75731345290629 1 +5.4 78 8.78059930916458 1 +5.4 79 8.72500781213446 1 +5.4 8 16.0212566514475 1 +5.4 80 8.65898223387707 1 +5.4 81 8.62524928048277 1 +5.4 82 8.56536266026966 1 +5.4 83 8.50352490834234 1 +5.4 84 8.48301463772168 1 +5.4 85 8.45087392446332 1 +5.4 86 8.40135136914544 1 +5.4 87 8.37807276542542 1 +5.4 88 8.34747115177068 1 +5.4 89 8.3116915398589 1 +5.4 9 15.7802858033282 1 +5.4 90 8.29027104704382 1 +5.4 91 8.26145071212293 1 +5.4 92 8.21351670528172 1 +5.4 93 8.16064022704943 1 +5.4 94 8.13463790861056 1 +5.4 95 8.09236677923605 1 +5.4 96 8.07627457838405 1 +5.4 97 8.04529524865713 1 +5.4 98 8.00588248033161 1 +5.4 99 7.97019760788724 1 +5.4 0 22.6662904971394 2 +5.4 1 22.584046698889 2 +5.4 10 19.5957766994581 2 +5.4 100 11.1075206608592 2 +5.4 11 19.3716453509546 2 +5.4 12 19.1928415519444 2 +5.4 13 18.8720080161748 2 +5.4 14 18.5959056172116 2 +5.4 15 18.4253912378903 2 +5.4 16 18.3054327516208 2 +5.4 17 18.0235113452606 2 +5.4 18 17.8371879670173 2 +5.4 19 17.6165782431664 2 +5.4 2 22.2970930115368 2 +5.4 20 17.4938900302131 2 +5.4 21 17.2814238123608 2 +5.4 22 17.1007091379395 2 +5.4 23 16.9012864266523 2 +5.4 24 16.7679399925492 2 +5.4 25 16.6685699275311 2 +5.4 26 16.459897698888 2 +5.4 27 16.3529001251414 2 +5.4 28 16.2083270889701 2 +5.4 29 16.0558091367175 2 +5.4 3 22.0102974357437 2 +5.4 30 15.9015307394419 2 +5.4 31 15.7571435853364 2 +5.4 32 15.6527367598446 2 +5.4 33 15.5264583565841 2 +5.4 34 15.3893594920661 2 +5.4 35 15.2816857046874 2 +5.4 36 15.1385301048765 2 +5.4 37 15.0547213259963 2 +5.4 38 14.9534000703355 2 +5.4 39 14.8673480402997 2 +5.4 4 21.5727410905899 2 +5.4 40 14.7102832279173 2 +5.4 41 14.6152387900505 2 +5.4 42 14.5494520822407 2 +5.4 43 14.4415586602299 2 +5.4 44 14.3255658556944 2 +5.4 45 14.2473729539472 2 +5.4 46 14.184536553886 2 +5.4 47 14.0845931343896 2 +5.4 48 13.958579484391 2 +5.4 49 13.8835729990014 2 +5.4 5 21.1494006159331 2 +5.4 50 13.8367262696122 2 +5.4 51 13.7872486276288 2 +5.4 52 13.6674024653809 2 +5.4 53 13.5734543512311 2 +5.4 54 13.4800989649128 2 +5.4 55 13.3946075332792 2 +5.4 56 13.3485620344618 2 +5.4 57 13.2745273188823 2 +5.4 58 13.2268148319726 2 +5.4 59 13.1285925347236 2 +5.4 6 20.7836506288672 2 +5.4 60 13.0924204256371 2 +5.4 61 12.9783551515328 2 +5.4 62 12.9429166799318 2 +5.4 63 12.8436591482042 2 +5.4 64 12.8310798441756 2 +5.4 65 12.7338833056478 2 +5.4 66 12.6861780861965 2 +5.4 67 12.6417618075868 2 +5.4 68 12.5956508700967 2 +5.4 69 12.5425530042374 2 +5.4 7 20.5370494490134 2 +5.4 70 12.4024034020981 2 +5.4 71 12.427071356147 2 +5.4 72 12.3626665490337 2 +5.4 73 12.2631450580335 2 +5.4 74 12.2194316483788 2 +5.4 75 12.1620688648064 2 +5.4 76 12.1223969356615 2 +5.4 77 12.0806785115075 2 +5.4 78 12.0311024746455 2 +5.4 79 11.9523751457974 2 +5.4 8 20.2103678821189 2 +5.4 80 11.9183232614395 2 +5.4 81 11.8784109469601 2 +5.4 82 11.8211240604162 2 +5.4 83 11.777581415835 2 +5.4 84 11.7215187423625 2 +5.4 85 11.6807422762466 2 +5.4 86 11.6212940989174 2 +5.4 87 11.6283758731819 2 +5.4 88 11.5248026704902 2 +5.4 89 11.5002981141203 2 +5.4 9 19.9325091013541 2 +5.4 90 11.4662285225925 2 +5.4 91 11.4158879835742 2 +5.4 92 11.3722228609386 2 +5.4 93 11.3582331157047 2 +5.4 94 11.3119172512396 2 +5.4 95 11.2427742769942 2 +5.4 96 11.2310741324362 2 +5.4 97 11.2126687063993 2 +5.4 98 11.1587716441743 2 +5.4 99 11.1037292716041 2 +5.5 0 18.9918313101962 1 +5.5 1 18.7336896130337 1 +5.5 10 15.9351655976225 1 +5.5 100 8.23655325061472 1 +5.5 11 15.7055200618038 1 +5.5 12 15.4138357026114 1 +5.5 13 15.1862999659013 1 +5.5 14 14.9706100199816 1 +5.5 15 14.7459971844065 1 +5.5 16 14.5648473777311 1 +5.5 17 14.3712588234263 1 +5.5 18 14.1585656270581 1 +5.5 19 14.0246883198458 1 +5.5 2 18.4621294702772 1 +5.5 20 13.8114431513666 1 +5.5 21 13.6681099377596 1 +5.5 22 13.5270559515694 1 +5.5 23 13.3221792382499 1 +5.5 24 13.2003182896175 1 +5.5 25 13.041811357123 1 +5.5 26 12.9321826050319 1 +5.5 27 12.8190389262649 1 +5.5 28 12.7111293766841 1 +5.5 29 12.5361016636495 1 +5.5 3 18.092044748654 1 +5.5 30 12.4161307330778 1 +5.5 31 12.2618659685347 1 +5.5 32 12.162001055278 1 +5.5 33 12.0645545543366 1 +5.5 34 11.9329819045539 1 +5.5 35 11.8460607995307 1 +5.5 36 11.7043337380222 1 +5.5 37 11.6326243583005 1 +5.5 38 11.5468077541944 1 +5.5 39 11.4595005222901 1 +5.5 4 17.7848765944045 1 +5.5 40 11.3501816632395 1 +5.5 41 11.2763933802719 1 +5.5 42 11.1901988332765 1 +5.5 43 11.1066646768886 1 +5.5 44 11.0202460550734 1 +5.5 45 10.9227061377956 1 +5.5 46 10.8499065905349 1 +5.5 47 10.7824329281768 1 +5.5 48 10.7040940128933 1 +5.5 49 10.6373360253471 1 +5.5 5 17.3452528067977 1 +5.5 50 10.5475313635388 1 +5.5 51 10.4645436243831 1 +5.5 52 10.4427945790364 1 +5.5 53 10.3464778832021 1 +5.5 54 10.298762344866 1 +5.5 55 10.2235489715117 1 +5.5 56 10.1766806935637 1 +5.5 57 10.1388413165737 1 +5.5 58 10.0362718665976 1 +5.5 59 9.9879949736741 1 +5.5 6 17.0965785284795 1 +5.5 60 9.93835536041765 1 +5.5 61 9.8648842670986 1 +5.5 62 9.81125851602213 1 +5.5 63 9.74956391145313 1 +5.5 64 9.68565734275885 1 +5.5 65 9.65107965476263 1 +5.5 66 9.60365205315927 1 +5.5 67 9.52586227354294 1 +5.5 68 9.50099375504035 1 +5.5 69 9.44698051133451 1 +5.5 7 16.7717990207959 1 +5.5 70 9.41157114939532 1 +5.5 71 9.35885266184522 1 +5.5 72 9.29897049596998 1 +5.5 73 9.25459641135896 1 +5.5 74 9.21324856683841 1 +5.5 75 9.16395578456236 1 +5.5 76 9.11921226052389 1 +5.5 77 9.05730442148818 1 +5.5 78 9.03241215384734 1 +5.5 79 8.97916055046683 1 +5.5 8 16.5515818981378 1 +5.5 80 8.94954874074012 1 +5.5 81 8.89475951885499 1 +5.5 82 8.8794898556142 1 +5.5 83 8.83873614486986 1 +5.5 84 8.78596205812026 1 +5.5 85 8.76962259285365 1 +5.5 86 8.71197521548627 1 +5.5 87 8.68791804672874 1 +5.5 88 8.66459986729659 1 +5.5 89 8.61562090317715 1 +5.5 9 16.1687872306186 1 +5.5 90 8.57564595511606 1 +5.5 91 8.55398666307676 1 +5.5 92 8.49520505755101 1 +5.5 93 8.45999670123387 1 +5.5 94 8.42250709182672 1 +5.5 95 8.3771850178645 1 +5.5 96 8.34161280634896 1 +5.5 97 8.33026467823081 1 +5.5 98 8.31330733025059 1 +5.5 99 8.25996953040393 1 +5.5 0 23.1089224871347 2 +5.5 1 22.9727538026934 2 +5.5 10 20.103320589282 2 +5.5 100 11.3920752370376 2 +5.5 11 19.7764988779345 2 +5.5 12 19.5679733997452 2 +5.5 13 19.3554019028796 2 +5.5 14 19.0297397537925 2 +5.5 15 18.8592203880336 2 +5.5 16 18.6474008126437 2 +5.5 17 18.4655587393081 2 +5.5 18 18.2543979982553 2 +5.5 19 18.041122200813 2 +5.5 2 22.7656123397043 2 +5.5 20 17.8700673878349 2 +5.5 21 17.6654863330947 2 +5.5 22 17.5672098041965 2 +5.5 23 17.3266198022296 2 +5.5 24 17.2108873272544 2 +5.5 25 17.0349283250037 2 +5.5 26 16.9158939592974 2 +5.5 27 16.7349803613418 2 +5.5 28 16.5889055472557 2 +5.5 29 16.4686995648578 2 +5.5 3 22.4564473577915 2 +5.5 30 16.2990354595987 2 +5.5 31 16.2151357840885 2 +5.5 32 16.0901511690497 2 +5.5 33 15.9428318932671 2 +5.5 34 15.87279309283 2 +5.5 35 15.653343611482 2 +5.5 36 15.5895834895437 2 +5.5 37 15.4437531512781 2 +5.5 38 15.3504172827288 2 +5.5 39 15.2318111387681 2 +5.5 4 21.9805003163777 2 +5.5 40 15.1202945457416 2 +5.5 41 14.9900426121193 2 +5.5 42 14.9374921033502 2 +5.5 43 14.7899399225778 2 +5.5 44 14.7272887205292 2 +5.5 45 14.6566724233804 2 +5.5 46 14.5441263996946 2 +5.5 47 14.4040183336307 2 +5.5 48 14.3485130381216 2 +5.5 49 14.3202349705806 2 +5.5 5 21.6078476471788 2 +5.5 50 14.2014906941816 2 +5.5 51 14.0825928037632 2 +5.5 52 14.0076904740626 2 +5.5 53 13.9139733588619 2 +5.5 54 13.8665535400634 2 +5.5 55 13.77618822928 2 +5.5 56 13.7066701408444 2 +5.5 57 13.6704657311959 2 +5.5 58 13.5287070124972 2 +5.5 59 13.5317043092528 2 +5.5 6 21.2760203318034 2 +5.5 60 13.4675620820895 2 +5.5 61 13.3463188351872 2 +5.5 62 13.2643818007481 2 +5.5 63 13.213954618347 2 +5.5 64 13.1328267081552 2 +5.5 65 13.09787654275 2 +5.5 66 13.0780441923699 2 +5.5 67 12.9855958945706 2 +5.5 68 12.9335977543205 2 +5.5 69 12.8643423566908 2 +5.5 7 20.883525042384 2 +5.5 70 12.7740228822515 2 +5.5 71 12.7017800257271 2 +5.5 72 12.6722898666179 2 +5.5 73 12.6433029470918 2 +5.5 74 12.5814393471411 2 +5.5 75 12.511239635578 2 +5.5 76 12.4753055944849 2 +5.5 77 12.3880147053971 2 +5.5 78 12.3591463807553 2 +5.5 79 12.2814469370733 2 +5.5 8 20.6486920646213 2 +5.5 80 12.2805929740327 2 +5.5 81 12.1839810298474 2 +5.5 82 12.1752901251637 2 +5.5 83 12.1334193121371 2 +5.5 84 12.0660290471115 2 +5.5 85 12.0307306818026 2 +5.5 86 11.9751118383421 2 +5.5 87 11.8907061149487 2 +5.5 88 11.8755997087188 2 +5.5 89 11.8533218391345 2 +5.5 9 20.3748800458396 2 +5.5 90 11.7665615595944 2 +5.5 91 11.7706181387421 2 +5.5 92 11.7372707488599 2 +5.5 93 11.6653731338132 2 +5.5 94 11.6258863469223 2 +5.5 95 11.5813287609053 2 +5.5 96 11.563436324613 2 +5.5 97 11.5273601964267 2 +5.5 98 11.4783797981889 2 +5.5 99 11.4191430725856 2 +5.6 0 19.3359150689176 1 +5.6 1 19.110243446378 1 +5.6 10 16.3015859610439 1 +5.6 100 8.54891931161992 1 +5.6 11 16.0647391810426 1 +5.6 12 15.8180226555141 1 +5.6 13 15.601280763653 1 +5.6 14 15.3113027984839 1 +5.6 15 15.1509012587939 1 +5.6 16 14.9137037463799 1 +5.6 17 14.7351060845928 1 +5.6 18 14.5652430775452 1 +5.6 19 14.4010298171253 1 +5.6 2 18.8299811620832 1 +5.6 20 14.213688600068 1 +5.6 21 14.0103259599047 1 +5.6 22 13.9060000997982 1 +5.6 23 13.6788714300902 1 +5.6 24 13.5586533028908 1 +5.6 25 13.3981935471041 1 +5.6 26 13.307646651671 1 +5.6 27 13.169345374005 1 +5.6 28 13.0169210132209 1 +5.6 29 12.8841730887893 1 +5.6 3 18.5034054876093 1 +5.6 30 12.7878027223055 1 +5.6 31 12.6531010062166 1 +5.6 32 12.5302010585832 1 +5.6 33 12.4113793508314 1 +5.6 34 12.2589672846453 1 +5.6 35 12.1951841835915 1 +5.6 36 12.0712684271856 1 +5.6 37 12.0003520418691 1 +5.6 38 11.9002070575806 1 +5.6 39 11.7952385079369 1 +5.6 4 18.1014487257924 1 +5.6 40 11.7214185079224 1 +5.6 41 11.642699734401 1 +5.6 42 11.5217215692787 1 +5.6 43 11.4120474932704 1 +5.6 44 11.3553181301487 1 +5.6 45 11.2682323034633 1 +5.6 46 11.2072505189795 1 +5.6 47 11.0728067928458 1 +5.6 48 10.9862559749882 1 +5.6 49 10.9826313158105 1 +5.6 5 17.7238672568807 1 +5.6 50 10.8730318119436 1 +5.6 51 10.8481966514121 1 +5.6 52 10.772237664579 1 +5.6 53 10.6838503252728 1 +5.6 54 10.6560408514892 1 +5.6 55 10.5352304157901 1 +5.6 56 10.5050963582637 1 +5.6 57 10.4397214696722 1 +5.6 58 10.3724486497617 1 +5.6 59 10.310785900493 1 +5.6 6 17.4286786457202 1 +5.6 60 10.2237107626292 1 +5.6 61 10.1655165341269 1 +5.6 62 10.1146261001579 1 +5.6 63 10.0688869729834 1 +5.6 64 10.034821004297 1 +5.6 65 9.98564444604143 1 +5.6 66 9.95205077933713 1 +5.6 67 9.86968722221308 1 +5.6 68 9.81735283793959 1 +5.6 69 9.75954516525963 1 +5.6 7 17.1325523966874 1 +5.6 70 9.70633204430889 1 +5.6 71 9.66219413990529 1 +5.6 72 9.62435148402076 1 +5.6 73 9.56259358090517 1 +5.6 74 9.53280708869665 1 +5.6 75 9.48461584805014 1 +5.6 76 9.42589269940925 1 +5.6 77 9.38905632211374 1 +5.6 78 9.33814048441279 1 +5.6 79 9.30643069323147 1 +5.6 8 16.8219280188538 1 +5.6 80 9.25901533823708 1 +5.6 81 9.219199566772 1 +5.6 82 9.18233494972841 1 +5.6 83 9.14021980577539 1 +5.6 84 9.09233147115021 1 +5.6 85 9.05151551681308 1 +5.6 86 9.03733499175761 1 +5.6 87 8.978523596163 1 +5.6 88 8.95542422592286 1 +5.6 89 8.9088280640214 1 +5.6 9 16.5646673919548 1 +5.6 90 8.84636487463298 1 +5.6 91 8.85056034631081 1 +5.6 92 8.79837804977805 1 +5.6 93 8.78798174284949 1 +5.6 94 8.73168697351551 1 +5.6 95 8.68063469458376 1 +5.6 96 8.67774253529366 1 +5.6 97 8.62648206965979 1 +5.6 98 8.60153998262974 1 +5.6 99 8.54457846407471 1 +5.6 0 23.5979501649268 2 +5.6 1 23.4910350383676 2 +5.6 10 20.5358355599967 2 +5.6 100 11.7346070560735 2 +5.6 11 20.2426019816817 2 +5.6 12 20.011780337428 2 +5.6 13 19.7783093590566 2 +5.6 14 19.5771873924289 2 +5.6 15 19.2695782515216 2 +5.6 16 19.0392954126211 2 +5.6 17 18.8022880591794 2 +5.6 18 18.6916696725092 2 +5.6 19 18.4786729108551 2 +5.6 2 23.1621630435079 2 +5.6 20 18.3530952502517 2 +5.6 21 18.1541539445151 2 +5.6 22 17.9182765266088 2 +5.6 23 17.813909800249 2 +5.6 24 17.6170667620315 2 +5.6 25 17.437907580974 2 +5.6 26 17.3316508745888 2 +5.6 27 17.1613000912227 2 +5.6 28 17.0391429890372 2 +5.6 29 16.8551977438359 2 +5.6 3 22.9529212232681 2 +5.6 30 16.6969061878791 2 +5.6 31 16.5859300709874 2 +5.6 32 16.4167938802937 2 +5.6 33 16.3727491571861 2 +5.6 34 16.1895519948242 2 +5.6 35 16.088704249059 2 +5.6 36 15.9927096668091 2 +5.6 37 15.865712690086 2 +5.6 38 15.7447473292272 2 +5.6 39 15.5994841326549 2 +5.6 4 22.3667772407704 2 +5.6 40 15.5581579647282 2 +5.6 41 15.4255936063796 2 +5.6 42 15.3047334796524 2 +5.6 43 15.2706568749159 2 +5.6 44 15.1682706781559 2 +5.6 45 15.0163242969401 2 +5.6 46 14.924080860217 2 +5.6 47 14.8094575653796 2 +5.6 48 14.7267312140268 2 +5.6 49 14.6547858252221 2 +5.6 5 22.0874834689209 2 +5.6 50 14.571031457905 2 +5.6 51 14.5027146923556 2 +5.6 52 14.3784925604703 2 +5.6 53 14.3215003703053 2 +5.6 54 14.2644897751625 2 +5.6 55 14.1372187162278 2 +5.6 56 14.1211000781789 2 +5.6 57 14.0131727987333 2 +5.6 58 13.9234514018291 2 +5.6 59 13.8286330763294 2 +5.6 6 21.7513140574249 2 +5.6 60 13.8041253025727 2 +5.6 61 13.7665271745387 2 +5.6 62 13.6639082983649 2 +5.6 63 13.6258576750211 2 +5.6 64 13.5692628172438 2 +5.6 65 13.4718611681293 2 +5.6 66 13.3991971695651 2 +5.6 67 13.3229537942582 2 +5.6 68 13.2620896780681 2 +5.6 69 13.1990485044679 2 +5.6 7 21.4062267719287 2 +5.6 70 13.1204924833035 2 +5.6 71 13.1057446193628 2 +5.6 72 13.0149569030865 2 +5.6 73 12.9928747662018 2 +5.6 74 12.9253965326816 2 +5.6 75 12.8654577791596 2 +5.6 76 12.7801678384136 2 +5.6 77 12.7257472640914 2 +5.6 78 12.7109398938319 2 +5.6 79 12.6057628699264 2 +5.6 8 21.0738110432797 2 +5.6 80 12.6260323187951 2 +5.6 81 12.5395426393122 2 +5.6 82 12.506615866594 2 +5.6 83 12.4794167531373 2 +5.6 84 12.4168250169965 2 +5.6 85 12.3802373224958 2 +5.6 86 12.3202321941282 2 +5.6 87 12.2899281778686 2 +5.6 88 12.195087313366 2 +5.6 89 12.1664531887174 2 +5.6 9 20.8107103630304 2 +5.6 90 12.1022318332796 2 +5.6 91 12.1025660789279 2 +5.6 92 12.0771453268392 2 +5.6 93 12.0320773417501 2 +5.6 94 11.9384655905665 2 +5.6 95 11.9554336568755 2 +5.6 96 11.8853227844932 2 +5.6 97 11.85292550878 2 +5.6 98 11.8087989168766 2 +5.6 99 11.7794826908694 2 +5.7 0 19.762292765038 1 +5.7 1 19.5465081605326 1 +5.7 10 16.7354493910367 1 +5.7 100 8.82179347704075 1 +5.7 11 16.4728290434698 1 +5.7 12 16.213032253408 1 +5.7 13 15.9169950059869 1 +5.7 14 15.7977169642682 1 +5.7 15 15.5740280924187 1 +5.7 16 15.4196410244795 1 +5.7 17 15.1844229763319 1 +5.7 18 14.9573333769329 1 +5.7 19 14.7384851212276 1 +5.7 2 19.3017602930695 1 +5.7 20 14.5917324051784 1 +5.7 21 14.4296633799917 1 +5.7 22 14.3105017759917 1 +5.7 23 14.1140557370974 1 +5.7 24 13.9687917627186 1 +5.7 25 13.8223335933456 1 +5.7 26 13.6990277330398 1 +5.7 27 13.5527846983471 1 +5.7 28 13.4320028313355 1 +5.7 29 13.2219795149588 1 +5.7 3 18.9445376964348 1 +5.7 30 13.1602217354965 1 +5.7 31 13.0020674357654 1 +5.7 32 12.8941217198163 1 +5.7 33 12.7869058518206 1 +5.7 34 12.6808195138772 1 +5.7 35 12.5486764313323 1 +5.7 36 12.4647879907912 1 +5.7 37 12.3354502459734 1 +5.7 38 12.2531132317803 1 +5.7 39 12.1268611723154 1 +5.7 4 18.4819056080515 1 +5.7 40 12.0590504491523 1 +5.7 41 11.9715319369128 1 +5.7 42 11.8958829029245 1 +5.7 43 11.8218086456087 1 +5.7 44 11.7126065341055 1 +5.7 45 11.5977377105265 1 +5.7 46 11.5513906104714 1 +5.7 47 11.4621334372851 1 +5.7 48 11.3732476945105 1 +5.7 49 11.3314735638745 1 +5.7 5 18.2016887877624 1 +5.7 50 11.2865904983342 1 +5.7 51 11.1655476256221 1 +5.7 52 11.0922027106885 1 +5.7 53 11.0117558364493 1 +5.7 54 10.9452654231229 1 +5.7 55 10.8713998971223 1 +5.7 56 10.8466148230957 1 +5.7 57 10.7449877234903 1 +5.7 58 10.6943939623422 1 +5.7 59 10.6580474704136 1 +5.7 6 17.8800825267337 1 +5.7 60 10.5549548753173 1 +5.7 61 10.4915255470112 1 +5.7 62 10.4284313486425 1 +5.7 63 10.3841490461363 1 +5.7 64 10.327684086457 1 +5.7 65 10.2509972803066 1 +5.7 66 10.2042571989209 1 +5.7 67 10.126126903076 1 +5.7 68 10.1045608843724 1 +5.7 69 10.0525991849689 1 +5.7 7 17.526254052737 1 +5.7 70 10.007603263522 1 +5.7 71 9.96205581597343 1 +5.7 72 9.94571675670842 1 +5.7 73 9.90029902665045 1 +5.7 74 9.8544811075168 1 +5.7 75 9.81318635490257 1 +5.7 76 9.73884403159374 1 +5.7 77 9.66909746603468 1 +5.7 78 9.6763746014486 1 +5.7 79 9.58431016798562 1 +5.7 8 17.2199927745215 1 +5.7 80 9.56568354895692 1 +5.7 81 9.49485610375728 1 +5.7 82 9.44879575587795 1 +5.7 83 9.44233373890857 1 +5.7 84 9.36783703372053 1 +5.7 85 9.39014826100308 1 +5.7 86 9.30410648648666 1 +5.7 87 9.28939041929788 1 +5.7 88 9.24917137485811 1 +5.7 89 9.18341315092763 1 +5.7 9 16.9523562955056 1 +5.7 90 9.17220501489549 1 +5.7 91 9.13673186702928 1 +5.7 92 9.08653637460862 1 +5.7 93 9.06722891024937 1 +5.7 94 8.99687016549719 1 +5.7 95 8.97288029718465 1 +5.7 96 8.95879251784431 1 +5.7 97 8.94065588608719 1 +5.7 98 8.8785451032844 1 +5.7 99 8.87725298133369 1 +5.7 0 23.9997978249989 2 +5.7 1 23.8627626550666 2 +5.7 10 20.9514717663681 2 +5.7 100 12.0382628298121 2 +5.7 11 20.6672720360486 2 +5.7 12 20.4351458362234 2 +5.7 13 20.2043598121029 2 +5.7 14 19.9031873489049 2 +5.7 15 19.762194454513 2 +5.7 16 19.5794267624529 2 +5.7 17 19.3301993780001 2 +5.7 18 19.1177930161963 2 +5.7 19 18.941804805367 2 +5.7 2 23.614988208552 2 +5.7 20 18.7715936128873 2 +5.7 21 18.5911496353812 2 +5.7 22 18.368772317912 2 +5.7 23 18.189014809057 2 +5.7 24 18.0657180387727 2 +5.7 25 17.8609143857886 2 +5.7 26 17.7338918915879 2 +5.7 27 17.5372966344305 2 +5.7 28 17.4433021007179 2 +5.7 29 17.2474188006736 2 +5.7 3 23.3070481993854 2 +5.7 30 17.1202524353074 2 +5.7 31 17.0467776408305 2 +5.7 32 16.8846378851138 2 +5.7 33 16.6715465090514 2 +5.7 34 16.639072842375 2 +5.7 35 16.4821057269943 2 +5.7 36 16.3877101997632 2 +5.7 37 16.2427782418885 2 +5.7 38 16.1691198970735 2 +5.7 39 15.9973617860034 2 +5.7 4 22.9072117529958 2 +5.7 40 15.9057356785489 2 +5.7 41 15.8214632550763 2 +5.7 42 15.6952145134318 2 +5.7 43 15.6015344558257 2 +5.7 44 15.4855183024987 2 +5.7 45 15.4146127354108 2 +5.7 46 15.3471735545541 2 +5.7 47 15.2358718923308 2 +5.7 48 15.1406880196239 2 +5.7 49 15.0188383605656 2 +5.7 5 22.5603957853788 2 +5.7 50 14.9647375874253 2 +5.7 51 14.852739152021 2 +5.7 52 14.7768298179087 2 +5.7 53 14.6990974351615 2 +5.7 54 14.602345621354 2 +5.7 55 14.5057076241347 2 +5.7 56 14.4616991316917 2 +5.7 57 14.397475430549 2 +5.7 58 14.3013626390104 2 +5.7 59 14.2311498228455 2 +5.7 6 22.098702651805 2 +5.7 60 14.1341993200951 2 +5.7 61 14.0826380955167 2 +5.7 62 13.9966406261073 2 +5.7 63 13.9579054208178 2 +5.7 64 13.877834439657 2 +5.7 65 13.8448658350227 2 +5.7 66 13.731273853399 2 +5.7 67 13.6635187421794 2 +5.7 68 13.6699224350408 2 +5.7 69 13.5261962571026 2 +5.7 7 21.8111698106479 2 +5.7 70 13.5248623810096 2 +5.7 71 13.4276465694525 2 +5.7 72 13.3700789587883 2 +5.7 73 13.3192710305144 2 +5.7 74 13.2416684731312 2 +5.7 75 13.2422493403486 2 +5.7 76 13.1979117426706 2 +5.7 77 13.1602190041134 2 +5.7 78 13.0387801630695 2 +5.7 79 12.9943310618737 2 +5.7 8 21.5052241554757 2 +5.7 80 12.9174326373574 2 +5.7 81 12.9116519288463 2 +5.7 82 12.8264043757014 2 +5.7 83 12.7835470162306 2 +5.7 84 12.7245645931538 2 +5.7 85 12.6560805298292 2 +5.7 86 12.6281852183476 2 +5.7 87 12.6048684420652 2 +5.7 88 12.5440662576722 2 +5.7 89 12.5100116657682 2 +5.7 9 21.2674836661 2 +5.7 90 12.4687767810712 2 +5.7 91 12.4345646593772 2 +5.7 92 12.4124168251828 2 +5.7 93 12.3453954077351 2 +5.7 94 12.3219794169929 2 +5.7 95 12.2438152580568 2 +5.7 96 12.2398503365964 2 +5.7 97 12.1508255366686 2 +5.7 98 12.1507025043096 2 +5.7 99 12.1388257210445 2 +5.8 0 20.1574723053658 1 +5.8 1 19.9576465713011 1 +5.8 10 17.0947708527596 1 +5.8 100 9.06134892223472 1 +5.8 11 16.8311365299058 1 +5.8 12 16.6601249232027 1 +5.8 13 16.3416637530604 1 +5.8 14 16.1458358889359 1 +5.8 15 15.9138970458135 1 +5.8 16 15.7284823178252 1 +5.8 17 15.5539682601096 1 +5.8 18 15.3159779877787 1 +5.8 19 15.156609125733 1 +5.8 2 19.6661774306859 1 +5.8 20 14.9713213152949 1 +5.8 21 14.7687828898849 1 +5.8 22 14.6777879585137 1 +5.8 23 14.4355515775602 1 +5.8 24 14.309561911063 1 +5.8 25 14.1992247089324 1 +5.8 26 14.0602087988435 1 +5.8 27 13.8905803067973 1 +5.8 28 13.7671440458286 1 +5.8 29 13.5989915100782 1 +5.8 3 19.297606885422 1 +5.8 30 13.4838703404061 1 +5.8 31 13.4007634642138 1 +5.8 32 13.2554684582472 1 +5.8 33 13.1576459247258 1 +5.8 34 12.9829084156244 1 +5.8 35 12.9506218353186 1 +5.8 36 12.8171625971068 1 +5.8 37 12.7309519458402 1 +5.8 38 12.5873265752864 1 +5.8 39 12.5485791366239 1 +5.8 4 18.9212621862667 1 +5.8 40 12.4189778173962 1 +5.8 41 12.3295318421859 1 +5.8 42 12.2386092959789 1 +5.8 43 12.1320639148491 1 +5.8 44 12.0286255479463 1 +5.8 45 11.9716261561786 1 +5.8 46 11.8783837496425 1 +5.8 47 11.8367649771293 1 +5.8 48 11.7004312386999 1 +5.8 49 11.6435120321682 1 +5.8 5 18.5282286174286 1 +5.8 50 11.5302837640225 1 +5.8 51 11.516277975074 1 +5.8 52 11.4328114157657 1 +5.8 53 11.3577763497505 1 +5.8 54 11.3132069360511 1 +5.8 55 11.199982592326 1 +5.8 56 11.1588299511773 1 +5.8 57 11.0776836496822 1 +5.8 58 11.0243064089901 1 +5.8 59 10.9480421953769 1 +5.8 6 18.2603935383905 1 +5.8 60 10.865097229872 1 +5.8 61 10.837192423312 1 +5.8 62 10.7909441499261 1 +5.8 63 10.7378607475785 1 +5.8 64 10.6452669948986 1 +5.8 65 10.6121645318909 1 +5.8 66 10.5186453787839 1 +5.8 67 10.5185423284429 1 +5.8 68 10.4266094602791 1 +5.8 69 10.4061294043519 1 +5.8 7 17.9260352304178 1 +5.8 70 10.310818372343 1 +5.8 71 10.2930772910855 1 +5.8 72 10.2139317699832 1 +5.8 73 10.1745077517245 1 +5.8 74 10.1489201880929 1 +5.8 75 10.0867623858087 1 +5.8 76 10.0455049835471 1 +5.8 77 9.98313421421783 1 +5.8 78 9.97016587140386 1 +5.8 79 9.89287119262155 1 +5.8 8 17.6435392538937 1 +5.8 80 9.87637749414558 1 +5.8 81 9.84531178220605 1 +5.8 82 9.75860529701427 1 +5.8 83 9.73609096393995 1 +5.8 84 9.67714519221348 1 +5.8 85 9.65268709029149 1 +5.8 86 9.58351662559218 1 +5.8 87 9.58251619534241 1 +5.8 88 9.52058083406419 1 +5.8 89 9.49547653144159 1 +5.8 9 17.3890820040853 1 +5.8 90 9.45583754823334 1 +5.8 91 9.42851281727021 1 +5.8 92 9.39180825918575 1 +5.8 93 9.31120722449395 1 +5.8 94 9.28691270686549 1 +5.8 95 9.25083946675633 1 +5.8 96 9.23566440425992 1 +5.8 97 9.20926138639147 1 +5.8 98 9.17240484770544 1 +5.8 99 9.17095992967598 1 +5.8 0 24.4850937967109 2 +5.8 1 24.3389078079935 2 +5.8 10 21.4458442104834 2 +5.8 100 12.3888542424302 2 +5.8 11 21.1329917192609 2 +5.8 12 20.8768401819658 2 +5.8 13 20.5928621364584 2 +5.8 14 20.3867847303876 2 +5.8 15 20.1272955504744 2 +5.8 16 19.9573635282549 2 +5.8 17 19.7423220112757 2 +5.8 18 19.5228431887785 2 +5.8 19 19.3095316593169 2 +5.8 2 24.0590033951676 2 +5.8 20 19.1934565673715 2 +5.8 21 18.9629898097391 2 +5.8 22 18.8096435348421 2 +5.8 23 18.5665654669266 2 +5.8 24 18.4404554033452 2 +5.8 25 18.2681492203887 2 +5.8 26 18.1306385122221 2 +5.8 27 17.9534407913739 2 +5.8 28 17.7911814706903 2 +5.8 29 17.7385501118768 2 +5.8 3 23.8252784851459 2 +5.8 30 17.5385176453486 2 +5.8 31 17.370539428415 2 +5.8 32 17.2432791884376 2 +5.8 33 17.1333755042407 2 +5.8 34 17.0131778605988 2 +5.8 35 16.8782014397566 2 +5.8 36 16.7611417535757 2 +5.8 37 16.6256132748434 2 +5.8 38 16.5012814118486 2 +5.8 39 16.4061865623774 2 +5.8 4 23.3016190330393 2 +5.8 40 16.351663429262 2 +5.8 41 16.2163018096999 2 +5.8 42 16.123140963298 2 +5.8 43 16.0053806242256 2 +5.8 44 15.9117144697416 2 +5.8 45 15.7422473755131 2 +5.8 46 15.7419905138592 2 +5.8 47 15.5905458036791 2 +5.8 48 15.5621277191112 2 +5.8 49 15.4703317666863 2 +5.8 5 22.890496391264 2 +5.8 50 15.3609675961502 2 +5.8 51 15.2513998607571 2 +5.8 52 15.1897174667434 2 +5.8 53 15.0567286053575 2 +5.8 54 14.9849810369275 2 +5.8 55 14.8692764690199 2 +5.8 56 14.8489901676071 2 +5.8 57 14.7303787260082 2 +5.8 58 14.6700026496695 2 +5.8 59 14.6238093419439 2 +5.8 6 22.6156468392462 2 +5.8 60 14.4988053073627 2 +5.8 61 14.4352252828809 2 +5.8 62 14.3246663521115 2 +5.8 63 14.3040832108491 2 +5.8 64 14.205361463611 2 +5.8 65 14.1734724689335 2 +5.8 66 14.1204882483816 2 +5.8 67 14.0654185067807 2 +5.8 68 13.9721708696536 2 +5.8 69 13.879525795583 2 +5.8 7 22.2768229006354 2 +5.8 70 13.8289599574216 2 +5.8 71 13.7920220957501 2 +5.8 72 13.7213423296803 2 +5.8 73 13.6789073322327 2 +5.8 74 13.6281489196143 2 +5.8 75 13.5643393535866 2 +5.8 76 13.504955311638 2 +5.8 77 13.4714449795341 2 +5.8 78 13.3756727978355 2 +5.8 79 13.3830560813045 2 +5.8 8 21.9356978165309 2 +5.8 80 13.31192772739 2 +5.8 81 13.2609223289953 2 +5.8 82 13.1866071969647 2 +5.8 83 13.129789639146 2 +5.8 84 13.0995505490043 2 +5.8 85 13.0152140306154 2 +5.8 86 12.9862183679463 2 +5.8 87 12.9073350690292 2 +5.8 88 12.8954893591424 2 +5.8 89 12.8631739922235 2 +5.8 9 21.6900453030464 2 +5.8 90 12.7675908716023 2 +5.8 91 12.7478525789778 2 +5.8 92 12.7301344631677 2 +5.8 93 12.6812413936905 2 +5.8 94 12.6130569642805 2 +5.8 95 12.5861863907686 2 +5.8 96 12.4984173015896 2 +5.8 97 12.4895445570171 2 +5.8 98 12.466260167237 2 +5.8 99 12.4498012918253 2 +5.9 0 20.5756254807802 1 +5.9 1 20.3106746637014 1 +5.9 10 17.5031759270588 1 +5.9 100 9.38955088839353 1 +5.9 11 17.2435668922755 1 +5.9 12 16.9648649018276 1 +5.9 13 16.7602045991517 1 +5.9 14 16.5235313586877 1 +5.9 15 16.3822307438569 1 +5.9 16 16.096417707611 1 +5.9 17 15.9370110118648 1 +5.9 18 15.6732470446558 1 +5.9 19 15.5501218838032 1 +5.9 2 20.0508170923244 1 +5.9 20 15.3720383163184 1 +5.9 21 15.2195470603054 1 +5.9 22 15.0025024940934 1 +5.9 23 14.9001843065672 1 +5.9 24 14.7171805277674 1 +5.9 25 14.5519352702253 1 +5.9 26 14.4074857851516 1 +5.9 27 14.3423681838422 1 +5.9 28 14.1879508389776 1 +5.9 29 13.9863646626024 1 +5.9 3 19.6773400823943 1 +5.9 30 13.8801530003266 1 +5.9 31 13.7464722882742 1 +5.9 32 13.6637450653765 1 +5.9 33 13.5191939610911 1 +5.9 34 13.3729496436473 1 +5.9 35 13.2971850162458 1 +5.9 36 13.206125718006 1 +5.9 37 13.0810352347595 1 +5.9 38 12.955598315474 1 +5.9 39 12.8577933150593 1 +5.9 4 19.3439499511237 1 +5.9 40 12.779378602149 1 +5.9 41 12.6607420159705 1 +5.9 42 12.5808278989025 1 +5.9 43 12.5081434653973 1 +5.9 44 12.4062465946151 1 +5.9 45 12.3310680299063 1 +5.9 46 12.2315557471717 1 +5.9 47 12.1128681427558 1 +5.9 48 12.0600605571023 1 +5.9 49 11.9743780586861 1 +5.9 5 18.9495904464736 1 +5.9 50 11.8846954652535 1 +5.9 51 11.8536619824168 1 +5.9 52 11.7408368615495 1 +5.9 53 11.6909686424432 1 +5.9 54 11.5605722196298 1 +5.9 55 11.5462402893859 1 +5.9 56 11.480463124048 1 +5.9 57 11.3938679965922 1 +5.9 58 11.3389784458653 1 +5.9 59 11.2676748998108 1 +5.9 6 18.6504774629216 1 +5.9 60 11.1942463003763 1 +5.9 61 11.1656964867531 1 +5.9 62 11.0971266669013 1 +5.9 63 11.0396746945305 1 +5.9 64 10.9689038613018 1 +5.9 65 10.8847673298872 1 +5.9 66 10.8250904078379 1 +5.9 67 10.7687374509007 1 +5.9 68 10.7566334953368 1 +5.9 69 10.668357065866 1 +5.9 7 18.3111996351928 1 +5.9 70 10.630277025905 1 +5.9 71 10.6010730052162 1 +5.9 72 10.5446479207782 1 +5.9 73 10.5019742774683 1 +5.9 74 10.4198071721211 1 +5.9 75 10.4113727599741 1 +5.9 76 10.344214482692 1 +5.9 77 10.3020534569715 1 +5.9 78 10.2792374842409 1 +5.9 79 10.1969223227211 1 +5.9 8 17.9851785691136 1 +5.9 80 10.1360497450829 1 +5.9 81 10.1119593054855 1 +5.9 82 10.09034843702 1 +5.9 83 10.030323969537 1 +5.9 84 9.97894401753523 1 +5.9 85 9.9102761634404 1 +5.9 86 9.90740783069204 1 +5.9 87 9.8968864204482 1 +5.9 88 9.80018654936381 1 +5.9 89 9.78334345542035 1 +5.9 9 17.7838560590184 1 +5.9 90 9.76986401654321 1 +5.9 91 9.70107374329648 1 +5.9 92 9.69376731419953 1 +5.9 93 9.60767262437127 1 +5.9 94 9.62084053348322 1 +5.9 95 9.55050166848713 1 +5.9 96 9.53754134496645 1 +5.9 97 9.49165347576278 1 +5.9 98 9.46052530784918 1 +5.9 99 9.42306458510321 1 +5.9 0 24.8330845351139 2 +5.9 1 24.8122483666392 2 +5.9 10 21.8603114818436 2 +5.9 100 12.6576898164248 2 +5.9 11 21.560717624417 2 +5.9 12 21.289617306237 2 +5.9 13 21.0256671436566 2 +5.9 14 20.7929341539189 2 +5.9 15 20.607679277694 2 +5.9 16 20.3621853075366 2 +5.9 17 20.1929840722789 2 +5.9 18 19.9743726630474 2 +5.9 19 19.7219234051534 2 +5.9 2 24.5216245817369 2 +5.9 20 19.5128544691067 2 +5.9 21 19.3173967845186 2 +5.9 22 19.2382605238688 2 +5.9 23 19.041012044989 2 +5.9 24 18.7745093821351 2 +5.9 25 18.7047997885822 2 +5.9 26 18.513459515795 2 +5.9 27 18.3812719242684 2 +5.9 28 18.2755631398247 2 +5.9 29 18.0787635025358 2 +5.9 3 24.3063380676485 2 +5.9 30 17.8898477882107 2 +5.9 31 17.7928044171579 2 +5.9 32 17.6975226625697 2 +5.9 33 17.4987479609221 2 +5.9 34 17.4249316868949 2 +5.9 35 17.327878497133 2 +5.9 36 17.180161927716 2 +5.9 37 17.0501394805103 2 +5.9 38 16.9093379807207 2 +5.9 39 16.8137713641036 2 +5.9 4 23.8497802420422 2 +5.9 40 16.7250887212881 2 +5.9 41 16.5801427120457 2 +5.9 42 16.5476127497553 2 +5.9 43 16.3593616494527 2 +5.9 44 16.2718862404673 2 +5.9 45 16.1416289560012 2 +5.9 46 16.0403833271277 2 +5.9 47 16.0089262134893 2 +5.9 48 15.8715766013369 2 +5.9 49 15.8476160457555 2 +5.9 5 23.5723426319645 2 +5.9 50 15.6883924250233 2 +5.9 51 15.639808912932 2 +5.9 52 15.5642078973674 2 +5.9 53 15.4216946817489 2 +5.9 54 15.3099051072444 2 +5.9 55 15.2678976408564 2 +5.9 56 15.1849998861191 2 +5.9 57 15.1236267737376 2 +5.9 58 15.0286812473484 2 +5.9 59 14.9540690166983 2 +5.9 6 23.0630157937045 2 +5.9 60 14.8938986074754 2 +5.9 61 14.7884112703524 2 +5.9 62 14.7448108887574 2 +5.9 63 14.6499955786116 2 +5.9 64 14.5741544028694 2 +5.9 65 14.545053151915 2 +5.9 66 14.4615047498958 2 +5.9 67 14.3772459030192 2 +5.9 68 14.3354940890588 2 +5.9 69 14.2617870260965 2 +5.9 7 22.7893465525269 2 +5.9 70 14.161204659043 2 +5.9 71 14.1354466024785 2 +5.9 72 14.0843790756652 2 +5.9 73 13.9992304501658 2 +5.9 74 13.983069762319 2 +5.9 75 13.9596652987863 2 +5.9 76 13.8062940067096 2 +5.9 77 13.8416511337521 2 +5.9 78 13.764871251987 2 +5.9 79 13.6644896823112 2 +5.9 8 22.4190729527647 2 +5.9 80 13.6353906175608 2 +5.9 81 13.5776654880785 2 +5.9 82 13.4840672133099 2 +5.9 83 13.4825185852348 2 +5.9 84 13.4321576043081 2 +5.9 85 13.3760761615993 2 +5.9 86 13.2927112502413 2 +5.9 87 13.2707406357751 2 +5.9 88 13.2135558045809 2 +5.9 89 13.168840418121 2 +5.9 9 22.1161977837654 2 +5.9 90 13.1168106606105 2 +5.9 91 13.0613569687006 2 +5.9 92 13.0461699870043 2 +5.9 93 12.9772497190404 2 +5.9 94 12.9621534861442 2 +5.9 95 12.9200090835497 2 +5.9 96 12.8294058805065 2 +5.9 97 12.8146352350536 2 +5.9 98 12.7822451591034 2 +5.9 99 12.7405667812842 2 +6 0 20.9504162960689 1 +6 1 20.7469732471779 1 +6 10 17.8708019245912 1 +6 100 9.68056362353712 1 +6 11 17.597660508185 1 +6 12 17.3734478759354 1 +6 13 17.1728774373377 1 +6 14 16.9357459028574 1 +6 15 16.7359238595681 1 +6 16 16.4919362389716 1 +6 17 16.2946313868369 1 +6 18 16.1257707598318 1 +6 19 15.9207468709027 1 +6 2 20.397314445114 1 +6 20 15.7429861833639 1 +6 21 15.579986228058 1 +6 22 15.4230734205577 1 +6 23 15.2622420861313 1 +6 24 15.112413738119 1 +6 25 14.9616105652872 1 +6 26 14.8013149271539 1 +6 27 14.6479247204631 1 +6 28 14.4748447604396 1 +6 29 14.341730855976 1 +6 3 20.1383688764767 1 +6 30 14.3051189550244 1 +6 31 14.1035646797141 1 +6 32 13.9741400002176 1 +6 33 13.8624295844243 1 +6 34 13.7454749774696 1 +6 35 13.6597133339457 1 +6 36 13.5491981901401 1 +6 37 13.4289601742944 1 +6 38 13.2991455725469 1 +6 39 13.2233460595862 1 +6 4 19.6467018441439 1 +6 40 13.0910640311855 1 +6 41 13.0261144393548 1 +6 42 12.9506110610769 1 +6 43 12.8414697432349 1 +6 44 12.7405005703634 1 +6 45 12.673933045721 1 +6 46 12.5604078517295 1 +6 47 12.4816815437378 1 +6 48 12.3991853035637 1 +6 49 12.3010734251318 1 +6 5 19.3715724648237 1 +6 50 12.2503602048645 1 +6 51 12.1598288509869 1 +6 52 12.1171235509433 1 +6 53 12.0000902462819 1 +6 54 11.9257110054652 1 +6 55 11.8655484041094 1 +6 56 11.7847327771195 1 +6 57 11.7718844992977 1 +6 58 11.6717477650585 1 +6 59 11.6107766497842 1 +6 6 19.0286971975474 1 +6 60 11.5502483265177 1 +6 61 11.4583006912438 1 +6 62 11.4349693497498 1 +6 63 11.3815831478461 1 +6 64 11.2978663512198 1 +6 65 11.225971074511 1 +6 66 11.1800146562043 1 +6 67 11.1294939524714 1 +6 68 11.0479347297524 1 +6 69 11.0064923514969 1 +6 7 18.6858296839101 1 +6 70 10.9580543636366 1 +6 71 10.8999583256545 1 +6 72 10.8731706857363 1 +6 73 10.8038211188456 1 +6 74 10.7712912590073 1 +6 75 10.6827145125264 1 +6 76 10.6682913924442 1 +6 77 10.6203024984749 1 +6 78 10.5461220772205 1 +6 79 10.5170961075469 1 +6 8 18.4257965879788 1 +6 80 10.4671312469228 1 +6 81 10.4064788605307 1 +6 82 10.3624191568562 1 +6 83 10.3222313690957 1 +6 84 10.2658632972673 1 +6 85 10.2500474288889 1 +6 86 10.1984666514018 1 +6 87 10.1710868569448 1 +6 88 10.1369604237382 1 +6 89 10.0834961977985 1 +6 9 18.1875182379583 1 +6 90 10.0285547796127 1 +6 91 10.0020067746548 1 +6 92 9.97459755438274 1 +6 93 9.91619899393455 1 +6 94 9.89117119881676 1 +6 95 9.84342720610134 1 +6 96 9.79197355596495 1 +6 97 9.78356439615552 1 +6 98 9.72486430033381 1 +6 99 9.73275579542856 1 +6 0 25.3543630358438 2 +6 1 25.1857754022595 2 +6 10 22.220531825105 2 +6 100 13.0236975023181 2 +6 11 21.895771530493 2 +6 12 21.6965895356671 2 +6 13 21.4809066498596 2 +6 14 21.2174220425448 2 +6 15 21.022650184984 2 +6 16 20.8065463479409 2 +6 17 20.622532412209 2 +6 18 20.4179695848859 2 +6 19 20.181602881924 2 +6 2 25.0541656400734 2 +6 20 20.0246344529949 2 +6 21 19.8094256487651 2 +6 22 19.627494702625 2 +6 23 19.4762031513757 2 +6 24 19.2404027025128 2 +6 25 19.0831464046484 2 +6 26 18.9422379226903 2 +6 27 18.778725167127 2 +6 28 18.6539808641322 2 +6 29 18.5055650565605 2 +6 3 24.7213674369433 2 +6 30 18.3271394109095 2 +6 31 18.1776912955701 2 +6 32 18.1317347081583 2 +6 33 17.9904190891718 2 +6 34 17.7554398158275 2 +6 35 17.7073009514655 2 +6 36 17.6035990447069 2 +6 37 17.4281323964567 2 +6 38 17.2793266184064 2 +6 39 17.1921962957187 2 +6 4 24.2634575214707 2 +6 40 17.0865862873523 2 +6 41 16.9920119326021 2 +6 42 16.9784559296727 2 +6 43 16.7529203205597 2 +6 44 16.7160026086219 2 +6 45 16.5463871568074 2 +6 46 16.4840876591115 2 +6 47 16.3817071618843 2 +6 48 16.21419810103 2 +6 49 16.1638876154626 2 +6 5 23.8686342232643 2 +6 50 16.0735252320118 2 +6 51 15.9428937058706 2 +6 52 15.9438498424131 2 +6 53 15.8126589576123 2 +6 54 15.7391443556322 2 +6 55 15.6561689843435 2 +6 56 15.5916635000062 2 +6 57 15.4769208238141 2 +6 58 15.3864082593143 2 +6 59 15.3196631562537 2 +6 6 23.5272930164001 2 +6 60 15.2535850957698 2 +6 61 15.194053000715 2 +6 62 15.0926279620709 2 +6 63 15.0323236253607 2 +6 64 15.0166319466648 2 +6 65 14.872801009717 2 +6 66 14.8256286862838 2 +6 67 14.7489965674583 2 +6 68 14.6788572326434 2 +6 69 14.6093332952995 2 +6 7 23.1448582022002 2 +6 70 14.5505209925547 2 +6 71 14.5115322505387 2 +6 72 14.4482039544682 2 +6 73 14.3621172973681 2 +6 74 14.3258818483838 2 +6 75 14.2510681395594 2 +6 76 14.2331257091457 2 +6 77 14.1036725072749 2 +6 78 14.0394899177138 2 +6 79 14.004842353286 2 +6 8 22.8885027764478 2 +6 80 13.9622631425742 2 +6 81 13.9422107951009 2 +6 82 13.8819258547808 2 +6 83 13.8071489972898 2 +6 84 13.7582410436508 2 +6 85 13.7065989526308 2 +6 86 13.6765410284659 2 +6 87 13.6348856434939 2 +6 88 13.5798302933503 2 +6 89 13.5246227512785 2 +6 9 22.5455830535876 2 +6 90 13.4614699119326 2 +6 91 13.3929467515158 2 +6 92 13.3508878522742 2 +6 93 13.2805071183899 2 +6 94 13.2731321224081 2 +6 95 13.2114682490204 2 +6 96 13.1919419327103 2 +6 97 13.1087014142352 2 +6 98 13.070681843547 2 +6 99 13.0339386922215 2 +6.1 0 21.2441914834553 1 +6.1 1 21.0786355687021 1 +6.1 10 18.2678739749549 1 +6.1 100 9.92576014935048 1 +6.1 11 18.0527061456857 1 +6.1 12 17.7959897039084 1 +6.1 13 17.5140248162078 1 +6.1 14 17.3368099158414 1 +6.1 15 17.1169593622348 1 +6.1 16 16.8407624149304 1 +6.1 17 16.6878903158477 1 +6.1 18 16.5088040645351 1 +6.1 19 16.2499013616419 1 +6.1 2 20.8768640244681 1 +6.1 20 16.0828048229568 1 +6.1 21 15.9578766781792 1 +6.1 22 15.8165993632602 1 +6.1 23 15.593972648865 1 +6.1 24 15.5348453023379 1 +6.1 25 15.312686381156 1 +6.1 26 15.167399115302 1 +6.1 27 15.0575118852144 1 +6.1 28 14.8913989359958 1 +6.1 29 14.7542260134387 1 +6.1 3 20.507887652224 1 +6.1 30 14.6230672501614 1 +6.1 31 14.5152166480598 1 +6.1 32 14.3445554447067 1 +6.1 33 14.260374518684 1 +6.1 34 14.1458530305145 1 +6.1 35 13.9746714533598 1 +6.1 36 13.9310803563468 1 +6.1 37 13.7764279328234 1 +6.1 38 13.6604496245675 1 +6.1 39 13.5949542588652 1 +6.1 4 20.1017855621049 1 +6.1 40 13.4658277255206 1 +6.1 41 13.3662952295457 1 +6.1 42 13.2616039038703 1 +6.1 43 13.1895271955282 1 +6.1 44 13.0914626517467 1 +6.1 45 12.9797379241547 1 +6.1 46 12.9247413064146 1 +6.1 47 12.7959915980046 1 +6.1 48 12.7281109974583 1 +6.1 49 12.675301442954 1 +6.1 5 19.8284869501777 1 +6.1 50 12.5878337405746 1 +6.1 51 12.4750506479743 1 +6.1 52 12.3941192084973 1 +6.1 53 12.3192912945956 1 +6.1 54 12.2828101114763 1 +6.1 55 12.1984812020567 1 +6.1 56 12.1259211301492 1 +6.1 57 12.0390692965595 1 +6.1 58 12.0163082886049 1 +6.1 59 11.92917750574 1 +6.1 6 19.444363336924 1 +6.1 60 11.8395772301959 1 +6.1 61 11.8304948862986 1 +6.1 62 11.7577316877385 1 +6.1 63 11.7024820477752 1 +6.1 64 11.6077833499841 1 +6.1 65 11.5627656309973 1 +6.1 66 11.4976362149373 1 +6.1 67 11.4174078503534 1 +6.1 68 11.3604020077437 1 +6.1 69 11.302121875354 1 +6.1 7 19.1415782240939 1 +6.1 70 11.2622497777918 1 +6.1 71 11.2146117920985 1 +6.1 72 11.1493388471844 1 +6.1 73 11.1087127454728 1 +6.1 74 11.0697546036791 1 +6.1 75 11.0053505532598 1 +6.1 76 10.9715626646972 1 +6.1 77 10.924451629969 1 +6.1 78 10.7981316204715 1 +6.1 79 10.7729600249794 1 +6.1 8 18.8635313894939 1 +6.1 80 10.7335664280356 1 +6.1 81 10.738600944959 1 +6.1 82 10.6943393349079 1 +6.1 83 10.6340664945249 1 +6.1 84 10.5833360900857 1 +6.1 85 10.5231961254945 1 +6.1 86 10.4843490900493 1 +6.1 87 10.4289649931994 1 +6.1 88 10.3918744406396 1 +6.1 89 10.3880313776044 1 +6.1 9 18.5005865619777 1 +6.1 90 10.3283047679285 1 +6.1 91 10.2960147088408 1 +6.1 92 10.2750235318418 1 +6.1 93 10.2243948139686 1 +6.1 94 10.1629624130031 1 +6.1 95 10.1461142213654 1 +6.1 96 10.1104093261761 1 +6.1 97 10.0867124552485 1 +6.1 98 10.013736451662 1 +6.1 99 10.0186127302243 1 +6.1 0 25.7941565645581 2 +6.1 1 25.7395237563805 2 +6.1 10 22.7839261891676 2 +6.1 100 13.3608426297952 2 +6.1 11 22.3850255242151 2 +6.1 12 22.2832758391907 2 +6.1 13 21.9035894559256 2 +6.1 14 21.6196266628147 2 +6.1 15 21.4447974539596 2 +6.1 16 21.2603705512838 2 +6.1 17 20.966983017764 2 +6.1 18 20.8257032885097 2 +6.1 19 20.5367075855524 2 +6.1 2 25.4341309963832 2 +6.1 20 20.3835770232931 2 +6.1 21 20.2281387321569 2 +6.1 22 19.9907837078487 2 +6.1 23 19.8027863441574 2 +6.1 24 19.6409003724189 2 +6.1 25 19.5636022027943 2 +6.1 26 19.2969035690116 2 +6.1 27 19.1736789462513 2 +6.1 28 19.0912890630047 2 +6.1 29 18.9356634513332 2 +6.1 3 25.1859614822264 2 +6.1 30 18.8207663928676 2 +6.1 31 18.6833336854632 2 +6.1 32 18.4597865831638 2 +6.1 33 18.3797167971924 2 +6.1 34 18.1774283839959 2 +6.1 35 18.0776648002306 2 +6.1 36 17.9598751108711 2 +6.1 37 17.8990186949123 2 +6.1 38 17.710176980987 2 +6.1 39 17.6132176368585 2 +6.1 4 24.7016689208432 2 +6.1 40 17.5125748518534 2 +6.1 41 17.3949771743136 2 +6.1 42 17.268599016824 2 +6.1 43 17.1698610066495 2 +6.1 44 17.0583721101197 2 +6.1 45 16.9581102228434 2 +6.1 46 16.8397349710126 2 +6.1 47 16.7727501596585 2 +6.1 48 16.6231006413739 2 +6.1 49 16.6145039180508 2 +6.1 5 24.2237839036976 2 +6.1 50 16.4345578335782 2 +6.1 51 16.4021655017491 2 +6.1 52 16.3000213777383 2 +6.1 53 16.1810816237809 2 +6.1 54 16.1551778703531 2 +6.1 55 16.011716584914 2 +6.1 56 15.9104194859421 2 +6.1 57 15.8508802037366 2 +6.1 58 15.7477066822842 2 +6.1 59 15.6488081039057 2 +6.1 6 23.8884075987938 2 +6.1 60 15.6445647772302 2 +6.1 61 15.5502910726742 2 +6.1 62 15.4536019666976 2 +6.1 63 15.393306897091 2 +6.1 64 15.2939972342243 2 +6.1 65 15.2138958008132 2 +6.1 66 15.1629474629717 2 +6.1 67 15.1267758798697 2 +6.1 68 15.0644017073966 2 +6.1 69 14.9803528664496 2 +6.1 7 23.637465655267 2 +6.1 70 14.9090952099547 2 +6.1 71 14.8520983251775 2 +6.1 72 14.7787844003947 2 +6.1 73 14.6872497064204 2 +6.1 74 14.6594460334138 2 +6.1 75 14.6264653783946 2 +6.1 76 14.4898778740636 2 +6.1 77 14.5053268108052 2 +6.1 78 14.409553658645 2 +6.1 79 14.333852127325 2 +6.1 8 23.3255289111762 2 +6.1 80 14.2874599699303 2 +6.1 81 14.2585325104486 2 +6.1 82 14.1689759519666 2 +6.1 83 14.1118546253891 2 +6.1 84 14.074795277484 2 +6.1 85 14.0804709582739 2 +6.1 86 13.9975746522436 2 +6.1 87 13.9313516527643 2 +6.1 88 13.8663829590198 2 +6.1 89 13.8145282460931 2 +6.1 9 22.9863239326337 2 +6.1 90 13.739635984493 2 +6.1 91 13.7519333188313 2 +6.1 92 13.6905924957925 2 +6.1 93 13.6816571691595 2 +6.1 94 13.6161972096432 2 +6.1 95 13.540060562578 2 +6.1 96 13.5146118528434 2 +6.1 97 13.4815206210175 2 +6.1 98 13.412390272092 2 +6.1 99 13.4043580465775 2 +6.2 0 21.6955341352793 1 +6.2 1 21.46584647211 1 +6.2 10 18.6472216646123 1 +6.2 100 10.2781438842068 1 +6.2 11 18.4717934262035 1 +6.2 12 18.1995053807511 1 +6.2 13 17.9194139173826 1 +6.2 14 17.6639888369212 1 +6.2 15 17.4634873525925 1 +6.2 16 17.326385275782 1 +6.2 17 17.0365231321936 1 +6.2 18 16.8839601753081 1 +6.2 19 16.7354143567784 1 +6.2 2 21.1809083192679 1 +6.2 20 16.5308539408616 1 +6.2 21 16.3059317530328 1 +6.2 22 16.2017333633378 1 +6.2 23 16.0124392897238 1 +6.2 24 15.8118681399144 1 +6.2 25 15.632727104633 1 +6.2 26 15.5396242594956 1 +6.2 27 15.3865249457411 1 +6.2 28 15.277312247677 1 +6.2 29 15.0986826193899 1 +6.2 3 20.9099397822828 1 +6.2 30 14.9834040442879 1 +6.2 31 14.8157439683256 1 +6.2 32 14.7546412708391 1 +6.2 33 14.599347137087 1 +6.2 34 14.4878191062706 1 +6.2 35 14.3556975721897 1 +6.2 36 14.2655406845358 1 +6.2 37 14.1147403679617 1 +6.2 38 14.0216741981156 1 +6.2 39 13.9518621942032 1 +6.2 4 20.4944319013404 1 +6.2 40 13.8221465367319 1 +6.2 41 13.7210168013244 1 +6.2 42 13.6369049198648 1 +6.2 43 13.501881000526 1 +6.2 44 13.4053367113104 1 +6.2 45 13.3412069773415 1 +6.2 46 13.2498590938871 1 +6.2 47 13.1760547624611 1 +6.2 48 13.0996459711108 1 +6.2 49 12.9792659312679 1 +6.2 5 20.124038992378 1 +6.2 50 12.8486717560913 1 +6.2 51 12.8209966752322 1 +6.2 52 12.759558946738 1 +6.2 53 12.6618335088113 1 +6.2 54 12.616996673311 1 +6.2 55 12.5504416511469 1 +6.2 56 12.4513448360937 1 +6.2 57 12.431581283009 1 +6.2 58 12.3402472683239 1 +6.2 59 12.2461270734497 1 +6.2 6 19.8125692886604 1 +6.2 60 12.1821444047872 1 +6.2 61 12.1066599926885 1 +6.2 62 12.0394802294598 1 +6.2 63 11.9654188536619 1 +6.2 64 11.9576391753545 1 +6.2 65 11.8825614843194 1 +6.2 66 11.8248485978085 1 +6.2 67 11.7464136002582 1 +6.2 68 11.6629993900601 1 +6.2 69 11.6534439189527 1 +6.2 7 19.544182912836 1 +6.2 70 11.5912803917937 1 +6.2 71 11.5073939768067 1 +6.2 72 11.4650504078405 1 +6.2 73 11.4034361523739 1 +6.2 74 11.3367242901247 1 +6.2 75 11.3241750316505 1 +6.2 76 11.2565984001204 1 +6.2 77 11.2240601896217 1 +6.2 78 11.1708457099499 1 +6.2 79 11.1388304304576 1 +6.2 8 19.2108866425017 1 +6.2 80 11.0834162562817 1 +6.2 81 11.055465310424 1 +6.2 82 10.9412548338429 1 +6.2 83 10.9238732046884 1 +6.2 84 10.9060482495405 1 +6.2 85 10.8368323364588 1 +6.2 86 10.807322870046 1 +6.2 87 10.7257770790223 1 +6.2 88 10.7288936636953 1 +6.2 89 10.668749391827 1 +6.2 9 18.9336460384111 1 +6.2 90 10.633142972107 1 +6.2 91 10.5876618342959 1 +6.2 92 10.5598273250025 1 +6.2 93 10.4981683435166 1 +6.2 94 10.4991737922191 1 +6.2 95 10.4727946255147 1 +6.2 96 10.396520792368 1 +6.2 97 10.4054531365792 1 +6.2 98 10.3635117519786 1 +6.2 99 10.2808289456504 1 +6.2 0 26.2495568781354 2 +6.2 1 26.1723125391641 2 +6.2 10 23.1025990304684 2 +6.2 100 13.6286137726484 2 +6.2 11 22.921146154548 2 +6.2 12 22.6280969601514 2 +6.2 13 22.3701768194059 2 +6.2 14 22.1317721008488 2 +6.2 15 21.9015588345891 2 +6.2 16 21.5789994990148 2 +6.2 17 21.426744829957 2 +6.2 18 21.1886114466545 2 +6.2 19 20.9998024110937 2 +6.2 2 25.9234247795367 2 +6.2 20 20.851480623938 2 +6.2 21 20.6458790316769 2 +6.2 22 20.4351793547612 2 +6.2 23 20.242599192263 2 +6.2 24 20.1032138911284 2 +6.2 25 19.9613771295558 2 +6.2 26 19.7577378185007 2 +6.2 27 19.6022450410752 2 +6.2 28 19.4697925259477 2 +6.2 29 19.3023669737667 2 +6.2 3 25.7769792199625 2 +6.2 30 19.2106334175386 2 +6.2 31 19.0003741975504 2 +6.2 32 18.878408093029 2 +6.2 33 18.8022717799903 2 +6.2 34 18.5973063133547 2 +6.2 35 18.5198834820723 2 +6.2 36 18.3255930621367 2 +6.2 37 18.2095226550205 2 +6.2 38 18.0684121987091 2 +6.2 39 17.9903168611183 2 +6.2 4 25.1647900358473 2 +6.2 40 17.8989211648463 2 +6.2 41 17.7400513650655 2 +6.2 42 17.6803345025075 2 +6.2 43 17.578249018382 2 +6.2 44 17.4630562240435 2 +6.2 45 17.4404896097214 2 +6.2 46 17.2805878380105 2 +6.2 47 17.1533007689719 2 +6.2 48 17.0386641363111 2 +6.2 49 16.9180484032392 2 +6.2 5 24.8240003199843 2 +6.2 50 16.8365902496715 2 +6.2 51 16.6943032239373 2 +6.2 52 16.645841699309 2 +6.2 53 16.5538166843258 2 +6.2 54 16.502564817175 2 +6.2 55 16.3906433754746 2 +6.2 56 16.3009231492939 2 +6.2 57 16.2257815920097 2 +6.2 58 16.1639630652837 2 +6.2 59 16.0290792494452 2 +6.2 6 24.3980185021938 2 +6.2 60 16.0091551888175 2 +6.2 61 15.9270267587522 2 +6.2 62 15.8507300436685 2 +6.2 63 15.7704586068521 2 +6.2 64 15.6439810080571 2 +6.2 65 15.6068784320741 2 +6.2 66 15.4805466683706 2 +6.2 67 15.4523973995415 2 +6.2 68 15.382559577616 2 +6.2 69 15.3082176105507 2 +6.2 7 24.1086685680897 2 +6.2 70 15.2980114825084 2 +6.2 71 15.1773060337592 2 +6.2 72 15.1519901884748 2 +6.2 73 15.0651853191855 2 +6.2 74 15.0146728002347 2 +6.2 75 14.9372776041368 2 +6.2 76 14.8766081414248 2 +6.2 77 14.8050901362856 2 +6.2 78 14.7465718057619 2 +6.2 79 14.6628487007203 2 +6.2 8 23.6861306157409 2 +6.2 80 14.6216371814566 2 +6.2 81 14.5964560082687 2 +6.2 82 14.4874108139049 2 +6.2 83 14.5012302119528 2 +6.2 84 14.4280100049785 2 +6.2 85 14.3704512147214 2 +6.2 86 14.3204559012423 2 +6.2 87 14.2348130671084 2 +6.2 88 14.2287416999404 2 +6.2 89 14.1333917141334 2 +6.2 9 23.3151371073598 2 +6.2 90 14.1422225985263 2 +6.2 91 14.0416938971283 2 +6.2 92 13.9705758129499 2 +6.2 93 13.9784394881371 2 +6.2 94 13.9392827502562 2 +6.2 95 13.8590602128844 2 +6.2 96 13.8244506478936 2 +6.2 97 13.7867062834374 2 +6.2 98 13.731564345329 2 +6.2 99 13.7204987115567 2 +6.3 0 22.0526584264201 1 +6.3 1 21.8065031441195 1 +6.3 10 19.0285130429474 1 +6.3 100 10.5193160723713 1 +6.3 11 18.8423845924614 1 +6.3 12 18.5589421193989 1 +6.3 13 18.323849806825 1 +6.3 14 18.0897247478013 1 +6.3 15 17.8747130808982 1 +6.3 16 17.6094527253441 1 +6.3 17 17.4570649342933 1 +6.3 18 17.2993820059831 1 +6.3 19 17.0405196281522 1 +6.3 2 21.6507436724902 1 +6.3 20 16.8476850405734 1 +6.3 21 16.7531072446426 1 +6.3 22 16.6069643151744 1 +6.3 23 16.4082789632011 1 +6.3 24 16.2306803646982 1 +6.3 25 16.0446916368475 1 +6.3 26 15.8722178318264 1 +6.3 27 15.7474414702323 1 +6.3 28 15.6226937875701 1 +6.3 29 15.4641288534033 1 +6.3 3 21.2986721228211 1 +6.3 30 15.3637859737129 1 +6.3 31 15.1966783816276 1 +6.3 32 15.0538654887487 1 +6.3 33 14.990831497654 1 +6.3 34 14.8690588055303 1 +6.3 35 14.6901324816229 1 +6.3 36 14.5527134983104 1 +6.3 37 14.4639276522485 1 +6.3 38 14.3745821175839 1 +6.3 39 14.3075081773696 1 +6.3 4 20.9012278126229 1 +6.3 40 14.1847779634738 1 +6.3 41 14.0762335072128 1 +6.3 42 13.9541800002898 1 +6.3 43 13.8846884278206 1 +6.3 44 13.8038018860305 1 +6.3 45 13.6651100651638 1 +6.3 46 13.6158860844185 1 +6.3 47 13.5197824793214 1 +6.3 48 13.4198597776368 1 +6.3 49 13.3668845086982 1 +6.3 5 20.543932305798 1 +6.3 50 13.2296503734543 1 +6.3 51 13.1754993816921 1 +6.3 52 13.1375106184581 1 +6.3 53 12.9881802671472 1 +6.3 54 12.9180973965241 1 +6.3 55 12.8680046465632 1 +6.3 56 12.7875263862657 1 +6.3 57 12.7217914006888 1 +6.3 58 12.6301112470116 1 +6.3 59 12.6104818765575 1 +6.3 6 20.224277746274 1 +6.3 60 12.5289114018374 1 +6.3 61 12.4622201688428 1 +6.3 62 12.3536834735306 1 +6.3 63 12.3093861484174 1 +6.3 64 12.2595221317132 1 +6.3 65 12.2104169226545 1 +6.3 66 12.1111092666849 1 +6.3 67 12.089806044766 1 +6.3 68 11.9988232825232 1 +6.3 69 11.9605434300946 1 +6.3 7 19.9323457473832 1 +6.3 70 11.8896870667253 1 +6.3 71 11.8515826353761 1 +6.3 72 11.7892183261159 1 +6.3 73 11.7161110043866 1 +6.3 74 11.6643089741219 1 +6.3 75 11.6229622193125 1 +6.3 76 11.5722361364308 1 +6.3 77 11.4945632774459 1 +6.3 78 11.4868937597951 1 +6.3 79 11.4317426771128 1 +6.3 8 19.6375723528659 1 +6.3 80 11.3515860066761 1 +6.3 81 11.318301205189 1 +6.3 82 11.2602774062123 1 +6.3 83 11.2515087074871 1 +6.3 84 11.2047876743726 1 +6.3 85 11.1583186656135 1 +6.3 86 11.1267925187501 1 +6.3 87 11.0630343054146 1 +6.3 88 11.016378032576 1 +6.3 89 10.9464380999246 1 +6.3 9 19.3164136015699 1 +6.3 90 10.9422863453391 1 +6.3 91 10.909020071675 1 +6.3 92 10.8786629002027 1 +6.3 93 10.7862907826474 1 +6.3 94 10.7819002273767 1 +6.3 95 10.7346829082783 1 +6.3 96 10.7019830302726 1 +6.3 97 10.6573342216026 1 +6.3 98 10.6121307360554 1 +6.3 99 10.5485253672785 1 +6.3 0 26.6378262860339 2 +6.3 1 26.6388810449455 2 +6.3 10 23.6502550230157 2 +6.3 100 13.9810013445636 2 +6.3 11 23.2915682619231 2 +6.3 12 23.0638652571099 2 +6.3 13 22.7585185827227 2 +6.3 14 22.5239263525556 2 +6.3 15 22.2764662266843 2 +6.3 16 22.1599298207327 2 +6.3 17 21.8500824912641 2 +6.3 18 21.6199905748583 2 +6.3 19 21.474739517821 2 +6.3 2 26.3947481856756 2 +6.3 20 21.2298262213134 2 +6.3 21 20.9803773956714 2 +6.3 22 20.8416234533335 2 +6.3 23 20.7111189257334 2 +6.3 24 20.4792070526077 2 +6.3 25 20.419402586046 2 +6.3 26 20.1678397335731 2 +6.3 27 20.0594102945987 2 +6.3 28 19.8340679718214 2 +6.3 29 19.6888743383729 2 +6.3 3 26.1105907183633 2 +6.3 30 19.5949953832972 2 +6.3 31 19.4732088942759 2 +6.3 32 19.2752656354583 2 +6.3 33 19.1346180905427 2 +6.3 34 19.0157010378203 2 +6.3 35 18.8142508686274 2 +6.3 36 18.7419312399371 2 +6.3 37 18.5941946482696 2 +6.3 38 18.4351081853197 2 +6.3 39 18.4018917086874 2 +6.3 4 25.6386216521297 2 +6.3 40 18.2817325022563 2 +6.3 41 18.1141727562075 2 +6.3 42 18.0235912981059 2 +6.3 43 17.9561098501733 2 +6.3 44 17.8674647154737 2 +6.3 45 17.7000318595323 2 +6.3 46 17.5870854037287 2 +6.3 47 17.5155553482672 2 +6.3 48 17.4438090247936 2 +6.3 49 17.294956462655 2 +6.3 5 25.1593324786549 2 +6.3 50 17.2481553531123 2 +6.3 51 17.136676223556 2 +6.3 52 17.0119760094013 2 +6.3 53 16.9253338565897 2 +6.3 54 16.8037959636755 2 +6.3 55 16.767547015861 2 +6.3 56 16.668642939025 2 +6.3 57 16.5671184791915 2 +6.3 58 16.5106890482948 2 +6.3 59 16.4779237689777 2 +6.3 6 24.832288185897 2 +6.3 60 16.3264750654447 2 +6.3 61 16.220123908836 2 +6.3 62 16.1643004212843 2 +6.3 63 16.1017677845714 2 +6.3 64 16.0205266408915 2 +6.3 65 15.9658360875234 2 +6.3 66 15.8652268608467 2 +6.3 67 15.7708988379923 2 +6.3 68 15.7615912023609 2 +6.3 69 15.6985023871898 2 +6.3 7 24.4470489900592 2 +6.3 70 15.5881662466489 2 +6.3 71 15.5405314631541 2 +6.3 72 15.4738653364336 2 +6.3 73 15.3600231772857 2 +6.3 74 15.3687473059053 2 +6.3 75 15.2742479960989 2 +6.3 76 15.2625309383175 2 +6.3 77 15.1542186194837 2 +6.3 78 15.076851921951 2 +6.3 79 15.0667688146505 2 +6.3 8 24.1657392972243 2 +6.3 80 14.9352439975008 2 +6.3 81 14.9225765823626 2 +6.3 82 14.8534222984183 2 +6.3 83 14.8681139146432 2 +6.3 84 14.7597228991115 2 +6.3 85 14.6920311325599 2 +6.3 86 14.6532174412466 2 +6.3 87 14.548407627386 2 +6.3 88 14.5404538486237 2 +6.3 89 14.5069074405039 2 +6.3 9 23.8358887788519 2 +6.3 90 14.4190991104321 2 +6.3 91 14.4045477130119 2 +6.3 92 14.3471556261476 2 +6.3 93 14.3122388771356 2 +6.3 94 14.2503640377572 2 +6.3 95 14.1868007214825 2 +6.3 96 14.1662901021668 2 +6.3 97 14.1151750044924 2 +6.3 98 14.0357455913446 2 +6.3 99 14.0133266084076 2 +6.4 0 22.4070122907397 1 +6.4 1 22.215945340052 1 +6.4 10 19.4872767750726 1 +6.4 100 10.8310138342256 1 +6.4 11 19.1824628208288 1 +6.4 12 18.9457132805258 1 +6.4 13 18.7077383344579 1 +6.4 14 18.4616294864486 1 +6.4 15 18.2467572151834 1 +6.4 16 18.0243166917986 1 +6.4 17 17.8704893401427 1 +6.4 18 17.6430240240377 1 +6.4 19 17.435541552422 1 +6.4 2 22.0005740916785 1 +6.4 20 17.282694736062 1 +6.4 21 17.1073707876047 1 +6.4 22 16.8590118131011 1 +6.4 23 16.7171974799836 1 +6.4 24 16.5484510979442 1 +6.4 25 16.4226187871792 1 +6.4 26 16.2861566936789 1 +6.4 27 16.1897137299775 1 +6.4 28 16.0180747987551 1 +6.4 29 15.8599460158584 1 +6.4 3 21.7498028377073 1 +6.4 30 15.7188014944806 1 +6.4 31 15.588528221828 1 +6.4 32 15.4250009180668 1 +6.4 33 15.3383184074753 1 +6.4 34 15.2073332147067 1 +6.4 35 15.1032579153541 1 +6.4 36 14.9575653081546 1 +6.4 37 14.8284588028709 1 +6.4 38 14.752039954727 1 +6.4 39 14.6501160306438 1 +6.4 4 21.3407046320552 1 +6.4 40 14.5344999842176 1 +6.4 41 14.3837958235188 1 +6.4 42 14.3054188787877 1 +6.4 43 14.234012751319 1 +6.4 44 14.1283480529815 1 +6.4 45 14.0307684550597 1 +6.4 46 13.9110511386774 1 +6.4 47 13.8348621324531 1 +6.4 48 13.7658397471277 1 +6.4 49 13.688176950012 1 +6.4 5 20.9538176212033 1 +6.4 50 13.6501213577191 1 +6.4 51 13.4985391677944 1 +6.4 52 13.4107944370823 1 +6.4 53 13.3252392671999 1 +6.4 54 13.2921248374091 1 +6.4 55 13.2253254072465 1 +6.4 56 13.1093876180065 1 +6.4 57 13.0274609448836 1 +6.4 58 13.0136726302108 1 +6.4 59 12.9512332106178 1 +6.4 6 20.6405412718184 1 +6.4 60 12.8115133179946 1 +6.4 61 12.7630441294068 1 +6.4 62 12.6907604491735 1 +6.4 63 12.6390752165199 1 +6.4 64 12.5667595500947 1 +6.4 65 12.4914919549375 1 +6.4 66 12.4251477021525 1 +6.4 67 12.3822053221915 1 +6.4 68 12.3087861746657 1 +6.4 69 12.2731268233894 1 +6.4 7 20.2531675291263 1 +6.4 70 12.2139724797621 1 +6.4 71 12.1620506149642 1 +6.4 72 12.1092656062782 1 +6.4 73 12.032525834229 1 +6.4 74 12.0253480515427 1 +6.4 75 11.9205602523597 1 +6.4 76 11.8990384312117 1 +6.4 77 11.8570046329186 1 +6.4 78 11.7642110106461 1 +6.4 79 11.7256203390532 1 +6.4 8 19.9849592851032 1 +6.4 80 11.6746420674551 1 +6.4 81 11.6070302455542 1 +6.4 82 11.561951616566 1 +6.4 83 11.5469960070975 1 +6.4 84 11.5005748972501 1 +6.4 85 11.454603774671 1 +6.4 86 11.4026493442924 1 +6.4 87 11.3635680447966 1 +6.4 88 11.2699463967427 1 +6.4 89 11.2523948430256 1 +6.4 9 19.7292031865545 1 +6.4 90 11.2012752200771 1 +6.4 91 11.2453985639681 1 +6.4 92 11.1618307867042 1 +6.4 93 11.0924168112704 1 +6.4 94 11.0601200127887 1 +6.4 95 11.0473173521251 1 +6.4 96 10.9722749160168 1 +6.4 97 10.9317713810246 1 +6.4 98 10.8739910965705 1 +6.4 99 10.8397508870761 1 +6.4 0 27.0731637199136 2 +6.4 1 27.1230848578804 2 +6.4 10 24.1093683335913 2 +6.4 100 14.2870533261789 2 +6.4 11 23.6866572990707 2 +6.4 12 23.4305661077037 2 +6.4 13 23.2657203704491 2 +6.4 14 22.9490143605744 2 +6.4 15 22.7705731367606 2 +6.4 16 22.5304825121889 2 +6.4 17 22.2811604091619 2 +6.4 18 22.0961600363738 2 +6.4 19 21.8937981010906 2 +6.4 2 26.86478760614 2 +6.4 20 21.6534373369516 2 +6.4 21 21.4092856780449 2 +6.4 22 21.2780697781401 2 +6.4 23 21.1722127283317 2 +6.4 24 20.9358405400604 2 +6.4 25 20.7917018813666 2 +6.4 26 20.5071560684928 2 +6.4 27 20.3782489508238 2 +6.4 28 20.3356848746331 2 +6.4 29 20.1295805198559 2 +6.4 3 26.61695664873 2 +6.4 30 19.9742618222106 2 +6.4 31 19.851350097683 2 +6.4 32 19.6487356108663 2 +6.4 33 19.5416278478507 2 +6.4 34 19.4647470778654 2 +6.4 35 19.2440330592907 2 +6.4 36 19.1624069834502 2 +6.4 37 18.9549350275874 2 +6.4 38 18.875919555457 2 +6.4 39 18.8191236711166 2 +6.4 4 26.0627881024112 2 +6.4 40 18.6859624749836 2 +6.4 41 18.5412164087668 2 +6.4 42 18.422325421615 2 +6.4 43 18.2856288483601 2 +6.4 44 18.13398597061 2 +6.4 45 18.1126600068967 2 +6.4 46 17.9848873641637 2 +6.4 47 17.8472996504569 2 +6.4 48 17.8023012871506 2 +6.4 49 17.6780441128541 2 +6.4 5 25.675157757134 2 +6.4 50 17.5869849464547 2 +6.4 51 17.4974838844943 2 +6.4 52 17.4201912483769 2 +6.4 53 17.3525806552689 2 +6.4 54 17.1934911155254 2 +6.4 55 17.1146578617355 2 +6.4 56 17.0432816117592 2 +6.4 57 16.9729875063939 2 +6.4 58 16.8213287504192 2 +6.4 59 16.7433038305078 2 +6.4 6 25.2744385659323 2 +6.4 60 16.6841103593778 2 +6.4 61 16.6316312410116 2 +6.4 62 16.5235727333824 2 +6.4 63 16.4538751773561 2 +6.4 64 16.3767415718531 2 +6.4 65 16.3417597835138 2 +6.4 66 16.2244237287829 2 +6.4 67 16.1763143987544 2 +6.4 68 16.105859643837 2 +6.4 69 16.0090899394824 2 +6.4 7 24.9376309144051 2 +6.4 70 15.9456744776582 2 +6.4 71 15.9201913299466 2 +6.4 72 15.7990350459525 2 +6.4 73 15.745049799826 2 +6.4 74 15.6440699448514 2 +6.4 75 15.6092308532994 2 +6.4 76 15.5681758037737 2 +6.4 77 15.4662978253186 2 +6.4 78 15.4681982820177 2 +6.4 79 15.3638286462475 2 +6.4 8 24.6381855989631 2 +6.4 80 15.3320492690926 2 +6.4 81 15.3026677968145 2 +6.4 82 15.1778847404696 2 +6.4 83 15.168642503757 2 +6.4 84 15.0748150693846 2 +6.4 85 15.0326121992114 2 +6.4 86 14.9680775986868 2 +6.4 87 14.9448816890605 2 +6.4 88 14.8455040500931 2 +6.4 89 14.844853364782 2 +6.4 9 24.3987920909083 2 +6.4 90 14.7922473390259 2 +6.4 91 14.7007918257541 2 +6.4 92 14.6700066662218 2 +6.4 93 14.6262438127446 2 +6.4 94 14.5581067527393 2 +6.4 95 14.5250458981691 2 +6.4 96 14.4993125556401 2 +6.4 97 14.4467437633546 2 +6.4 98 14.3466057657713 2 +6.4 99 14.3058779336763 2 +6.5 0 22.7873183008911 1 +6.5 1 22.6343481988232 1 +6.5 10 19.8146014720787 1 +6.5 100 11.1156643162104 1 +6.5 11 19.5787587288383 1 +6.5 12 19.264295475456 1 +6.5 13 19.0430008775704 1 +6.5 14 18.8362055048997 1 +6.5 15 18.6446720901435 1 +6.5 16 18.4655744885622 1 +6.5 17 18.2338799219816 1 +6.5 18 17.9902044429569 1 +6.5 19 17.8417678559448 1 +6.5 2 22.380295828622 1 +6.5 20 17.6352447445096 1 +6.5 21 17.4192058095709 1 +6.5 22 17.3407225002542 1 +6.5 23 17.1115185436983 1 +6.5 24 16.939892580747 1 +6.5 25 16.7562896771686 1 +6.5 26 16.6767192077979 1 +6.5 27 16.5000404487451 1 +6.5 28 16.3418867992456 1 +6.5 29 16.2053393197914 1 +6.5 3 22.093636545416 1 +6.5 30 16.0915733725055 1 +6.5 31 15.9189992217509 1 +6.5 32 15.812512771189 1 +6.5 33 15.6896722518002 1 +6.5 34 15.5047429408682 1 +6.5 35 15.4781824442456 1 +6.5 36 15.3184082449953 1 +6.5 37 15.2521478643896 1 +6.5 38 15.139878810957 1 +6.5 39 14.9849346754309 1 +6.5 4 21.6599788672003 1 +6.5 40 14.8615999613728 1 +6.5 41 14.7630378883488 1 +6.5 42 14.6519900142379 1 +6.5 43 14.581633892476 1 +6.5 44 14.5121889381694 1 +6.5 45 14.3660952129972 1 +6.5 46 14.271652928772 1 +6.5 47 14.1837461619341 1 +6.5 48 14.1054303526551 1 +6.5 49 13.9556979644441 1 +6.5 5 21.349251464282 1 +6.5 50 13.9457161958609 1 +6.5 51 13.8673255242188 1 +6.5 52 13.7549440978178 1 +6.5 53 13.6894058548865 1 +6.5 54 13.5980785097291 1 +6.5 55 13.5136068808643 1 +6.5 56 13.4471617621686 1 +6.5 57 13.3454706514901 1 +6.5 58 13.3106163607824 1 +6.5 59 13.2410359700693 1 +6.5 6 20.9798747032111 1 +6.5 60 13.161291744262 1 +6.5 61 13.0753746325504 1 +6.5 62 13.040811512162 1 +6.5 63 12.9577321175729 1 +6.5 64 12.8876987699396 1 +6.5 65 12.8439811557844 1 +6.5 66 12.7569903477082 1 +6.5 67 12.7491748254349 1 +6.5 68 12.6419642316172 1 +6.5 69 12.5991216724788 1 +6.5 7 20.7280740784746 1 +6.5 70 12.5197214260009 1 +6.5 71 12.4741779344928 1 +6.5 72 12.4006416284012 1 +6.5 73 12.3113955637383 1 +6.5 74 12.3022591168472 1 +6.5 75 12.2353481065412 1 +6.5 76 12.2156833779475 1 +6.5 77 12.0979062851745 1 +6.5 78 12.0816302823465 1 +6.5 79 11.9919709618516 1 +6.5 8 20.4027382521353 1 +6.5 80 11.9814208023341 1 +6.5 81 11.9346545893543 1 +6.5 82 11.9137629434114 1 +6.5 83 11.8348862926092 1 +6.5 84 11.7899140261077 1 +6.5 85 11.7426084431358 1 +6.5 86 11.6709188024404 1 +6.5 87 11.6379745386121 1 +6.5 88 11.6169140738575 1 +6.5 89 11.557965518543 1 +6.5 9 20.1369635714006 1 +6.5 90 11.4889187602607 1 +6.5 91 11.4841380593216 1 +6.5 92 11.4290970483911 1 +6.5 93 11.3949304421838 1 +6.5 94 11.3436973622165 1 +6.5 95 11.311161907977 1 +6.5 96 11.2809949503357 1 +6.5 97 11.2061370975745 1 +6.5 98 11.1755098873668 1 +6.5 99 11.1422860889315 1 +6.5 0 27.5399979414028 2 +6.5 1 27.5568679329794 2 +6.5 10 24.4561832506228 2 +6.5 100 14.6490156819897 2 +6.5 11 24.169102646336 2 +6.5 12 23.8434145395356 2 +6.5 13 23.5930820787197 2 +6.5 14 23.4000664336846 2 +6.5 15 23.2105460379578 2 +6.5 16 22.8602923788497 2 +6.5 17 22.7643017302086 2 +6.5 18 22.4914198367106 2 +6.5 19 22.2154885782344 2 +6.5 2 27.2988143101897 2 +6.5 20 22.1210044911738 2 +6.5 21 21.9281457036889 2 +6.5 22 21.7188769238339 2 +6.5 23 21.5059823220776 2 +6.5 24 21.3349997625705 2 +6.5 25 21.1537236195178 2 +6.5 26 21.0309208012474 2 +6.5 27 20.8099492111032 2 +6.5 28 20.6725642244246 2 +6.5 29 20.4595157386905 2 +6.5 3 27.0707495857753 2 +6.5 30 20.3683635504008 2 +6.5 31 20.1699394829883 2 +6.5 32 20.0880889856433 2 +6.5 33 19.9401114572903 2 +6.5 34 19.8240788528314 2 +6.5 35 19.6583041367254 2 +6.5 36 19.6041430802476 2 +6.5 37 19.4243525801644 2 +6.5 38 19.2668957051611 2 +6.5 39 19.1695132333646 2 +6.5 4 26.5667977581319 2 +6.5 40 19.0371030389337 2 +6.5 41 18.919606551028 2 +6.5 42 18.8456285608261 2 +6.5 43 18.6841755161471 2 +6.5 44 18.5585745833453 2 +6.5 45 18.472321813976 2 +6.5 46 18.3636986096323 2 +6.5 47 18.2985276902498 2 +6.5 48 18.1207747592045 2 +6.5 49 18.0508975853301 2 +6.5 5 26.151650445983 2 +6.5 50 17.9497374481097 2 +6.5 51 17.8557558585709 2 +6.5 52 17.7509675134958 2 +6.5 53 17.6948866716046 2 +6.5 54 17.5765995603309 2 +6.5 55 17.4974924882928 2 +6.5 56 17.409767436136 2 +6.5 57 17.3225573346766 2 +6.5 58 17.1987214731376 2 +6.5 59 17.1386524273974 2 +6.5 6 25.7396610502664 2 +6.5 60 17.0575908282155 2 +6.5 61 16.9561530353873 2 +6.5 62 16.9005870585141 2 +6.5 63 16.8105843292373 2 +6.5 64 16.7528998253585 2 +6.5 65 16.6665685874783 2 +6.5 66 16.5785949940127 2 +6.5 67 16.5025192752285 2 +6.5 68 16.4696307763794 2 +6.5 69 16.3836584980373 2 +6.5 7 25.329859348236 2 +6.5 70 16.3417776438596 2 +6.5 71 16.2451437222937 2 +6.5 72 16.1765642208347 2 +6.5 73 16.0714790781701 2 +6.5 74 16.0780302183538 2 +6.5 75 15.9562423114964 2 +6.5 76 15.9179387466795 2 +6.5 77 15.8513119636301 2 +6.5 78 15.7977912362493 2 +6.5 79 15.6834384792271 2 +6.5 8 25.0260987042759 2 +6.5 80 15.6698982436329 2 +6.5 81 15.5969869460011 2 +6.5 82 15.5501383247558 2 +6.5 83 15.4448884247604 2 +6.5 84 15.4300394954462 2 +6.5 85 15.3606826892468 2 +6.5 86 15.314718397722 2 +6.5 87 15.2423254437799 2 +6.5 88 15.2128189678583 2 +6.5 89 15.1326830916212 2 +6.5 9 24.7137512629262 2 +6.5 90 15.1361808672883 2 +6.5 91 15.0251364444377 2 +6.5 92 15.0132369258468 2 +6.5 93 14.9627422797205 2 +6.5 94 14.9067059385193 2 +6.5 95 14.824012394538 2 +6.5 96 14.7924359047242 2 +6.5 97 14.7277155085178 2 +6.5 98 14.7274815911532 2 +6.5 99 14.6583507813313 2 +6.6 0 23.134700011044 1 +6.6 1 23.0061138121205 1 +6.6 10 20.2426447784715 1 +6.6 100 11.3824020635508 1 +6.6 11 19.9851235696833 1 +6.6 12 19.6513214712925 1 +6.6 13 19.452486938933 1 +6.6 14 19.2649761655588 1 +6.6 15 19.0370736709207 1 +6.6 16 18.7675817522634 1 +6.6 17 18.6334172413391 1 +6.6 18 18.3987088412905 1 +6.6 19 18.185258949375 1 +6.6 2 22.6847287661269 1 +6.6 20 18.0051301809585 1 +6.6 21 17.8594483989996 1 +6.6 22 17.6723169283548 1 +6.6 23 17.4658657910622 1 +6.6 24 17.3329949002649 1 +6.6 25 17.164882714144 1 +6.6 26 17.0093032622839 1 +6.6 27 16.9231656850613 1 +6.6 28 16.719621452964 1 +6.6 29 16.5827936674104 1 +6.6 3 22.4742617212202 1 +6.6 30 16.4425513046908 1 +6.6 31 16.2695171567572 1 +6.6 32 16.1915445855832 1 +6.6 33 16.0211657332597 1 +6.6 34 15.8816913799109 1 +6.6 35 15.8186667795407 1 +6.6 36 15.7174284443963 1 +6.6 37 15.5846534261373 1 +6.6 38 15.4551087261132 1 +6.6 39 15.3388787807203 1 +6.6 4 22.0472697077146 1 +6.6 40 15.2254602164283 1 +6.6 41 15.11371190027 1 +6.6 42 15.0267564787211 1 +6.6 43 14.9057886382226 1 +6.6 44 14.8838822774542 1 +6.6 45 14.7272213992881 1 +6.6 46 14.6469427851077 1 +6.6 47 14.5211550274519 1 +6.6 48 14.4381957055465 1 +6.6 49 14.3411477781802 1 +6.6 5 21.7645758105215 1 +6.6 50 14.2873984797497 1 +6.6 51 14.1960815574175 1 +6.6 52 14.1346590209409 1 +6.6 53 13.9801509849133 1 +6.6 54 13.9395164910631 1 +6.6 55 13.8771067456214 1 +6.6 56 13.7725091485364 1 +6.6 57 13.7092620789422 1 +6.6 58 13.6448663117169 1 +6.6 59 13.56118550803 1 +6.6 6 21.4383672472867 1 +6.6 60 13.5153499102423 1 +6.6 61 13.4119198849012 1 +6.6 62 13.3651664929171 1 +6.6 63 13.288027987332 1 +6.6 64 13.1820487254147 1 +6.6 65 13.1651929688661 1 +6.6 66 13.0744059794057 1 +6.6 67 13.0300627900639 1 +6.6 68 12.9582625059793 1 +6.6 69 12.9125084853871 1 +6.6 7 21.0820246403495 1 +6.6 70 12.8571189604055 1 +6.6 71 12.761345122252 1 +6.6 72 12.7020617065653 1 +6.6 73 12.6767603477985 1 +6.6 74 12.611340838442 1 +6.6 75 12.5372820372587 1 +6.6 76 12.5344912243892 1 +6.6 77 12.4668692342185 1 +6.6 78 12.3917866076304 1 +6.6 79 12.3370769385491 1 +6.6 8 20.7056018959207 1 +6.6 80 12.2759761978004 1 +6.6 81 12.2086772020396 1 +6.6 82 12.1932267391769 1 +6.6 83 12.1162304141673 1 +6.6 84 12.0917702468961 1 +6.6 85 12.0073493483642 1 +6.6 86 12.0013282291946 1 +6.6 87 11.9708854465441 1 +6.6 88 11.9116217578887 1 +6.6 89 11.8508178313638 1 +6.6 9 20.5484763135311 1 +6.6 90 11.821755944041 1 +6.6 91 11.7913178464975 1 +6.6 92 11.7203696201325 1 +6.6 93 11.6950897901987 1 +6.6 94 11.6456335646511 1 +6.6 95 11.6069072011349 1 +6.6 96 11.5713607122414 1 +6.6 97 11.517263012102 1 +6.6 98 11.4740976945222 1 +6.6 99 11.4720990453734 1 +6.6 0 27.996229755288 2 +6.6 1 27.9571232410059 2 +6.6 10 24.9062035495892 2 +6.6 100 14.9023484356845 2 +6.6 11 24.5921338188371 2 +6.6 12 24.323883239409 2 +6.6 13 24.047122742149 2 +6.6 14 23.8058566080498 2 +6.6 15 23.5284283489753 2 +6.6 16 23.3818979783726 2 +6.6 17 23.0917472459237 2 +6.6 18 22.9883022523423 2 +6.6 19 22.7037445103062 2 +6.6 2 27.7553538484238 2 +6.6 20 22.511098882466 2 +6.6 21 22.3430180279977 2 +6.6 22 22.05927899489 2 +6.6 23 21.9451591559461 2 +6.6 24 21.8237351384646 2 +6.6 25 21.6484484710234 2 +6.6 26 21.4303898293783 2 +6.6 27 21.1950904394119 2 +6.6 28 21.1027954269195 2 +6.6 29 20.9711134779366 2 +6.6 3 27.5714215031454 2 +6.6 30 20.7327839248491 2 +6.6 31 20.7019357653668 2 +6.6 32 20.4238468586052 2 +6.6 33 20.296301009394 2 +6.6 34 20.2592687552393 2 +6.6 35 20.0284927751272 2 +6.6 36 19.8769352165582 2 +6.6 37 19.8089582868196 2 +6.6 38 19.6464594422841 2 +6.6 39 19.5809689365451 2 +6.6 4 27.0028896091341 2 +6.6 40 19.347649037817 2 +6.6 41 19.2745723591728 2 +6.6 42 19.132316865024 2 +6.6 43 19.0951306898642 2 +6.6 44 18.9306735470731 2 +6.6 45 18.9123336756463 2 +6.6 46 18.7558150988105 2 +6.6 47 18.6533524375795 2 +6.6 48 18.535736267764 2 +6.6 49 18.4505610746889 2 +6.6 5 26.6130366229502 2 +6.6 50 18.370442373276 2 +6.6 51 18.2434283394567 2 +6.6 52 18.1732434489348 2 +6.6 53 18.0132256276426 2 +6.6 54 17.8996263791987 2 +6.6 55 17.8333672190454 2 +6.6 56 17.799647343823 2 +6.6 57 17.6567193851776 2 +6.6 58 17.5539757002375 2 +6.6 59 17.4760643657552 2 +6.6 6 26.2383021197759 2 +6.6 60 17.4138280360539 2 +6.6 61 17.3846540301009 2 +6.6 62 17.2745502169419 2 +6.6 63 17.2033883896422 2 +6.6 64 17.1193202576585 2 +6.6 65 17.0145773597518 2 +6.6 66 17.0132249869636 2 +6.6 67 16.9037152681706 2 +6.6 68 16.8237377919579 2 +6.6 69 16.7254005835913 2 +6.6 7 25.8704955738136 2 +6.6 70 16.6604559131621 2 +6.6 71 16.6115120142891 2 +6.6 72 16.5354838354396 2 +6.6 73 16.4510451509981 2 +6.6 74 16.3651340761265 2 +6.6 75 16.3190718009488 2 +6.6 76 16.221925951435 2 +6.6 77 16.1541639913688 2 +6.6 78 16.1338318297916 2 +6.6 79 16.0268614299591 2 +6.6 8 25.4614122076637 2 +6.6 80 15.9570689460174 2 +6.6 81 15.9138027957277 2 +6.6 82 15.9106020460314 2 +6.6 83 15.8290563360622 2 +6.6 84 15.7596424354326 2 +6.6 85 15.7207714575698 2 +6.6 86 15.6395951867339 2 +6.6 87 15.5757269608471 2 +6.6 88 15.5420471839329 2 +6.6 89 15.4630753491866 2 +6.6 9 25.147659055648 2 +6.6 90 15.4285118431623 2 +6.6 91 15.3984778635134 2 +6.6 92 15.3106381307273 2 +6.6 93 15.2832253408761 2 +6.6 94 15.20826464311 2 +6.6 95 15.1883400334919 2 +6.6 96 15.0744747462569 2 +6.6 97 15.0803309845477 2 +6.6 98 14.9907108966279 2 +6.6 99 14.977857387761 2 +6.7 0 23.5116919953243 1 +6.7 1 23.4207393174913 1 +6.7 10 20.6933339245859 1 +6.7 100 11.7050514736596 1 +6.7 11 20.3621665314657 1 +6.7 12 20.0880563562375 1 +6.7 13 19.8362636268962 1 +6.7 14 19.5995906736157 1 +6.7 15 19.3863134062199 1 +6.7 16 19.1739340308426 1 +6.7 17 19.0244697599415 1 +6.7 18 18.7923222387666 1 +6.7 19 18.5735112985039 1 +6.7 2 23.0847708038001 1 +6.7 20 18.3711230404998 1 +6.7 21 18.2723188303278 1 +6.7 22 18.1021787162579 1 +6.7 23 17.8430878844999 1 +6.7 24 17.723247121332 1 +6.7 25 17.5285849866265 1 +6.7 26 17.4724844200388 1 +6.7 27 17.26744245499 1 +6.7 28 17.1160299835539 1 +6.7 29 16.9365678582555 1 +6.7 3 22.8759574888071 1 +6.7 30 16.7731039510951 1 +6.7 31 16.7020383928159 1 +6.7 32 16.5202488643429 1 +6.7 33 16.4371901337877 1 +6.7 34 16.2912215431291 1 +6.7 35 16.1770475996955 1 +6.7 36 16.0930298333083 1 +6.7 37 15.9152357485092 1 +6.7 38 15.8535657575562 1 +6.7 39 15.6836267241268 1 +6.7 4 22.4788015757839 1 +6.7 40 15.6080807092115 1 +6.7 41 15.4979311438639 1 +6.7 42 15.3508884700356 1 +6.7 43 15.2455594791171 1 +6.7 44 15.1592456713917 1 +6.7 45 15.0836224790395 1 +6.7 46 14.9602003393881 1 +6.7 47 14.8473969853997 1 +6.7 48 14.8198660254117 1 +6.7 49 14.748142161096 1 +6.7 5 22.0981661981111 1 +6.7 50 14.6127267324029 1 +6.7 51 14.5304298478121 1 +6.7 52 14.414174276751 1 +6.7 53 14.3649792061409 1 +6.7 54 14.2775081369865 1 +6.7 55 14.1998695289483 1 +6.7 56 14.106561438234 1 +6.7 57 14.0488304377841 1 +6.7 58 13.9530979318588 1 +6.7 59 13.8305745994579 1 +6.7 6 21.7600102926938 1 +6.7 60 13.753263018336 1 +6.7 61 13.7471930009265 1 +6.7 62 13.6949044511724 1 +6.7 63 13.5651570149258 1 +6.7 64 13.5197391467005 1 +6.7 65 13.450802736988 1 +6.7 66 13.3924202073062 1 +6.7 67 13.3452726574689 1 +6.7 68 13.2521670028784 1 +6.7 69 13.2295787770916 1 +6.7 7 21.4433784623629 1 +6.7 70 13.1592325200511 1 +6.7 71 13.0754359996487 1 +6.7 72 12.9888304141271 1 +6.7 73 12.9607649158246 1 +6.7 74 12.8953564673088 1 +6.7 75 12.8658219557625 1 +6.7 76 12.8221779838961 1 +6.7 77 12.7541907569231 1 +6.7 78 12.6990366663173 1 +6.7 79 12.6516571788963 1 +6.7 8 21.1909876915216 1 +6.7 80 12.5747163302644 1 +6.7 81 12.5537927041045 1 +6.7 82 12.4994524123509 1 +6.7 83 12.4424205818623 1 +6.7 84 12.404921473429 1 +6.7 85 12.315291222175 1 +6.7 86 12.2724488362954 1 +6.7 87 12.2431888355398 1 +6.7 88 12.2205892213349 1 +6.7 89 12.1763551807544 1 +6.7 9 20.9306243900784 1 +6.7 90 12.1361588025627 1 +6.7 91 12.0241002855815 1 +6.7 92 12.0555995298685 1 +6.7 93 11.9354025199437 1 +6.7 94 11.8963447222939 1 +6.7 95 11.9222714487781 1 +6.7 96 11.8492978626355 1 +6.7 97 11.8347656157909 1 +6.7 98 11.7696855211515 1 +6.7 99 11.7284066058764 1 +6.7 0 28.4928389399202 2 +6.7 1 28.4166169714761 2 +6.7 10 25.3012791461374 2 +6.7 100 15.2299848521005 2 +6.7 11 24.9225061664532 2 +6.7 12 24.6901550805376 2 +6.7 13 24.4611609485605 2 +6.7 14 24.2725687113106 2 +6.7 15 24.0628001211386 2 +6.7 16 23.7224035454479 2 +6.7 17 23.6263362531602 2 +6.7 18 23.3167384861438 2 +6.7 19 23.1552309811151 2 +6.7 2 28.265084380049 2 +6.7 20 22.9801678492103 2 +6.7 21 22.7964334509446 2 +6.7 22 22.5726687955228 2 +6.7 23 22.3699998921593 2 +6.7 24 22.1497680989287 2 +6.7 25 21.9288678261151 2 +6.7 26 21.7562755339708 2 +6.7 27 21.6548698297095 2 +6.7 28 21.5402801402679 2 +6.7 29 21.3672007328399 2 +6.7 3 27.9751468084953 2 +6.7 30 21.1141663020456 2 +6.7 31 21.0557861514343 2 +6.7 32 20.869213289027 2 +6.7 33 20.780286800746 2 +6.7 34 20.5433806454835 2 +6.7 35 20.4704615770941 2 +6.7 36 20.3571311027635 2 +6.7 37 20.227914782002 2 +6.7 38 20.0848437957394 2 +6.7 39 19.910324909208 2 +6.7 4 27.4940376829771 2 +6.7 40 19.7532683065344 2 +6.7 41 19.7190167267179 2 +6.7 42 19.5738017576154 2 +6.7 43 19.4703999905484 2 +6.7 44 19.2808289469957 2 +6.7 45 19.2344498784468 2 +6.7 46 19.0905532990734 2 +6.7 47 18.9875322779429 2 +6.7 48 18.9391739401858 2 +6.7 49 18.851672123025 2 +6.7 5 26.9652376831099 2 +6.7 50 18.7341563627323 2 +6.7 51 18.5588582847822 2 +6.7 52 18.5141872622727 2 +6.7 53 18.3922970962977 2 +6.7 54 18.3619580646844 2 +6.7 55 18.2053973966437 2 +6.7 56 18.1403084129969 2 +6.7 57 18.0362084388238 2 +6.7 58 17.9004576969695 2 +6.7 59 17.8038613265677 2 +6.7 6 26.6058366965242 2 +6.7 60 17.6946172505032 2 +6.7 61 17.6828905588186 2 +6.7 62 17.6392377335468 2 +6.7 63 17.5602260708218 2 +6.7 64 17.463337405831 2 +6.7 65 17.3082312890098 2 +6.7 66 17.3007353380848 2 +6.7 67 17.2018631111705 2 +6.7 68 17.1667071814671 2 +6.7 69 17.1390104629411 2 +6.7 7 26.3101103798291 2 +6.7 70 16.9495792866359 2 +6.7 71 16.9797333967893 2 +6.7 72 16.8610850092701 2 +6.7 73 16.7523719560109 2 +6.7 74 16.6502042959973 2 +6.7 75 16.6574870737637 2 +6.7 76 16.5694853610086 2 +6.7 77 16.5035842182507 2 +6.7 78 16.5039652603733 2 +6.7 79 16.4172643713429 2 +6.7 8 25.9454505221252 2 +6.7 80 16.3062992671185 2 +6.7 81 16.299264631588 2 +6.7 82 16.2415091941309 2 +6.7 83 16.1258648701601 2 +6.7 84 16.1191486403397 2 +6.7 85 16.0335994153665 2 +6.7 86 15.9966834409081 2 +6.7 87 15.9100183895379 2 +6.7 88 15.8806067050212 2 +6.7 89 15.8194168441091 2 +6.7 9 25.6145872549608 2 +6.7 90 15.7446070451973 2 +6.7 91 15.6547156648127 2 +6.7 92 15.6184733829296 2 +6.7 93 15.5880443367406 2 +6.7 94 15.5061897671013 2 +6.7 95 15.4905757940088 2 +6.7 96 15.4490592453032 2 +6.7 97 15.331132999474 2 +6.7 98 15.3434009770463 2 +6.7 99 15.2664211534464 2 +6.8 0 23.9284139426256 1 +6.8 1 23.8363424840519 1 +6.8 10 20.9859568340504 1 +6.8 100 11.9619830199898 1 +6.8 11 20.7246429725343 1 +6.8 12 20.4646525010367 1 +6.8 13 20.3423676766804 1 +6.8 14 20.0072612236978 1 +6.8 15 19.8543916381656 1 +6.8 16 19.5260302324671 1 +6.8 17 19.3645685487687 1 +6.8 18 19.2296340772031 1 +6.8 19 18.903514008637 1 +6.8 2 23.5025039264117 1 +6.8 20 18.8049730733529 1 +6.8 21 18.5660536098172 1 +6.8 22 18.4445593516079 1 +6.8 23 18.2475602068226 1 +6.8 24 18.0906797553369 1 +6.8 25 17.9091659569261 1 +6.8 26 17.7313204389821 1 +6.8 27 17.6010740113306 1 +6.8 28 17.4276984706452 1 +6.8 29 17.3422687571087 1 +6.8 3 23.281543478949 1 +6.8 30 17.1900305693351 1 +6.8 31 17.0242944070735 1 +6.8 32 16.9355757928625 1 +6.8 33 16.7585466980487 1 +6.8 34 16.5997633299463 1 +6.8 35 16.5309460201422 1 +6.8 36 16.4445145000202 1 +6.8 37 16.261249712024 1 +6.8 38 16.1519209991001 1 +6.8 39 16.0266457318379 1 +6.8 4 22.8654424616114 1 +6.8 40 15.9517719034696 1 +6.8 41 15.8005254820524 1 +6.8 42 15.7707927609008 1 +6.8 43 15.6174780446149 1 +6.8 44 15.5120777076026 1 +6.8 45 15.3913852895509 1 +6.8 46 15.3345685588314 1 +6.8 47 15.2257657819523 1 +6.8 48 15.0925629147531 1 +6.8 49 15.0725368224939 1 +6.8 5 22.5526710995067 1 +6.8 50 15.020198386513 1 +6.8 51 14.8921405023562 1 +6.8 52 14.7718881376985 1 +6.8 53 14.6614971141328 1 +6.8 54 14.5936391502233 1 +6.8 55 14.5255733353821 1 +6.8 56 14.4622959399632 1 +6.8 57 14.3607570735286 1 +6.8 58 14.2530291247771 1 +6.8 59 14.2016238296543 1 +6.8 6 22.1308754765681 1 +6.8 60 14.1177304868881 1 +6.8 61 14.0536165312322 1 +6.8 62 14.0187243761144 1 +6.8 63 13.8976078565949 1 +6.8 64 13.816002304239 1 +6.8 65 13.7791630517883 1 +6.8 66 13.7331346326258 1 +6.8 67 13.6450412680225 1 +6.8 68 13.5958786993334 1 +6.8 69 13.5552757507972 1 +6.8 7 21.8089863559114 1 +6.8 70 13.4458143265423 1 +6.8 71 13.3873403793001 1 +6.8 72 13.2995323857714 1 +6.8 73 13.294930119946 1 +6.8 74 13.2765206788103 1 +6.8 75 13.2167182207814 1 +6.8 76 13.0649142369817 1 +6.8 77 13.0453222260906 1 +6.8 78 13.0065773815044 1 +6.8 79 12.9381494795104 1 +6.8 8 21.4629170452439 1 +6.8 80 12.898934923015 1 +6.8 81 12.8480158412236 1 +6.8 82 12.7902854283834 1 +6.8 83 12.6918892144674 1 +6.8 84 12.69049581742 1 +6.8 85 12.6173354710223 1 +6.8 86 12.5696983817148 1 +6.8 87 12.5466481638848 1 +6.8 88 12.4615128528529 1 +6.8 89 12.4501850966987 1 +6.8 9 21.264940318289 1 +6.8 90 12.4132788429004 1 +6.8 91 12.3754295188893 1 +6.8 92 12.2978989045132 1 +6.8 93 12.2402211496239 1 +6.8 94 12.2058364803801 1 +6.8 95 12.2008190289218 1 +6.8 96 12.1401307545452 1 +6.8 97 12.1250196688498 1 +6.8 98 12.0495781056316 1 +6.8 99 12.0456093835973 1 +6.8 0 28.9733293343796 2 +6.8 1 28.9007242784248 2 +6.8 10 25.7290999395035 2 +6.8 100 15.5566282531828 2 +6.8 11 25.5093274100851 2 +6.8 12 25.1727405282474 2 +6.8 13 24.9710167272015 2 +6.8 14 24.6369962483179 2 +6.8 15 24.3657507356578 2 +6.8 16 24.1824043195176 2 +6.8 17 23.9801888774594 2 +6.8 18 23.7001849623293 2 +6.8 19 23.5137808300498 2 +6.8 2 28.776789430574 2 +6.8 20 23.3715878351581 2 +6.8 21 23.2438436341699 2 +6.8 22 22.9228682370274 2 +6.8 23 22.7286959000764 2 +6.8 24 22.5663156814096 2 +6.8 25 22.4015988893217 2 +6.8 26 22.1756472091462 2 +6.8 27 22.0403046437424 2 +6.8 28 21.8607494024441 2 +6.8 29 21.7609953819102 2 +6.8 3 28.4806112948838 2 +6.8 30 21.5305811346566 2 +6.8 31 21.412898640481 2 +6.8 32 21.3207492317956 2 +6.8 33 21.1142860840986 2 +6.8 34 20.9830550523649 2 +6.8 35 20.802332224876 2 +6.8 36 20.71843198962 2 +6.8 37 20.5460682276625 2 +6.8 38 20.4864140919156 2 +6.8 39 20.3599795220032 2 +6.8 4 27.8679725875494 2 +6.8 40 20.2277526322477 2 +6.8 41 20.1305883017038 2 +6.8 42 19.9592964756498 2 +6.8 43 19.8149699936542 2 +6.8 44 19.6903704185775 2 +6.8 45 19.6286407712094 2 +6.8 46 19.5233380287968 2 +6.8 47 19.3935477798603 2 +6.8 48 19.3122524870931 2 +6.8 49 19.175008193346 2 +6.8 5 27.4689048775829 2 +6.8 50 19.0931323813158 2 +6.8 51 18.9333083086187 2 +6.8 52 18.8986178860768 2 +6.8 53 18.8069668711228 2 +6.8 54 18.6828960403709 2 +6.8 55 18.593040928654 2 +6.8 56 18.4946233102737 2 +6.8 57 18.3612709477322 2 +6.8 58 18.2900337716222 2 +6.8 59 18.1636850785164 2 +6.8 6 27.219666106075 2 +6.8 60 18.0984658314565 2 +6.8 61 18.0856504207645 2 +6.8 62 17.9707585493105 2 +6.8 63 17.8794000290068 2 +6.8 64 17.808135658722 2 +6.8 65 17.7382069304273 2 +6.8 66 17.6926126497235 2 +6.8 67 17.6212649788995 2 +6.8 68 17.4753252613881 2 +6.8 69 17.4253398709659 2 +6.8 7 26.7095291561822 2 +6.8 70 17.3093429323286 2 +6.8 71 17.2568365450805 2 +6.8 72 17.1729513022162 2 +6.8 73 17.1278646379436 2 +6.8 74 17.0405510854085 2 +6.8 75 17.0076524326864 2 +6.8 76 16.9191606522464 2 +6.8 77 16.9087254412196 2 +6.8 78 16.7608781998453 2 +6.8 79 16.7274471754519 2 +6.8 8 26.3974804495518 2 +6.8 80 16.6458688569196 2 +6.8 81 16.614929282143 2 +6.8 82 16.4896867836412 2 +6.8 83 16.4974155569752 2 +6.8 84 16.4234705845099 2 +6.8 85 16.3866779291606 2 +6.8 86 16.2808907688754 2 +6.8 87 16.2675473693456 2 +6.8 88 16.1752619076829 2 +6.8 89 16.1239294551914 2 +6.8 9 26.0445530702312 2 +6.8 90 16.0654322187768 2 +6.8 91 15.9810850403458 2 +6.8 92 15.9214266337685 2 +6.8 93 15.9180913195904 2 +6.8 94 15.8503758915317 2 +6.8 95 15.8026491922659 2 +6.8 96 15.7446788230053 2 +6.8 97 15.7318778300051 2 +6.8 98 15.663040272303 2 +6.8 99 15.6237667913932 2 +6.9 0 24.3077250008552 1 +6.9 1 24.2113786689063 1 +6.9 10 21.3796305225477 1 +6.9 100 12.2508804111039 1 +6.9 11 21.1780696050405 1 +6.9 12 20.8363612083982 1 +6.9 13 20.6334751514744 1 +6.9 14 20.3590785980572 1 +6.9 15 20.2466917030606 1 +6.9 16 19.9604502015176 1 +6.9 17 19.7386124616216 1 +6.9 18 19.6005875128717 1 +6.9 19 19.3477101675047 1 +6.9 2 24.0413879424956 1 +6.9 20 19.1705426073093 1 +6.9 21 19.0052345399013 1 +6.9 22 18.8313124489834 1 +6.9 23 18.5953302987017 1 +6.9 24 18.4480239669983 1 +6.9 25 18.2639079295456 1 +6.9 26 18.149140777255 1 +6.9 27 17.928966639219 1 +6.9 28 17.8841411378244 1 +6.9 29 17.6668198825126 1 +6.9 3 23.715075580893 1 +6.9 30 17.5526345883252 1 +6.9 31 17.439818806922 1 +6.9 32 17.2450457965786 1 +6.9 33 17.0940973263282 1 +6.9 34 16.9697005909731 1 +6.9 35 16.902354964181 1 +6.9 36 16.738603524267 1 +6.9 37 16.6291090409323 1 +6.9 38 16.479438301575 1 +6.9 39 16.4029999386958 1 +6.9 4 23.2160632740952 1 +6.9 40 16.3257624444931 1 +6.9 41 16.1631086745693 1 +6.9 42 16.0966081976115 1 +6.9 43 15.9695171146525 1 +6.9 44 15.8506097537547 1 +6.9 45 15.7464740751007 1 +6.9 46 15.7029198456907 1 +6.9 47 15.5118397254278 1 +6.9 48 15.5000127271293 1 +6.9 49 15.3427071128878 1 +6.9 5 22.8849021359814 1 +6.9 50 15.2704524753864 1 +6.9 51 15.1896133300167 1 +6.9 52 15.1291134725656 1 +6.9 53 15.0489556466005 1 +6.9 54 14.9747920496574 1 +6.9 55 14.8250545435733 1 +6.9 56 14.7609504801873 1 +6.9 57 14.7384321348684 1 +6.9 58 14.6265318974269 1 +6.9 59 14.527847656927 1 +6.9 6 22.5435069442196 1 +6.9 60 14.475620290191 1 +6.9 61 14.3962559798706 1 +6.9 62 14.2750714523609 1 +6.9 63 14.2560713131216 1 +6.9 64 14.1822208921312 1 +6.9 65 14.1000305541267 1 +6.9 66 14.0317352171898 1 +6.9 67 13.9602983578812 1 +6.9 68 13.8949129428578 1 +6.9 69 13.8425470909768 1 +6.9 7 22.2413987750172 1 +6.9 70 13.778003506003 1 +6.9 71 13.7297203049318 1 +6.9 72 13.6798527528676 1 +6.9 73 13.6044775651194 1 +6.9 74 13.5325355164299 1 +6.9 75 13.5166613268087 1 +6.9 76 13.4046761132634 1 +6.9 77 13.383177870422 1 +6.9 78 13.2877809014278 1 +6.9 79 13.2763050149853 1 +6.9 8 21.9335004400203 1 +6.9 80 13.1687517120505 1 +6.9 81 13.1816271394458 1 +6.9 82 13.1126908156157 1 +6.9 83 13.06205256825 1 +6.9 84 12.9969375087282 1 +6.9 85 12.9347725890723 1 +6.9 86 12.872293294222 1 +6.9 87 12.837842469935 1 +6.9 88 12.8183038713752 1 +6.9 89 12.7362702278287 1 +6.9 9 21.5888516683189 1 +6.9 90 12.6953733050543 1 +6.9 91 12.6453285589433 1 +6.9 92 12.6464298096586 1 +6.9 93 12.5543105994646 1 +6.9 94 12.535020394074 1 +6.9 95 12.4715371951949 1 +6.9 96 12.4342224632129 1 +6.9 97 12.3912506275461 1 +6.9 98 12.3600964055412 1 +6.9 99 12.3398340983563 1 +6.9 0 29.4610368930748 2 +6.9 1 29.374053555612 2 +6.9 10 26.284401926092 2 +6.9 100 15.853896173598 2 +6.9 11 25.9590720109566 2 +6.9 12 25.5909188316967 2 +6.9 13 25.3332536878902 2 +6.9 14 25.1773822723301 2 +6.9 15 24.848183358423 2 +6.9 16 24.6248652996492 2 +6.9 17 24.3404562956785 2 +6.9 18 24.1223478945551 2 +6.9 19 24.0002204146448 2 +6.9 2 29.1525693451127 2 +6.9 20 23.7562533941668 2 +6.9 21 23.5241049339982 2 +6.9 22 23.3075373984755 2 +6.9 23 23.1389889275078 2 +6.9 24 22.9777416731622 2 +6.9 25 22.7504549034694 2 +6.9 26 22.6264549492751 2 +6.9 27 22.4841652924363 2 +6.9 28 22.2349410598568 2 +6.9 29 22.1767939488455 2 +6.9 3 28.9554573090162 2 +6.9 30 22.0003457485667 2 +6.9 31 21.811763010194 2 +6.9 32 21.6596477534818 2 +6.9 33 21.5483198935511 2 +6.9 34 21.3509199732293 2 +6.9 35 21.2104640037017 2 +6.9 36 21.1138494549248 2 +6.9 37 20.9391698221061 2 +6.9 38 20.8069221882758 2 +6.9 39 20.7167129844697 2 +6.9 4 28.4022641318001 2 +6.9 40 20.6290938579446 2 +6.9 41 20.4764567360617 2 +6.9 42 20.3980585333449 2 +6.9 43 20.181781346926 2 +6.9 44 20.0837786644118 2 +6.9 45 20.0623370290208 2 +6.9 46 19.8612634512635 2 +6.9 47 19.7365210141391 2 +6.9 48 19.6206206882659 2 +6.9 49 19.5684276328096 2 +6.9 5 27.9022811752275 2 +6.9 50 19.4494462948748 2 +6.9 51 19.3056587901339 2 +6.9 52 19.2013109435069 2 +6.9 53 19.1877894144392 2 +6.9 54 19.0663554883971 2 +6.9 55 18.9491280050016 2 +6.9 56 18.8446645876315 2 +6.9 57 18.7606782481919 2 +6.9 58 18.6648939955739 2 +6.9 59 18.6199892582995 2 +6.9 6 27.4489988965203 2 +6.9 60 18.5450426195694 2 +6.9 61 18.4042931844103 2 +6.9 62 18.3511146176547 2 +6.9 63 18.2513438966627 2 +6.9 64 18.2024743735797 2 +6.9 65 18.0769409400657 2 +6.9 66 18.0225413775409 2 +6.9 67 17.9489121404389 2 +6.9 68 17.9225212493569 2 +6.9 69 17.7922182775036 2 +6.9 7 27.2169844289611 2 +6.9 70 17.7320859312051 2 +6.9 71 17.6346235713963 2 +6.9 72 17.5843902335134 2 +6.9 73 17.4077693842263 2 +6.9 74 17.3950789220541 2 +6.9 75 17.356941672215 2 +6.9 76 17.2614591568512 2 +6.9 77 17.2870828711256 2 +6.9 78 17.1576506267089 2 +6.9 79 17.0762478792458 2 +6.9 8 26.8253971893136 2 +6.9 80 17.0202586754836 2 +6.9 81 16.9277468334961 2 +6.9 82 16.8182618671198 2 +6.9 83 16.7882691569111 2 +6.9 84 16.7316565351554 2 +6.9 85 16.6631078886207 2 +6.9 86 16.6094742154101 2 +6.9 87 16.545859509949 2 +6.9 88 16.5226924021647 2 +6.9 89 16.4769949652975 2 +6.9 9 26.5306943018501 2 +6.9 90 16.3763587292227 2 +6.9 91 16.3967537761719 2 +6.9 92 16.2757043658218 2 +6.9 93 16.2743787451726 2 +6.9 94 16.214244484993 2 +6.9 95 16.1081908214672 2 +6.9 96 16.1285197756338 2 +6.9 97 15.9957682508196 2 +6.9 98 15.9825466101427 2 +6.9 99 15.8624786943513 2 +7 0 24.7132272692172 1 +7 1 24.6467983026841 1 +7 10 21.8168715280645 1 +7 100 12.5710466914897 1 +7 11 21.4839539626168 1 +7 12 21.3072458274793 1 +7 13 20.9631860831124 1 +7 14 20.7940423548072 1 +7 15 20.5731916051373 1 +7 16 20.3684338733955 1 +7 17 20.1580940554422 1 +7 18 19.8936576213341 1 +7 19 19.6997194715729 1 +7 2 24.353214452771 1 +7 20 19.6022934046174 1 +7 21 19.3703851938828 1 +7 22 19.2220052910306 1 +7 23 18.9109083489382 1 +7 24 18.8183663535801 1 +7 25 18.644029554794 1 +7 26 18.5030289100772 1 +7 27 18.3735252730959 1 +7 28 18.2273243495997 1 +7 29 18.052336413199 1 +7 3 24.0643040535169 1 +7 30 17.9227356535416 1 +7 31 17.7259287063518 1 +7 32 17.6338036316322 1 +7 33 17.4696259611743 1 +7 34 17.4430920541632 1 +7 35 17.2443646402811 1 +7 36 17.1255871917245 1 +7 37 16.9963904069502 1 +7 38 16.8928657374114 1 +7 39 16.7224072255295 1 +7 4 23.7111492527373 1 +7 40 16.6179967174501 1 +7 41 16.5438479611528 1 +7 42 16.4375481488449 1 +7 43 16.3168565380487 1 +7 44 16.22458576061 1 +7 45 16.0999863307612 1 +7 46 16.0190674307491 1 +7 47 15.8756769821368 1 +7 48 15.819440255082 1 +7 49 15.7427473555802 1 +7 5 23.2373616736538 1 +7 50 15.5772985333306 1 +7 51 15.5770956562439 1 +7 52 15.4502512197594 1 +7 53 15.3883356903384 1 +7 54 15.2866944033966 1 +7 55 15.1896428732008 1 +7 56 15.0880232844706 1 +7 57 15.03819226904 1 +7 58 14.9218277572096 1 +7 59 14.8978073896278 1 +7 6 22.9974936225461 1 +7 60 14.7940117130622 1 +7 61 14.7214623431439 1 +7 62 14.6670171672426 1 +7 63 14.6063206161431 1 +7 64 14.5094676359586 1 +7 65 14.4315853952565 1 +7 66 14.3710463382886 1 +7 67 14.3081940984054 1 +7 68 14.2645222410872 1 +7 69 14.1265387404517 1 +7 7 22.5511848523109 1 +7 70 14.1249401236545 1 +7 71 14.0078206602984 1 +7 72 13.9594479869678 1 +7 73 13.9278180148544 1 +7 74 13.8207319316832 1 +7 75 13.8113199291931 1 +7 76 13.7324329178851 1 +7 77 13.6653142170123 1 +7 78 13.5831172900316 1 +7 79 13.5412928848388 1 +7 8 22.3435118273798 1 +7 80 13.5393307627307 1 +7 81 13.5056633794333 1 +7 82 13.4001515420314 1 +7 83 13.340312917674 1 +7 84 13.3239619507746 1 +7 85 13.2334083125533 1 +7 86 13.1820805440601 1 +7 87 13.1594507102485 1 +7 88 13.0825967471319 1 +7 89 13.0229188646445 1 +7 9 22.151368546381 1 +7 90 12.9878493804996 1 +7 91 13.0004530078248 1 +7 92 12.8978422541367 1 +7 93 12.8505803336803 1 +7 94 12.7906025905766 1 +7 95 12.7737211149218 1 +7 96 12.7223955529563 1 +7 97 12.6701998812866 1 +7 98 12.6652288733313 1 +7 99 12.6287332256503 1 +7 0 29.8595774187202 2 +7 1 29.8431681522536 2 +7 10 26.6233609036239 2 +7 100 16.2044934870669 2 +7 11 26.3304108084898 2 +7 12 26.0730050115853 2 +7 13 25.8005145982713 2 +7 14 25.5632878722853 2 +7 15 25.2560434153885 2 +7 16 25.0516814763941 2 +7 17 24.8823721160921 2 +7 18 24.6405795391833 2 +7 19 24.4561727058038 2 +7 2 29.5812787653022 2 +7 20 24.1509623681333 2 +7 21 23.9158591768553 2 +7 22 23.7398393256681 2 +7 23 23.6064658902275 2 +7 24 23.4112688785008 2 +7 25 23.1391927999049 2 +7 26 23.0316864852379 2 +7 27 22.9034560837185 2 +7 28 22.7288078392224 2 +7 29 22.5628980244331 2 +7 3 29.4170612959221 2 +7 30 22.3854192260085 2 +7 31 22.239374513199 2 +7 32 22.100477843351 2 +7 33 21.9734347593461 2 +7 34 21.7474786275094 2 +7 35 21.6503571995769 2 +7 36 21.4975174990951 2 +7 37 21.3392830727035 2 +7 38 21.2427194574921 2 +7 39 21.1350565607215 2 +7 4 28.8070957939376 2 +7 40 20.9543745139243 2 +7 41 20.8387502011206 2 +7 42 20.7218326470254 2 +7 43 20.6190941285862 2 +7 44 20.5014029085393 2 +7 45 20.3743106915912 2 +7 46 20.2603047328612 2 +7 47 20.134834159515 2 +7 48 19.9970752957496 2 +7 49 19.9715447290438 2 +7 5 28.4452317996348 2 +7 50 19.8773343918034 2 +7 51 19.6996707207466 2 +7 52 19.6152701102838 2 +7 53 19.5265010497943 2 +7 54 19.4041522317827 2 +7 55 19.3840073463051 2 +7 56 19.2443291382446 2 +7 57 19.1563455182231 2 +7 58 19.0831399182498 2 +7 59 18.9777395344543 2 +7 6 28.0059402390182 2 +7 60 18.861960444409 2 +7 61 18.7340743009823 2 +7 62 18.6925902207309 2 +7 63 18.5737038725932 2 +7 64 18.5863259580618 2 +7 65 18.4400030876283 2 +7 66 18.3629908461165 2 +7 67 18.2367503176027 2 +7 68 18.2013580630102 2 +7 69 18.1064266801493 2 +7 7 27.7230369000992 2 +7 70 18.0676873639415 2 +7 71 18.0110870044591 2 +7 72 17.8878128750122 2 +7 73 17.8843632364686 2 +7 74 17.7828855158679 2 +7 75 17.7145327004182 2 +7 76 17.577314320654 2 +7 77 17.5573344462751 2 +7 78 17.4906843044203 2 +7 79 17.3826121770358 2 +7 8 27.3180137945188 2 +7 80 17.3332124835209 2 +7 81 17.2605216332066 2 +7 82 17.2436293658232 2 +7 83 17.1791399020902 2 +7 84 17.1127370796861 2 +7 85 17.0366296023427 2 +7 86 16.9196322582566 2 +7 87 16.9230454048376 2 +7 88 16.8968701865697 2 +7 89 16.8363951145482 2 +7 9 26.7804660734062 2 +7 90 16.6895134975372 2 +7 91 16.7151298252526 2 +7 92 16.6542192134242 2 +7 93 16.5727025871487 2 +7 94 16.488866419295 2 +7 95 16.3803909672455 2 +7 96 16.4117794320617 2 +7 97 16.3936682384801 2 +7 98 16.2944398310478 2 +7 99 16.2051250694547 2 diff --git a/tests/testthat/readnetcdf_unnamed_subset b/tests/testthat/readnetcdf_unnamed_subset new file mode 100644 index 00000000..e69de29b diff --git a/tests/testthat/test_ReadNetCDF.R b/tests/testthat/test-ReadNetCDF.R similarity index 80% rename from tests/testthat/test_ReadNetCDF.R rename to tests/testthat/test-ReadNetCDF.R index 7b597a82..4ff586ee 100644 --- a/tests/testthat/test_ReadNetCDF.R +++ b/tests/testthat/test-ReadNetCDF.R @@ -11,6 +11,14 @@ test_that("subsetting works", { expect_known_output(ReadNetCDF(file, subset = list(lat = -90:20)), "readnetcdf_subset") + + + s <- list( + list(lat = -90:-70, lon = 0:60), + list(lat = 70:90, lon = 300:360) + ) + expect_known_output(ReadNetCDF(file, subset = s), "readnetcdf_unnamed_subset") + }) test_that("naming works", { diff --git a/tests/testthat/test_breaks.R b/tests/testthat/test-breaks.R similarity index 100% rename from tests/testthat/test_breaks.R rename to tests/testthat/test-breaks.R diff --git a/tests/testthat/test-derivate.R b/tests/testthat/test-derivate.R new file mode 100644 index 00000000..a8aefef8 --- /dev/null +++ b/tests/testthat/test-derivate.R @@ -0,0 +1,136 @@ +context("Derivate internals") + +test_derv <- function(y, cyclical = FALSE, fill = FALSE, equispaced = TRUE) { + y <- sort(y) + x <- sin(y) + dx <- cos(y) + ddx <- -sin(y) + + dx_num <- .derv(x, y, cyclical = cyclical, fill = fill, + equispaced = equispaced) + nas <- 2*(!fill) * (!cyclical) + + expect_numeric(dx_num) + expect_equal(sum(is.na(dx_num)), nas) + expect_true(sd(dx_num - dx, na.rm = TRUE) < 0.0001) + + ddx_num <- .derv(x, y, 2, cyclical = cyclical, fill = fill, + equispaced = equispaced) + nas <- nas*2 + + expect_numeric(ddx_num) + expect_equal(sum(is.na(ddx_num)), nas) + + expect_true(sd(ddx_num - ddx, na.rm = TRUE) < 0.01) + + + ddx2_num <- .derv(dx_num, y, 1, cyclical = cyclical, fill = fill, + equispaced = equispaced) + + expect_equal(sum(ddx_num - ddx2_num, na.rm = TRUE), 0) +} + + + + +test_that("Works with equal grid", { + y <- seq(0, 2*pi, length.out = 500)[-1] + test_derv(y) + test_derv(y, fill = TRUE) + test_derv(y, cyclical = TRUE) + expect_error(.derv(x, y, cyclical = TRUE, equispaced = FALSE)) +}) + + + + +test_that("Works with unequal grid", { + y <- runif(500, 0, 2*pi) + test_derv(y) + test_derv(y, fill = TRUE) + expect_error(.derv(x, y, cyclical = TRUE)) +}) + + +context("Derivate interface") +test_that("Derivative works", { + expect_equal({ + x <- 1:10 + y <- 1:10 + Derivate(x ~ y, cyclical = FALSE)[[1]][2] + }, 1) + expect_equal({ + x <- 1:10 + y <- x^2 + Derivate(y ~ x, order = 2, fill = TRUE, cyclical = FALSE)[[1]][2] + }, 2) + expect_equal({ + data <- data.frame(x = 1:10, y = 1:10) + Derivate(x ~ y, data = data, cyclical = FALSE)[[1]][2] + }, 1) +}) + +test_that("Derivative fills edges", { + expect_equal({ + x <- 1:10 + y <- x^3 + is.na(Derivate(y ~ x, order = 3, cyclical = FALSE, fill = TRUE)[[1]][1]) + }, FALSE) +}) + +test_that("Derivative checks boundary conditions", { + expect_error({ + x <- 1:10 + y <- 1:10 + z <- 1:10 + Derivate(x ~ y + z + x, cyclical = c(TRUE, FALSE)) + }) +}) + +test_that("Derivative uses spherical coords", { + expect_equal(Derivate(gh ~ lon + lat, data = geopotential[date == date[1]], + sphere = TRUE), + { + g <- Derivate(gh ~ lon + lat, data = geopotential[date == date[1]]) + g[[1]] <- g[[1]]*180/pi/(6371000*cos(geopotential[date == date[1]]$lat*pi/180)) + g[[2]] <- g[[2]]*180/pi/6371000 + g + }) +}) + +test_that("Divergence returns divergence", { + expect_equal({ + grid <- expand.grid(x = 1:10, y = 1:10) + grid$v <- rnorm(100) + grid$u <- rnorm(100) + Divergence(u + v ~ x + y, data = grid) + }, + { + d <- Derivate(u + v ~ x + y, data = grid) + d$u.dx + d$v.dy}) +}) + +test_that("Laplacian returns laplacian", { + expect_equal({ + grid <- expand.grid(x = 1:10, y = 1:10) + grid$v <- rnorm(100) + grid$u <- rnorm(100) + Laplacian(u + v ~ x + y, data = grid)$u.lap + }, + { + d <- Derivate(u + v ~ x + y, data = grid, order = 2) + d$u.ddx + d$u.ddy}) +}) + +test_that("Vorticity returns vorticidy", { + expect_equal({ + grid <- expand.grid(x = 1:10, y = 1:10) + grid$v <- rnorm(100) + grid$u <- rnorm(100) + Vorticity(u + v ~ x + y, data = grid) + }, + { + d <- Derivate(u + v ~ x + y, data = grid) + d$v.dx - d$u.dy + }) +}) diff --git a/tests/testthat/test_eof.R b/tests/testthat/test-eof.R similarity index 100% rename from tests/testthat/test_eof.R rename to tests/testthat/test-eof.R diff --git a/tests/testthat/test-fitlm.R b/tests/testthat/test-fitlm.R new file mode 100644 index 00000000..88aea402 --- /dev/null +++ b/tests/testthat/test-fitlm.R @@ -0,0 +1,36 @@ +context("Fitlm") + + +n <- 100 +x <- rnorm(n) +y <- rnorm(n) +z <- rnorm(n) +good_fit <- lm(x ~ y + z) + + +test_that("regression works", { + sim_fit <- coef(good_fit) + sim_fit <- list(term = names(sim_fit), estimate = unname(sim_fit)) + + expect_equal(FitLm(x, y, z), sim_fit) + + summ <- summary(good_fit) + + sim_fit <- c(sim_fit, + list(std.error = unname(summ$coefficients[, 2]), + df = rep(97, 3), + r.squared = rep(summ$r.squared, 3), + adj.r.squared = rep(summ$adj.r.squared, 3))) + + expect_equal(FitLm(x, y, z, se = TRUE), sim_fit) +}) + + +test_that("special cases work", { + expect_equal(FitLm(x, rnorm(n), z = rnorm(n))$term[-1], c("V1", "z")) + + expect_equal(FitLm(rnorm(1), rnorm(1))$estimate, c(NA_real_, NA_real_)) + + x[-1] <- NA + expect_equal(FitLm(x, y)$estimate, c(NA_real_, NA_real_)) +}) diff --git a/tests/testthat/test_guide_colorstrip.R b/tests/testthat/test-guide_colorstrip.R similarity index 100% rename from tests/testthat/test_guide_colorstrip.R rename to tests/testthat/test-guide_colorstrip.R diff --git a/tests/testthat/test_guide_vector.R b/tests/testthat/test-guide_vector.R similarity index 100% rename from tests/testthat/test_guide_vector.R rename to tests/testthat/test-guide_vector.R diff --git a/tests/testthat/test_imputeeof.R b/tests/testthat/test-imputeeof.R similarity index 100% rename from tests/testthat/test_imputeeof.R rename to tests/testthat/test-imputeeof.R diff --git a/tests/testthat/test-season.R b/tests/testthat/test-season.R new file mode 100644 index 00000000..fd5646cb --- /dev/null +++ b/tests/testthat/test-season.R @@ -0,0 +1,31 @@ + +context("season functions") + +levels <- c("DJF", "MAM", "JJA", "SON") +niveles <- c("DEF", "MAM", "JJA", "SON") + +test_that("season works", { + + expect_factor(season(1, lang = "en")) + expect_equal(season(1, lang = "en"), factor("DJF", levels = levels)) + expect_equal(season(1, lang = "es"), factor("DEF", levels = niveles)) + + expect_equal(season(1), season("2019-01-01")) + expect_equal(season(1), season("2019-01-25")) + + expect_equal(season(c(1, 3, 6, 9)), factor(levels, levels = levels)) +}) + + +test_that("seasonaly works", { + expect_equal(seasonaly(c("2017-12-01", "2018-01-01", "2018-02-01")), + as.Date(c("2018-01-01", "2018-01-01", "2018-01-01"))) + + +}) + +test_that("full season works", { + expect_equal( + is.full_season(as.Date(c("2017-12-01", "2018-01-01", "2018-02-01", "2018-03-01"))), + c(TRUE, TRUE, TRUE, FALSE)) +}) diff --git a/tests/testthat/test_smallfun.R b/tests/testthat/test-smallfun.R similarity index 74% rename from tests/testthat/test_smallfun.R rename to tests/testthat/test-smallfun.R index d2466369..e0a236d4 100644 --- a/tests/testthat/test_smallfun.R +++ b/tests/testthat/test-smallfun.R @@ -35,3 +35,18 @@ test_that("JumpBy jumps", { }) + +test_that(".is.regular_grid works", { + x <- rnorm(100) + y <- rnorm(100) + + irreg <- data.table::data.table(x, y) + + reg <- data.table::CJ(x = 1:10, y = (1:10)^2) + + expect_false(irreg[, .is.regular_grid(x, y)]) + expect_true(reg[, .is.regular_grid(x, y)]) + expect_false(reg[x*y < 600, .is.regular_grid(x,y)]) +}) + + diff --git a/tests/testthat/test-vis-contour2.R b/tests/testthat/test-vis-contour2.R new file mode 100644 index 00000000..09875c30 --- /dev/null +++ b/tests/testthat/test-vis-contour2.R @@ -0,0 +1,48 @@ + +library(vdiffr) +library(ggplot2) + +context("stat_contour2") +data(geopotential) +geo <- subset(geopotential, date == date[1]) +test_that("geom_contour2 mimics geom_contour", { + expect_doppelganger("contour2-base_geom", + ggplot(geo, aes(lon, lat)) + + geom_contour(aes(z = gh), color = "red") + + geom_contour2(aes(z = gh)) + + guides(fill = "none")) + + expect_doppelganger("contour2-base_stat", + ggplot(geo, aes(lon, lat)) + + geom_contour(aes(z = gh), color = "red") + + stat_contour2(aes(z = gh)) + + guides(fill = "none")) +}) + +test_that("accepts function in breaks", { + expect_doppelganger("contour2-fun", + ggplot(geo, aes(lon, lat)) + + geom_contour2(aes(z = gh), breaks = MakeBreaks(50))) +}) + + +test_that("global.breaks work", { + df <- read.table('met.txt', header = FALSE) + + expect_doppelganger("contour2-global.breaks", + ggplot(df, aes(x=V1, y=V2, z=V3)) + + geom_contour(color = "red") + + geom_contour2(global.breaks = FALSE) + + guides(fill = "none") + + facet_grid(. ~ V4)) + + expect_doppelganger("contour2-global.breaks_full", + ggplot(df, aes(x=V1, y=V2, z=V3)) + + geom_contour_fill(global.breaks = FALSE) + + geom_contour2(global.breaks = FALSE) + + geom_text_contour(global.breaks = FALSE) + + guides(fill = "none") + + facet_grid(. ~ V4)) + + +}) diff --git a/tests/testthat/test-vis-contour_fill.R b/tests/testthat/test-vis-contour_fill.R new file mode 100644 index 00000000..3dbbd2b7 --- /dev/null +++ b/tests/testthat/test-vis-contour_fill.R @@ -0,0 +1,46 @@ +library(vdiffr) +library(data.table) + +context("contour_fill") + +test_that("geom_contour_fill works", { + skip_on_ci() + expect_doppelganger("contour_fill-base", + ggplot(geopotential[date == date[1]], aes(lon, lat)) + + geom_contour_fill(aes(z = gh)) + + guides(fill = "none")) + + expect_doppelganger("contour_fill-base-stat", + ggplot(geopotential[date == date[1]], aes(lon, lat)) + + stat_contour_fill(aes(z = gh)) + + guides(fill = "none")) +}) + +test_that("interpolation", { + data <- geopotential[date == date[1]][lat %between% c(-60, -30) & lon %between% c(90, 120), gh := NA] + g <- ggplot(data, aes(lon, lat)) + + geom_contour_fill(aes(z = gh)) + + guides(fill = "none") + + expect_warning(print(g), "data must not have missing values. Use na.fill = TRUE or impute them before plotting.") + skip_on_ci() + suppressWarnings(expect_doppelganger("contour_fill-nofill", g)) + + g1 <- ggplot(data, aes(lon, lat)) + + geom_contour_fill(aes(z = gh), na.fill = TRUE) + + guides(fill = "none") + expect_warning(print(g1), "imputing missing values") + suppressWarnings(expect_doppelganger("contour_fill-fill", g1)) + + data <- geopotential[date == date[1]][!(lat %between% c(-60, -30) & lon %between% c(90, 120))] + + g2 <- ggplot(data, aes(lon, lat)) + + geom_contour_fill(aes(z = gh), complete = FALSE) + + guides(fill = "none") + expect_warning(print(g2), "data must be a complete regular grid") + + suppressWarnings(expect_doppelganger("contour_fill-nofill", g2)) +}) + + + diff --git a/tests/testthat/test-vis-streamline.R b/tests/testthat/test-vis-streamline.R new file mode 100644 index 00000000..6faba099 --- /dev/null +++ b/tests/testthat/test-vis-streamline.R @@ -0,0 +1,54 @@ +library(metR) +library(ggplot2) +library(data.table) +library(vdiffr) + + +context("Streamline") +geo <- geopotential[date == date[1]] +geo[, c("u", "v") := GeostrophicWind(gh, lon, lat)] + +basic_geom_streamline <- ggplot(geo, aes(lon, lat)) + + geom_streamline(aes(dx = dlon(u, lat), dy = dlat(v)), L = 20) +basic_stat_streamline <- ggplot(geo, aes(lon, lat)) + + stat_streamline(aes(dx = dlon(u, lat), dy = dlat(v)), L = 20) + +test_that("Streamline works", { + skip_on_ci() + expect_doppelganger("streamline-base", basic_geom_streamline) + expect_doppelganger("streamline-base", basic_stat_streamline) +}) + +test_that("Streamline wraps in x amd y", { + skip_on_ci() + expect_doppelganger("streamline-xwrapped", + ggplot(geo, aes(lon, lat)) + + geom_streamline(aes(dx = u, dy = v), L = 20, + xwrap = c(0, 360))) + + expect_doppelganger("streamline-ywrapped", + ggplot(geo, aes(lat, lon)) + + geom_streamline(aes(dx = v, dy = u), L = 20, + ywrap = c(0, 360))) +}) + +test_that("Streamline ignores irregular grids", { + data <- data.frame(lat = rnorm(10), lon = rnorm(10), + u = rnorm(10), v = rnorm(10)) + g <- ggplot(data, aes(lon, lat)) + + geom_streamline(aes(dx = v, dy = u)) + + geo <- rbind(na.omit(geo)[1, u := 1], geo) + + g2 <- ggplot(geo, aes(lon, lat)) + + geom_streamline(aes(dx = dlon(u, lat), dy = dlat(v)), L = 20) + + expect_warning(print(g)) + expect_warning(print(g2)) + + skip_on_ci() + suppressWarnings(expect_doppelganger("streamline-irregular", g)) + suppressWarnings(expect_doppelganger("streamline-irregular", g2)) +}) + + diff --git a/tests/testthat/test_contour2.R b/tests/testthat/test_contour2.R deleted file mode 100644 index 6d702054..00000000 --- a/tests/testthat/test_contour2.R +++ /dev/null @@ -1,20 +0,0 @@ -library(metR) -# library(vdiffr) - -context("stat_contour2") -data(geopotential) -geo <- geopotential[date == date[1]] -# test_that("geom_contour2 mimics geom_contour", { -# expect_doppelganger("contour2-base_geom", -# ggplot(geo, aes(lon, lat)) + -# geom_contour2(aes(z = gh))) -# expect_doppelganger("contour2-base_stat", -# ggplot(geo, aes(lon, lat)) + -# stat_contour2(aes(z = gh))) -# }) -# -# test_that("accepts function in breaks", { -# expect_doppelganger("contour2-fun", -# ggplot(geo, aes(lon, lat)) + -# geom_contour2(aes(z = gh), breaks = MakeBreaks(50))) -# }) diff --git a/tests/testthat/test_contour_fill.R b/tests/testthat/test_contour_fill.R deleted file mode 100644 index a645c94c..00000000 --- a/tests/testthat/test_contour_fill.R +++ /dev/null @@ -1,14 +0,0 @@ -library(metR) -# library(vdiffr) - -context("contour_fill") - -# test_that("geom_contour_fill works", { -# expect_doppelganger("contour_fill-base", -# ggplot(geopotential[date == date[1]], aes(lon, lat)) + -# geom_contour_fill(aes(z = gh))) -# expect_doppelganger("contour_fill-base", -# ggplot(geopotential[date == date[1]], aes(lon, lat)) + -# stat_contour_fill(aes(z = gh))) -# }) - diff --git a/tests/testthat/test_streamline.R b/tests/testthat/test_streamline.R deleted file mode 100644 index 49217d90..00000000 --- a/tests/testthat/test_streamline.R +++ /dev/null @@ -1,52 +0,0 @@ -library(metR) -library(ggplot2) -library(data.table) -# library(vdiffr) - -context("Streamline") -geo <- geopotential[date == date[1]] -geo[, c("u", "v") := GeostrophicWind(gh, lon, lat)] - -basic_geom_streamline <- ggplot(geo, aes(lon, lat)) + - geom_contour(aes(z = gh)) + - geom_streamline(aes(dx = dlon(u, lat), dy = dlat(v))) -basic_stat_streamline <- ggplot(geo, aes(lon, lat)) + - geom_contour(aes(z = gh)) + - stat_streamline(aes(dx = dlon(u, lat), dy = dlat(v))) - -# test_that("Streamline works", { -# expect_doppelganger("streamline-base", basic_geom_streamline) -# expect_doppelganger("streamline-base", basic_stat_streamline) -# }) - -# test_that("Streamline wraps in x amd y", { -# expect_equal(nrow(ggplot_build(ggplot(geo, aes(lon, lat)) + -# geom_streamline(aes(dx = u, dy = v), -# xwrap = c(0, 360)))$data[[1]]), -# 3664 -# ) -# expect_equal(nrow(ggplot_build(ggplot(geo, aes(lon, lat)) + -# geom_streamline(aes(dx = u, dy = v), -# ywrap = c(-90, -20)))$data[[1]]), -# 4379) -# }) - -# data <- as.data.table(expand.grid(x = 1:50, y = 1:50)) -# data[, c("dx", "dy") := .(-sign(x - mean(x)), -sign(y - mean(y)))] -# test_that("Streamline builds the grid correctly", { -# expect_equal({ -# d <- ggplot_build(ggplot(data, aes(x, y)) + -# geom_streamline(aes(dx = dx, dy = dy), -# nx = 10, ny = 10, jitter = 0, S = 2))$data[[1]] -# nrow(subset(d, step == 0)) -# }, 100) -# expect_equal({ -# d <- ggplot_build(ggplot(data, aes(x, y)) + -# geom_streamline(aes(dx = dx, dy = dy), skip = 10, -# jitter = 0, S = 2))$data[[1]] -# nrow(subset(d, step == 0)) -# }, 25) -# }) -# - - diff --git a/tests/testthat/tests.R b/tests/testthat/tests.R index ab6f676e..1cff477d 100644 --- a/tests/testthat/tests.R +++ b/tests/testthat/tests.R @@ -13,93 +13,6 @@ test_that("season assigns season", { }) -context("Derivate") -test_that("Derivative works", { - expect_equal({ - x <- 1:10 - y <- 1:10 - Derivate(x ~ y, cyclical = FALSE)[[1]][2] - }, 1) - expect_equal({ - x <- 1:10 - y <- x^2 - Derivate(y ~ x, order = 2, cyclical = FALSE)[[1]][2] - }, 2) - expect_equal({ - data <- data.frame(x = 1:10, y = 1:10) - Derivate(x ~ y, data = data, cyclical = FALSE)[[1]][2] - }, 1) - expect_equal({ - x <- 1:10 - y <- x^3 - Derivate(y ~ x, order = 3, cyclical = FALSE)[[1]][3] - }, 6) -}) - -test_that("Derivative fills edges", { - expect_equal({ - x <- 1:10 - y <- x^3 - is.na(Derivate(y ~ x, order = 3, cyclical = FALSE, fill = TRUE)[[1]][1]) - }, FALSE) -}) - -test_that("Derivative checks boundary conditions", { - expect_error({ - x <- 1:10 - y <- 1:10 - z <- 1:10 - Derivate(x ~ y + z + x, cyclical = c(TRUE, FALSE)) - }) -}) - -test_that("Derivative uses spherical coords", { - expect_equal(Derivate(gh ~ lon + lat, data = geopotential[date == date[1]], - sphere = TRUE), - { - g <- Derivate(gh ~ lon + lat, data = geopotential[date == date[1]]) - g[[1]] <- g[[1]]*180/pi/(6371000*cos(geopotential[date == date[1]]$lat*pi/180)) - g[[2]] <- g[[2]]*180/pi/6371000 - g - }) -}) - -test_that("Divergence returns divergence", { - expect_equal({ - grid <- expand.grid(x = 1:10, y = 1:10) - grid$v <- rnorm(100) - grid$u <- rnorm(100) - Divergence(u + v ~ x + y, data = grid) - }, - { - d <- Derivate(u + v ~ x + y, data = grid) - d$u.dx + d$v.dy}) -}) - -test_that("Laplacian returns laplacian", { - expect_equal({ - grid <- expand.grid(x = 1:10, y = 1:10) - grid$v <- rnorm(100) - grid$u <- rnorm(100) - Laplacian(u + v ~ x + y, data = grid)$u.lap - }, - { - d <- Derivate(u + v ~ x + y, data = grid, order = 2) - d$u.ddx + d$u.ddy}) -}) - -test_that("Vorticity returns vorticidy", { - expect_equal({ - grid <- expand.grid(x = 1:10, y = 1:10) - grid$v <- rnorm(100) - grid$u <- rnorm(100) - Vorticity(u + v ~ x + y, data = grid) - }, - { - d <- Derivate(u + v ~ x + y, data = grid) - d$v.dx - d$u.dy - }) -}) context("MaskLand") diff --git a/vignettes/Visualization-tools.Rmd b/vignettes/Visualization-tools.Rmd index a72e28b6..be410020 100644 --- a/vignettes/Visualization-tools.Rmd +++ b/vignettes/Visualization-tools.Rmd @@ -24,7 +24,7 @@ One of the "conceptual branches" of `metR` is the *visualization tools*. These a Many meteorological fields are defined in a longitude×latitude×level grid, so `metR` includes scales for each dimension. These are glorified wrappers around `scale_*_continuous()` with sensible defaults and, in the case of `scale_*_level()`, the implementation of `reverselog_trans()`. -There are also `scale_color_divergent()` and `scale_fill_divergent()` which are wrapers around `scale_*_gradient2()` but with sane default colors for positive and negative values --particularly useful for plotting anomaly values. +There are also `scale_color_divergent()` and `scale_fill_divergent()` which are wrappers around `scale_*_gradient2()` but with sane default colours for positive and negative values --particularly useful for plotting anomaly values. To see how this scales work, let's visualize the vertical distribution of temperature anomalies from the zonal mean. @@ -37,7 +37,7 @@ temperature[, air.z := Anomaly(air), by = .(lat, lev)] # Plot made with base ggplot (g <- ggplot(temperature[lon %~% 180], aes(lat, lev, z = air.z)) + - geom_contour(aes(color = ..level..))) + geom_contour2(aes(color = ..level..))) ``` While this is fine, since pressure levels are roughly proportional to $\mathrm{e}^{-z}$ in meteorology we usually plot the vertical coordinate as $-\log(p)$. However, while ggplot2 has `scale_y_log10()` and `scale_y_reverse()`, they don't work together. `metR` defines the new transformation `reverselog_trans()` that can be used with any scale but that is the default for `scale_*_level()`. @@ -111,7 +111,7 @@ As an important note, this stat currently only works with rectangular grids. ## geom_text_contour and geom_label_contour -Labeling contours is also a problematic aspect of `ggplot2`. `geom_text_contour()` and `geom_label_contour()` can be use to automatically add text or labels to the flattest part of a contour. +Labelling contours is also a problematic aspect of `ggplot2`. `geom_text_contour()` and `geom_label_contour()` can be use to automatically add text or labels to the flattest part of a contour. ```{r} ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) + @@ -123,9 +123,9 @@ ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) + scale_y_latitude() ``` -By default it labels every 2nd contour (this can be changed by the `skip` parameter) and it rotates to follow the angle of the contour (this is not available on `geom_label_contour()`). Since in some datasets there can be very small contours that should not be labeled for clarity, the `min.size` argument specifies the minimum points a contour has to have in order to be labeled. +By default it labels every 2nd contour (this can be changed by the `skip` parameter) and it rotates to follow the angle of the contour (this is not available on `geom_label_contour()`). Since in some datasets there can be very small contours that should not be labelled for clarity, the `min.size` argument specifies the minimum points a contour has to have in order to be labelled. -Notice how labels are drawn on top of contours? The problem is that `geom_contour()` doesn't know it's being labeled; `geom_text_contour()` addresses this issue by allowing you to draw a stroke around the text. +Notice how labels are drawn on top of contours? The problem is that `geom_contour()` doesn't know it's being labelled; `geom_text_contour()` addresses this issue by allowing you to draw a stroke around the text. ```{r} ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) + @@ -273,7 +273,7 @@ ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) + scale_y_latitude() + theme(legend.position = "bottom") ``` -This has some limitations as can be seen above. First, in the case of `geom_contour()` the full color scale is replaced by lines. Second, it breaks down if the position of the legend is at the bottom. Finally, the listed colors are the ones mapped to the breaks, which can be a problem in the case of `geom_contour_fill()` in which the colors are actually the values *between* breaks. +This has some limitations as can be seen above. First, in the case of `geom_contour()` the full colour scale is replaced by lines. Second, it breaks down if the position of the legend is at the bottom. Finally, the listed colours are the ones mapped to the breaks, which can be a problem in the case of `geom_contour_fill()` in which the colours are actually the values *between* breaks. All of these problems are solved in `guide_colorstrip()` as can be seen in the figure below. ```{r} @@ -286,7 +286,7 @@ ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) + theme(legend.position = "bottom") ``` -By default, colors are mapped to the values *in between* breaks, so there's a one-to-one mapping between colors shown in the plot and in the guide. From an aesthetic standpoint, it's much closer to the `cbarn` command from `GrADS`, which a lot of atmospheric scientists are probably used to. +By default, colours are mapped to the values *in between* breaks, so there's a one-to-one mapping between colours shown in the plot and in the guide. From an aesthetic standpoint, it's much closer to the `cbarn` command from `GrADS`, which a lot of atmospheric scientists are probably used to. ## geom_relief diff --git a/vignettes/Visualization-tools.html b/vignettes/Visualization-tools.html index 27048a56..5943b419 100644 --- a/vignettes/Visualization-tools.html +++ b/vignettes/Visualization-tools.html @@ -1,18 +1,18 @@ - + - + - + Visualization tools @@ -96,7 +96,7 @@ if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") continue; var style = rule.style.cssText; // check if color or background-color is set - if (rule.style.color === '' || rule.style.backgroundColor === '') continue; + if (rule.style.color === '' && rule.style.backgroundColor === '') continue; // replace div.sourceCode by a pre.sourceCode rule sheets[i].deleteRule(j); sheets[i].insertRule('pre.sourceCode{' + style + '}', j); @@ -303,7 +303,7 @@

Visualization tools

Elio Campitelli

-

2019-07-05

+

2020-02-10

@@ -311,7 +311,7 @@

2019-07-05

Scales

Many meteorological fields are defined in a longitude×latitude×level grid, so metR includes scales for each dimension. These are glorified wrappers around scale_*_continuous() with sensible defaults and, in the case of scale_*_level(), the implementation of reverselog_trans().

-

There are also scale_color_divergent() and scale_fill_divergent() which are wrapers around scale_*_gradient2() but with sane default colors for positive and negative values –particularly useful for plotting anomaly values.

+

There are also scale_color_divergent() and scale_fill_divergent() which are wrappers around scale_*_gradient2() but with sane default colours for positive and negative values –particularly useful for plotting anomaly values.

To see how this scales work, let’s visualize the vertical distribution of temperature anomalies from the zonal mean.

-

+ geom_contour2(aes(color = ..level..)))
+

While this is fine, since pressure levels are roughly proportional to \(\mathrm{e}^{-z}\) in meteorology we usually plot the vertical coordinate as \(-\log(p)\). However, while ggplot2 has scale_y_log10() and scale_y_reverse(), they don’t work together. metR defines the new transformation reverselog_trans() that can be used with any scale but that is the default for scale_*_level().

On the other hand, scale_*_latitude() (and scale_*_longitude()) not only defaults expand to c(0, 0), but also has a ticks argument that specifies the spacing of breaks between -90 and 90 in the case of scale_*_latitude(), and between 0 and 360 in the case of scale_*_longitude().

These scales default to printing no label, since usually the dimensions are understood by the shape of the plot.

@@ -330,7 +330,7 @@

Scales

scale_y_level() + scale_x_latitude(ticks = 15, limits = c(-90, 90)) + scale_color_divergent() -

+

Note: scale_*_longitude() (currently) assumes the data goes from 0° to 360° but puts labels between -180° and 180°. This very idiosyncratic choice stems from the fact that model output is usually in the [0; 360) range but it’s easier to read maps in the (-180; 180] range. This may change in the future.

@@ -355,7 +355,7 @@

geom_contour_fill()

ggplot(v, aes(Var1, Var2, z = value)) + geom_contour_fill(breaks = breaks) + guides(fill = "none")
-

+

In principle, geom_contour_fill() needs a full regular grid with no missing values and by default with fail if otherwise. However it can automatically impute missing values. With the na.fill parameter you can have some control over the imputation of NAs. Setting it to TRUE will impute missing values with spline bivariate interpolation. Other options are passing a constant numeric value or a function that takes the vector of values and return one value (like mean).

# Adding missing values
 v[, value.gap := value]
@@ -365,7 +365,7 @@ 

geom_contour_fill()

geom_contour_fill(breaks = breaks, na.fill = TRUE) + geom_point(data = v[is.na(value.gap)], size = 0.1, alpha = 0.3) #> Warning: imputing missing values
-

+

It’s probably good practice to mask missing values with geom_raster(). See stat_subset() for a quick way of selecting missing values.

We can apply this to a more realistic dataset

ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) +
@@ -373,12 +373,12 @@ 

geom_contour_fill()

scale_fill_divergent() + scale_x_longitude() + scale_y_latitude()
-

+

As an important note, this stat currently only works with rectangular grids.

geom_text_contour and geom_label_contour

-

Labeling contours is also a problematic aspect of ggplot2. geom_text_contour() and geom_label_contour() can be use to automatically add text or labels to the flattest part of a contour.

+

Labelling contours is also a problematic aspect of ggplot2. geom_text_contour() and geom_label_contour() can be use to automatically add text or labels to the flattest part of a contour.

-

-

By default it labels every 2nd contour (this can be changed by the skip parameter) and it rotates to follow the angle of the contour (this is not available on geom_label_contour()). Since in some datasets there can be very small contours that should not be labeled for clarity, the min.size argument specifies the minimum points a contour has to have in order to be labeled.

-

Notice how labels are drawn on top of contours? The problem is that geom_contour() doesn’t know it’s being labeled; geom_text_contour() addresses this issue by allowing you to draw a stroke around the text.

+

+

By default it labels every 2nd contour (this can be changed by the skip parameter) and it rotates to follow the angle of the contour (this is not available on geom_label_contour()). Since in some datasets there can be very small contours that should not be labelled for clarity, the min.size argument specifies the minimum points a contour has to have in order to be labelled.

+

Notice how labels are drawn on top of contours? The problem is that geom_contour() doesn’t know it’s being labelled; geom_text_contour() addresses this issue by allowing you to draw a stroke around the text.

-

+

geom_contour_tanaka

@@ -407,7 +407,7 @@

geom_contour_tanaka

scale_fill_divergent() + scale_x_longitude() + scale_y_latitude()
-

+

stat_subset

@@ -425,14 +425,14 @@

stat_subset

scale_fill_divergent() + scale_x_longitude() + scale_y_latitude()
-

+

Another possible use it to quickly mask missing values.

ggplot(v, aes(Var1, Var2, z = value.gap)) +
     geom_contour_fill(breaks = breaks, na.fill = TRUE) +
     stat_subset(aes(subset = is.na(value.gap)), geom = "raster", 
                 fill = "#EBEBEB")
 #> Warning: imputing missing values
-

+

geom_vector and geom_arrow

@@ -450,16 +450,16 @@

geom_vector and geom_arrow

scale_y_latitude(limits = c(-90, 0)) + scale_x_longitude() + scale_mag())
-

+

In the above example, t.dx and t.dy represent displacements in the same units as the x and y dimension, so using geom_vector() each arrow points perpendicular to the contours even if we change the coordinate system.

g + coord_polar()
-

+

But if we want to plot how the (horizontal) direction changes with height it makes more sense to use geom_arrow() (or geom_vector(preserve.dir = TRUE))

ggplot(temperature[lon %between% c(100, 200) & lat == -50], aes(lon, lev)) + 
     geom_arrow(aes(dx = dx(t.dx, lat), dy = dy(t.dy)), skip = 1) +
     scale_y_level() +
     scale_mag()
-

+

In this case, an arrow at a 45° angle represents temperature gradient from the southwest regardless of the x and y scales.

The start and direction arguments adjust the behaviour of the arrows. This is useful for working with winds in the meteorological standard (in which 0° means wind from the North and 90° means wind from the East).

@@ -472,11 +472,11 @@

geom_streamline

arrow.length = 0.3, xwrap = c(0, 360)) + scale_y_latitude(limits = c(-90, 0)) + scale_x_longitude()) -

+

There are several parameters that control the feel of the result. L and res control the length and resolution, while the skip parameters change the amount of the streamlines. More in depth control over the simulation can be accomplished by the S and dt parameters.

Since streamlines imply a tight relationship between the vector field and the spatial dimensions, it’s important that their units are compatible. A wind field in m/s in a longitude-latitude grid should first be converted into degrees/s. The functions dlon() and dlat() are an easy way of doing this. This tight coupling also means that they are robust to coordinate transformations.

g + coord_polar()
-

+

stat_streamline() computes three useful variables. step is the integration step, and dx and dy are the components of the vector field at each point. They can be used to visualize information about the field in each point, and to give a sense of direction without arrows.

ggplot(temperature[lev == 500], aes(lon, lat)) +
     geom_streamline(aes(dx = t.dy, dy = -t.dx, size = ..step.., alpha = ..step..,
@@ -487,7 +487,7 @@ 

geom_streamline

viridis::scale_color_viridis(guide = "none") + scale_size(range = c(0, 1), guide = "none") + scale_alpha(guide = "none")
-

+

@@ -501,8 +501,8 @@

guide_colorstrip

breaks = MakeBreaks(2)) + scale_x_longitude() + scale_y_latitude() + theme(legend.position = "bottom")
-

-

This has some limitations as can be seen above. First, in the case of geom_contour() the full color scale is replaced by lines. Second, it breaks down if the position of the legend is at the bottom. Finally, the listed colors are the ones mapped to the breaks, which can be a problem in the case of geom_contour_fill() in which the colors are actually the values between breaks.

+

+

This has some limitations as can be seen above. First, in the case of geom_contour() the full colour scale is replaced by lines. Second, it breaks down if the position of the legend is at the bottom. Finally, the listed colours are the ones mapped to the breaks, which can be a problem in the case of geom_contour_fill() in which the colours are actually the values between breaks.

All of these problems are solved in guide_colorstrip() as can be seen in the figure below.

ggplot(temperature[lev == 300], aes(lon, lat, z = air.z)) +
     geom_contour_fill(breaks = MakeBreaks(2)) +
@@ -512,19 +512,22 @@ 

guide_colorstrip

scale_y_latitude() + theme(legend.position = "bottom")

-

By default, colors are mapped to the values in between breaks, so there’s a one-to-one mapping between colors shown in the plot and in the guide. From an aesthetic standpoint, it’s much closer to the cbarn command from GrADS, which a lot of atmospheric scientists are probably used to.

+

By default, colours are mapped to the values in between breaks, so there’s a one-to-one mapping between colours shown in the plot and in the guide. From an aesthetic standpoint, it’s much closer to the cbarn command from GrADS, which a lot of atmospheric scientists are probably used to.

geom_relief

This geom produces a shaded relief of the data. It doesn’t really map the data per se, but it provides an intuitive representation of hills and valleys that can be used as a background for plotting actual data.

-

+

+ + +