1/** 2 * Mandelbulber v2, a 3D fractal generator _%}}i*<. ____ _______ 3 * Copyright (C) 2020 Mandelbulber Team _>]|=||i=i<, / __ \___ ___ ___ / ___/ / 4 * \><||i|=>>%) / /_/ / _ \/ -_) _ \/ /__/ /__ 5 * This file is part of Mandelbulber. )<=i=]=|=i<> \____/ .__/\__/_//_/\___/____/ 6 * The project is licensed under GPLv3, -<>>=|><|||` /_/ 7 * see also COPYING file in this folder. ~+{i%+++ 8 * 9 * diagonal fold conditional 10 11 * This file has been autogenerated by tools/populateUiInformation.php 12 * from the file "fractal_transf_diagonal_fold.cpp" in the folder formula/definition 13 * D O N O T E D I T T H I S F I L E ! 14 */ 15 16REAL4 TransfDiagonalFoldIteration(REAL4 z, __constant sFractalCl *fractal, sExtendedAuxCl *aux) 17{ 18 if (!fractal->transformCommon.functionEnabledAxFalse) 19 { 20 if (fractal->transformCommon.functionEnabledAx) 21 { 22 if (z.x > z.y) 23 { 24 REAL temp = z.y; 25 z.y = z.x; 26 z.x = temp; 27 } 28 } 29 if (fractal->transformCommon.functionEnabledAyFalse) 30 { 31 if (z.y > z.z) 32 { 33 REAL temp = z.z; 34 z.z = z.y; 35 z.y = temp; 36 } 37 } 38 if (fractal->transformCommon.functionEnabledAzFalse) 39 { 40 if (z.z > z.x) 41 { 42 REAL temp = z.x; 43 z.x = z.z; 44 z.z = temp; 45 } 46 } 47 } 48 else 49 { 50 if (fractal->transformCommon.functionEnabledAx 51 && aux->i >= fractal->transformCommon.startIterationsA 52 && aux->i < fractal->transformCommon.stopIterationsA) 53 { 54 if (z.x > z.y) 55 { 56 REAL temp = z.y; 57 z.y = z.x; 58 z.x = temp; 59 } 60 } 61 if (fractal->transformCommon.functionEnabledAyFalse 62 && aux->i >= fractal->transformCommon.startIterationsB 63 && aux->i < fractal->transformCommon.stopIterationsB) 64 { 65 if (z.y > z.z) 66 { 67 REAL temp = z.z; 68 z.z = z.y; 69 z.y = temp; 70 } 71 } 72 if (fractal->transformCommon.functionEnabledAzFalse 73 && aux->i >= fractal->transformCommon.startIterationsC 74 && aux->i < fractal->transformCommon.stopIterationsC) 75 { 76 if (z.z > z.x) 77 { 78 REAL temp = z.x; 79 z.x = z.z; 80 z.z = temp; 81 } 82 } 83 } 84 85 if (fractal->analyticDE.enabledFalse) 86 { 87 aux->DE = aux->DE * fractal->analyticDE.scale1 + fractal->analyticDE.offset0; 88 } 89 return z; 90}