/**************************************************************************/
/*  Copyright 2012 Tim Day                                                */
/*                                                                        */
/*  This file is part of Evolvotron                                       */
/*                                                                        */
/*  Evolvotron 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 of the License, or     */
/*  (at your option) any later version.                                   */
/*                                                                        */
/*  Evolvotron 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 Evolvotron.  If not, see <http://www.gnu.org/licenses/>.   */
/**************************************************************************/

/* AUTO GENERATED FILE.  DO NOT EDIT */

/* Should be updated by update_register_all_functions script when new functions are added */



#include "register_all_functions.h"

#include "function_boilerplate.h"
REGISTER_DCL(FunctionComposePair);
REGISTER_DCL(FunctionComposeTriple);
REGISTER_DCL(FunctionConstant);
REGISTER_DCL(FunctionIdentity);
REGISTER_DCL(FunctionPostTransform);
REGISTER_DCL(FunctionPreTransform);
REGISTER_DCL(FunctionAdd);
REGISTER_DCL(FunctionMultiply);
REGISTER_DCL(FunctionDivide);
REGISTER_DCL(FunctionMax);
REGISTER_DCL(FunctionMin);
REGISTER_DCL(FunctionModulus);
REGISTER_DCL(FunctionExp);
REGISTER_DCL(FunctionSin);
REGISTER_DCL(FunctionCos);
REGISTER_DCL(FunctionChooseStrip);
REGISTER_DCL(FunctionChooseStripBlend);
REGISTER_DCL(FunctionChooseSphere);
REGISTER_DCL(FunctionChooseRect);
REGISTER_DCL(FunctionChooseFrom2InCubeMesh);
REGISTER_DCL(FunctionChooseFrom3InCubeMesh);
REGISTER_DCL(FunctionChooseFrom2InSquareGrid);
REGISTER_DCL(FunctionChooseFrom3InSquareGrid);
REGISTER_DCL(FunctionChooseFrom2InTriangleGrid);
REGISTER_DCL(FunctionChooseFrom3InTriangleGrid);
REGISTER_DCL(FunctionChooseFrom3InDiamondGrid);
REGISTER_DCL(FunctionChooseFrom3InHexagonGrid);
REGISTER_DCL(FunctionChooseFrom2InBorderedHexagonGrid);
REGISTER_DCL(FunctionFilter2D);
REGISTER_DCL(FunctionFilter3D);
REGISTER_DCL(FunctionAverageSamples);
REGISTER_DCL(FunctionStreak);
REGISTER_DCL(FunctionAverageRing);
REGISTER_DCL(FunctionFilterRing);
REGISTER_DCL(FunctionConvolveSamples);
REGISTER_DCL(FunctionAccumulateOctaves);
REGISTER_DCL(FunctionFriezeGroupHopFreeZ);
REGISTER_DCL(FunctionFriezeGroupHopClampZ);
REGISTER_DCL(FunctionFriezeGroupHopBlendClampZ);
REGISTER_DCL(FunctionFriezeGroupHopBlendFreeZ);
REGISTER_DCL(FunctionFriezeGroupJumpFreeZ);
REGISTER_DCL(FunctionFriezeGroupJumpClampZ);
REGISTER_DCL(FunctionFriezeGroupJumpBlendClampZ);
REGISTER_DCL(FunctionFriezeGroupJumpBlendFreeZ);
REGISTER_DCL(FunctionFriezeGroupSidleFreeZ);
REGISTER_DCL(FunctionFriezeGroupSidleClampZ);
REGISTER_DCL(FunctionFriezeGroupSpinhopFreeZ);
REGISTER_DCL(FunctionFriezeGroupSpinhopClampZ);
REGISTER_DCL(FunctionFriezeGroupSpinhopBlendClampZ);
REGISTER_DCL(FunctionFriezeGroupSpinhopBlendFreeZ);
REGISTER_DCL(FunctionFriezeGroupSpinjumpFreeZ);
REGISTER_DCL(FunctionFriezeGroupSpinjumpClampZ);
REGISTER_DCL(FunctionFriezeGroupSpinsidleFreeZ);
REGISTER_DCL(FunctionFriezeGroupSpinsidleClampZ);
REGISTER_DCL(FunctionFriezeGroupStepFreeZ);
REGISTER_DCL(FunctionFriezeGroupStepClampZ);
REGISTER_DCL(FunctionCross);
REGISTER_DCL(FunctionGeometricInversion);
REGISTER_DCL(FunctionReflect);
REGISTER_DCL(FunctionDerivative);
REGISTER_DCL(FunctionDerivativeGeneralised);
REGISTER_DCL(FunctionGradient);
REGISTER_DCL(FunctionGradientGeneralised);
REGISTER_DCL(FunctionDivergence);
REGISTER_DCL(FunctionCurl);
REGISTER_DCL(FunctionScalarLaplacian);
REGISTER_DCL(FunctionMandelbrotChoose);
REGISTER_DCL(FunctionMandelbrotContour);
REGISTER_DCL(FunctionJuliaChoose);
REGISTER_DCL(FunctionJuliaContour);
REGISTER_DCL(FunctionJuliabrotChoose);
REGISTER_DCL(FunctionJuliabrotContour);
REGISTER_DCL(FunctionKaleidoscope);
REGISTER_DCL(FunctionKaleidoscopeZRotate);
REGISTER_DCL(FunctionKaleidoscopeTwist);
REGISTER_DCL(FunctionWindmill);
REGISTER_DCL(FunctionWindmillZRotate);
REGISTER_DCL(FunctionWindmillTwist);
REGISTER_DCL(FunctionMagnitudes);
REGISTER_DCL(FunctionMagnitude);
REGISTER_DCL(FunctionCone);
REGISTER_DCL(FunctionExpCone);
REGISTER_DCL(FunctionSeparateZ);
REGISTER_DCL(FunctionIterate);
REGISTER_DCL(FunctionNoiseOneChannel);
REGISTER_DCL(FunctionMultiscaleNoiseOneChannel);
REGISTER_DCL(FunctionNoiseThreeChannel);
REGISTER_DCL(FunctionMultiscaleNoiseThreeChannel);
REGISTER_DCL(FunctionPixelize);
REGISTER_DCL(FunctionPixelizeHex);
REGISTER_DCL(FunctionVoxelize);
REGISTER_DCL(FunctionOrthoSphereShaded);
REGISTER_DCL(FunctionOrthoSphereShadedBumpMapped);
REGISTER_DCL(FunctionOrthoSphereReflect);
REGISTER_DCL(FunctionOrthoSphereReflectBumpMapped);
REGISTER_DCL(FunctionShadow);
REGISTER_DCL(FunctionShadowGeneralised);
REGISTER_DCL(FunctionCartesianToSpherical);
REGISTER_DCL(FunctionSphericalToCartesian);
REGISTER_DCL(FunctionEvaluateInSpherical);
REGISTER_DCL(FunctionSpiralLinear);
REGISTER_DCL(FunctionSpiralLogarithmic);
REGISTER_DCL(FunctionTartanSelectFree);
REGISTER_DCL(FunctionTartanSelect);
REGISTER_DCL(FunctionTartanSelectRepeat);
REGISTER_DCL(FunctionTartanMixFree);
REGISTER_DCL(FunctionTartanMixRepeat);
REGISTER_DCL(FunctionIsotropicScale);
REGISTER_DCL(FunctionPreTransformGeneralised);
REGISTER_DCL(FunctionPostTransformGeneralised);
REGISTER_DCL(FunctionTransformQuadratic);
REGISTER_DCL(FunctionRotate);
REGISTER_DCL(FunctionTop);
REGISTER_DCL(FunctionTransformGeneralised);
REGISTER_DCL(FunctionTransform);

void register_all_functions(FunctionRegistry& r)
{
  register_FunctionComposePair(r);
  register_FunctionComposeTriple(r);
  register_FunctionConstant(r);
  register_FunctionIdentity(r);
  register_FunctionPostTransform(r);
  register_FunctionPreTransform(r);
  register_FunctionAdd(r);
  register_FunctionMultiply(r);
  register_FunctionDivide(r);
  register_FunctionMax(r);
  register_FunctionMin(r);
  register_FunctionModulus(r);
  register_FunctionExp(r);
  register_FunctionSin(r);
  register_FunctionCos(r);
  register_FunctionChooseStrip(r);
  register_FunctionChooseStripBlend(r);
  register_FunctionChooseSphere(r);
  register_FunctionChooseRect(r);
  register_FunctionChooseFrom2InCubeMesh(r);
  register_FunctionChooseFrom3InCubeMesh(r);
  register_FunctionChooseFrom2InSquareGrid(r);
  register_FunctionChooseFrom3InSquareGrid(r);
  register_FunctionChooseFrom2InTriangleGrid(r);
  register_FunctionChooseFrom3InTriangleGrid(r);
  register_FunctionChooseFrom3InDiamondGrid(r);
  register_FunctionChooseFrom3InHexagonGrid(r);
  register_FunctionChooseFrom2InBorderedHexagonGrid(r);
  register_FunctionFilter2D(r);
  register_FunctionFilter3D(r);
  register_FunctionAverageSamples(r);
  register_FunctionStreak(r);
  register_FunctionAverageRing(r);
  register_FunctionFilterRing(r);
  register_FunctionConvolveSamples(r);
  register_FunctionAccumulateOctaves(r);
  register_FunctionFriezeGroupHopFreeZ(r);
  register_FunctionFriezeGroupHopClampZ(r);
  register_FunctionFriezeGroupHopBlendClampZ(r);
  register_FunctionFriezeGroupHopBlendFreeZ(r);
  register_FunctionFriezeGroupJumpFreeZ(r);
  register_FunctionFriezeGroupJumpClampZ(r);
  register_FunctionFriezeGroupJumpBlendClampZ(r);
  register_FunctionFriezeGroupJumpBlendFreeZ(r);
  register_FunctionFriezeGroupSidleFreeZ(r);
  register_FunctionFriezeGroupSidleClampZ(r);
  register_FunctionFriezeGroupSpinhopFreeZ(r);
  register_FunctionFriezeGroupSpinhopClampZ(r);
  register_FunctionFriezeGroupSpinhopBlendClampZ(r);
  register_FunctionFriezeGroupSpinhopBlendFreeZ(r);
  register_FunctionFriezeGroupSpinjumpFreeZ(r);
  register_FunctionFriezeGroupSpinjumpClampZ(r);
  register_FunctionFriezeGroupSpinsidleFreeZ(r);
  register_FunctionFriezeGroupSpinsidleClampZ(r);
  register_FunctionFriezeGroupStepFreeZ(r);
  register_FunctionFriezeGroupStepClampZ(r);
  register_FunctionCross(r);
  register_FunctionGeometricInversion(r);
  register_FunctionReflect(r);
  register_FunctionDerivative(r);
  register_FunctionDerivativeGeneralised(r);
  register_FunctionGradient(r);
  register_FunctionGradientGeneralised(r);
  register_FunctionDivergence(r);
  register_FunctionCurl(r);
  register_FunctionScalarLaplacian(r);
  register_FunctionMandelbrotChoose(r);
  register_FunctionMandelbrotContour(r);
  register_FunctionJuliaChoose(r);
  register_FunctionJuliaContour(r);
  register_FunctionJuliabrotChoose(r);
  register_FunctionJuliabrotContour(r);
  register_FunctionKaleidoscope(r);
  register_FunctionKaleidoscopeZRotate(r);
  register_FunctionKaleidoscopeTwist(r);
  register_FunctionWindmill(r);
  register_FunctionWindmillZRotate(r);
  register_FunctionWindmillTwist(r);
  register_FunctionMagnitudes(r);
  register_FunctionMagnitude(r);
  register_FunctionCone(r);
  register_FunctionExpCone(r);
  register_FunctionSeparateZ(r);
  register_FunctionIterate(r);
  register_FunctionNoiseOneChannel(r);
  register_FunctionMultiscaleNoiseOneChannel(r);
  register_FunctionNoiseThreeChannel(r);
  register_FunctionMultiscaleNoiseThreeChannel(r);
  register_FunctionPixelize(r);
  register_FunctionPixelizeHex(r);
  register_FunctionVoxelize(r);
  register_FunctionOrthoSphereShaded(r);
  register_FunctionOrthoSphereShadedBumpMapped(r);
  register_FunctionOrthoSphereReflect(r);
  register_FunctionOrthoSphereReflectBumpMapped(r);
  register_FunctionShadow(r);
  register_FunctionShadowGeneralised(r);
  register_FunctionCartesianToSpherical(r);
  register_FunctionSphericalToCartesian(r);
  register_FunctionEvaluateInSpherical(r);
  register_FunctionSpiralLinear(r);
  register_FunctionSpiralLogarithmic(r);
  register_FunctionTartanSelectFree(r);
  register_FunctionTartanSelect(r);
  register_FunctionTartanSelectRepeat(r);
  register_FunctionTartanMixFree(r);
  register_FunctionTartanMixRepeat(r);
  register_FunctionIsotropicScale(r);
  register_FunctionPreTransformGeneralised(r);
  register_FunctionPostTransformGeneralised(r);
  register_FunctionTransformQuadratic(r);
  register_FunctionRotate(r);
  register_FunctionTop(r);
  register_FunctionTransformGeneralised(r);
  register_FunctionTransform(r);
}
