The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Copyright 2010, 2011, 2012 Kevin Ryde

This file is part of Math-PlanePath.

Math-PlanePath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

Math-PlanePath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with Math-PlanePath.  If not, see <http://www.gnu.org/licenses/>.



Version 77, June 2012
    - new DiagonalsOctant

Version 76, May 2012
    - tests allow for as_float() only in recent Math::BigRat

Version 75, May 2012
    - new CubicBase, CCurve, R5DragonCurve, R5DragonMidpoint, TerdragonRounded
    - MultipleRings new ring_shape=>'polygon'
    - PlanePathDelta new delta_type=>'dSum'
    - fix TheodorusSpiral n_to_rsquared() on fractional N

Version 74, May 2012
    - new ImaginaryBase
    - new method n_to_rsquared()
    - PlanePathN new line_type X_neg,Y_neg
    - fix ImaginaryBase xy_to_n() possible infloop on floating point rounding
    - fix TerdragonMidpoint xy_to_n() undef on points outside requested arms

Version 73, April 2012
    - new GrayCode, SierpinskiCurveStair, WunderlichSerpentine
    - fix GcdRationals xy_to_n() on BigInt
    - PlanePathCoord new coord_type SumAbs,TRadius,TRSquared

Version 72, March 2012
    - PlanePathTurn new turn_type "Right"

Version 71, February 2012
    - new FilledRings
    - misc fixes for Math::NumSeq::PlanePathCoord etc values_min etc

Version 70, February 2012
    - TheodorusSpiral fix n_to_xy() position saving
    - StaircaseAlternating new end_type=>"square"

Version 69, February 2012
    - new Math::NumSeq::PlanePathTurn
    - Math::NumSeq::PlanePathN new pred()

Version 68, February 2012
    - new xy_to_n_list()
    - new CretanLabyrinth

Version 67, February 2012
    - oops, DragonMidpoint,DragonRounded xy_to_n() exclude points on the
      arm one past what was requested
    - new CellularRule57

Version 66, February 2012
    - new TerdragonMidpoint
    - DragonCurve,DragonMidpoint,DragonRounded,TerdragonCurve faster xy_to_n()

Version 65, January 2012
    - new parameter_info_hash(), n_frac_discontinuity()

Version 64, January 2012
    - new AnvilSpiral, AlternatePaper, ComplexPlus, TerdragonCurve

Version 63, January 2012
    - new class_x_negative() and class_y_negative() methods
    - new CellularRule, ComplexRevolving, Math::NumSeq::PlanePathN
    - Math::NumSeq::PlanePathCoord etc new planepath_object option

Version 62, December 2011
    - new FractionsTree

Version 61, December 2011
    - new FactorRationals

Version 60, December 2011
    - new GcdRationals

Version 59, December 2011
    - new AR2W2Curve

Version 58, December 2011
    - new DiagonalRationals, StaircaseAlternating,
      Math::NumSeq::PlanePathDelta

Version 57, December 2011
    - new HilbertSpiral
    - LTiling new L_fill "left" and "upper"

Version 56, December 2011
    - new CincoCurve, DiagonalsAlternating, LTiling

Version 55, November 2011
    - new KochelCurve, MPeaks
    - Flowsnake,QuintetCurve faster xy_to_n()

Version 54, November 2011
    - new WunderlichMeander
    - PlanePathCoord new coordinate_type Product,DiffXY,DiffYX,AbsDiff
    - BetaOmega,CellularRule190 exact rect_to_n_range()

Version 53, November 2011
    - new FibonacciWordFractal, Math::NumSeq::PlanePathCoord

Version 52, November 2011
    - new BetaOmega, CornerReplicate, DigitGroups, HIndexing

Version 51, October 2011
    - new CellularRule190

Version 50, October 2011
    - DragonRounded fix xy_to_n() with arms=2,3,4 on innermost XY=0,1
    - SierpinskiCurve fixes for rect_to_n_range()

Version 49, October 2011
    - new AztecDiamondRings, DivisibleColumns, SierpinskiCurve,
      UlamWarburtonQuarter
    - SierpinskiArrowheadCentres fix for n_to_xy() on fractional $n

Version 48, October 2011
    - new UlamWarburton

Version 47, October 2011
    - new SquareReplicate

Version 46, September 2011
    - new GosperReplicate

Version 45, September 2011
    - new QuintetCurve, QuintetCentres, QuintetReplicate

Version 44, September 2011
    - new ComplexMinus
    - RationalsTree new Drib tree
    - Corner new wider parameter

Version 43, September 2011
    - new KochSquareflakes, RationalsTree
    - new parameter_info_array(), parameter_info_list()

Version 42, September 2011
    - new SierpinskiArrowheadCentres, SierpinskiTriangle

Version 41, August 2011
    - new QuadricCurve, QuadricIslands, ImaginaryBase

Version 40, August 2011
    - new DragonRounded, CellularRule54
    - new arms_count() method
    - Flowsnake, FlowsnakeCentres new "arms" parameter

Version 39, August 2011
    - new DragonCurve, DragonMidpoint

Version 38, August 2011
    - new Flowsnake, FlowsnakeCentres

Version 37, July 2011
    - new SquareArms, DiamondArms, File

Version 36, July 2011
    - new HexArms
    - PeanoCurve new radix parameter

Version 35, July 2011
    - new GosperSide
    - fixes for experimental BigFloat support

Version 34, July 2011
    - ZOrderCurve new radix parameter

Version 33, July 2011
    - new GosperIslands

Version 32, June 2011
    - new SierpinskiArrowhead, CoprimeColumns

Version 31, June 2011
    - KochCurve fix for fractional N

Version 31, June 2011
    - PythagoreanTree avoid dubious hypot() on darwin 8.11.0

Version 30, May 2011
    - new TriangularHypot, KochCurve, KochPeaks, KochSnowflakes

Version 29, May 2011
    - GreekKeySpiral rect_to_n_range() tighter $n_lo
    - tests more diagnostics on PythagoreanTree

Version 28, May 2011
    - PixelRings xy_to_n() fix some X==Y points should be undef

Version 27, May 2011
    - new GreekKeySpiral

Version 26, May 2011
    - new PythagoreanTree
    - Rows,Columns more care against width<=0 or height<=0

Version 25, May 2011
    - tests fix neg zero for long double NV

Version 24, May 2011
    - tests fix OEIS file comparisons
    - MultipleRings xy_to_n() fix for x=-0,y=0

Version 23, April 2011
    - new ArchimedeanChords
    - TheodorusSpiral rect_to_n_range() tighter $n_lo

Version 22, March 2011
    - new n_start() method
    - SacksSpiral rect_to_n_range() include N=0

Version 21, February 2011
    - new Hypot, HypotOctant, OctagramSpiral
    - TheodorusSpiral, VogelFloret allow for xy_to_n() result bigger than IV
      (though that big is probably extremely slow)

Version 20, February 2011
    - fix Makefile.PL for perl 5.6.0
    - tests avoid stringized "-0" from perl 5.6.x

Version 19, January 2011
    - new PixelRings

Version 18, January 2011
    - avoid some 5.12 warnings on infs

Version 17, January 2011
    - avoid some inf loops and div by zeros for n=infinity or x,y=infinity
      (handling of infinity is unspecified, but at least don't hang)
    - PyramidRows, PyramidSides exact rect_to_n_range()

Version 16, January 2011
    - new PeanoCurve, Staircase

Version 15, January 2011
    - MultipleRings fix xy_to_n() and rect_to_n_range() at 0,0
    - Corners,Diagonals,MultipleRings tighter rect_to_n_range()

Version 14, December 2010
    - HilbertCurve exact rect_to_n_range()

Version 13, December 2010
    - new HilbertCurve, ZOrderCurve

Version 12, October 2010
    - oops, VogelFloret botched rect_to_n_range()

Version 11, October 2010
    - VogelFloret new rotation and radius parameters
    - SacksSpiral,VogelFloret tighter rect_to_n_range() when away from origin

Version 10, October 2010
    - fix MultipleRings xy_to_n()

Version 9, September 2010
    - HexSpiral and HexSpiralSkewed new "wider" parameter

Version 8, September 2010
    - tests fix stray 5.010 should be just 5.004

Version 7, August 2010
    - new MultipleRings
    - VogelFloret xy_to_n() fix for positions away from exact N
    - Rows, Columns rect_to_n_range() tighter

Version 6, August 2010
    - new TheodorusSpiral

Version 5, July 2010
    - SquareSpiral new "wider" parameter

Version 4, July 2010
    - new PentSpiral, HeptSpiralSkewed
    - PyramidRows "step" parameter

Version 3, July 2010
    - new PyramidSpiral, TriangleSpiral, TriangleSpiralSkewed, PentSpiralSkewed

Version 2, July 2010
    - in Diagonals don't negative sqrt() if n=0

Version 1, July 2010
    - the first version