| 15430 | } |
| 15431 | |
| 15432 | function radial() { |
| 15433 | var squared = continuous(), |
| 15434 | range = [0, 1], |
| 15435 | round = false, |
| 15436 | unknown; |
| 15437 | |
| 15438 | function scale(x) { |
| 15439 | var y = unsquare(squared(x)); |
| 15440 | return isNaN(y) ? unknown : round ? Math.round(y) : y; |
| 15441 | } |
| 15442 | |
| 15443 | scale.invert = function(y) { |
| 15444 | return squared.invert(square$1(y)); |
| 15445 | }; |
| 15446 | |
| 15447 | scale.domain = function(_) { |
| 15448 | return arguments.length ? (squared.domain(_), scale) : squared.domain(); |
| 15449 | }; |
| 15450 | |
| 15451 | scale.range = function(_) { |
| 15452 | return arguments.length ? (squared.range((range = Array.from(_, number$1)).map(square$1)), scale) : range.slice(); |
| 15453 | }; |
| 15454 | |
| 15455 | scale.rangeRound = function(_) { |
| 15456 | return scale.range(_).round(true); |
| 15457 | }; |
| 15458 | |
| 15459 | scale.round = function(_) { |
| 15460 | return arguments.length ? (round = !!_, scale) : round; |
| 15461 | }; |
| 15462 | |
| 15463 | scale.clamp = function(_) { |
| 15464 | return arguments.length ? (squared.clamp(_), scale) : squared.clamp(); |
| 15465 | }; |
| 15466 | |
| 15467 | scale.unknown = function(_) { |
| 15468 | return arguments.length ? (unknown = _, scale) : unknown; |
| 15469 | }; |
| 15470 | |
| 15471 | scale.copy = function() { |
| 15472 | return radial(squared.domain(), range) |
| 15473 | .round(round) |
| 15474 | .clamp(squared.clamp()) |
| 15475 | .unknown(unknown); |
| 15476 | }; |
| 15477 | |
| 15478 | initRange.apply(scale, arguments); |
| 15479 | |
| 15480 | return linearish(scale); |
| 15481 | } |
| 15482 | |
| 15483 | function quantile() { |
| 15484 | var domain = [], |