diff options
38 files changed, 4691 insertions, 1388 deletions
@@ -30,7 +30,8 @@ cc_library_static { "signed-integer-overflow", "bounds", ], - cfi: true, + // Enable CFI if this becomes a shared library. + // cfi: true, }, shared_libs: [ "liblog", @@ -1,3 +1,6 @@ +2.0.1 + - Minor release with a number of crash/fuzz fixes, primarily for the decoder + 2.0.0 - Major update in the upstream source base, with support for new profiles and features, and numerous crash/fuzz fixes. The new diff --git a/configure.ac b/configure.ac index 9c714d7..597120a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl -*- Autoconf -*- dnl Process this file with autoconf to produce a configure script. -AC_INIT([fdk-aac], [2.0.0], [http://sourceforge.net/projects/opencore-amr/]) +AC_INIT([fdk-aac], [2.0.1], [http://sourceforge.net/projects/opencore-amr/]) AC_CONFIG_AUX_DIR(.) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([tar-ustar foreign]) @@ -26,7 +26,7 @@ AC_SEARCH_LIBS([sin], [m]) dnl soname version to use dnl goes by ‘current[:revision[:age]]’ with the soname ending up as dnl current.age.revision -FDK_AAC_VERSION=2:0:0 +FDK_AAC_VERSION=2:1:0 AS_IF([test x$enable_shared = xyes], [LIBS_PRIVATE=$LIBS], [LIBS_PUBLIC=$LIBS]) AC_SUBST(FDK_AAC_VERSION) diff --git a/documentation/aacDecoder.pdf b/documentation/aacDecoder.pdf Binary files differindex 1dec334..eb2a75e 100644 --- a/documentation/aacDecoder.pdf +++ b/documentation/aacDecoder.pdf diff --git a/libAACdec/include/aacdecoder_lib.h b/libAACdec/include/aacdecoder_lib.h index 5f0dd02..2dfc65a 100644 --- a/libAACdec/include/aacdecoder_lib.h +++ b/libAACdec/include/aacdecoder_lib.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -459,8 +459,8 @@ Where N equals to CStreamInfo::frameSize . #include "genericStds.h" #define AACDECODER_LIB_VL0 3 -#define AACDECODER_LIB_VL1 0 -#define AACDECODER_LIB_VL2 0 +#define AACDECODER_LIB_VL1 1 +#define AACDECODER_LIB_VL2 2 /** * \brief AAC decoder error codes. @@ -746,66 +746,77 @@ typedef enum { ::CONCEAL_INTER. only some AOTs are supported). \n */ AAC_DRC_BOOST_FACTOR = - 0x0200, /*!< Dynamic Range Control: Scaling factor for boosting gain - values. Defines how the boosting DRC factors (conveyed in the - bitstream) will be applied to the decoded signal. The valid - values range from 0 (don't apply boost factors) to 127 (fully - apply boost factors). Default value is 0. */ - AAC_DRC_ATTENUATION_FACTOR = - 0x0201, /*!< Dynamic Range Control: Scaling factor for attenuating gain - values. Same as - ::AAC_DRC_BOOST_FACTOR but for attenuating DRC factors. */ + 0x0200, /*!< MPEG-4 / MPEG-D Dynamic Range Control (DRC): Scaling factor + for boosting gain values. Defines how the boosting DRC factors + (conveyed in the bitstream) will be applied to the decoded + signal. The valid values range from 0 (don't apply boost + factors) to 127 (fully apply boost factors). Default value is 0 + for MPEG-4 DRC and 127 for MPEG-D DRC. */ + AAC_DRC_ATTENUATION_FACTOR = 0x0201, /*!< MPEG-4 / MPEG-D DRC: Scaling factor + for attenuating gain values. Same as + ::AAC_DRC_BOOST_FACTOR but for + attenuating DRC factors. */ AAC_DRC_REFERENCE_LEVEL = - 0x0202, /*!< Dynamic Range Control (DRC): Target reference level. Defines - the level below full-scale (quantized in steps of 0.25dB) to - which the output audio signal will be normalized to by the DRC - module. The parameter controls loudness normalization for both - MPEG-4 DRC and MPEG-D DRC. The valid values range from 40 (-10 - dBFS) to 127 (-31.75 dBFS). Any value smaller than 0 switches - off loudness normalization and MPEG-4 DRC. By default, loudness - normalization and MPEG-4 DRC is switched off. */ + 0x0202, /*!< MPEG-4 / MPEG-D DRC: Target reference level / decoder target + loudness.\n Defines the level below full-scale (quantized in + steps of 0.25dB) to which the output audio signal will be + normalized to by the DRC module.\n The parameter controls + loudness normalization for both MPEG-4 DRC and MPEG-D DRC. The + valid values range from 40 (-10 dBFS) to 127 (-31.75 dBFS).\n + Example values:\n + 124 (-31 dBFS) for audio/video receivers (AVR) or other + devices allowing audio playback with high dynamic range,\n 96 + (-24 dBFS) for TV sets or equivalent devices (default),\n 64 + (-16 dBFS) for mobile devices where the dynamic range of audio + playback is restricted.\n Any value smaller than 0 switches off + loudness normalization and MPEG-4 DRC. */ AAC_DRC_HEAVY_COMPRESSION = - 0x0203, /*!< Dynamic Range Control: En-/Disable DVB specific heavy - compression (aka RF mode). If set to 1, the decoder will apply - the compression values from the DVB specific ancillary data - field. At the same time the MPEG-4 Dynamic Range Control tool - will be disabled. By default, heavy compression is disabled. */ + 0x0203, /*!< MPEG-4 DRC: En-/Disable DVB specific heavy compression (aka + RF mode). If set to 1, the decoder will apply the compression + values from the DVB specific ancillary data field. At the same + time the MPEG-4 Dynamic Range Control tool will be disabled. By + default, heavy compression is disabled. */ AAC_DRC_DEFAULT_PRESENTATION_MODE = - 0x0204, /*!< Dynamic Range Control: Default presentation mode (DRC - parameter handling). \n Defines the handling of the DRC - parameters boost factor, attenuation factor and heavy - compression, if no presentation mode is indicated in the - bitstream.\n For options, see - ::AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS.\n Default: + 0x0204, /*!< MPEG-4 DRC: Default presentation mode (DRC parameter + handling). \n Defines the handling of the DRC parameters boost + factor, attenuation factor and heavy compression, if no + presentation mode is indicated in the bitstream.\n For options, + see ::AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS.\n Default: ::AAC_DRC_PARAMETER_HANDLING_DISABLED */ AAC_DRC_ENC_TARGET_LEVEL = - 0x0205, /*!< Dynamic Range Control: Encoder target level for light (i.e. - not heavy) compression.\n If known, this declares the target - reference level that was assumed at the encoder for calculation - of limiting gains. The valid values range from 0 (full-scale) - to 127 (31.75 dB below full-scale). This parameter is used only + 0x0205, /*!< MPEG-4 DRC: Encoder target level for light (i.e. not heavy) + compression.\n If known, this declares the target reference + level that was assumed at the encoder for calculation of + limiting gains. The valid values range from 0 (full-scale) to + 127 (31.75 dB below full-scale). This parameter is used only with ::AAC_DRC_PARAMETER_HANDLING_ENABLED and ignored otherwise.\n Default: 127 (worst-case assumption).\n */ + AAC_UNIDRC_SET_EFFECT = 0x0206, /*!< MPEG-D DRC: Request a DRC effect type for + selection of a DRC set.\n Supported indices + are:\n -1: DRC off. Completely disables + MPEG-D DRC.\n 0: None (default). Disables + MPEG-D DRC, but automatically enables DRC + if necessary to prevent clipping.\n 1: Late + night\n 2: Noisy environment\n 3: Limited + playback range\n 4: Low playback level\n 5: + Dialog enhancement\n 6: General + compression. Used for generally enabling + MPEG-D DRC without particular request.\n */ + AAC_UNIDRC_ALBUM_MODE = + 0x0207, /*!< MPEG-D DRC: Enable album mode. 0: Disabled (default), 1: + Enabled.\n Disabled album mode leads to application of gain + sequences for fading in and out, if provided in the + bitstream.\n Enabled album mode makes use of dedicated album + loudness information, if provided in the bitstream.\n */ AAC_QMF_LOWPOWER = 0x0300, /*!< Quadrature Mirror Filter (QMF) Bank processing mode. \n -1: Use internal default. Implies MPEG Surround partially complex accordingly. \n 0: Use complex QMF data mode. \n 1: Use real (low power) QMF data mode. \n */ AAC_TPDEC_CLEAR_BUFFER = - 0x0603, /*!< Clear internal bit stream buffer of transport layers. The - decoder will start decoding at new data passed after this event - and any previous data is discarded. */ - AAC_UNIDRC_SET_EFFECT = 0x0903 /*!< MPEG-D DRC: Request a DRC effect type for - selection of a DRC set.\n Supported indices - are:\n -1: DRC off. Completely disables - MPEG-D DRC.\n 0: None (default). Disables - MPEG-D DRC, but automatically enables DRC if - necessary to prevent clipping.\n 1: Late - night\n 2: Noisy environment\n 3: Limited - playback range\n 4: Low playback level\n 5: - Dialog enhancement\n 6: General compression. - Used for generally enabling MPEG-D DRC - without particular request.\n */ + 0x0603 /*!< Clear internal bit stream buffer of transport layers. The + decoder will start decoding at new data passed after this event + and any previous data is discarded. */ } AACDEC_PARAM; diff --git a/libAACdec/src/aacdec_drc.cpp b/libAACdec/src/aacdec_drc.cpp index 922a09e..4129d0f 100644 --- a/libAACdec/src/aacdec_drc.cpp +++ b/libAACdec/src/aacdec_drc.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -174,9 +174,9 @@ void aacDecoder_drcInit(HANDLE_AAC_DRC self) { pParams->usrCut = FL2FXCONST_DBL(0.0f); pParams->boost = FL2FXCONST_DBL(0.0f); pParams->usrBoost = FL2FXCONST_DBL(0.0f); - pParams->targetRefLevel = -1; + pParams->targetRefLevel = 96; pParams->expiryFrame = AACDEC_DRC_DFLT_EXPIRY_FRAMES; - pParams->applyDigitalNorm = OFF; + pParams->applyDigitalNorm = ON; pParams->applyHeavyCompression = OFF; pParams->usrApplyHeavyCompression = OFF; diff --git a/libAACdec/src/aacdec_hcr.cpp b/libAACdec/src/aacdec_hcr.cpp index 6114756..26fdd97 100644 --- a/libAACdec/src/aacdec_hcr.cpp +++ b/libAACdec/src/aacdec_hcr.cpp @@ -1423,6 +1423,9 @@ static INT DecodeEscapeSequence(HANDLE_FDK_BITSTREAM bs, const INT bsAnchor, sign = (quantSpecCoef >= 0) ? 1 : -1; + if (escapeOnesCounter > 30) + escapeOnesCounter = 30; + quantSpecCoef = sign * (((INT)1 << escapeOnesCounter) + escape_word); return quantSpecCoef; diff --git a/libAACdec/src/aacdecoder.cpp b/libAACdec/src/aacdecoder.cpp index 8f03328..7617937 100644 --- a/libAACdec/src/aacdecoder.cpp +++ b/libAACdec/src/aacdecoder.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -1815,6 +1815,9 @@ CAacDecoder_Init(HANDLE_AACDECODER self, const CSAudioSpecificConfig *asc, self->useLdQmfTimeAlign = asc->m_sc.m_eldSpecificConfig.m_useLdQmfTimeAlign; } + if (self->sbrEnabled != asc->m_sbrPresentFlag) { + ascChanged = 1; + } } self->streamInfo.extAot = asc->m_extensionAudioObjectType; diff --git a/libAACdec/src/aacdecoder_lib.cpp b/libAACdec/src/aacdecoder_lib.cpp index 7df17b9..8685a30 100644 --- a/libAACdec/src/aacdecoder_lib.cpp +++ b/libAACdec/src/aacdecoder_lib.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -119,8 +119,8 @@ amm-info@iis.fraunhofer.de /* Decoder library info */ #define AACDECODER_LIB_VL0 3 -#define AACDECODER_LIB_VL1 0 -#define AACDECODER_LIB_VL2 0 +#define AACDECODER_LIB_VL1 1 +#define AACDECODER_LIB_VL2 2 #define AACDECODER_LIB_TITLE "AAC Decoder Lib" #ifdef __ANDROID__ #define AACDECODER_LIB_BUILD_DATE "" @@ -823,11 +823,15 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_SetParam( case AAC_DRC_ATTENUATION_FACTOR: /* DRC compression factor (where 0 is no and 127 is max compression) */ errorStatus = aacDecoder_drcSetParam(hDrcInfo, DRC_CUT_SCALE, value); + uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_COMPRESS, + value * (FL2FXCONST_DBL(0.5f / 127.0f))); break; case AAC_DRC_BOOST_FACTOR: /* DRC boost factor (where 0 is no and 127 is max boost) */ errorStatus = aacDecoder_drcSetParam(hDrcInfo, DRC_BOOST_SCALE, value); + uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_BOOST, + value * (FL2FXCONST_DBL(0.5f / 127.0f))); break; case AAC_DRC_REFERENCE_LEVEL: @@ -871,6 +875,11 @@ LINKSPEC_CPP AAC_DECODER_ERROR aacDecoder_SetParam( uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_EFFECT_TYPE, (FIXP_DBL)value); break; + case AAC_UNIDRC_ALBUM_MODE: + uniDrcErr = FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_ALBUM_MODE, + (FIXP_DBL)value); + break; + case AAC_TPDEC_CLEAR_BUFFER: errTp = transportDec_SetParam(hTpDec, TPDEC_PARAM_RESET, 1); self->streamInfo.numLostAccessUnits = 0; @@ -1669,6 +1678,13 @@ aacDecoder_DecodeFrame(HANDLE_AACDECODER self, INT_PCM *pTimeData_extern, reverseOutChannelMap[ch] = ch; } + /* Update sampleRate and frameSize. This may be necessary in case of + * implicit SBR signaling */ + FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_SAMPLE_RATE, + self->streamInfo.sampleRate); + FDK_drcDec_SetParam(self->hUniDrcDecoder, DRC_DEC_FRAME_SIZE, + self->streamInfo.frameSize); + /* If SBR and/or MPS is active, the DRC gains are aligned to the QMF domain signal before the QMF synthesis. Therefore the DRC gains need to be delayed by the QMF synthesis delay. */ diff --git a/libAACdec/src/usacdec_lpd.cpp b/libAACdec/src/usacdec_lpd.cpp index 2110172..e0a2631 100644 --- a/libAACdec/src/usacdec_lpd.cpp +++ b/libAACdec/src/usacdec_lpd.cpp @@ -1222,7 +1222,7 @@ AAC_DECODER_ERROR CLpdChannelStream_Read( (INT)(samplingRate * PIT_MIN_12k8 + (FSCALE_DENOM / 2)) / FSCALE_DENOM - (INT)PIT_MIN_12k8; - if ((samplingRate < FAC_FSCALE_MIN) || (samplingRate > FAC_FSCALE_MAX)) { + if ((samplingRate < 6000) || (samplingRate > 24000)) { error = AAC_DEC_PARSE_ERROR; goto bail; } diff --git a/libAACenc/src/aacenc_lib.cpp b/libAACenc/src/aacenc_lib.cpp index aaa6c74..4eaa662 100644 --- a/libAACenc/src/aacenc_lib.cpp +++ b/libAACenc/src/aacenc_lib.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -1822,6 +1822,10 @@ AACENC_ERROR aacEncEncode(const HANDLE_AACENCODER hAacEncoder, hAacEncoder->inputBuffer + (hAacEncoder->inputBufferOffset + hAacEncoder->nSamplesRead) / hAacEncoder->aacConfig.nChannels; + newSamples -= + (newSamples % + hAacEncoder->extParam + .nChannels); /* process multiple samples of input channels */ /* Copy new input samples to internal buffer */ if (inBufDesc->bufElSizes[idx] == (INT)sizeof(INT_PCM)) { diff --git a/libAACenc/src/adj_thr.cpp b/libAACenc/src/adj_thr.cpp index 6e19680..226d003 100644 --- a/libAACenc/src/adj_thr.cpp +++ b/libAACenc/src/adj_thr.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -591,13 +591,11 @@ static void FDKaacEnc_initAvoidHoleFlag( if (sfbEn > avgEn) { FIXP_DBL tmpMinSnrLdData; if (psyOutChannel[ch]->lastWindowSequence == LONG_WINDOW) - tmpMinSnrLdData = - fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData), - (FIXP_DBL)SnrLdMin1); + tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData, + SnrLdMin1 - SnrLdFac); else - tmpMinSnrLdData = - fixMax(SnrLdFac + (FIXP_DBL)(avgEnLdData - sfbEnLdData), - (FIXP_DBL)SnrLdMin3); + tmpMinSnrLdData = SnrLdFac + fixMax(avgEnLdData - sfbEnLdData, + SnrLdMin3 - SnrLdFac); qcOutChan->sfbMinSnrLdData[sfbGrp + sfb] = fixMin( qcOutChan->sfbMinSnrLdData[sfbGrp + sfb], tmpMinSnrLdData); diff --git a/libAACenc/src/intensity.cpp b/libAACenc/src/intensity.cpp index 8cb1b45..0944fa3 100644 --- a/libAACenc/src/intensity.cpp +++ b/libAACenc/src/intensity.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -661,6 +661,7 @@ void FDKaacEnc_IntensityStereoProcessing( for (sfboffs = 0; sfboffs < maxSfbPerGroup; sfboffs++) { INT sL, sR; FIXP_DBL inv_n; + INT mdct_spec_sf = MDCT_SPEC_SF; msMask[sfb + sfboffs] = 0; if (isMask[sfb + sfboffs] == 0) { @@ -682,6 +683,12 @@ void FDKaacEnc_IntensityStereoProcessing( } } + if (sfbOffset[sfb + sfboffs + 1] - sfbOffset[sfb + sfboffs] > + 1 << mdct_spec_sf) { + mdct_spec_sf++; /* This is for rare cases where the number of bins in a + scale factor band is > 64 */ + } + inv_n = GetInvInt( (sfbOffset[sfb + sfboffs + 1] - sfbOffset[sfb + sfboffs]) >> 1); // scaled with 2 to compensate fMultDiv2() in subsequent loop @@ -707,11 +714,11 @@ void FDKaacEnc_IntensityStereoProcessing( j++) { d = ((mdctSpectrumLeft[j] << s0) >> 1) - ((mdctSpectrumRight[j] << s0) >> 1); - ed += fMultDiv2(d, d) >> (MDCT_SPEC_SF - 1); + ed += fMultDiv2(d, d) >> (mdct_spec_sf - 1); } msMask[sfb + sfboffs] = 1; tmp = fDivNorm(sfbEnergyLeft[sfb + sfboffs], ed, &s1); - s2 = (s1) + (2 * s0) - 2 - MDCT_SPEC_SF; + s2 = (s1) + (2 * s0) - 2 - mdct_spec_sf; if (s2 & 1) { tmp = tmp >> 1; s2 = s2 + 1; @@ -747,13 +754,13 @@ void FDKaacEnc_IntensityStereoProcessing( j++) { s = ((mdctSpectrumLeft[j] << s0) >> 1) + ((mdctSpectrumRight[j] << s0) >> 1); - es = fAddSaturate(es, fMultDiv2(s, s) >> - (MDCT_SPEC_SF - - 1)); // scaled 2*(mdctScale - s0 + 1) + MDCT_SPEC_SF + es += fMultDiv2(s, s) >> + (mdct_spec_sf - + 1); // scaled 2*(mdctScale - s0 + 1) + mdct_spec_sf } msMask[sfb + sfboffs] = 0; tmp = fDivNorm(sfbEnergyLeft[sfb + sfboffs], es, &s1); - s2 = (s1) + (2 * s0) - 2 - MDCT_SPEC_SF; + s2 = (s1) + (2 * s0) - 2 - mdct_spec_sf; if (s2 & 1) { tmp = tmp >> 1; s2 = s2 + 1; diff --git a/libDRCdec/include/FDK_drcDecLib.h b/libDRCdec/include/FDK_drcDecLib.h index e187e18..2d28d23 100644 --- a/libDRCdec/include/FDK_drcDecLib.h +++ b/libDRCdec/include/FDK_drcDecLib.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -134,6 +134,7 @@ typedef enum { DRC_DEC_EFFECT_TYPE, DRC_DEC_EFFECT_TYPE_FALLBACK_CODE, DRC_DEC_LOUDNESS_MEASUREMENT_METHOD, + DRC_DEC_ALBUM_MODE, /* set only system (not user) parameters */ DRC_DEC_DOWNMIX_ID, DRC_DEC_TARGET_CHANNEL_COUNT_REQUESTED, /**< number of output channels @@ -141,6 +142,8 @@ typedef enum { choosing an appropriate downmixInstruction */ DRC_DEC_BASE_CHANNEL_COUNT, + DRC_DEC_FRAME_SIZE, + DRC_DEC_SAMPLE_RATE, /* get only system parameters */ DRC_DEC_IS_MULTIBAND_DRC_1, DRC_DEC_IS_MULTIBAND_DRC_2, diff --git a/libDRCdec/src/FDK_drcDecLib.cpp b/libDRCdec/src/FDK_drcDecLib.cpp index b29b79d..4f8ebc7 100644 --- a/libDRCdec/src/FDK_drcDecLib.cpp +++ b/libDRCdec/src/FDK_drcDecLib.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -173,13 +173,11 @@ static int isResetNeeded(HANDLE_DRC_DECODER hDrcDec, return resetNeeded; } -static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) { - DRC_ERROR dErr = DE_OK; - DRCDEC_SELECTION_PROCESS_RETURN sErr = DRCDEC_SELECTION_PROCESS_NO_ERROR; +static void startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) { int uniDrcConfigHasChanged = 0; SEL_PROC_OUTPUT oldSelProcOutput = hDrcDec->selProcOutput; - if (!hDrcDec->status) return DRC_DEC_NOT_READY; + if (!hDrcDec->status) return; if (hDrcDec->functionalRange & DRC_DEC_SELECTION) { uniDrcConfigHasChanged = hDrcDec->uniDrcConfig.diff; @@ -189,10 +187,9 @@ static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) { */ hDrcDec->selProcOutput.numSelectedDrcSets = 0; - sErr = drcDec_SelectionProcess_Process( + drcDec_SelectionProcess_Process( hDrcDec->hSelectionProc, &(hDrcDec->uniDrcConfig), &(hDrcDec->loudnessInfoSet), &(hDrcDec->selProcOutput)); - if (sErr) return DRC_DEC_OK; hDrcDec->selProcInputDiff = 0; hDrcDec->uniDrcConfig.diff = 0; @@ -202,15 +199,12 @@ static DRC_DEC_ERROR startSelectionProcess(HANDLE_DRC_DECODER hDrcDec) { if (hDrcDec->functionalRange & DRC_DEC_GAIN) { if (isResetNeeded(hDrcDec, oldSelProcOutput) || uniDrcConfigHasChanged) { - dErr = - drcDec_GainDecoder_Config(hDrcDec->hGainDec, &(hDrcDec->uniDrcConfig), - hDrcDec->selProcOutput.numSelectedDrcSets, - hDrcDec->selProcOutput.selectedDrcSetIds, - hDrcDec->selProcOutput.selectedDownmixIds); - if (dErr) return DRC_DEC_OK; + drcDec_GainDecoder_Config(hDrcDec->hGainDec, &(hDrcDec->uniDrcConfig), + hDrcDec->selProcOutput.numSelectedDrcSets, + hDrcDec->selProcOutput.selectedDrcSetIds, + hDrcDec->selProcOutput.selectedDownmixIds); } } - return DRC_DEC_OK; } DRC_DEC_ERROR @@ -342,7 +336,13 @@ FDK_drcDec_Init(HANDLE_DRC_DECODER hDrcDec, const int frameSize, } if (hDrcDec->functionalRange & DRC_DEC_GAIN) { - dErr = drcDec_GainDecoder_Init(hDrcDec->hGainDec, frameSize, sampleRate); + dErr = drcDec_GainDecoder_SetParam(hDrcDec->hGainDec, GAIN_DEC_FRAME_SIZE, + frameSize); + if (dErr) return DRC_DEC_NOT_OK; + dErr = drcDec_GainDecoder_SetParam(hDrcDec->hGainDec, GAIN_DEC_SAMPLE_RATE, + sampleRate); + if (dErr) return DRC_DEC_NOT_OK; + dErr = drcDec_GainDecoder_Init(hDrcDec->hGainDec); if (dErr) return DRC_DEC_NOT_OK; } @@ -383,73 +383,99 @@ DRC_DEC_ERROR FDK_drcDec_SetParam(HANDLE_DRC_DECODER hDrcDec, const DRC_DEC_USERPARAM requestType, const FIXP_DBL requestValue) { + DRC_ERROR dErr = DE_OK; DRCDEC_SELECTION_PROCESS_RETURN sErr = DRCDEC_SELECTION_PROCESS_NO_ERROR; + int invalidParameter = 0; if (hDrcDec == NULL) return DRC_DEC_NOT_OPENED; - if (hDrcDec->functionalRange == DRC_DEC_GAIN) - return DRC_DEC_NOT_OK; /* not supported for DRC_DEC_GAIN. All parameters are - handed over to selection process lib. */ + if (hDrcDec->functionalRange & DRC_DEC_GAIN) { + switch (requestType) { + case DRC_DEC_SAMPLE_RATE: + dErr = drcDec_GainDecoder_SetParam( + hDrcDec->hGainDec, GAIN_DEC_SAMPLE_RATE, (int)requestValue); + if (dErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_FRAME_SIZE: + dErr = drcDec_GainDecoder_SetParam( + hDrcDec->hGainDec, GAIN_DEC_FRAME_SIZE, (int)requestValue); + if (dErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + default: + invalidParameter |= DRC_DEC_GAIN; + } + } - switch (requestType) { - case DRC_DEC_BOOST: - sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc, - SEL_PROC_BOOST, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_COMPRESS: - sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc, - SEL_PROC_COMPRESS, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_LOUDNESS_NORMALIZATION_ON: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_LOUDNESS_NORMALIZATION_ON, - requestValue, &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_TARGET_LOUDNESS: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_TARGET_LOUDNESS, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_EFFECT_TYPE: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_EFFECT_TYPE, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_DOWNMIX_ID: - sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc, - SEL_PROC_DOWNMIX_ID, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_TARGET_CHANNEL_COUNT_REQUESTED: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_TARGET_CHANNEL_COUNT, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - case DRC_DEC_BASE_CHANNEL_COUNT: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_BASE_CHANNEL_COUNT, requestValue, - &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_NOT_OK; - break; - case DRC_DEC_LOUDNESS_MEASUREMENT_METHOD: - sErr = drcDec_SelectionProcess_SetParam( - hDrcDec->hSelectionProc, SEL_PROC_LOUDNESS_MEASUREMENT_METHOD, - requestValue, &(hDrcDec->selProcInputDiff)); - if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; - break; - default: - return DRC_DEC_INVALID_PARAM; + if (hDrcDec->functionalRange & DRC_DEC_SELECTION) { + switch (requestType) { + case DRC_DEC_BOOST: + sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc, + SEL_PROC_BOOST, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_COMPRESS: + sErr = drcDec_SelectionProcess_SetParam(hDrcDec->hSelectionProc, + SEL_PROC_COMPRESS, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_LOUDNESS_NORMALIZATION_ON: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_LOUDNESS_NORMALIZATION_ON, + requestValue, &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_TARGET_LOUDNESS: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_TARGET_LOUDNESS, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_EFFECT_TYPE: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_EFFECT_TYPE, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_DOWNMIX_ID: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_DOWNMIX_ID, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_TARGET_CHANNEL_COUNT_REQUESTED: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_TARGET_CHANNEL_COUNT, + requestValue, &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_BASE_CHANNEL_COUNT: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_BASE_CHANNEL_COUNT, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_NOT_OK; + break; + case DRC_DEC_LOUDNESS_MEASUREMENT_METHOD: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_LOUDNESS_MEASUREMENT_METHOD, + requestValue, &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + case DRC_DEC_ALBUM_MODE: + sErr = drcDec_SelectionProcess_SetParam( + hDrcDec->hSelectionProc, SEL_PROC_ALBUM_MODE, requestValue, + &(hDrcDec->selProcInputDiff)); + if (sErr) return DRC_DEC_PARAM_OUT_OF_RANGE; + break; + default: + invalidParameter |= DRC_DEC_SELECTION; + } } + if (invalidParameter == hDrcDec->functionalRange) + return DRC_DEC_INVALID_PARAM; + /* All parameters need a new start of the selection process */ startSelectionProcess(hDrcDec); @@ -721,9 +747,9 @@ FDK_drcDec_ReadUniDrc(HANDLE_DRC_DECODER hDrcDec, drcDec_GainDecoder_GetFrameSize(hDrcDec->hGainDec), drcDec_GainDecoder_GetDeltaTminDefault(hDrcDec->hGainDec), &(hDrcDec->uniDrcGain)); - if (dErr) return DRC_DEC_NOT_OK; startSelectionProcess(hDrcDec); + if (dErr) return DRC_DEC_NOT_OK; hDrcDec->status = DRC_DEC_NEW_GAIN_PAYLOAD; diff --git a/libDRCdec/src/drcDec_gainDecoder.cpp b/libDRCdec/src/drcDec_gainDecoder.cpp index ca81fad..9d91267 100644 --- a/libDRCdec/src/drcDec_gainDecoder.cpp +++ b/libDRCdec/src/drcDec_gainDecoder.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -170,11 +170,10 @@ drcDec_GainDecoder_Open(HANDLE_DRC_GAIN_DECODER* phGainDec) { } DRC_ERROR -drcDec_GainDecoder_Init(HANDLE_DRC_GAIN_DECODER hGainDec, const int frameSize, - const int sampleRate) { +drcDec_GainDecoder_Init(HANDLE_DRC_GAIN_DECODER hGainDec) { DRC_ERROR err = DE_OK; - err = initGainDec(hGainDec, frameSize, sampleRate); + err = initGainDec(hGainDec); if (err) return err; initDrcGainBuffers(hGainDec->frameSize, &hGainDec->drcGainBuffers); @@ -183,6 +182,25 @@ drcDec_GainDecoder_Init(HANDLE_DRC_GAIN_DECODER hGainDec, const int frameSize, } DRC_ERROR +drcDec_GainDecoder_SetParam(HANDLE_DRC_GAIN_DECODER hGainDec, + const GAIN_DEC_PARAM paramType, + const int paramValue) { + switch (paramType) { + case GAIN_DEC_FRAME_SIZE: + if (paramValue < 0) return DE_PARAM_OUT_OF_RANGE; + hGainDec->frameSize = paramValue; + break; + case GAIN_DEC_SAMPLE_RATE: + if (paramValue < 0) return DE_PARAM_OUT_OF_RANGE; + hGainDec->deltaTminDefault = getDeltaTmin(paramValue); + break; + default: + return DE_PARAM_INVALID; + } + return DE_OK; +} + +DRC_ERROR drcDec_GainDecoder_SetCodecDependentParameters( HANDLE_DRC_GAIN_DECODER hGainDec, const DELAY_MODE delayMode, const int timeDomainSupported, diff --git a/libDRCdec/src/drcDec_gainDecoder.h b/libDRCdec/src/drcDec_gainDecoder.h index 2f4df4c..394b455 100644 --- a/libDRCdec/src/drcDec_gainDecoder.h +++ b/libDRCdec/src/drcDec_gainDecoder.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -134,6 +134,8 @@ typedef enum { GAIN_DEC_DRC2_DRC3 } GAIN_DEC_LOCATION; +typedef enum { GAIN_DEC_FRAME_SIZE, GAIN_DEC_SAMPLE_RATE } GAIN_DEC_PARAM; + typedef struct { FIXP_DBL gainLin; /* e = 7 */ SHORT time; @@ -195,8 +197,12 @@ DRC_ERROR drcDec_GainDecoder_Open(HANDLE_DRC_GAIN_DECODER* phGainDec); DRC_ERROR -drcDec_GainDecoder_Init(HANDLE_DRC_GAIN_DECODER hGainDec, const int frameSize, - const int sampleRate); +drcDec_GainDecoder_Init(HANDLE_DRC_GAIN_DECODER hGainDec); + +DRC_ERROR +drcDec_GainDecoder_SetParam(HANDLE_DRC_GAIN_DECODER hGainDec, + const GAIN_DEC_PARAM paramType, + const int paramValue); DRC_ERROR drcDec_GainDecoder_SetCodecDependentParameters( diff --git a/libDRCdec/src/drcDec_reader.cpp b/libDRCdec/src/drcDec_reader.cpp index 6fe7a04..9b5403a 100644 --- a/libDRCdec/src/drcDec_reader.cpp +++ b/libDRCdec/src/drcDec_reader.cpp @@ -185,10 +185,18 @@ drcDec_readUniDrc(HANDLE_FDK_BITSTREAM hBs, HANDLE_UNI_DRC_CONFIG hUniDrcConfig, uniDrcConfigPresent = FDKreadBits(hBs, 1); if (uniDrcConfigPresent) { err = drcDec_readUniDrcConfig(hBs, hUniDrcConfig); - if (err) return err; + if (err) { + /* clear config, if parsing error occured */ + FDKmemclear(hUniDrcConfig, sizeof(UNI_DRC_CONFIG)); + hUniDrcConfig->diff = 1; + } } err = drcDec_readLoudnessInfoSet(hBs, hLoudnessInfoSet); - if (err) return err; + if (err) { + /* clear config, if parsing error occured */ + FDKmemclear(hLoudnessInfoSet, sizeof(LOUDNESS_INFO_SET)); + hLoudnessInfoSet->diff = 1; + } } if (hUniDrcGain != NULL) { @@ -903,7 +911,7 @@ static void _skipEqCoefficients(HANDLE_FDK_BITSTREAM hBs) { firFilterOrder; int uniqueEqSubbandGainsCount, eqSubbandGainRepresentation, eqSubbandGainCount; - EQ_SUBBAND_GAIN_FORMAT eqSubbandGainFormat; + int eqSubbandGainFormat; eqDelayMaxPresent = FDKreadBits(hBs, 1); if (eqDelayMaxPresent) { @@ -944,7 +952,7 @@ static void _skipEqCoefficients(HANDLE_FDK_BITSTREAM hBs) { uniqueEqSubbandGainsCount = FDKreadBits(hBs, 6); if (uniqueEqSubbandGainsCount > 0) { eqSubbandGainRepresentation = FDKreadBits(hBs, 1); - eqSubbandGainFormat = (EQ_SUBBAND_GAIN_FORMAT)FDKreadBits(hBs, 4); + eqSubbandGainFormat = FDKreadBits(hBs, 4); switch (eqSubbandGainFormat) { case GF_QMF32: eqSubbandGainCount = 32; @@ -1130,7 +1138,7 @@ static DRC_ERROR _readDrcCoefficientsUniDrc(HANDLE_FDK_BITSTREAM hBs, drcCharacteristicLeftPresent = FDKreadBits(hBs, 1); if (drcCharacteristicLeftPresent) { pCoef->characteristicLeftCount = FDKreadBits(hBs, 4); - if ((pCoef->characteristicLeftCount + 1) > 8) return DE_MEMORY_ERROR; + if ((pCoef->characteristicLeftCount + 1) > 16) return DE_MEMORY_ERROR; for (i = 0; i < pCoef->characteristicLeftCount; i++) { err = _readCustomDrcCharacteristic( hBs, CS_LEFT, &(pCoef->characteristicLeftFormat[i + 1]), @@ -1141,7 +1149,7 @@ static DRC_ERROR _readDrcCoefficientsUniDrc(HANDLE_FDK_BITSTREAM hBs, drcCharacteristicRightPresent = FDKreadBits(hBs, 1); if (drcCharacteristicRightPresent) { pCoef->characteristicRightCount = FDKreadBits(hBs, 4); - if ((pCoef->characteristicRightCount + 1) > 8) return DE_MEMORY_ERROR; + if ((pCoef->characteristicRightCount + 1) > 16) return DE_MEMORY_ERROR; for (i = 0; i < pCoef->characteristicRightCount; i++) { err = _readCustomDrcCharacteristic( hBs, CS_RIGHT, &(pCoef->characteristicRightFormat[i + 1]), diff --git a/libDRCdec/src/drcDec_selectionProcess.cpp b/libDRCdec/src/drcDec_selectionProcess.cpp index 9228197..c33bf74 100644 --- a/libDRCdec/src/drcDec_selectionProcess.cpp +++ b/libDRCdec/src/drcDec_selectionProcess.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -555,6 +555,11 @@ drcDec_SelectionProcess_SetParam(HANDLE_DRC_SELECTION_PROCESS hInstance, diff |= _compAssign(&pSelProcInput->loudnessMeasurementMethod, requestValueInt); break; + case SEL_PROC_ALBUM_MODE: + if ((requestValueInt < 0) || (requestValueInt > 1)) + return DRCDEC_SELECTION_PROCESS_PARAM_OUT_OF_RANGE; + diff |= _compAssign(&pSelProcInput->albumMode, requestValueInt); + break; case SEL_PROC_DOWNMIX_ID: diff |= _compAssign(&pSelProcInput->targetConfigRequestType, TCRT_DOWNMIX_ID); @@ -598,14 +603,21 @@ drcDec_SelectionProcess_SetParam(HANDLE_DRC_SELECTION_PROCESS hInstance, if ((requestValue < (FIXP_DBL)0) || (requestValue > FL2FXCONST_DBL(1.0f / (float)(1 << 1)))) return DRCDEC_SELECTION_PROCESS_PARAM_OUT_OF_RANGE; - diff |= _compAssign(&pSelProcInput->boost, FX_DBL2FX_SGL(requestValue)); + diff |= _compAssign( + &pSelProcInput->boost, + FX_DBL2FX_SGL( + requestValue + + (FIXP_DBL)(1 << 15))); /* convert to FIXP_SGL with rounding */ break; case SEL_PROC_COMPRESS: if ((requestValue < (FIXP_DBL)0) || (requestValue > FL2FXCONST_DBL(1.0f / (float)(1 << 1)))) return DRCDEC_SELECTION_PROCESS_PARAM_OUT_OF_RANGE; - diff |= - _compAssign(&pSelProcInput->compress, FX_DBL2FX_SGL(requestValue)); + diff |= _compAssign( + &pSelProcInput->compress, + FX_DBL2FX_SGL( + requestValue + + (FIXP_DBL)(1 << 15))); /* convert to FIXP_SGL with rounding */ break; default: return DRCDEC_SELECTION_PROCESS_INVALID_PARAM; @@ -2173,6 +2185,9 @@ static DRCDEC_SELECTION_PROCESS_RETURN _selectDownmixMatrix( if (hSelProcOutput->activeDownmixId != 0) { for (i = 0; i < hUniDrcConfig->downmixInstructionsCount; i++) { DOWNMIX_INSTRUCTIONS* pDown = &(hUniDrcConfig->downmixInstructions[i]); + if (pDown->targetChannelCount > 8) { + continue; + } if (hSelProcOutput->activeDownmixId == pDown->downmixId) { hSelProcOutput->targetChannelCount = pDown->targetChannelCount; @@ -2825,6 +2840,8 @@ static int _downmixCoefficientsArePresent(HANDLE_UNI_DRC_CONFIG hUniDrcConfig, for (i = 0; i < hUniDrcConfig->downmixInstructionsCount; i++) { if (hUniDrcConfig->downmixInstructions[i].downmixId == downmixId) { if (hUniDrcConfig->downmixInstructions[i].downmixCoefficientsPresent) { + if (hUniDrcConfig->downmixInstructions[i].targetChannelCount > 8) + return 0; *pIndex = i; return 1; } diff --git a/libDRCdec/src/drcDec_selectionProcess.h b/libDRCdec/src/drcDec_selectionProcess.h index 9e0e3fb..420bae6 100644 --- a/libDRCdec/src/drcDec_selectionProcess.h +++ b/libDRCdec/src/drcDec_selectionProcess.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -146,6 +146,7 @@ typedef enum { SEL_PROC_EFFECT_TYPE, SEL_PROC_EFFECT_TYPE_FALLBACK_CODE, SEL_PROC_LOUDNESS_MEASUREMENT_METHOD, + SEL_PROC_ALBUM_MODE, SEL_PROC_DOWNMIX_ID, SEL_PROC_TARGET_LAYOUT, SEL_PROC_TARGET_CHANNEL_COUNT, diff --git a/libDRCdec/src/drcDec_types.h b/libDRCdec/src/drcDec_types.h index 28c17f3..6b99018 100644 --- a/libDRCdec/src/drcDec_types.h +++ b/libDRCdec/src/drcDec_types.h @@ -249,11 +249,11 @@ typedef struct { UCHAR drcFrameSizePresent; USHORT drcFrameSize; UCHAR characteristicLeftCount; - UCHAR characteristicLeftFormat[8]; - CUSTOM_DRC_CHAR customCharacteristicLeft[8]; + UCHAR characteristicLeftFormat[16]; + CUSTOM_DRC_CHAR customCharacteristicLeft[16]; UCHAR characteristicRightCount; - UCHAR characteristicRightFormat[8]; - CUSTOM_DRC_CHAR customCharacteristicRight[8]; + UCHAR characteristicRightFormat[16]; + CUSTOM_DRC_CHAR customCharacteristicRight[16]; UCHAR gainSequenceCount; /* unsaturated value, i.e. as provided in bitstream */ UCHAR gainSetCount; /* saturated to 12 */ diff --git a/libDRCdec/src/drcGainDec_init.cpp b/libDRCdec/src/drcGainDec_init.cpp index 38f3243..89d0f55 100644 --- a/libDRCdec/src/drcGainDec_init.cpp +++ b/libDRCdec/src/drcGainDec_init.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -184,24 +184,11 @@ static DRC_ERROR _generateDrcInstructionsDerivedData( } DRC_ERROR -initGainDec(HANDLE_DRC_GAIN_DECODER hGainDec, const int frameSize, - const int sampleRate) { +initGainDec(HANDLE_DRC_GAIN_DECODER hGainDec) { int i, j, k; - if (frameSize < 1) { - return DE_NOT_OK; - } - - hGainDec->frameSize = frameSize; - - if (hGainDec->frameSize * 1000 < sampleRate) { - return DE_NOT_OK; - } - - hGainDec->deltaTminDefault = getDeltaTmin(sampleRate); - if (hGainDec->deltaTminDefault > hGainDec->frameSize) { - return DE_NOT_OK; - } + /* sanity check */ + if (hGainDec->deltaTminDefault > hGainDec->frameSize) return DE_NOT_OK; for (i = 0; i < MAX_ACTIVE_DRCS; i++) { for (j = 0; j < 8; j++) { @@ -336,9 +323,11 @@ initActiveDrcOffset(HANDLE_DRC_GAIN_DECODER hGainDec) { for (a = 0; a < hGainDec->nActiveDrcs; a++) { hGainDec->activeDrc[a].activeDrcOffset = accGainElementCount; accGainElementCount += hGainDec->activeDrc[a].gainElementCount; + if (accGainElementCount > 12) { + hGainDec->nActiveDrcs = a; + return DE_NOT_OK; + } } - if (accGainElementCount > 12) return DE_NOT_OK; - return DE_OK; } diff --git a/libDRCdec/src/drcGainDec_init.h b/libDRCdec/src/drcGainDec_init.h index 9215bc3..c0b9853 100644 --- a/libDRCdec/src/drcGainDec_init.h +++ b/libDRCdec/src/drcGainDec_init.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -104,8 +104,7 @@ amm-info@iis.fraunhofer.de #define DRCGAINDEC_INIT_H DRC_ERROR -initGainDec(HANDLE_DRC_GAIN_DECODER hGainDec, const int frameSize, - const int sampleRate); +initGainDec(HANDLE_DRC_GAIN_DECODER hGainDec); void initDrcGainBuffers(const int frameSize, DRC_GAIN_BUFFERS* drcGainBuffers); diff --git a/libFDK/include/scale.h b/libFDK/include/scale.h index 30fa089..fcfc116 100644 --- a/libFDK/include/scale.h +++ b/libFDK/include/scale.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -123,7 +123,7 @@ void scaleValues(FIXP_DBL *dst, const FIXP_DBL *src, INT len, INT scalefactor); #if (SAMPLE_BITS == 16) void scaleValues(FIXP_PCM *dst, const FIXP_DBL *src, INT len, INT scalefactor); #endif -void scaleValues(FIXP_PCM *dst, const FIXP_SGL *src, INT len, INT scalefactor); +void scaleValues(FIXP_SGL *dst, const FIXP_SGL *src, INT len, INT scalefactor); void scaleCplxValues(FIXP_DBL *r_dst, FIXP_DBL *i_dst, const FIXP_DBL *r_src, const FIXP_DBL *i_src, INT len, INT scalefactor); void scaleValuesWithFactor(FIXP_DBL *vector, FIXP_DBL factor, INT len, @@ -241,20 +241,31 @@ inline void scaleValueInPlace(FIXP_DBL *value, /*!< Value */ #ifndef SATURATE_RIGHT_SHIFT #define SATURATE_RIGHT_SHIFT(src, scale, dBits) \ + (((scale) >= 8*sizeof(LONG)) ? (LONG)0 : \ ((((LONG)(src) >> (scale)) > (LONG)(((1U) << ((dBits)-1)) - 1)) \ ? (LONG)(((1U) << ((dBits)-1)) - 1) \ : (((LONG)(src) >> (scale)) < ~((LONG)(((1U) << ((dBits)-1)) - 1))) \ ? ~((LONG)(((1U) << ((dBits)-1)) - 1)) \ - : ((LONG)(src) >> (scale))) + : ((LONG)(src) >> (scale)))) +#endif + +#ifndef SATURATE_LEFT_MAX +#define SATURATE_LEFT_MAX(src, dBits) \ + (((LONG)(src) > 0) \ + ? (LONG)(((1U) << ((dBits)-1)) - 1) \ + : ((LONG)(src) < 0) \ + ? ~((LONG)(((1U) << ((dBits)-1)) - 1)) \ + : (LONG)0) #endif #ifndef SATURATE_LEFT_SHIFT #define SATURATE_LEFT_SHIFT(src, scale, dBits) \ + (((scale) >= 8*sizeof(LONG)) ? SATURATE_LEFT_MAX(src, dBits) : \ (((LONG)(src) > ((LONG)(((1U) << ((dBits)-1)) - 1) >> (scale))) \ ? (LONG)(((1U) << ((dBits)-1)) - 1) \ : ((LONG)(src) < ~((LONG)(((1U) << ((dBits)-1)) - 1) >> (scale))) \ ? ~((LONG)(((1U) << ((dBits)-1)) - 1)) \ - : ((LONG)(src) << (scale))) + : ((LONG)(src) << (scale)))) #endif #ifndef SATURATE_SHIFT diff --git a/libMpegTPDec/src/tpdec_asc.cpp b/libMpegTPDec/src/tpdec_asc.cpp index 28bc22d..8868b22 100644 --- a/libMpegTPDec/src/tpdec_asc.cpp +++ b/libMpegTPDec/src/tpdec_asc.cpp @@ -1325,7 +1325,7 @@ static TRANSPORTDEC_ERROR EldSpecificConfig_Parse(CSAudioSpecificConfig *asc, CSTpCallBacks *cb) { TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK; CSEldSpecificConfig *esc = &asc->m_sc.m_eldSpecificConfig; - ASC_ELD_EXT_TYPE eldExtType; + int eldExtType; int eldExtLen, len, cnt, ldSbrLen = 0, eldExtLenSum, numSbrHeader = 0, sbrIndex; @@ -1395,7 +1395,7 @@ static TRANSPORTDEC_ERROR EldSpecificConfig_Parse(CSAudioSpecificConfig *asc, esc->m_downscaledSamplingFrequency = asc->m_samplingFrequency; /* parse ExtTypeConfigData */ while ( - ((eldExtType = (ASC_ELD_EXT_TYPE)FDKreadBits(hBs, 4)) != ELDEXT_TERM) && + ((eldExtType = FDKreadBits(hBs, 4)) != ELDEXT_TERM) && ((INT)FDKgetValidBits(hBs) >= 0)) { eldExtLen = len = FDKreadBits(hBs, 4); if (len == 0xf) { @@ -1546,8 +1546,7 @@ static TRANSPORTDEC_ERROR extElementConfig(CSUsacExtElementConfig *extElement, const AUDIO_OBJECT_TYPE aot) { TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK; - USAC_EXT_ELEMENT_TYPE usacExtElementType = - (USAC_EXT_ELEMENT_TYPE)escapedValue(hBs, 4, 8, 16); + int usacExtElementType = escapedValue(hBs, 4, 8, 16); /* recurve extension elements which are invalid for USAC */ if (aot == AOT_USAC) { @@ -1564,7 +1563,7 @@ static TRANSPORTDEC_ERROR extElementConfig(CSUsacExtElementConfig *extElement, } } - extElement->usacExtElementType = usacExtElementType; + extElement->usacExtElementType = (USAC_EXT_ELEMENT_TYPE) usacExtElementType; int usacExtElementConfigLength = escapedValue(hBs, 4, 8, 16); extElement->usacExtElementConfigLength = (USHORT)usacExtElementConfigLength; INT bsAnchor; @@ -1628,14 +1627,14 @@ static TRANSPORTDEC_ERROR configExtension(CSUsacConfig *usc, TRANSPORTDEC_ERROR ErrorStatus = TRANSPORTDEC_OK; int numConfigExtensions; - CONFIG_EXT_ID usacConfigExtType; + int usacConfigExtType; int usacConfigExtLength; numConfigExtensions = (int)escapedValue(hBs, 2, 4, 8) + 1; for (int confExtIdx = 0; confExtIdx < numConfigExtensions; confExtIdx++) { INT nbits; int loudnessInfoSetConfigExtensionPosition = FDKgetValidBits(hBs); - usacConfigExtType = (CONFIG_EXT_ID)escapedValue(hBs, 4, 8, 16); + usacConfigExtType = escapedValue(hBs, 4, 8, 16); usacConfigExtLength = (int)escapedValue(hBs, 4, 8, 16); /* Start bit position of config extension */ diff --git a/libMpegTPDec/src/tpdec_lib.cpp b/libMpegTPDec/src/tpdec_lib.cpp index 1976cb9..506aed3 100644 --- a/libMpegTPDec/src/tpdec_lib.cpp +++ b/libMpegTPDec/src/tpdec_lib.cpp @@ -274,7 +274,7 @@ TRANSPORTDEC_ERROR transportDec_OutOfBandConfig(HANDLE_TRANSPORTDEC hTp, UCHAR configChanged = 0; UCHAR configMode = AC_CM_DET_CFG_CHANGE; - UCHAR tmpConf[1024]; + UCHAR tmpConf[1024] = {0}; if (length > 1024) { return TRANSPORTDEC_UNSUPPORTED_FORMAT; } diff --git a/libPCMutils/src/pcmdmx_lib.cpp b/libPCMutils/src/pcmdmx_lib.cpp index 2070dbc..e3c3fa9 100644 --- a/libPCMutils/src/pcmdmx_lib.cpp +++ b/libPCMutils/src/pcmdmx_lib.cpp @@ -583,6 +583,9 @@ static PCMDMX_ERROR getChannelMode( (channelType[ch] & 0x0F) - 1, 0); /* Assign all undefined channels (ACT_NONE) to front channels. */ + if (channelIndices[ch] >= numCh[channelType[ch] >> 4][chGrp]) + return PCMDMX_INVALID_CH_CONFIG; + spkrPos[ch] = getSpeakerPos(channelType[ch], channelIndices[ch], numCh[channelType[ch] >> 4][chGrp]); diff --git a/libSACdec/src/sac_bitdec.cpp b/libSACdec/src/sac_bitdec.cpp index 883e1e8..062eb1c 100644 --- a/libSACdec/src/sac_bitdec.cpp +++ b/libSACdec/src/sac_bitdec.cpp @@ -448,6 +448,7 @@ SACDEC_ERROR SpatialDecParseSpecificConfig( int bsFreqRes, b3DaudioMode = 0; int numHeaderBits; int cfgStartPos, bitsAvailable; + int treeConfig; FDKmemclear(pSpatialSpecificConfig, sizeof(SPATIAL_SPECIFIC_CONFIG)); @@ -488,13 +489,13 @@ SACDEC_ERROR SpatialDecParseSpecificConfig( pSpatialSpecificConfig->freqRes = (SPATIALDEC_FREQ_RES)freqResTable_LD[bsFreqRes]; - pSpatialSpecificConfig->treeConfig = - (SPATIALDEC_TREE_CONFIG)FDKreadBits(bitstream, 4); + treeConfig = FDKreadBits(bitstream, 4); - if (pSpatialSpecificConfig->treeConfig != SPATIALDEC_MODE_RSVD7) { + if (treeConfig != SPATIALDEC_MODE_RSVD7) { err = MPS_UNSUPPORTED_CONFIG; goto bail; } + pSpatialSpecificConfig->treeConfig = (SPATIALDEC_TREE_CONFIG) treeConfig; { pSpatialSpecificConfig->nOttBoxes = @@ -1457,7 +1458,7 @@ static SACDEC_ERROR mapIndexData( FIXP_DBL (*pOttVsTotDb1)[MAX_PARAMETER_SETS][MAX_PARAMETER_BANDS], FIXP_DBL (*pOttVsTotDb2)[MAX_PARAMETER_SETS][MAX_PARAMETER_BANDS]) { int aParamSlots[MAX_PARAMETER_SETS]; - int aInterpolate[MAX_PARAMETER_SETS]; + int aInterpolate[MAX_PARAMETER_SETS] = {0}; int dataSets; int aMap[MAX_PARAMETER_BANDS + 1]; @@ -1562,6 +1563,7 @@ static SACDEC_ERROR mapIndexData( i2 = i; while (aInterpolate[i2] == 1) { i2++; + if (i2 >= MAX_PARAMETER_SETS) return MPS_WRONG_PARAMETERSETS; } x1 = paramSlot[i1]; xi = paramSlot[i]; diff --git a/libSACdec/src/sac_calcM1andM2.cpp b/libSACdec/src/sac_calcM1andM2.cpp index 6e5a145..5826275 100644 --- a/libSACdec/src/sac_calcM1andM2.cpp +++ b/libSACdec/src/sac_calcM1andM2.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -474,80 +474,6 @@ static const FIXP_DBL CLD_m[N_CLD] = { FL2FXCONST_DBL(0.888178419700125), }; -static FIXP_DBL dequantIPD_CLD_ICC_splitAngle__FDK_Function(INT ipdIdx, - INT cldIdx, - INT iccIdx) { - FIXP_DBL cld; - SpatialDequantGetCLD2Values(cldIdx, &cld); - - /*const FIXP_DBL one_m = (FIXP_DBL)MAXVAL_DBL; - const int one_e = 0;*/ - const FIXP_DBL one_m = FL2FXCONST_DBL(0.5f); - const int one_e = 1; - /* iidLin = sqrt(cld); */ - FIXP_DBL iidLin_m = sqrt_CLD_m[cldIdx]; - int iidLin_e = sqrt_CLD_e[cldIdx]; - /* iidLin2 = cld; */ - FIXP_DBL iidLin2_m = CLD_m[cldIdx]; - int iidLin2_e = sqrt_CLD_e[cldIdx] << 1; - /* iidLin21 = iidLin2 + 1.0f; */ - int iidLin21_e; - FIXP_DBL iidLin21_m = - fAddNorm(iidLin2_m, iidLin2_e, one_m, one_e, &iidLin21_e); - /* iidIcc2 = iidLin * icc * 2.0f; */ - FIXP_CFG icc = dequantICC__FDK[iccIdx]; - FIXP_DBL temp1_m, temp1c_m; - int temp1_e, temp1c_e; - temp1_m = fMult(iidLin_m, icc); - temp1_e = iidLin_e + 1; - - FIXP_DBL cosIpd, sinIpd; - cosIpd = COS_IPD(ipdIdx); - sinIpd = SIN_IPD(ipdIdx); - - temp1c_m = fMult(temp1_m, cosIpd); - temp1c_e = temp1_e; //+cosIpd_e; - - int temp2_e, temp3_e, inv_temp3_e, ratio_e; - FIXP_DBL temp2_m = - fAddNorm(iidLin21_m, iidLin21_e, temp1c_m, temp1c_e, &temp2_e); - FIXP_DBL temp3_m = - fAddNorm(iidLin21_m, iidLin21_e, temp1_m, temp1_e, &temp3_e); - /* calculate 1/temp3 needed later */ - inv_temp3_e = temp3_e; - FIXP_DBL inv_temp3_m = invFixp(temp3_m, &inv_temp3_e); - FIXP_DBL ratio_m = - fAddNorm(fMult(inv_temp3_m, temp2_m), (inv_temp3_e + temp2_e), - FL2FXCONST_DBL(1e-9f), 0, &ratio_e); - - int weight2_e, tempb_atan2_e; - FIXP_DBL weight2_m = - fPow(ratio_m, ratio_e, FL2FXCONST_DBL(0.5f), -1, &weight2_e); - /* atan2(w2*sinIpd, w1*iidLin + w2*cosIpd) = atan2(w2*sinIpd, (2 - w2)*iidLin - * + w2*cosIpd) = atan2(w2*sinIpd, 2*iidLin + w2*(cosIpd - iidLin)); */ - /* tmpa_atan2 = w2*sinIpd; tmpb_atan2 = 2*iidLin + w2*(cosIpd - iidLin); */ - FIXP_DBL tempb_atan2_m = iidLin_m; - tempb_atan2_e = iidLin_e + 1; - int add_tmp1_e = 0; - FIXP_DBL add_tmp1_m = fAddNorm(cosIpd, 0, -iidLin_m, iidLin_e, &add_tmp1_e); - FIXP_DBL add_tmp2_m = fMult(add_tmp1_m, weight2_m); - int add_tmp2_e = add_tmp1_e + weight2_e; - tempb_atan2_m = fAddNorm(tempb_atan2_m, tempb_atan2_e, add_tmp2_m, add_tmp2_e, - &tempb_atan2_e); - - FIXP_DBL tempa_atan2_m = fMult(weight2_m, sinIpd); - int tempa_atan2_e = weight2_e; // + sinIpd_e; - - if (tempa_atan2_e > tempb_atan2_e) { - tempb_atan2_m = (tempb_atan2_m >> (tempa_atan2_e - tempb_atan2_e)); - tempb_atan2_e = tempa_atan2_e; - } else if (tempb_atan2_e > tempa_atan2_e) { - tempa_atan2_m = (tempa_atan2_m >> (tempb_atan2_e - tempa_atan2_e)); - } - - return fixp_atan2(tempa_atan2_m, tempb_atan2_m); -} - static void calculateOpd(spatialDec* self, INT ottBoxIndx, INT parameterSetIndx, FIXP_DBL opd[MAX_PARAMETER_BANDS]) { INT band; @@ -563,12 +489,12 @@ static void calculateOpd(spatialDec* self, INT ottBoxIndx, INT parameterSetIndx, SpatialDequantGetCLD2Values(idxCld, &cld); /* ipd(idxIpd==8) == PI */ - if ((cld == FL2FXCONST_DBL(0.0f)) && (idxIpd == 8)) { + if (((cld == FL2FXCONST_DBL(0.0f)) && (idxIpd == 8)) || (idxIpd == 0)) { opd[2 * band] = FL2FXCONST_DBL(0.0f); } else { - opd[2 * band] = (dequantIPD_CLD_ICC_splitAngle__FDK_Function( - idxIpd, idxCld, idxIcc) >> - (IPD_SCALE - AT2O_SF)); + FDK_ASSERT(idxIpd > 0); + opd[2 * band] = + dequantIPD_CLD_ICC_splitAngle__FDK[idxIpd - 1][idxCld][idxIcc]; } opd[2 * band + 1] = opd[2 * band] - ipd; } diff --git a/libSACdec/src/sac_dec.cpp b/libSACdec/src/sac_dec.cpp index 4537d6e..3f55a7d 100644 --- a/libSACdec/src/sac_dec.cpp +++ b/libSACdec/src/sac_dec.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -200,6 +200,7 @@ static void SpatialDecClearFrameData( /* parameter smoothing tool set to off */ bsFrame->bsSmoothMode[0] = 0; + initParameterSmoothing(self); /* reset residual data */ { diff --git a/libSACdec/src/sac_rom.cpp b/libSACdec/src/sac_rom.cpp index 4285b65..600203f 100644 --- a/libSACdec/src/sac_rom.cpp +++ b/libSACdec/src/sac_rom.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -163,7 +163,7 @@ const FIXP_CFG dequantIPD__FDK[16] = { SCALE_IPD(4.71238898038469f), SCALE_IPD(5.105088062f), SCALE_IPD(5.49778714378214f), SCALE_IPD(5.890486225f)}; -#define SCALE_SPLIT_ANGLE(a) (FL2FXCONST_CFG(a / (float)(1 << IPD_SCALE))) +#define SCALE_SPLIT_ANGLE(a) (FL2FXCONST_DBL(a / (float)(1 << IPD_SCALE))) /* Generate table dequantIPD_CLD_ICC_splitAngle__FDK[16][31][8]: @@ -200,6 +200,3758 @@ const FIXP_CFG dequantIPD__FDK[16] = { atan2(w2 * sinIpd, w1 * iidLin + w2 * cosIpd); } */ +const FIXP_DBL dequantIPD_CLD_ICC_splitAngle__FDK[15][31][8] = { + { + {SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.39269909262657)}, + {SCALE_SPLIT_ANGLE(0.39055734872818), + SCALE_SPLIT_ANGLE(0.39055740833282), + SCALE_SPLIT_ANGLE(0.39055749773979), + SCALE_SPLIT_ANGLE(0.39055770635605), + SCALE_SPLIT_ANGLE(0.39055791497231), + SCALE_SPLIT_ANGLE(0.39055824279785), + SCALE_SPLIT_ANGLE(0.39055877923965), + SCALE_SPLIT_ANGLE(0.39055916666985)}, + {SCALE_SPLIT_ANGLE(0.38890451192856), + SCALE_SPLIT_ANGLE(0.38890469074249), + SCALE_SPLIT_ANGLE(0.38890495896339), + SCALE_SPLIT_ANGLE(0.38890564441681), + SCALE_SPLIT_ANGLE(0.38890630006790), + SCALE_SPLIT_ANGLE(0.38890734314919), + SCALE_SPLIT_ANGLE(0.38890904188156), + SCALE_SPLIT_ANGLE(0.38891020417213)}, + {SCALE_SPLIT_ANGLE(0.38599541783333), + SCALE_SPLIT_ANGLE(0.38599592447281), + SCALE_SPLIT_ANGLE(0.38599672913551), + SCALE_SPLIT_ANGLE(0.38599878549576), + SCALE_SPLIT_ANGLE(0.38600078225136), + SCALE_SPLIT_ANGLE(0.38600403070450), + SCALE_SPLIT_ANGLE(0.38600939512253), + SCALE_SPLIT_ANGLE(0.38601315021515)}, + {SCALE_SPLIT_ANGLE(0.38091576099396), + SCALE_SPLIT_ANGLE(0.38091731071472), + SCALE_SPLIT_ANGLE(0.38091966509819), + SCALE_SPLIT_ANGLE(0.38092571496964), + SCALE_SPLIT_ANGLE(0.38093179464340), + SCALE_SPLIT_ANGLE(0.38094165921211), + SCALE_SPLIT_ANGLE(0.38095843791962), + SCALE_SPLIT_ANGLE(0.38097056746483)}, + {SCALE_SPLIT_ANGLE(0.37216997146606), + SCALE_SPLIT_ANGLE(0.37217426300049), + SCALE_SPLIT_ANGLE(0.37218090891838), + SCALE_SPLIT_ANGLE(0.37219807505608), + SCALE_SPLIT_ANGLE(0.37221556901932), + SCALE_SPLIT_ANGLE(0.37224492430687), + SCALE_SPLIT_ANGLE(0.37229704856873), + SCALE_SPLIT_ANGLE(0.37233674526215)}, + {SCALE_SPLIT_ANGLE(0.36424967646599), + SCALE_SPLIT_ANGLE(0.36425727605820), + SCALE_SPLIT_ANGLE(0.36426907777786), + SCALE_SPLIT_ANGLE(0.36430004239082), + SCALE_SPLIT_ANGLE(0.36433213949203), + SCALE_SPLIT_ANGLE(0.36438730359077), + SCALE_SPLIT_ANGLE(0.36448970437050), + SCALE_SPLIT_ANGLE(0.36457163095474)}, + {SCALE_SPLIT_ANGLE(0.35356888175011), + SCALE_SPLIT_ANGLE(0.35358175635338), + SCALE_SPLIT_ANGLE(0.35360190272331), + SCALE_SPLIT_ANGLE(0.35365560650826), + SCALE_SPLIT_ANGLE(0.35371258854866), + SCALE_SPLIT_ANGLE(0.35381385684013), + SCALE_SPLIT_ANGLE(0.35401365160942), + SCALE_SPLIT_ANGLE(0.35418578982353)}, + {SCALE_SPLIT_ANGLE(0.33942583203316), + SCALE_SPLIT_ANGLE(0.33944645524025), + SCALE_SPLIT_ANGLE(0.33947896957397), + SCALE_SPLIT_ANGLE(0.33956742286682), + SCALE_SPLIT_ANGLE(0.33966416120529), + SCALE_SPLIT_ANGLE(0.33984372019768), + SCALE_SPLIT_ANGLE(0.34023007750511), + SCALE_SPLIT_ANGLE(0.34060221910477)}, + {SCALE_SPLIT_ANGLE(0.32115450501442), + SCALE_SPLIT_ANGLE(0.32118520140648), + SCALE_SPLIT_ANGLE(0.32123416662216), + SCALE_SPLIT_ANGLE(0.32137048244476), + SCALE_SPLIT_ANGLE(0.32152509689331), + SCALE_SPLIT_ANGLE(0.32182863354683), + SCALE_SPLIT_ANGLE(0.32256561517715), + SCALE_SPLIT_ANGLE(0.32340893149376)}, + {SCALE_SPLIT_ANGLE(0.29830521345139), + SCALE_SPLIT_ANGLE(0.29834723472595), + SCALE_SPLIT_ANGLE(0.29841500520706), + SCALE_SPLIT_ANGLE(0.29860860109329), + SCALE_SPLIT_ANGLE(0.29883742332458), + SCALE_SPLIT_ANGLE(0.29931786656380), + SCALE_SPLIT_ANGLE(0.30069106817245), + SCALE_SPLIT_ANGLE(0.30275771021843)}, + {SCALE_SPLIT_ANGLE(0.28050789237022), + SCALE_SPLIT_ANGLE(0.28055712580681), + SCALE_SPLIT_ANGLE(0.28063708543777), + SCALE_SPLIT_ANGLE(0.28086942434311), + SCALE_SPLIT_ANGLE(0.28115189075470), + SCALE_SPLIT_ANGLE(0.28177404403687), + SCALE_SPLIT_ANGLE(0.28380545973778), + SCALE_SPLIT_ANGLE(0.28782638907433)}, + {SCALE_SPLIT_ANGLE(0.26083287596703), + SCALE_SPLIT_ANGLE(0.26088824868202), + SCALE_SPLIT_ANGLE(0.26097872853279), + SCALE_SPLIT_ANGLE(0.26124578714371), + SCALE_SPLIT_ANGLE(0.26157897710800), + SCALE_SPLIT_ANGLE(0.26234793663025), + SCALE_SPLIT_ANGLE(0.26525345444679), + SCALE_SPLIT_ANGLE(0.27373576164246)}, + {SCALE_SPLIT_ANGLE(0.23960022628307), + SCALE_SPLIT_ANGLE(0.23966011404991), + SCALE_SPLIT_ANGLE(0.23975846171379), + SCALE_SPLIT_ANGLE(0.24005253612995), + SCALE_SPLIT_ANGLE(0.24042735993862), + SCALE_SPLIT_ANGLE(0.24132782220840), + SCALE_SPLIT_ANGLE(0.24525125324726), + SCALE_SPLIT_ANGLE(0.26534587144852)}, + {SCALE_SPLIT_ANGLE(0.21727463603020), + SCALE_SPLIT_ANGLE(0.21733720600605), + SCALE_SPLIT_ANGLE(0.21744030714035), + SCALE_SPLIT_ANGLE(0.21775111556053), + SCALE_SPLIT_ANGLE(0.21815299987793), + SCALE_SPLIT_ANGLE(0.21914559602737), + SCALE_SPLIT_ANGLE(0.22397418320179), + SCALE_SPLIT_ANGLE(0.27997341752052)}, + {SCALE_SPLIT_ANGLE(0.19442924857140), + SCALE_SPLIT_ANGLE(0.19449260830879), + SCALE_SPLIT_ANGLE(0.19459712505341), + SCALE_SPLIT_ANGLE(0.19491320848465), + SCALE_SPLIT_ANGLE(0.19532410800457), + SCALE_SPLIT_ANGLE(0.19634956121445), + SCALE_SPLIT_ANGLE(0.20156545937061), + SCALE_SPLIT_ANGLE(0.33650875091553)}, + {SCALE_SPLIT_ANGLE(0.17168679833412), + SCALE_SPLIT_ANGLE(0.17174908518791), + SCALE_SPLIT_ANGLE(0.17185173928738), + SCALE_SPLIT_ANGLE(0.17216140031815), + SCALE_SPLIT_ANGLE(0.17256212234497), + SCALE_SPLIT_ANGLE(0.17355351150036), + SCALE_SPLIT_ANGLE(0.17841057479382), + SCALE_SPLIT_ANGLE(0.23922468721867)}, + {SCALE_SPLIT_ANGLE(0.14965108036995), + SCALE_SPLIT_ANGLE(0.14971046149731), + SCALE_SPLIT_ANGLE(0.14980803430080), + SCALE_SPLIT_ANGLE(0.15010002255440), + SCALE_SPLIT_ANGLE(0.15047283470631), + SCALE_SPLIT_ANGLE(0.15137128531933), + SCALE_SPLIT_ANGLE(0.15533345937729), + SCALE_SPLIT_ANGLE(0.17691856622696)}, + {SCALE_SPLIT_ANGLE(0.12884500622749), + SCALE_SPLIT_ANGLE(0.12889973819256), + SCALE_SPLIT_ANGLE(0.12898921966553), + SCALE_SPLIT_ANGLE(0.12925371527672), + SCALE_SPLIT_ANGLE(0.12958450615406), + SCALE_SPLIT_ANGLE(0.13035117089748), + SCALE_SPLIT_ANGLE(0.13329000771046), + SCALE_SPLIT_ANGLE(0.14226883649826)}, + {SCALE_SPLIT_ANGLE(0.10966771841049), + SCALE_SPLIT_ANGLE(0.10971628874540), + SCALE_SPLIT_ANGLE(0.10979522019625), + SCALE_SPLIT_ANGLE(0.11002497375011), + SCALE_SPLIT_ANGLE(0.11030506342649), + SCALE_SPLIT_ANGLE(0.11092507839203), + SCALE_SPLIT_ANGLE(0.11297956109047), + SCALE_SPLIT_ANGLE(0.11718676239252)}, + {SCALE_SPLIT_ANGLE(0.09237616509199), + SCALE_SPLIT_ANGLE(0.09241759032011), + SCALE_SPLIT_ANGLE(0.09248441457748), + SCALE_SPLIT_ANGLE(0.09267570823431), + SCALE_SPLIT_ANGLE(0.09290253371000), + SCALE_SPLIT_ANGLE(0.09338124841452), + SCALE_SPLIT_ANGLE(0.09476862102747), + SCALE_SPLIT_ANGLE(0.09691140055656)}, + {SCALE_SPLIT_ANGLE(0.07020132243633), + SCALE_SPLIT_ANGLE(0.07023159414530), + SCALE_SPLIT_ANGLE(0.07027988880873), + SCALE_SPLIT_ANGLE(0.07041462510824), + SCALE_SPLIT_ANGLE(0.07056795060635), + SCALE_SPLIT_ANGLE(0.07087047398090), + SCALE_SPLIT_ANGLE(0.07161350548267), + SCALE_SPLIT_ANGLE(0.07247893512249)}, + {SCALE_SPLIT_ANGLE(0.05244029685855), + SCALE_SPLIT_ANGLE(0.05246063694358), + SCALE_SPLIT_ANGLE(0.05249277502298), + SCALE_SPLIT_ANGLE(0.05258031934500), + SCALE_SPLIT_ANGLE(0.05267634987831), + SCALE_SPLIT_ANGLE(0.05285539478064), + SCALE_SPLIT_ANGLE(0.05324416980147), + SCALE_SPLIT_ANGLE(0.05362326279283)}, + {SCALE_SPLIT_ANGLE(0.03864165768027), + SCALE_SPLIT_ANGLE(0.03865439072251), + SCALE_SPLIT_ANGLE(0.03867433592677), + SCALE_SPLIT_ANGLE(0.03872758522630), + SCALE_SPLIT_ANGLE(0.03878424316645), + SCALE_SPLIT_ANGLE(0.03888526186347), + SCALE_SPLIT_ANGLE(0.03908598423004), + SCALE_SPLIT_ANGLE(0.03926040604711)}, + {SCALE_SPLIT_ANGLE(0.02817477472126), + SCALE_SPLIT_ANGLE(0.02818230912089), + SCALE_SPLIT_ANGLE(0.02819401398301), + SCALE_SPLIT_ANGLE(0.02822477556765), + SCALE_SPLIT_ANGLE(0.02825673110783), + SCALE_SPLIT_ANGLE(0.02831180393696), + SCALE_SPLIT_ANGLE(0.02841453813016), + SCALE_SPLIT_ANGLE(0.02849725075066)}, + {SCALE_SPLIT_ANGLE(0.02037953026593), + SCALE_SPLIT_ANGLE(0.02038379199803), + SCALE_SPLIT_ANGLE(0.02039037831128), + SCALE_SPLIT_ANGLE(0.02040746994317), + SCALE_SPLIT_ANGLE(0.02042490243912), + SCALE_SPLIT_ANGLE(0.02045420184731), + SCALE_SPLIT_ANGLE(0.02050646767020), + SCALE_SPLIT_ANGLE(0.02054644003510)}, + {SCALE_SPLIT_ANGLE(0.01173160225153), + SCALE_SPLIT_ANGLE(0.01173313986510), + SCALE_SPLIT_ANGLE(0.01173550263047), + SCALE_SPLIT_ANGLE(0.01174154505134), + SCALE_SPLIT_ANGLE(0.01174758374691), + SCALE_SPLIT_ANGLE(0.01175745483488), + SCALE_SPLIT_ANGLE(0.01177425310016), + SCALE_SPLIT_ANGLE(0.01178644131869)}, + {SCALE_SPLIT_ANGLE(0.00668647512794), + SCALE_SPLIT_ANGLE(0.00668699946254), + SCALE_SPLIT_ANGLE(0.00668780272827), + SCALE_SPLIT_ANGLE(0.00668983906507), + SCALE_SPLIT_ANGLE(0.00669185025617), + SCALE_SPLIT_ANGLE(0.00669508520514), + SCALE_SPLIT_ANGLE(0.00670044543222), + SCALE_SPLIT_ANGLE(0.00670422753319)}, + {SCALE_SPLIT_ANGLE(0.00378898042254), + SCALE_SPLIT_ANGLE(0.00378915388137), + SCALE_SPLIT_ANGLE(0.00378941884264), + SCALE_SPLIT_ANGLE(0.00379008660093), + SCALE_SPLIT_ANGLE(0.00379074062221), + SCALE_SPLIT_ANGLE(0.00379178463481), + SCALE_SPLIT_ANGLE(0.00379348872229), + SCALE_SPLIT_ANGLE(0.00379467196763)}, + {SCALE_SPLIT_ANGLE(0.00213995971717), + SCALE_SPLIT_ANGLE(0.00214001606219), + SCALE_SPLIT_ANGLE(0.00214010174386), + SCALE_SPLIT_ANGLE(0.00214031711221), + SCALE_SPLIT_ANGLE(0.00214052735828), + SCALE_SPLIT_ANGLE(0.00214086147025), + SCALE_SPLIT_ANGLE(0.00214140163735), + SCALE_SPLIT_ANGLE(0.00214177416638)}, + {SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151)}, + }, + { + {SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850), + SCALE_SPLIT_ANGLE(0.78539812564850)}, + {SCALE_SPLIT_ANGLE(0.78143113851547), + SCALE_SPLIT_ANGLE(0.78143155574799), + SCALE_SPLIT_ANGLE(0.78143215179443), + SCALE_SPLIT_ANGLE(0.78143370151520), + SCALE_SPLIT_ANGLE(0.78143519163132), + SCALE_SPLIT_ANGLE(0.78143757581711), + SCALE_SPLIT_ANGLE(0.78144145011902), + SCALE_SPLIT_ANGLE(0.78144407272339)}, + {SCALE_SPLIT_ANGLE(0.77835679054260), + SCALE_SPLIT_ANGLE(0.77835804224014), + SCALE_SPLIT_ANGLE(0.77835988998413), + SCALE_SPLIT_ANGLE(0.77836471796036), + SCALE_SPLIT_ANGLE(0.77836942672729), + SCALE_SPLIT_ANGLE(0.77837687730789), + SCALE_SPLIT_ANGLE(0.77838897705078), + SCALE_SPLIT_ANGLE(0.77839738130569)}, + {SCALE_SPLIT_ANGLE(0.77291858196259), + SCALE_SPLIT_ANGLE(0.77292239665985), + SCALE_SPLIT_ANGLE(0.77292817831039), + SCALE_SPLIT_ANGLE(0.77294290065765), + SCALE_SPLIT_ANGLE(0.77295738458633), + SCALE_SPLIT_ANGLE(0.77298063039780), + SCALE_SPLIT_ANGLE(0.77301889657974), + SCALE_SPLIT_ANGLE(0.77304571866989)}, + {SCALE_SPLIT_ANGLE(0.76334190368652), + SCALE_SPLIT_ANGLE(0.76335322856903), + SCALE_SPLIT_ANGLE(0.76337057352066), + SCALE_SPLIT_ANGLE(0.76341474056244), + SCALE_SPLIT_ANGLE(0.76345866918564), + SCALE_SPLIT_ANGLE(0.76353001594543), + SCALE_SPLIT_ANGLE(0.76365023851395), + SCALE_SPLIT_ANGLE(0.76373648643494)}, + {SCALE_SPLIT_ANGLE(0.74662178754807), + SCALE_SPLIT_ANGLE(0.74665385484695), + SCALE_SPLIT_ANGLE(0.74670320749283), + SCALE_SPLIT_ANGLE(0.74683058261871), + SCALE_SPLIT_ANGLE(0.74695950746536), + SCALE_SPLIT_ANGLE(0.74717390537262), + SCALE_SPLIT_ANGLE(0.74754953384399), + SCALE_SPLIT_ANGLE(0.74783092737198)}, + {SCALE_SPLIT_ANGLE(0.73124057054520), + SCALE_SPLIT_ANGLE(0.73129826784134), + SCALE_SPLIT_ANGLE(0.73138761520386), + SCALE_SPLIT_ANGLE(0.73162078857422), + SCALE_SPLIT_ANGLE(0.73186045885086), + SCALE_SPLIT_ANGLE(0.73226773738861), + SCALE_SPLIT_ANGLE(0.73300832509995), + SCALE_SPLIT_ANGLE(0.73358738422394)}, + {SCALE_SPLIT_ANGLE(0.71016556024551), + SCALE_SPLIT_ANGLE(0.71026545763016), + SCALE_SPLIT_ANGLE(0.71042120456696), + SCALE_SPLIT_ANGLE(0.71083343029022), + SCALE_SPLIT_ANGLE(0.71126621961594), + SCALE_SPLIT_ANGLE(0.71202337741852), + SCALE_SPLIT_ANGLE(0.71347540616989), + SCALE_SPLIT_ANGLE(0.71468448638916)}, + {SCALE_SPLIT_ANGLE(0.68173062801361), + SCALE_SPLIT_ANGLE(0.68189471960068), + SCALE_SPLIT_ANGLE(0.68215268850327), + SCALE_SPLIT_ANGLE(0.68284785747528), + SCALE_SPLIT_ANGLE(0.68359774351120), + SCALE_SPLIT_ANGLE(0.68496215343475), + SCALE_SPLIT_ANGLE(0.68778359889984), + SCALE_SPLIT_ANGLE(0.69036644697189)}, + {SCALE_SPLIT_ANGLE(0.64424294233322), + SCALE_SPLIT_ANGLE(0.64449471235275), + SCALE_SPLIT_ANGLE(0.64489430189133), + SCALE_SPLIT_ANGLE(0.64599478244781), + SCALE_SPLIT_ANGLE(0.64722269773483), + SCALE_SPLIT_ANGLE(0.64957273006439), + SCALE_SPLIT_ANGLE(0.65497380495071), + SCALE_SPLIT_ANGLE(0.66069257259369)}, + {SCALE_SPLIT_ANGLE(0.59645885229111), + SCALE_SPLIT_ANGLE(0.59681373834610), + SCALE_SPLIT_ANGLE(0.59738290309906), + SCALE_SPLIT_ANGLE(0.59898978471756), + SCALE_SPLIT_ANGLE(0.60085380077362), + SCALE_SPLIT_ANGLE(0.60464859008789), + SCALE_SPLIT_ANGLE(0.61471658945084), + SCALE_SPLIT_ANGLE(0.62811440229416)}, + {SCALE_SPLIT_ANGLE(0.55878311395645), + SCALE_SPLIT_ANGLE(0.55920600891113), + SCALE_SPLIT_ANGLE(0.55988913774490), + SCALE_SPLIT_ANGLE(0.56185030937195), + SCALE_SPLIT_ANGLE(0.56418746709824), + SCALE_SPLIT_ANGLE(0.56916546821594), + SCALE_SPLIT_ANGLE(0.58402228355408), + SCALE_SPLIT_ANGLE(0.60877442359924)}, + {SCALE_SPLIT_ANGLE(0.51690864562988), + SCALE_SPLIT_ANGLE(0.51739054918289), + SCALE_SPLIT_ANGLE(0.51817405223846), + SCALE_SPLIT_ANGLE(0.52045875787735), + SCALE_SPLIT_ANGLE(0.52325224876404), + SCALE_SPLIT_ANGLE(0.52947413921356), + SCALE_SPLIT_ANGLE(0.55062562227249), + SCALE_SPLIT_ANGLE(0.59875661134720)}, + {SCALE_SPLIT_ANGLE(0.47171193361282), + SCALE_SPLIT_ANGLE(0.47223743796349), + SCALE_SPLIT_ANGLE(0.47309640049934), + SCALE_SPLIT_ANGLE(0.47563400864601), + SCALE_SPLIT_ANGLE(0.47880488634109), + SCALE_SPLIT_ANGLE(0.48615166544914), + SCALE_SPLIT_ANGLE(0.51456981897354), + SCALE_SPLIT_ANGLE(0.61478358507156)}, + {SCALE_SPLIT_ANGLE(0.42445337772369), + SCALE_SPLIT_ANGLE(0.42500329017639), + SCALE_SPLIT_ANGLE(0.42590543627739), + SCALE_SPLIT_ANGLE(0.42859473824501), + SCALE_SPLIT_ANGLE(0.43200695514679), + SCALE_SPLIT_ANGLE(0.44014197587967), + SCALE_SPLIT_ANGLE(0.47505444288254), + SCALE_SPLIT_ANGLE(0.70435541868210)}, + {SCALE_SPLIT_ANGLE(0.37662339210510), + SCALE_SPLIT_ANGLE(0.37717753648758), + SCALE_SPLIT_ANGLE(0.37808802723885), + SCALE_SPLIT_ANGLE(0.38081303238869), + SCALE_SPLIT_ANGLE(0.38429373502731), + SCALE_SPLIT_ANGLE(0.39269909262657), + SCALE_SPLIT_ANGLE(0.43061128258705), + SCALE_SPLIT_ANGLE(0.89949643611908)}, + {SCALE_SPLIT_ANGLE(0.32972764968872), + SCALE_SPLIT_ANGLE(0.33026659488678), + SCALE_SPLIT_ANGLE(0.33115157485008), + SCALE_SPLIT_ANGLE(0.33379590511322), + SCALE_SPLIT_ANGLE(0.33716440200806), + SCALE_SPLIT_ANGLE(0.34525617957115), + SCALE_SPLIT_ANGLE(0.38098797202110), + SCALE_SPLIT_ANGLE(0.66312330961227)}, + {SCALE_SPLIT_ANGLE(0.28508263826370), + SCALE_SPLIT_ANGLE(0.28558859229088), + SCALE_SPLIT_ANGLE(0.28641715645790), + SCALE_SPLIT_ANGLE(0.28887593746185), + SCALE_SPLIT_ANGLE(0.29197177290916), + SCALE_SPLIT_ANGLE(0.29924646019936), + SCALE_SPLIT_ANGLE(0.32879719138145), + SCALE_SPLIT_ANGLE(0.45467028021812)}, + {SCALE_SPLIT_ANGLE(0.24368345737457), + SCALE_SPLIT_ANGLE(0.24414120614529), + SCALE_SPLIT_ANGLE(0.24488738179207), + SCALE_SPLIT_ANGLE(0.24707712233067), + SCALE_SPLIT_ANGLE(0.24978286027908), + SCALE_SPLIT_ANGLE(0.25592401623726), + SCALE_SPLIT_ANGLE(0.27806487679482), + SCALE_SPLIT_ANGLE(0.33706206083298)}, + {SCALE_SPLIT_ANGLE(0.20616286993027), + SCALE_SPLIT_ANGLE(0.20656119287014), + SCALE_SPLIT_ANGLE(0.20720668137074), + SCALE_SPLIT_ANGLE(0.20907410979271), + SCALE_SPLIT_ANGLE(0.21132774651051), + SCALE_SPLIT_ANGLE(0.21623271703720), + SCALE_SPLIT_ANGLE(0.23177997767925), + SCALE_SPLIT_ANGLE(0.26115790009499)}, + {SCALE_SPLIT_ANGLE(0.17282110452652), + SCALE_SPLIT_ANGLE(0.17315416038036), + SCALE_SPLIT_ANGLE(0.17369024455547), + SCALE_SPLIT_ANGLE(0.17521673440933), + SCALE_SPLIT_ANGLE(0.17701178789139), + SCALE_SPLIT_ANGLE(0.18074953556061), + SCALE_SPLIT_ANGLE(0.19124270975590), + SCALE_SPLIT_ANGLE(0.20666223764420)}, + {SCALE_SPLIT_ANGLE(0.13066084682941), + SCALE_SPLIT_ANGLE(0.13089758157730), + SCALE_SPLIT_ANGLE(0.13127475976944), + SCALE_SPLIT_ANGLE(0.13232271373272), + SCALE_SPLIT_ANGLE(0.13350808620453), + SCALE_SPLIT_ANGLE(0.13582544028759), + SCALE_SPLIT_ANGLE(0.14140741527081), + SCALE_SPLIT_ANGLE(0.14774028956890)}, + {SCALE_SPLIT_ANGLE(0.09729286283255), + SCALE_SPLIT_ANGLE(0.09744835644960), + SCALE_SPLIT_ANGLE(0.09769364446402), + SCALE_SPLIT_ANGLE(0.09835994243622), + SCALE_SPLIT_ANGLE(0.09908767789602), + SCALE_SPLIT_ANGLE(0.10043603181839), + SCALE_SPLIT_ANGLE(0.10332850366831), + SCALE_SPLIT_ANGLE(0.10610697418451)}, + {SCALE_SPLIT_ANGLE(0.07155895978212), + SCALE_SPLIT_ANGLE(0.07165451347828), + SCALE_SPLIT_ANGLE(0.07180397957563), + SCALE_SPLIT_ANGLE(0.07220225036144), + SCALE_SPLIT_ANGLE(0.07262472063303), + SCALE_SPLIT_ANGLE(0.07337479293346), + SCALE_SPLIT_ANGLE(0.07485356926918), + SCALE_SPLIT_ANGLE(0.07612708956003)}, + {SCALE_SPLIT_ANGLE(0.05212157219648), + SCALE_SPLIT_ANGLE(0.05217727646232), + SCALE_SPLIT_ANGLE(0.05226379260421), + SCALE_SPLIT_ANGLE(0.05249078199267), + SCALE_SPLIT_ANGLE(0.05272606015205), + SCALE_SPLIT_ANGLE(0.05313042178750), + SCALE_SPLIT_ANGLE(0.05388085916638), + SCALE_SPLIT_ANGLE(0.05448162183166)}, + {SCALE_SPLIT_ANGLE(0.03767965734005), + SCALE_SPLIT_ANGLE(0.03771083429456), + SCALE_SPLIT_ANGLE(0.03775899112225), + SCALE_SPLIT_ANGLE(0.03788382932544), + SCALE_SPLIT_ANGLE(0.03801096230745), + SCALE_SPLIT_ANGLE(0.03822423517704), + SCALE_SPLIT_ANGLE(0.03860339149833), + SCALE_SPLIT_ANGLE(0.03889226913452)}, + {SCALE_SPLIT_ANGLE(0.02168158628047), + SCALE_SPLIT_ANGLE(0.02169270813465), + SCALE_SPLIT_ANGLE(0.02170977368951), + SCALE_SPLIT_ANGLE(0.02175341546535), + SCALE_SPLIT_ANGLE(0.02179697528481), + SCALE_SPLIT_ANGLE(0.02186812832952), + SCALE_SPLIT_ANGLE(0.02198898419738), + SCALE_SPLIT_ANGLE(0.02207652665675)}, + {SCALE_SPLIT_ANGLE(0.01235581003129), + SCALE_SPLIT_ANGLE(0.01235957816243), + SCALE_SPLIT_ANGLE(0.01236534118652), + SCALE_SPLIT_ANGLE(0.01237995270640), + SCALE_SPLIT_ANGLE(0.01239436585456), + SCALE_SPLIT_ANGLE(0.01241754554212), + SCALE_SPLIT_ANGLE(0.01245592255145), + SCALE_SPLIT_ANGLE(0.01248296815902)}, + {SCALE_SPLIT_ANGLE(0.00700127054006), + SCALE_SPLIT_ANGLE(0.00700251059607), + SCALE_SPLIT_ANGLE(0.00700440211222), + SCALE_SPLIT_ANGLE(0.00700917327777), + SCALE_SPLIT_ANGLE(0.00701385037974), + SCALE_SPLIT_ANGLE(0.00702130328864), + SCALE_SPLIT_ANGLE(0.00703346775845), + SCALE_SPLIT_ANGLE(0.00704190973192)}, + {SCALE_SPLIT_ANGLE(0.00395415630192), + SCALE_SPLIT_ANGLE(0.00395455770195), + SCALE_SPLIT_ANGLE(0.00395516818389), + SCALE_SPLIT_ANGLE(0.00395670533180), + SCALE_SPLIT_ANGLE(0.00395820522681), + SCALE_SPLIT_ANGLE(0.00396058429033), + SCALE_SPLIT_ANGLE(0.00396443530917), + SCALE_SPLIT_ANGLE(0.00396708538756)}, + {SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068)}, + }, + { + {SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.17809724807739)}, + {SCALE_SPLIT_ANGLE(1.17289519309998), + SCALE_SPLIT_ANGLE(1.17289638519287), + SCALE_SPLIT_ANGLE(1.17289805412292), + SCALE_SPLIT_ANGLE(1.17290234565735), + SCALE_SPLIT_ANGLE(1.17290651798248), + SCALE_SPLIT_ANGLE(1.17291307449341), + SCALE_SPLIT_ANGLE(1.17292368412018), + SCALE_SPLIT_ANGLE(1.17293095588684)}, + {SCALE_SPLIT_ANGLE(1.16883802413940), + SCALE_SPLIT_ANGLE(1.16884148120880), + SCALE_SPLIT_ANGLE(1.16884684562683), + SCALE_SPLIT_ANGLE(1.16886019706726), + SCALE_SPLIT_ANGLE(1.16887319087982), + SCALE_SPLIT_ANGLE(1.16889393329620), + SCALE_SPLIT_ANGLE(1.16892755031586), + SCALE_SPLIT_ANGLE(1.16895067691803)}, + {SCALE_SPLIT_ANGLE(1.16160655021667), + SCALE_SPLIT_ANGLE(1.16161727905273), + SCALE_SPLIT_ANGLE(1.16163372993469), + SCALE_SPLIT_ANGLE(1.16167509555817), + SCALE_SPLIT_ANGLE(1.16171574592590), + SCALE_SPLIT_ANGLE(1.16178059577942), + SCALE_SPLIT_ANGLE(1.16188669204712), + SCALE_SPLIT_ANGLE(1.16196048259735)}, + {SCALE_SPLIT_ANGLE(1.14870405197144), + SCALE_SPLIT_ANGLE(1.14873659610748), + SCALE_SPLIT_ANGLE(1.14878630638123), + SCALE_SPLIT_ANGLE(1.14891266822815), + SCALE_SPLIT_ANGLE(1.14903748035431), + SCALE_SPLIT_ANGLE(1.14923894405365), + SCALE_SPLIT_ANGLE(1.14957404136658), + SCALE_SPLIT_ANGLE(1.14981138706207)}, + {SCALE_SPLIT_ANGLE(1.12567496299744), + SCALE_SPLIT_ANGLE(1.12576997280121), + SCALE_SPLIT_ANGLE(1.12591612339020), + SCALE_SPLIT_ANGLE(1.12629067897797), + SCALE_SPLIT_ANGLE(1.12666594982147), + SCALE_SPLIT_ANGLE(1.12728190422058), + SCALE_SPLIT_ANGLE(1.12833762168884), + SCALE_SPLIT_ANGLE(1.12910997867584)}, + {SCALE_SPLIT_ANGLE(1.10394382476807), + SCALE_SPLIT_ANGLE(1.10412001609802), + SCALE_SPLIT_ANGLE(1.10439181327820), + SCALE_SPLIT_ANGLE(1.10509443283081), + SCALE_SPLIT_ANGLE(1.10580694675446), + SCALE_SPLIT_ANGLE(1.10699594020844), + SCALE_SPLIT_ANGLE(1.10909199714661), + SCALE_SPLIT_ANGLE(1.11067581176758)}, + {SCALE_SPLIT_ANGLE(1.07335853576660), + SCALE_SPLIT_ANGLE(1.07367515563965), + SCALE_SPLIT_ANGLE(1.07416594028473), + SCALE_SPLIT_ANGLE(1.07544887065887), + SCALE_SPLIT_ANGLE(1.07677161693573), + SCALE_SPLIT_ANGLE(1.07902932167053), + SCALE_SPLIT_ANGLE(1.08317446708679), + SCALE_SPLIT_ANGLE(1.08645892143250)}, + {SCALE_SPLIT_ANGLE(1.03070926666260), + SCALE_SPLIT_ANGLE(1.03125381469727), + SCALE_SPLIT_ANGLE(1.03210365772247), + SCALE_SPLIT_ANGLE(1.03435742855072), + SCALE_SPLIT_ANGLE(1.03673219680786), + SCALE_SPLIT_ANGLE(1.04091238975525), + SCALE_SPLIT_ANGLE(1.04904520511627), + SCALE_SPLIT_ANGLE(1.05597066879272)}, + {SCALE_SPLIT_ANGLE(0.97233027219772), + SCALE_SPLIT_ANGLE(0.97321176528931), + SCALE_SPLIT_ANGLE(0.97459858655930), + SCALE_SPLIT_ANGLE(0.97834444046021), + SCALE_SPLIT_ANGLE(0.98240250349045), + SCALE_SPLIT_ANGLE(0.98984360694885), + SCALE_SPLIT_ANGLE(1.00556409358978), + SCALE_SPLIT_ANGLE(1.02053046226501)}, + {SCALE_SPLIT_ANGLE(0.89506644010544), + SCALE_SPLIT_ANGLE(0.89638090133667), + SCALE_SPLIT_ANGLE(0.89846849441528), + SCALE_SPLIT_ANGLE(0.90423041582108), + SCALE_SPLIT_ANGLE(0.91068577766418), + SCALE_SPLIT_ANGLE(0.92315071821213), + SCALE_SPLIT_ANGLE(0.95268243551254), + SCALE_SPLIT_ANGLE(0.98626506328583)}, + {SCALE_SPLIT_ANGLE(0.83257329463959), + SCALE_SPLIT_ANGLE(0.83419400453568), + SCALE_SPLIT_ANGLE(0.83678525686264), + SCALE_SPLIT_ANGLE(0.84404885768890), + SCALE_SPLIT_ANGLE(0.85238879919052), + SCALE_SPLIT_ANGLE(0.86914122104645), + SCALE_SPLIT_ANGLE(0.91285765171051), + SCALE_SPLIT_ANGLE(0.97222852706909)}, + {SCALE_SPLIT_ANGLE(0.76227337121964), + SCALE_SPLIT_ANGLE(0.76417022943497), + SCALE_SPLIT_ANGLE(0.76722234487534), + SCALE_SPLIT_ANGLE(0.77590966224670), + SCALE_SPLIT_ANGLE(0.78613227605820), + SCALE_SPLIT_ANGLE(0.80752640962601), + SCALE_SPLIT_ANGLE(0.86987829208374), + SCALE_SPLIT_ANGLE(0.97863066196442)}, + {SCALE_SPLIT_ANGLE(0.68631619215012), + SCALE_SPLIT_ANGLE(0.68841683864594), + SCALE_SPLIT_ANGLE(0.69181632995605), + SCALE_SPLIT_ANGLE(0.70162522792816), + SCALE_SPLIT_ANGLE(0.71342813968658), + SCALE_SPLIT_ANGLE(0.73910331726074), + SCALE_SPLIT_ANGLE(0.82307606935501), + SCALE_SPLIT_ANGLE(1.03223013877869)}, + {SCALE_SPLIT_ANGLE(0.60781323909760), + SCALE_SPLIT_ANGLE(0.61001545190811), + SCALE_SPLIT_ANGLE(0.61359488964081), + SCALE_SPLIT_ANGLE(0.62403196096420), + SCALE_SPLIT_ANGLE(0.63681113719940), + SCALE_SPLIT_ANGLE(0.66548818349838), + SCALE_SPLIT_ANGLE(0.76931142807007), + SCALE_SPLIT_ANGLE(1.19638144969940)}, + {SCALE_SPLIT_ANGLE(0.53021633625031), + SCALE_SPLIT_ANGLE(0.53240889310837), + SCALE_SPLIT_ANGLE(0.53598147630692), + SCALE_SPLIT_ANGLE(0.54646170139313), + SCALE_SPLIT_ANGLE(0.55942362546921), + SCALE_SPLIT_ANGLE(0.58904862403870), + SCALE_SPLIT_ANGLE(0.70326197147369), + SCALE_SPLIT_ANGLE(1.46822571754456)}, + {SCALE_SPLIT_ANGLE(0.45655798912048), + SCALE_SPLIT_ANGLE(0.45864027738571), + SCALE_SPLIT_ANGLE(0.46203431487083), + SCALE_SPLIT_ANGLE(0.47199890017509), + SCALE_SPLIT_ANGLE(0.48433950543404), + SCALE_SPLIT_ANGLE(0.51260900497437), + SCALE_SPLIT_ANGLE(0.62212866544724), + SCALE_SPLIT_ANGLE(1.20720028877258)}, + {SCALE_SPLIT_ANGLE(0.38893291354179), + SCALE_SPLIT_ANGLE(0.39082619547844), + SCALE_SPLIT_ANGLE(0.39390671253204), + SCALE_SPLIT_ANGLE(0.40291145443916), + SCALE_SPLIT_ANGLE(0.41398161649704), + SCALE_SPLIT_ANGLE(0.43899387121201), + SCALE_SPLIT_ANGLE(0.53091615438461), + SCALE_SPLIT_ANGLE(0.85221332311630)}, + {SCALE_SPLIT_ANGLE(0.32840186357498), + SCALE_SPLIT_ANGLE(0.33005380630493), + SCALE_SPLIT_ANGLE(0.33273181319237), + SCALE_SPLIT_ANGLE(0.34049156308174), + SCALE_SPLIT_ANGLE(0.34989202022552), + SCALE_SPLIT_ANGLE(0.37057083845139), + SCALE_SPLIT_ANGLE(0.43990376591682), + SCALE_SPLIT_ANGLE(0.60593068599701)}, + {SCALE_SPLIT_ANGLE(0.27521029114723), + SCALE_SPLIT_ANGLE(0.27659532427788), + SCALE_SPLIT_ANGLE(0.27882957458496), + SCALE_SPLIT_ANGLE(0.28522574901581), + SCALE_SPLIT_ANGLE(0.29282194375992), + SCALE_SPLIT_ANGLE(0.30895602703094), + SCALE_SPLIT_ANGLE(0.35752716660500), + SCALE_SPLIT_ANGLE(0.44366976618767)}, + {SCALE_SPLIT_ANGLE(0.22909799218178), + SCALE_SPLIT_ANGLE(0.23021572828293), + SCALE_SPLIT_ANGLE(0.23200811445713), + SCALE_SPLIT_ANGLE(0.23706816136837), + SCALE_SPLIT_ANGLE(0.24294251203537), + SCALE_SPLIT_ANGLE(0.25494652986526), + SCALE_SPLIT_ANGLE(0.28743273019791), + SCALE_SPLIT_ANGLE(0.33326253294945)}, + {SCALE_SPLIT_ANGLE(0.17204397916794), + SCALE_SPLIT_ANGLE(0.17280195653439), + SCALE_SPLIT_ANGLE(0.17400608956814), + SCALE_SPLIT_ANGLE(0.17733128368855), + SCALE_SPLIT_ANGLE(0.18105845153332), + SCALE_SPLIT_ANGLE(0.18825364112854), + SCALE_SPLIT_ANGLE(0.20519739389420), + SCALE_SPLIT_ANGLE(0.22397252917290)}, + {SCALE_SPLIT_ANGLE(0.12763081490994), + SCALE_SPLIT_ANGLE(0.12810991704464), + SCALE_SPLIT_ANGLE(0.12886413931847), + SCALE_SPLIT_ANGLE(0.13090407848358), + SCALE_SPLIT_ANGLE(0.13311788439751), + SCALE_SPLIT_ANGLE(0.13718488812447), + SCALE_SPLIT_ANGLE(0.14578336477280), + SCALE_SPLIT_ANGLE(0.15392093360424)}, + {SCALE_SPLIT_ANGLE(0.09368771314621), + SCALE_SPLIT_ANGLE(0.09397350251675), + SCALE_SPLIT_ANGLE(0.09441984444857), + SCALE_SPLIT_ANGLE(0.09560553729534), + SCALE_SPLIT_ANGLE(0.09685769677162), + SCALE_SPLIT_ANGLE(0.09906788915396), + SCALE_SPLIT_ANGLE(0.10338338464499), + SCALE_SPLIT_ANGLE(0.10706327855587)}, + {SCALE_SPLIT_ANGLE(0.06817039847374), + SCALE_SPLIT_ANGLE(0.06833326816559), + SCALE_SPLIT_ANGLE(0.06858598440886), + SCALE_SPLIT_ANGLE(0.06924756616354), + SCALE_SPLIT_ANGLE(0.06993119418621), + SCALE_SPLIT_ANGLE(0.07110133767128), + SCALE_SPLIT_ANGLE(0.07325870543718), + SCALE_SPLIT_ANGLE(0.07497421652079)}, + {SCALE_SPLIT_ANGLE(0.04925633221865), + SCALE_SPLIT_ANGLE(0.04934597760439), + SCALE_SPLIT_ANGLE(0.04948436096311), + SCALE_SPLIT_ANGLE(0.04984252527356), + SCALE_SPLIT_ANGLE(0.05020647495985), + SCALE_SPLIT_ANGLE(0.05081529542804), + SCALE_SPLIT_ANGLE(0.05189275369048), + SCALE_SPLIT_ANGLE(0.05270983651280)}, + {SCALE_SPLIT_ANGLE(0.02833298407495), + SCALE_SPLIT_ANGLE(0.02836437709630), + SCALE_SPLIT_ANGLE(0.02841254509985), + SCALE_SPLIT_ANGLE(0.02853557839990), + SCALE_SPLIT_ANGLE(0.02865825034678), + SCALE_SPLIT_ANGLE(0.02885829657316), + SCALE_SPLIT_ANGLE(0.02919724024832), + SCALE_SPLIT_ANGLE(0.02944211289287)}, + {SCALE_SPLIT_ANGLE(0.01614447496831), + SCALE_SPLIT_ANGLE(0.01615499891341), + SCALE_SPLIT_ANGLE(0.01617109030485), + SCALE_SPLIT_ANGLE(0.01621186546981), + SCALE_SPLIT_ANGLE(0.01625206694007), + SCALE_SPLIT_ANGLE(0.01631666347384), + SCALE_SPLIT_ANGLE(0.01642346009612), + SCALE_SPLIT_ANGLE(0.01649860665202)}, + {SCALE_SPLIT_ANGLE(0.00914775021374), + SCALE_SPLIT_ANGLE(0.00915119145066), + SCALE_SPLIT_ANGLE(0.00915644038469), + SCALE_SPLIT_ANGLE(0.00916968286037), + SCALE_SPLIT_ANGLE(0.00918265152723), + SCALE_SPLIT_ANGLE(0.00920331478119), + SCALE_SPLIT_ANGLE(0.00923701003194), + SCALE_SPLIT_ANGLE(0.00926037877798)}, + {SCALE_SPLIT_ANGLE(0.00516638066620), + SCALE_SPLIT_ANGLE(0.00516748987138), + SCALE_SPLIT_ANGLE(0.00516917929053), + SCALE_SPLIT_ANGLE(0.00517342984676), + SCALE_SPLIT_ANGLE(0.00517757656053), + SCALE_SPLIT_ANGLE(0.00518415356055), + SCALE_SPLIT_ANGLE(0.00519479578361), + SCALE_SPLIT_ANGLE(0.00520211551338)}, + {SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564)}, + }, + { + {SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629), + SCALE_SPLIT_ANGLE(1.57079637050629)}, + {SCALE_SPLIT_ANGLE(1.56514155864716), + SCALE_SPLIT_ANGLE(1.56514346599579), + SCALE_SPLIT_ANGLE(1.56514656543732), + SCALE_SPLIT_ANGLE(1.56515407562256), + SCALE_SPLIT_ANGLE(1.56516146659851), + SCALE_SPLIT_ANGLE(1.56517302989960), + SCALE_SPLIT_ANGLE(1.56519174575806), + SCALE_SPLIT_ANGLE(1.56520450115204)}, + {SCALE_SPLIT_ANGLE(1.56069743633270), + SCALE_SPLIT_ANGLE(1.56070363521576), + SCALE_SPLIT_ANGLE(1.56071317195892), + SCALE_SPLIT_ANGLE(1.56073689460754), + SCALE_SPLIT_ANGLE(1.56076002120972), + SCALE_SPLIT_ANGLE(1.56079673767090), + SCALE_SPLIT_ANGLE(1.56085586547852), + SCALE_SPLIT_ANGLE(1.56089639663696)}, + {SCALE_SPLIT_ANGLE(1.55270349979401), + SCALE_SPLIT_ANGLE(1.55272293090820), + SCALE_SPLIT_ANGLE(1.55275249481201), + SCALE_SPLIT_ANGLE(1.55282700061798), + SCALE_SPLIT_ANGLE(1.55289983749390), + SCALE_SPLIT_ANGLE(1.55301547050476), + SCALE_SPLIT_ANGLE(1.55320310592651), + SCALE_SPLIT_ANGLE(1.55333256721497)}, + {SCALE_SPLIT_ANGLE(1.53820896148682), + SCALE_SPLIT_ANGLE(1.53826904296875), + SCALE_SPLIT_ANGLE(1.53836083412170), + SCALE_SPLIT_ANGLE(1.53859281539917), + SCALE_SPLIT_ANGLE(1.53882038593292), + SCALE_SPLIT_ANGLE(1.53918409347534), + SCALE_SPLIT_ANGLE(1.53978037834167), + SCALE_SPLIT_ANGLE(1.54019629955292)}, + {SCALE_SPLIT_ANGLE(1.51160359382629), + SCALE_SPLIT_ANGLE(1.51178681850433), + SCALE_SPLIT_ANGLE(1.51206707954407), + SCALE_SPLIT_ANGLE(1.51277923583984), + SCALE_SPLIT_ANGLE(1.51348364353180), + SCALE_SPLIT_ANGLE(1.51462137699127), + SCALE_SPLIT_ANGLE(1.51652014255524), + SCALE_SPLIT_ANGLE(1.51787149906158)}, + {SCALE_SPLIT_ANGLE(1.48564028739929), + SCALE_SPLIT_ANGLE(1.48599278926849), + SCALE_SPLIT_ANGLE(1.48653328418732), + SCALE_SPLIT_ANGLE(1.48791313171387), + SCALE_SPLIT_ANGLE(1.48928797245026), + SCALE_SPLIT_ANGLE(1.49152994155884), + SCALE_SPLIT_ANGLE(1.49533641338348), + SCALE_SPLIT_ANGLE(1.49810016155243)}, + {SCALE_SPLIT_ANGLE(1.44770443439484), + SCALE_SPLIT_ANGLE(1.44837117195129), + SCALE_SPLIT_ANGLE(1.44939684867859), + SCALE_SPLIT_ANGLE(1.45203149318695), + SCALE_SPLIT_ANGLE(1.45468175411224), + SCALE_SPLIT_ANGLE(1.45906186103821), + SCALE_SPLIT_ANGLE(1.46668362617493), + SCALE_SPLIT_ANGLE(1.47238755226135)}, + {SCALE_SPLIT_ANGLE(1.39214622974396), + SCALE_SPLIT_ANGLE(1.39337480068207), + SCALE_SPLIT_ANGLE(1.39527153968811), + SCALE_SPLIT_ANGLE(1.40018463134766), + SCALE_SPLIT_ANGLE(1.40518975257874), + SCALE_SPLIT_ANGLE(1.41361439228058), + SCALE_SPLIT_ANGLE(1.42880713939667), + SCALE_SPLIT_ANGLE(1.44072246551514)}, + {SCALE_SPLIT_ANGLE(1.31133699417114), + SCALE_SPLIT_ANGLE(1.31350564956665), + SCALE_SPLIT_ANGLE(1.31686961650848), + SCALE_SPLIT_ANGLE(1.32567906379700), + SCALE_SPLIT_ANGLE(1.33480501174927), + SCALE_SPLIT_ANGLE(1.35055577754974), + SCALE_SPLIT_ANGLE(1.38048458099365), + SCALE_SPLIT_ANGLE(1.40579915046692)}, + {SCALE_SPLIT_ANGLE(1.19695901870728), + SCALE_SPLIT_ANGLE(1.20052528381348), + SCALE_SPLIT_ANGLE(1.20609176158905), + SCALE_SPLIT_ANGLE(1.22087836265564), + SCALE_SPLIT_ANGLE(1.23654139041901), + SCALE_SPLIT_ANGLE(1.26451897621155), + SCALE_SPLIT_ANGLE(1.32194638252258), + SCALE_SPLIT_ANGLE(1.37709856033325)}, + {SCALE_SPLIT_ANGLE(1.09969496726990), + SCALE_SPLIT_ANGLE(1.10437381267548), + SCALE_SPLIT_ANGLE(1.11171460151672), + SCALE_SPLIT_ANGLE(1.13144767284393), + SCALE_SPLIT_ANGLE(1.15274536609650), + SCALE_SPLIT_ANGLE(1.19192278385162), + SCALE_SPLIT_ANGLE(1.27820122241974), + SCALE_SPLIT_ANGLE(1.37287366390228)}, + {SCALE_SPLIT_ANGLE(0.98739641904831), + SCALE_SPLIT_ANGLE(0.99314504861832), + SCALE_SPLIT_ANGLE(1.00221848487854), + SCALE_SPLIT_ANGLE(1.02694928646088), + SCALE_SPLIT_ANGLE(1.05423069000244), + SCALE_SPLIT_ANGLE(1.10619938373566), + SCALE_SPLIT_ANGLE(1.23116791248322), + SCALE_SPLIT_ANGLE(1.39771795272827)}, + {SCALE_SPLIT_ANGLE(0.86566168069839), + SCALE_SPLIT_ANGLE(0.87219274044037), + SCALE_SPLIT_ANGLE(0.88256764411926), + SCALE_SPLIT_ANGLE(0.91127204895020), + SCALE_SPLIT_ANGLE(0.94370108842850), + SCALE_SPLIT_ANGLE(1.00792455673218), + SCALE_SPLIT_ANGLE(1.17914211750031), + SCALE_SPLIT_ANGLE(1.48121190071106)}, + {SCALE_SPLIT_ANGLE(0.74293035268784), + SCALE_SPLIT_ANGLE(0.74975663423538), + SCALE_SPLIT_ANGLE(0.76066619157791), + SCALE_SPLIT_ANGLE(0.79128372669220), + SCALE_SPLIT_ANGLE(0.82667875289917), + SCALE_SPLIT_ANGLE(0.89952337741852), + SCALE_SPLIT_ANGLE(1.11571300029755), + SCALE_SPLIT_ANGLE(1.67431199550629)}, + {SCALE_SPLIT_ANGLE(0.62761706113815), + SCALE_SPLIT_ANGLE(0.63421267271042), + SCALE_SPLIT_ANGLE(0.64480352401733), + SCALE_SPLIT_ANGLE(0.67486244440079), + SCALE_SPLIT_ANGLE(0.71025311946869), + SCALE_SPLIT_ANGLE(0.78539818525314), + SCALE_SPLIT_ANGLE(1.02937340736389), + SCALE_SPLIT_ANGLE(1.92301487922668)}, + {SCALE_SPLIT_ANGLE(0.52522456645966), + SCALE_SPLIT_ANGLE(0.53118568658829), + SCALE_SPLIT_ANGLE(0.54078328609467), + SCALE_SPLIT_ANGLE(0.56819748878479), + SCALE_SPLIT_ANGLE(0.60080903768539), + SCALE_SPLIT_ANGLE(0.67127299308777), + SCALE_SPLIT_ANGLE(0.91114157438278), + SCALE_SPLIT_ANGLE(1.73398244380951)}, + {SCALE_SPLIT_ANGLE(0.43751955032349), + SCALE_SPLIT_ANGLE(0.44262495636940), + SCALE_SPLIT_ANGLE(0.45084837079048), + SCALE_SPLIT_ANGLE(0.47435709834099), + SCALE_SPLIT_ANGLE(0.50235128402710), + SCALE_SPLIT_ANGLE(0.56287181377411), + SCALE_SPLIT_ANGLE(0.76705121994019), + SCALE_SPLIT_ANGLE(1.34888231754303)}, + {SCALE_SPLIT_ANGLE(0.36364197731018), + SCALE_SPLIT_ANGLE(0.36782836914063), + SCALE_SPLIT_ANGLE(0.37456014752388), + SCALE_SPLIT_ANGLE(0.39372295141220), + SCALE_SPLIT_ANGLE(0.41636970639229), + SCALE_SPLIT_ANGLE(0.46459695696831), + SCALE_SPLIT_ANGLE(0.61803084611893), + SCALE_SPLIT_ANGLE(0.96275907754898)}, + {SCALE_SPLIT_ANGLE(0.30166232585907), + SCALE_SPLIT_ANGLE(0.30497136712074), + SCALE_SPLIT_ANGLE(0.31027451157570), + SCALE_SPLIT_ANGLE(0.32524627447128), + SCALE_SPLIT_ANGLE(0.34269109368324), + SCALE_SPLIT_ANGLE(0.37887358665466), + SCALE_SPLIT_ANGLE(0.48432540893555), + SCALE_SPLIT_ANGLE(0.66878592967987)}, + {SCALE_SPLIT_ANGLE(0.24960109591484), + SCALE_SPLIT_ANGLE(0.25213342905045), + SCALE_SPLIT_ANGLE(0.25617361068726), + SCALE_SPLIT_ANGLE(0.26745575666428), + SCALE_SPLIT_ANGLE(0.28036275506020), + SCALE_SPLIT_ANGLE(0.30627736449242), + SCALE_SPLIT_ANGLE(0.37490701675415), + SCALE_SPLIT_ANGLE(0.47145301103592)}, + {SCALE_SPLIT_ANGLE(0.18661488592625), + SCALE_SPLIT_ANGLE(0.18822197616100), + SCALE_SPLIT_ANGLE(0.19076596200466), + SCALE_SPLIT_ANGLE(0.19773863255978), + SCALE_SPLIT_ANGLE(0.20547652244568), + SCALE_SPLIT_ANGLE(0.22024063766003), + SCALE_SPLIT_ANGLE(0.25452125072479), + SCALE_SPLIT_ANGLE(0.29236793518066)}, + {SCALE_SPLIT_ANGLE(0.13821771740913), + SCALE_SPLIT_ANGLE(0.13918289542198), + SCALE_SPLIT_ANGLE(0.14069861173630), + SCALE_SPLIT_ANGLE(0.14477686583996), + SCALE_SPLIT_ANGLE(0.14917233586311), + SCALE_SPLIT_ANGLE(0.15718193352222), + SCALE_SPLIT_ANGLE(0.17394064366817), + SCALE_SPLIT_ANGLE(0.18971265852451)}, + {SCALE_SPLIT_ANGLE(0.10140904784203), + SCALE_SPLIT_ANGLE(0.10196315497160), + SCALE_SPLIT_ANGLE(0.10282710194588), + SCALE_SPLIT_ANGLE(0.10511382669210), + SCALE_SPLIT_ANGLE(0.10751703381538), + SCALE_SPLIT_ANGLE(0.11173453181982), + SCALE_SPLIT_ANGLE(0.11990433931351), + SCALE_SPLIT_ANGLE(0.12683042883873)}, + {SCALE_SPLIT_ANGLE(0.07378087192774), + SCALE_SPLIT_ANGLE(0.07408788800240), + SCALE_SPLIT_ANGLE(0.07456368207932), + SCALE_SPLIT_ANGLE(0.07580613344908), + SCALE_SPLIT_ANGLE(0.07708553224802), + SCALE_SPLIT_ANGLE(0.07926639169455), + SCALE_SPLIT_ANGLE(0.08326309919357), + SCALE_SPLIT_ANGLE(0.08642497658730)}, + {SCALE_SPLIT_ANGLE(0.05331044271588), + SCALE_SPLIT_ANGLE(0.05347600579262), + SCALE_SPLIT_ANGLE(0.05373133346438), + SCALE_SPLIT_ANGLE(0.05439101532102), + SCALE_SPLIT_ANGLE(0.05505970120430), + SCALE_SPLIT_ANGLE(0.05617496743798), + SCALE_SPLIT_ANGLE(0.05813983827829), + SCALE_SPLIT_ANGLE(0.05962376296520)}, + {SCALE_SPLIT_ANGLE(0.03066622652113), + SCALE_SPLIT_ANGLE(0.03072291985154), + SCALE_SPLIT_ANGLE(0.03080986253917), + SCALE_SPLIT_ANGLE(0.03103173524141), + SCALE_SPLIT_ANGLE(0.03125262632966), + SCALE_SPLIT_ANGLE(0.03161224350333), + SCALE_SPLIT_ANGLE(0.03221991285682), + SCALE_SPLIT_ANGLE(0.03265778720379)}, + {SCALE_SPLIT_ANGLE(0.01747439615428), + SCALE_SPLIT_ANGLE(0.01749316416681), + SCALE_SPLIT_ANGLE(0.01752184517682), + SCALE_SPLIT_ANGLE(0.01759449020028), + SCALE_SPLIT_ANGLE(0.01766604930162), + SCALE_SPLIT_ANGLE(0.01778092049062), + SCALE_SPLIT_ANGLE(0.01797054335475), + SCALE_SPLIT_ANGLE(0.01810375973582)}, + {SCALE_SPLIT_ANGLE(0.00990140344948), + SCALE_SPLIT_ANGLE(0.00990749336779), + SCALE_SPLIT_ANGLE(0.00991678331047), + SCALE_SPLIT_ANGLE(0.00994021166116), + SCALE_SPLIT_ANGLE(0.00996314454824), + SCALE_SPLIT_ANGLE(0.00999966636300), + SCALE_SPLIT_ANGLE(0.01005917042494), + SCALE_SPLIT_ANGLE(0.01010039448738)}, + {SCALE_SPLIT_ANGLE(0.00559204118326), + SCALE_SPLIT_ANGLE(0.00559399509802), + SCALE_SPLIT_ANGLE(0.00559697346762), + SCALE_SPLIT_ANGLE(0.00560446362942), + SCALE_SPLIT_ANGLE(0.00561177125201), + SCALE_SPLIT_ANGLE(0.00562335411087), + SCALE_SPLIT_ANGLE(0.00564208766446), + SCALE_SPLIT_ANGLE(0.00565496599302)}, + {SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278), + SCALE_SPLIT_ANGLE(0.00000003162278)}, + }, + { + {SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589), + SCALE_SPLIT_ANGLE(1.96349537372589)}, + {SCALE_SPLIT_ANGLE(1.95824837684631), + SCALE_SPLIT_ANGLE(1.95825088024139), + SCALE_SPLIT_ANGLE(1.95825481414795), + SCALE_SPLIT_ANGLE(1.95826447010040), + SCALE_SPLIT_ANGLE(1.95827388763428), + SCALE_SPLIT_ANGLE(1.95828890800476), + SCALE_SPLIT_ANGLE(1.95831274986267), + SCALE_SPLIT_ANGLE(1.95832908153534)}, + {SCALE_SPLIT_ANGLE(1.95409297943115), + SCALE_SPLIT_ANGLE(1.95410108566284), + SCALE_SPLIT_ANGLE(1.95411336421967), + SCALE_SPLIT_ANGLE(1.95414412021637), + SCALE_SPLIT_ANGLE(1.95417404174805), + SCALE_SPLIT_ANGLE(1.95422136783600), + SCALE_SPLIT_ANGLE(1.95429730415344), + SCALE_SPLIT_ANGLE(1.95434916019440)}, + {SCALE_SPLIT_ANGLE(1.94654774665833), + SCALE_SPLIT_ANGLE(1.94657325744629), + SCALE_SPLIT_ANGLE(1.94661211967468), + SCALE_SPLIT_ANGLE(1.94670987129211), + SCALE_SPLIT_ANGLE(1.94680488109589), + SCALE_SPLIT_ANGLE(1.94695508480072), + SCALE_SPLIT_ANGLE(1.94719684123993), + SCALE_SPLIT_ANGLE(1.94736230373383)}, + {SCALE_SPLIT_ANGLE(1.93263375759125), + SCALE_SPLIT_ANGLE(1.93271493911743), + SCALE_SPLIT_ANGLE(1.93283843994141), + SCALE_SPLIT_ANGLE(1.93314898014069), + SCALE_SPLIT_ANGLE(1.93345153331757), + SCALE_SPLIT_ANGLE(1.93393051624298), + SCALE_SPLIT_ANGLE(1.93470382690430), + SCALE_SPLIT_ANGLE(1.93523514270782)}, + {SCALE_SPLIT_ANGLE(1.90630435943604), + SCALE_SPLIT_ANGLE(1.90656292438507), + SCALE_SPLIT_ANGLE(1.90695691108704), + SCALE_SPLIT_ANGLE(1.90794765949249), + SCALE_SPLIT_ANGLE(1.90891444683075), + SCALE_SPLIT_ANGLE(1.91044902801514), + SCALE_SPLIT_ANGLE(1.91294109821320), + SCALE_SPLIT_ANGLE(1.91466653347015)}, + {SCALE_SPLIT_ANGLE(1.87960743904114), + SCALE_SPLIT_ANGLE(1.88012742996216), + SCALE_SPLIT_ANGLE(1.88091933727264), + SCALE_SPLIT_ANGLE(1.88291192054749), + SCALE_SPLIT_ANGLE(1.88485777378082), + SCALE_SPLIT_ANGLE(1.88795232772827), + SCALE_SPLIT_ANGLE(1.89300394058228), + SCALE_SPLIT_ANGLE(1.89652991294861)}, + {SCALE_SPLIT_ANGLE(1.83877396583557), + SCALE_SPLIT_ANGLE(1.83982229232788), + SCALE_SPLIT_ANGLE(1.84141862392426), + SCALE_SPLIT_ANGLE(1.84543347358704), + SCALE_SPLIT_ANGLE(1.84935534000397), + SCALE_SPLIT_ANGLE(1.85560429096222), + SCALE_SPLIT_ANGLE(1.86587727069855), + SCALE_SPLIT_ANGLE(1.87314081192017)}, + {SCALE_SPLIT_ANGLE(1.77493417263031), + SCALE_SPLIT_ANGLE(1.77705264091492), + SCALE_SPLIT_ANGLE(1.78027474880219), + SCALE_SPLIT_ANGLE(1.78836548328400), + SCALE_SPLIT_ANGLE(1.79626095294952), + SCALE_SPLIT_ANGLE(1.80886054039001), + SCALE_SPLIT_ANGLE(1.82978034019470), + SCALE_SPLIT_ANGLE(1.84489548206329)}, + {SCALE_SPLIT_ANGLE(1.67321813106537), + SCALE_SPLIT_ANGLE(1.67747652530670), + SCALE_SPLIT_ANGLE(1.68394017219543), + SCALE_SPLIT_ANGLE(1.70011746883392), + SCALE_SPLIT_ANGLE(1.71586501598358), + SCALE_SPLIT_ANGLE(1.74102878570557), + SCALE_SPLIT_ANGLE(1.78345441818237), + SCALE_SPLIT_ANGLE(1.81531298160553)}, + {SCALE_SPLIT_ANGLE(1.51132118701935), + SCALE_SPLIT_ANGLE(1.51959395408630), + SCALE_SPLIT_ANGLE(1.53212559223175), + SCALE_SPLIT_ANGLE(1.56339788436890), + SCALE_SPLIT_ANGLE(1.59380054473877), + SCALE_SPLIT_ANGLE(1.64260375499725), + SCALE_SPLIT_ANGLE(1.72719120979309), + SCALE_SPLIT_ANGLE(1.79549276828766)}, + {SCALE_SPLIT_ANGLE(1.35904061794281), + SCALE_SPLIT_ANGLE(1.37121617794037), + SCALE_SPLIT_ANGLE(1.38967239856720), + SCALE_SPLIT_ANGLE(1.43583393096924), + SCALE_SPLIT_ANGLE(1.48093688488007), + SCALE_SPLIT_ANGLE(1.55410325527191), + SCALE_SPLIT_ANGLE(1.68521773815155), + SCALE_SPLIT_ANGLE(1.80024886131287)}, + {SCALE_SPLIT_ANGLE(1.17258906364441), + SCALE_SPLIT_ANGLE(1.18893885612488), + SCALE_SPLIT_ANGLE(1.21383893489838), + SCALE_SPLIT_ANGLE(1.27678310871124), + SCALE_SPLIT_ANGLE(1.33930420875549), + SCALE_SPLIT_ANGLE(1.44322526454926), + SCALE_SPLIT_ANGLE(1.64006817340851), + SCALE_SPLIT_ANGLE(1.83627605438232)}, + {SCALE_SPLIT_ANGLE(0.96933782100677), + SCALE_SPLIT_ANGLE(0.98854482173920), + SCALE_SPLIT_ANGLE(1.01807177066803), + SCALE_SPLIT_ANGLE(1.09429967403412), + SCALE_SPLIT_ANGLE(1.17245352268219), + SCALE_SPLIT_ANGLE(1.30826878547668), + SCALE_SPLIT_ANGLE(1.58911180496216), + SCALE_SPLIT_ANGLE(1.92719435691834)}, + {SCALE_SPLIT_ANGLE(0.77729862928391), + SCALE_SPLIT_ANGLE(0.79675698280334), + SCALE_SPLIT_ANGLE(0.82701611518860), + SCALE_SPLIT_ANGLE(0.90724968910217), + SCALE_SPLIT_ANGLE(0.99302649497986), + SCALE_SPLIT_ANGLE(1.15163993835449), + SCALE_SPLIT_ANGLE(1.52265202999115), + SCALE_SPLIT_ANGLE(2.09869623184204)}, + {SCALE_SPLIT_ANGLE(0.61765128374100), + SCALE_SPLIT_ANGLE(0.63503885269165), + SCALE_SPLIT_ANGLE(0.66235077381134), + SCALE_SPLIT_ANGLE(0.73653638362885), + SCALE_SPLIT_ANGLE(0.81904613971710), + SCALE_SPLIT_ANGLE(0.98174768686295), + SCALE_SPLIT_ANGLE(1.42110538482666), + SCALE_SPLIT_ANGLE(2.28386068344116)}, + {SCALE_SPLIT_ANGLE(0.49486333131790), + SCALE_SPLIT_ANGLE(0.50909578800201), + SCALE_SPLIT_ANGLE(0.53160983324051), + SCALE_SPLIT_ANGLE(0.59379214048386), + SCALE_SPLIT_ANGLE(0.66487491130829), + SCALE_SPLIT_ANGLE(0.81185549497604), + SCALE_SPLIT_ANGLE(1.26233386993408), + SCALE_SPLIT_ANGLE(2.16925764083862)}, + {SCALE_SPLIT_ANGLE(0.40230560302734), + SCALE_SPLIT_ANGLE(0.41332274675369), + SCALE_SPLIT_ANGLE(0.43082228302956), + SCALE_SPLIT_ANGLE(0.47957953810692), + SCALE_SPLIT_ANGLE(0.53603589534760), + SCALE_SPLIT_ANGLE(0.65522658824921), + SCALE_SPLIT_ANGLE(1.04503858089447), + SCALE_SPLIT_ANGLE(1.87041807174683)}, + {SCALE_SPLIT_ANGLE(0.33104607462883), + SCALE_SPLIT_ANGLE(0.33927726745605), + SCALE_SPLIT_ANGLE(0.35237133502960), + SCALE_SPLIT_ANGLE(0.38892474770546), + SCALE_SPLIT_ANGLE(0.43126159906387), + SCALE_SPLIT_ANGLE(0.52027010917664), + SCALE_SPLIT_ANGLE(0.80654186010361), + SCALE_SPLIT_ANGLE(1.41960310935974)}, + {SCALE_SPLIT_ANGLE(0.27415537834167), + SCALE_SPLIT_ANGLE(0.28015670180321), + SCALE_SPLIT_ANGLE(0.28969678282738), + SCALE_SPLIT_ANGLE(0.31623730063438), + SCALE_SPLIT_ANGLE(0.34670370817184), + SCALE_SPLIT_ANGLE(0.40939208865166), + SCALE_SPLIT_ANGLE(0.59604310989380), + SCALE_SPLIT_ANGLE(0.94309806823730)}, + {SCALE_SPLIT_ANGLE(0.22730343043804), + SCALE_SPLIT_ANGLE(0.23159568011761), + SCALE_SPLIT_ANGLE(0.23840220272541), + SCALE_SPLIT_ANGLE(0.25720024108887), + SCALE_SPLIT_ANGLE(0.27846288681030), + SCALE_SPLIT_ANGLE(0.32089167833328), + SCALE_SPLIT_ANGLE(0.43515858054161), + SCALE_SPLIT_ANGLE(0.60621982812881)}, + {SCALE_SPLIT_ANGLE(0.17074465751648), + SCALE_SPLIT_ANGLE(0.17326098680496), + SCALE_SPLIT_ANGLE(0.17722852528095), + SCALE_SPLIT_ANGLE(0.18802370131016), + SCALE_SPLIT_ANGLE(0.19990929961205), + SCALE_SPLIT_ANGLE(0.22246663272381), + SCALE_SPLIT_ANGLE(0.27514943480492), + SCALE_SPLIT_ANGLE(0.33505329489708)}, + {SCALE_SPLIT_ANGLE(0.12695817649364), + SCALE_SPLIT_ANGLE(0.12838459014893), + SCALE_SPLIT_ANGLE(0.13061878085136), + SCALE_SPLIT_ANGLE(0.13660037517548), + SCALE_SPLIT_ANGLE(0.14301040768623), + SCALE_SPLIT_ANGLE(0.15463486313820), + SCALE_SPLIT_ANGLE(0.17893929779530), + SCALE_SPLIT_ANGLE(0.20203559100628)}, + {SCALE_SPLIT_ANGLE(0.09338590502739), + SCALE_SPLIT_ANGLE(0.09417138993740), + SCALE_SPLIT_ANGLE(0.09539390355349), + SCALE_SPLIT_ANGLE(0.09861853718758), + SCALE_SPLIT_ANGLE(0.10199318081141), + SCALE_SPLIT_ANGLE(0.10789106786251), + SCALE_SPLIT_ANGLE(0.11927830427885), + SCALE_SPLIT_ANGLE(0.12894381582737)}, + {SCALE_SPLIT_ANGLE(0.06804535537958), + SCALE_SPLIT_ANGLE(0.06846775114536), + SCALE_SPLIT_ANGLE(0.06912153959274), + SCALE_SPLIT_ANGLE(0.07082461565733), + SCALE_SPLIT_ANGLE(0.07257289439440), + SCALE_SPLIT_ANGLE(0.07554303854704), + SCALE_SPLIT_ANGLE(0.08096561580896), + SCALE_SPLIT_ANGLE(0.08524779230356)}, + {SCALE_SPLIT_ANGLE(0.04920704290271), + SCALE_SPLIT_ANGLE(0.04942999407649), + SCALE_SPLIT_ANGLE(0.04977354034781), + SCALE_SPLIT_ANGLE(0.05065960064530), + SCALE_SPLIT_ANGLE(0.05155571550131), + SCALE_SPLIT_ANGLE(0.05304637551308), + SCALE_SPLIT_ANGLE(0.05566369369626), + SCALE_SPLIT_ANGLE(0.05763531476259)}, + {SCALE_SPLIT_ANGLE(0.02832321822643), + SCALE_SPLIT_ANGLE(0.02839783765376), + SCALE_SPLIT_ANGLE(0.02851220779121), + SCALE_SPLIT_ANGLE(0.02880378998816), + SCALE_SPLIT_ANGLE(0.02909369394183), + SCALE_SPLIT_ANGLE(0.02956490404904), + SCALE_SPLIT_ANGLE(0.03035926818848), + SCALE_SPLIT_ANGLE(0.03093044832349)}, + {SCALE_SPLIT_ANGLE(0.01614263281226), + SCALE_SPLIT_ANGLE(0.01616701297462), + SCALE_SPLIT_ANGLE(0.01620426215231), + SCALE_SPLIT_ANGLE(0.01629856042564), + SCALE_SPLIT_ANGLE(0.01639137230814), + SCALE_SPLIT_ANGLE(0.01654022186995), + SCALE_SPLIT_ANGLE(0.01678557507694), + SCALE_SPLIT_ANGLE(0.01695770025253)}, + {SCALE_SPLIT_ANGLE(0.00914741214365), + SCALE_SPLIT_ANGLE(0.00915526598692), + SCALE_SPLIT_ANGLE(0.00916724558920), + SCALE_SPLIT_ANGLE(0.00919744372368), + SCALE_SPLIT_ANGLE(0.00922699086368), + SCALE_SPLIT_ANGLE(0.00927402079105), + SCALE_SPLIT_ANGLE(0.00935057550669), + SCALE_SPLIT_ANGLE(0.00940357148647)}, + {SCALE_SPLIT_ANGLE(0.00516631966457), + SCALE_SPLIT_ANGLE(0.00516883004457), + SCALE_SPLIT_ANGLE(0.00517265405506), + SCALE_SPLIT_ANGLE(0.00518227089196), + SCALE_SPLIT_ANGLE(0.00519165024161), + SCALE_SPLIT_ANGLE(0.00520651414990), + SCALE_SPLIT_ANGLE(0.00523054087535), + SCALE_SPLIT_ANGLE(0.00524705136195)}, + {SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564), + SCALE_SPLIT_ANGLE(0.00000002921564)}, + }, + { + {SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479), + SCALE_SPLIT_ANGLE(2.35619449615479)}, + {SCALE_SPLIT_ANGLE(2.35216379165649), + SCALE_SPLIT_ANGLE(2.35216617584229), + SCALE_SPLIT_ANGLE(2.35216999053955), + SCALE_SPLIT_ANGLE(2.35217905044556), + SCALE_SPLIT_ANGLE(2.35218811035156), + SCALE_SPLIT_ANGLE(2.35220217704773), + SCALE_SPLIT_ANGLE(2.35222482681274), + SCALE_SPLIT_ANGLE(2.35224032402039)}, + {SCALE_SPLIT_ANGLE(2.34895062446594), + SCALE_SPLIT_ANGLE(2.34895825386047), + SCALE_SPLIT_ANGLE(2.34897017478943), + SCALE_SPLIT_ANGLE(2.34899950027466), + SCALE_SPLIT_ANGLE(2.34902811050415), + SCALE_SPLIT_ANGLE(2.34907317161560), + SCALE_SPLIT_ANGLE(2.34914517402649), + SCALE_SPLIT_ANGLE(2.34919428825378)}, + {SCALE_SPLIT_ANGLE(2.34306812286377), + SCALE_SPLIT_ANGLE(2.34309291839600), + SCALE_SPLIT_ANGLE(2.34313082695007), + SCALE_SPLIT_ANGLE(2.34322524070740), + SCALE_SPLIT_ANGLE(2.34331679344177), + SCALE_SPLIT_ANGLE(2.34346079826355), + SCALE_SPLIT_ANGLE(2.34369087219238), + SCALE_SPLIT_ANGLE(2.34384727478027)}, + {SCALE_SPLIT_ANGLE(2.33205723762512), + SCALE_SPLIT_ANGLE(2.33213782310486), + SCALE_SPLIT_ANGLE(2.33226013183594), + SCALE_SPLIT_ANGLE(2.33256578445435), + SCALE_SPLIT_ANGLE(2.33286166191101), + SCALE_SPLIT_ANGLE(2.33332633972168), + SCALE_SPLIT_ANGLE(2.33406686782837), + SCALE_SPLIT_ANGLE(2.33456921577454)}, + {SCALE_SPLIT_ANGLE(2.31062912940979), + SCALE_SPLIT_ANGLE(2.31089663505554), + SCALE_SPLIT_ANGLE(2.31130218505859), + SCALE_SPLIT_ANGLE(2.31231284141541), + SCALE_SPLIT_ANGLE(2.31328654289246), + SCALE_SPLIT_ANGLE(2.31480789184570), + SCALE_SPLIT_ANGLE(2.31722092628479), + SCALE_SPLIT_ANGLE(2.31885290145874)}, + {SCALE_SPLIT_ANGLE(2.28808355331421), + SCALE_SPLIT_ANGLE(2.28864479064941), + SCALE_SPLIT_ANGLE(2.28949403762817), + SCALE_SPLIT_ANGLE(2.29160070419312), + SCALE_SPLIT_ANGLE(2.29361891746521), + SCALE_SPLIT_ANGLE(2.29675459861755), + SCALE_SPLIT_ANGLE(2.30169844627380), + SCALE_SPLIT_ANGLE(2.30503511428833)}, + {SCALE_SPLIT_ANGLE(2.25191521644592), + SCALE_SPLIT_ANGLE(2.25312566757202), + SCALE_SPLIT_ANGLE(2.25494909286499), + SCALE_SPLIT_ANGLE(2.25943517684937), + SCALE_SPLIT_ANGLE(2.26368880271912), + SCALE_SPLIT_ANGLE(2.27023100852966), + SCALE_SPLIT_ANGLE(2.28044486045837), + SCALE_SPLIT_ANGLE(2.28732299804688)}, + {SCALE_SPLIT_ANGLE(2.19093585014343), + SCALE_SPLIT_ANGLE(2.19366121292114), + SCALE_SPLIT_ANGLE(2.19773292541504), + SCALE_SPLIT_ANGLE(2.20759749412537), + SCALE_SPLIT_ANGLE(2.21677780151367), + SCALE_SPLIT_ANGLE(2.23064494132996), + SCALE_SPLIT_ANGLE(2.25193929672241), + SCALE_SPLIT_ANGLE(2.26625943183899)}, + {SCALE_SPLIT_ANGLE(2.08102917671204), + SCALE_SPLIT_ANGLE(2.08757281303406), + SCALE_SPLIT_ANGLE(2.09720706939697), + SCALE_SPLIT_ANGLE(2.11991167068481), + SCALE_SPLIT_ANGLE(2.14035654067993), + SCALE_SPLIT_ANGLE(2.17029213905334), + SCALE_SPLIT_ANGLE(2.21503138542175), + SCALE_SPLIT_ANGLE(2.24518108367920)}, + {SCALE_SPLIT_ANGLE(1.86738610267639), + SCALE_SPLIT_ANGLE(1.88426077365875), + SCALE_SPLIT_ANGLE(1.90853273868561), + SCALE_SPLIT_ANGLE(1.96333324909210), + SCALE_SPLIT_ANGLE(2.01024460792542), + SCALE_SPLIT_ANGLE(2.07577633857727), + SCALE_SPLIT_ANGLE(2.16986608505249), + SCALE_SPLIT_ANGLE(2.23406052589417)}, + {SCALE_SPLIT_ANGLE(1.61812174320221), + SCALE_SPLIT_ANGLE(1.64943754673004), + SCALE_SPLIT_ANGLE(1.69389235973358), + SCALE_SPLIT_ANGLE(1.79176020622253), + SCALE_SPLIT_ANGLE(1.87292492389679), + SCALE_SPLIT_ANGLE(1.98277986049652), + SCALE_SPLIT_ANGLE(2.13605809211731), + SCALE_SPLIT_ANGLE(2.24282979965210)}, + {SCALE_SPLIT_ANGLE(1.26556181907654), + SCALE_SPLIT_ANGLE(1.31512010097504), + SCALE_SPLIT_ANGLE(1.38608694076538), + SCALE_SPLIT_ANGLE(1.54419934749603), + SCALE_SPLIT_ANGLE(1.67621040344238), + SCALE_SPLIT_ANGLE(1.85417342185974), + SCALE_SPLIT_ANGLE(2.09956336021423), + SCALE_SPLIT_ANGLE(2.27729439735413)}, + {SCALE_SPLIT_ANGLE(0.88984864950180), + SCALE_SPLIT_ANGLE(0.94673132896423), + SCALE_SPLIT_ANGLE(1.03102219104767), + SCALE_SPLIT_ANGLE(1.23219704627991), + SCALE_SPLIT_ANGLE(1.41468584537506), + SCALE_SPLIT_ANGLE(1.67807435989380), + SCALE_SPLIT_ANGLE(2.05749273300171), + SCALE_SPLIT_ANGLE(2.35138511657715)}, + {SCALE_SPLIT_ANGLE(0.60630625486374), + SCALE_SPLIT_ANGLE(0.65551131963730), + SCALE_SPLIT_ANGLE(0.73032128810883), + SCALE_SPLIT_ANGLE(0.92225730419159), + SCALE_SPLIT_ANGLE(1.11866605281830), + SCALE_SPLIT_ANGLE(1.44806647300720), + SCALE_SPLIT_ANGLE(1.99872636795044), + SCALE_SPLIT_ANGLE(2.47302055358887)}, + {SCALE_SPLIT_ANGLE(0.43393731117249), + SCALE_SPLIT_ANGLE(0.47099208831787), + SCALE_SPLIT_ANGLE(0.52780759334564), + SCALE_SPLIT_ANGLE(0.67895972728729), + SCALE_SPLIT_ANGLE(0.84712409973145), + SCALE_SPLIT_ANGLE(1.17809724807739), + SCALE_SPLIT_ANGLE(1.89703977108002), + SCALE_SPLIT_ANGLE(2.59155654907227)}, + {SCALE_SPLIT_ANGLE(0.33522719144821), + SCALE_SPLIT_ANGLE(0.36133098602295), + SCALE_SPLIT_ANGLE(0.40159517526627), + SCALE_SPLIT_ANGLE(0.51039946079254), + SCALE_SPLIT_ANGLE(0.63590413331985), + SCALE_SPLIT_ANGLE(0.90812796354294), + SCALE_SPLIT_ANGLE(1.70793557167053), + SCALE_SPLIT_ANGLE(2.52852439880371)}, + {SCALE_SPLIT_ANGLE(0.27478924393654), + SCALE_SPLIT_ANGLE(0.29251149296761), + SCALE_SPLIT_ANGLE(0.32007756829262), + SCALE_SPLIT_ANGLE(0.39531299471855), + SCALE_SPLIT_ANGLE(0.48291319608688), + SCALE_SPLIT_ANGLE(0.67812001705170), + SCALE_SPLIT_ANGLE(1.39007341861725), + SCALE_SPLIT_ANGLE(2.34402561187744)}, + {SCALE_SPLIT_ANGLE(0.23185738921165), + SCALE_SPLIT_ANGLE(0.24370795488358), + SCALE_SPLIT_ANGLE(0.26227980852127), + SCALE_SPLIT_ANGLE(0.31327381730080), + SCALE_SPLIT_ANGLE(0.37241828441620), + SCALE_SPLIT_ANGLE(0.50202107429504), + SCALE_SPLIT_ANGLE(0.99085599184036), + SCALE_SPLIT_ANGLE(1.96553468704224)}, + {SCALE_SPLIT_ANGLE(0.19698308408260), + SCALE_SPLIT_ANGLE(0.20488271117210), + SCALE_SPLIT_ANGLE(0.21731524169445), + SCALE_SPLIT_ANGLE(0.25148212909698), + SCALE_SPLIT_ANGLE(0.29065516591072), + SCALE_SPLIT_ANGLE(0.37341466546059), + SCALE_SPLIT_ANGLE(0.65295964479446), + SCALE_SPLIT_ANGLE(1.28865826129913)}, + {SCALE_SPLIT_ANGLE(0.16667704284191), + SCALE_SPLIT_ANGLE(0.17194211483002), + SCALE_SPLIT_ANGLE(0.18023577332497), + SCALE_SPLIT_ANGLE(0.20293866097927), + SCALE_SPLIT_ANGLE(0.22855134308338), + SCALE_SPLIT_ANGLE(0.28041818737984), + SCALE_SPLIT_ANGLE(0.43142420053482), + SCALE_SPLIT_ANGLE(0.70030152797699)}, + {SCALE_SPLIT_ANGLE(0.12773877382278), + SCALE_SPLIT_ANGLE(0.13059370219707), + SCALE_SPLIT_ANGLE(0.13507819175720), + SCALE_SPLIT_ANGLE(0.14721076190472), + SCALE_SPLIT_ANGLE(0.16052412986755), + SCALE_SPLIT_ANGLE(0.18590225279331), + SCALE_SPLIT_ANGLE(0.24703904986382), + SCALE_SPLIT_ANGLE(0.32153329253197)}, + {SCALE_SPLIT_ANGLE(0.09603263437748), + SCALE_SPLIT_ANGLE(0.09756572544575), + SCALE_SPLIT_ANGLE(0.09996145218611), + SCALE_SPLIT_ANGLE(0.10635073482990), + SCALE_SPLIT_ANGLE(0.11317526549101), + SCALE_SPLIT_ANGLE(0.12554961442947), + SCALE_SPLIT_ANGLE(0.15168419480324), + SCALE_SPLIT_ANGLE(0.17713627219200)}, + {SCALE_SPLIT_ANGLE(0.07104731351137), + SCALE_SPLIT_ANGLE(0.07186015695333), + SCALE_SPLIT_ANGLE(0.07312334328890), + SCALE_SPLIT_ANGLE(0.07644616067410), + SCALE_SPLIT_ANGLE(0.07991369813681), + SCALE_SPLIT_ANGLE(0.08596338331699), + SCALE_SPLIT_ANGLE(0.09766443818808), + SCALE_SPLIT_ANGLE(0.10767273604870)}, + {SCALE_SPLIT_ANGLE(0.05192205682397), + SCALE_SPLIT_ANGLE(0.05234766751528), + SCALE_SPLIT_ANGLE(0.05300576984882), + SCALE_SPLIT_ANGLE(0.05471667647362), + SCALE_SPLIT_ANGLE(0.05646898597479), + SCALE_SPLIT_ANGLE(0.05943991243839), + SCALE_SPLIT_ANGLE(0.06485754251480), + SCALE_SPLIT_ANGLE(0.06914159655571)}, + {SCALE_SPLIT_ANGLE(0.03760399296880), + SCALE_SPLIT_ANGLE(0.03782445564866), + SCALE_SPLIT_ANGLE(0.03816393017769), + SCALE_SPLIT_ANGLE(0.03903824463487), + SCALE_SPLIT_ANGLE(0.03992090374231), + SCALE_SPLIT_ANGLE(0.04138650372624), + SCALE_SPLIT_ANGLE(0.04395476728678), + SCALE_SPLIT_ANGLE(0.04588782787323)}, + {SCALE_SPLIT_ANGLE(0.02166714705527), + SCALE_SPLIT_ANGLE(0.02173948101699), + SCALE_SPLIT_ANGLE(0.02185030654073), + SCALE_SPLIT_ANGLE(0.02213260531425), + SCALE_SPLIT_ANGLE(0.02241298183799), + SCALE_SPLIT_ANGLE(0.02286812849343), + SCALE_SPLIT_ANGLE(0.02363408915699), + SCALE_SPLIT_ANGLE(0.02418405190110)}, + {SCALE_SPLIT_ANGLE(0.01235313806683), + SCALE_SPLIT_ANGLE(0.01237650960684), + SCALE_SPLIT_ANGLE(0.01241220813245), + SCALE_SPLIT_ANGLE(0.01250253710896), + SCALE_SPLIT_ANGLE(0.01259138900787), + SCALE_SPLIT_ANGLE(0.01273377332836), + SCALE_SPLIT_ANGLE(0.01296819839627), + SCALE_SPLIT_ANGLE(0.01313247997314)}, + {SCALE_SPLIT_ANGLE(0.00700078532100), + SCALE_SPLIT_ANGLE(0.00700826756656), + SCALE_SPLIT_ANGLE(0.00701967673376), + SCALE_SPLIT_ANGLE(0.00704843224958), + SCALE_SPLIT_ANGLE(0.00707655772567), + SCALE_SPLIT_ANGLE(0.00712130358443), + SCALE_SPLIT_ANGLE(0.00719408970326), + SCALE_SPLIT_ANGLE(0.00724443979561)}, + {SCALE_SPLIT_ANGLE(0.00395406875759), + SCALE_SPLIT_ANGLE(0.00395645201206), + SCALE_SPLIT_ANGLE(0.00396008137614), + SCALE_SPLIT_ANGLE(0.00396920880303), + SCALE_SPLIT_ANGLE(0.00397810759023), + SCALE_SPLIT_ANGLE(0.00399220688269), + SCALE_SPLIT_ANGLE(0.00401498842984), + SCALE_SPLIT_ANGLE(0.00403063697740)}, + {SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068), + SCALE_SPLIT_ANGLE(0.00000002236068)}, + }, + { + {SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439), + SCALE_SPLIT_ANGLE(2.74889349937439)}, + {SCALE_SPLIT_ANGLE(2.74670672416687), + SCALE_SPLIT_ANGLE(2.74670815467834), + SCALE_SPLIT_ANGLE(2.74671053886414), + SCALE_SPLIT_ANGLE(2.74671602249146), + SCALE_SPLIT_ANGLE(2.74672174453735), + SCALE_SPLIT_ANGLE(2.74673032760620), + SCALE_SPLIT_ANGLE(2.74674415588379), + SCALE_SPLIT_ANGLE(2.74675345420837)}, + {SCALE_SPLIT_ANGLE(2.74495577812195), + SCALE_SPLIT_ANGLE(2.74496054649353), + SCALE_SPLIT_ANGLE(2.74496769905090), + SCALE_SPLIT_ANGLE(2.74498581886292), + SCALE_SPLIT_ANGLE(2.74500346183777), + SCALE_SPLIT_ANGLE(2.74503111839294), + SCALE_SPLIT_ANGLE(2.74507498741150), + SCALE_SPLIT_ANGLE(2.74510502815247)}, + {SCALE_SPLIT_ANGLE(2.74173212051392), + SCALE_SPLIT_ANGLE(2.74174761772156), + SCALE_SPLIT_ANGLE(2.74177098274231), + SCALE_SPLIT_ANGLE(2.74182939529419), + SCALE_SPLIT_ANGLE(2.74188613891602), + SCALE_SPLIT_ANGLE(2.74197483062744), + SCALE_SPLIT_ANGLE(2.74211573600769), + SCALE_SPLIT_ANGLE(2.74221110343933)}, + {SCALE_SPLIT_ANGLE(2.73563575744629), + SCALE_SPLIT_ANGLE(2.73568630218506), + SCALE_SPLIT_ANGLE(2.73576331138611), + SCALE_SPLIT_ANGLE(2.73595523834229), + SCALE_SPLIT_ANGLE(2.73614001274109), + SCALE_SPLIT_ANGLE(2.73642849922180), + SCALE_SPLIT_ANGLE(2.73688435554504), + SCALE_SPLIT_ANGLE(2.73719072341919)}, + {SCALE_SPLIT_ANGLE(2.72353148460388), + SCALE_SPLIT_ANGLE(2.72370529174805), + SCALE_SPLIT_ANGLE(2.72396802902222), + SCALE_SPLIT_ANGLE(2.72461819648743), + SCALE_SPLIT_ANGLE(2.72523880004883), + SCALE_SPLIT_ANGLE(2.72619819641113), + SCALE_SPLIT_ANGLE(2.72769498825073), + SCALE_SPLIT_ANGLE(2.72869181632996)}, + {SCALE_SPLIT_ANGLE(2.71044087409973), + SCALE_SPLIT_ANGLE(2.71081781387329), + SCALE_SPLIT_ANGLE(2.71138477325439), + SCALE_SPLIT_ANGLE(2.71277689933777), + SCALE_SPLIT_ANGLE(2.71409153938293), + SCALE_SPLIT_ANGLE(2.71610021591187), + SCALE_SPLIT_ANGLE(2.71919155120850), + SCALE_SPLIT_ANGLE(2.72123122215271)}, + {SCALE_SPLIT_ANGLE(2.68862843513489), + SCALE_SPLIT_ANGLE(2.68948626518250), + SCALE_SPLIT_ANGLE(2.69076681137085), + SCALE_SPLIT_ANGLE(2.69386243820190), + SCALE_SPLIT_ANGLE(2.69673037528992), + SCALE_SPLIT_ANGLE(2.70102667808533), + SCALE_SPLIT_ANGLE(2.70749115943909), + SCALE_SPLIT_ANGLE(2.71170210838318)}, + {SCALE_SPLIT_ANGLE(2.64932370185852), + SCALE_SPLIT_ANGLE(2.65145039558411), + SCALE_SPLIT_ANGLE(2.65457701683044), + SCALE_SPLIT_ANGLE(2.66191530227661), + SCALE_SPLIT_ANGLE(2.66847491264343), + SCALE_SPLIT_ANGLE(2.67795729637146), + SCALE_SPLIT_ANGLE(2.69169545173645), + SCALE_SPLIT_ANGLE(2.70048093795776)}, + {SCALE_SPLIT_ANGLE(2.56864428520203), + SCALE_SPLIT_ANGLE(2.57483482360840), + SCALE_SPLIT_ANGLE(2.58364057540894), + SCALE_SPLIT_ANGLE(2.60311055183411), + SCALE_SPLIT_ANGLE(2.61933612823486), + SCALE_SPLIT_ANGLE(2.64129805564880), + SCALE_SPLIT_ANGLE(2.67107844352722), + SCALE_SPLIT_ANGLE(2.68960857391357)}, + {SCALE_SPLIT_ANGLE(2.35773015022278), + SCALE_SPLIT_ANGLE(2.38251185417175), + SCALE_SPLIT_ANGLE(2.41520094871521), + SCALE_SPLIT_ANGLE(2.47876882553101), + SCALE_SPLIT_ANGLE(2.52468156814575), + SCALE_SPLIT_ANGLE(2.57956743240356), + SCALE_SPLIT_ANGLE(2.64563941955566), + SCALE_SPLIT_ANGLE(2.68501615524292)}, + {SCALE_SPLIT_ANGLE(1.95455360412598), + SCALE_SPLIT_ANGLE(2.03550028800964), + SCALE_SPLIT_ANGLE(2.13431143760681), + SCALE_SPLIT_ANGLE(2.30167627334595), + SCALE_SPLIT_ANGLE(2.40472936630249), + SCALE_SPLIT_ANGLE(2.51241874694824), + SCALE_SPLIT_ANGLE(2.62649774551392), + SCALE_SPLIT_ANGLE(2.69151234626770)}, + {SCALE_SPLIT_ANGLE(1.08639848232269), + SCALE_SPLIT_ANGLE(1.25607907772064), + SCALE_SPLIT_ANGLE(1.49360668659210), + SCALE_SPLIT_ANGLE(1.93062829971313), + SCALE_SPLIT_ANGLE(2.18087863922119), + SCALE_SPLIT_ANGLE(2.40583086013794), + SCALE_SPLIT_ANGLE(2.60574340820313), + SCALE_SPLIT_ANGLE(2.71224212646484)}, + {SCALE_SPLIT_ANGLE(0.46298864483833), + SCALE_SPLIT_ANGLE(0.57069420814514), + SCALE_SPLIT_ANGLE(0.74941867589951), + SCALE_SPLIT_ANGLE(1.27059137821198), + SCALE_SPLIT_ANGLE(1.74987781047821), + SCALE_SPLIT_ANGLE(2.22410750389099), + SCALE_SPLIT_ANGLE(2.58140015602112), + SCALE_SPLIT_ANGLE(2.75301027297974)}, + {SCALE_SPLIT_ANGLE(0.23063218593597), + SCALE_SPLIT_ANGLE(0.29689303040504), + SCALE_SPLIT_ANGLE(0.39820966124535), + SCALE_SPLIT_ANGLE(0.70773023366928), + SCALE_SPLIT_ANGLE(1.13546586036682), + SCALE_SPLIT_ANGLE(1.89722001552582), + SCALE_SPLIT_ANGLE(2.54544758796692), + SCALE_SPLIT_ANGLE(2.81490159034729)}, + {SCALE_SPLIT_ANGLE(0.14590546488762), + SCALE_SPLIT_ANGLE(0.19153353571892), + SCALE_SPLIT_ANGLE(0.25519019365311), + SCALE_SPLIT_ANGLE(0.43163710832596), + SCALE_SPLIT_ANGLE(0.67776858806610), + SCALE_SPLIT_ANGLE(1.37444674968719), + SCALE_SPLIT_ANGLE(2.47591257095337), + SCALE_SPLIT_ANGLE(2.87223863601685)}, + {SCALE_SPLIT_ANGLE(0.12191537022591), + SCALE_SPLIT_ANGLE(0.15053890645504), + SCALE_SPLIT_ANGLE(0.19072309136391), + SCALE_SPLIT_ANGLE(0.29725375771523), + SCALE_SPLIT_ANGLE(0.43550044298172), + SCALE_SPLIT_ANGLE(0.85167354345322), + SCALE_SPLIT_ANGLE(2.31663155555725), + SCALE_SPLIT_ANGLE(2.84442567825317)}, + {SCALE_SPLIT_ANGLE(0.11467454582453), + SCALE_SPLIT_ANGLE(0.13146138191223), + SCALE_SPLIT_ANGLE(0.15621000528336), + SCALE_SPLIT_ANGLE(0.22212918102741), + SCALE_SPLIT_ANGLE(0.30330246686935), + SCALE_SPLIT_ANGLE(0.52478593587875), + SCALE_SPLIT_ANGLE(1.91173267364502), + SCALE_SPLIT_ANGLE(2.75908088684082)}, + {SCALE_SPLIT_ANGLE(0.10720870643854), + SCALE_SPLIT_ANGLE(0.11720535159111), + SCALE_SPLIT_ANGLE(0.13246683776379), + SCALE_SPLIT_ANGLE(0.17369449138641), + SCALE_SPLIT_ANGLE(0.22279064357281), + SCALE_SPLIT_ANGLE(0.34306266903877), + SCALE_SPLIT_ANGLE(1.11311781406403), + SCALE_SPLIT_ANGLE(2.55312228202820)}, + {SCALE_SPLIT_ANGLE(0.09705757349730), + SCALE_SPLIT_ANGLE(0.10320189595222), + SCALE_SPLIT_ANGLE(0.11274837702513), + SCALE_SPLIT_ANGLE(0.13873106241226), + SCALE_SPLIT_ANGLE(0.16888953745365), + SCALE_SPLIT_ANGLE(0.23647473752499), + SCALE_SPLIT_ANGLE(0.53898406028748), + SCALE_SPLIT_ANGLE(1.80699026584625)}, + {SCALE_SPLIT_ANGLE(0.08528346568346), + SCALE_SPLIT_ANGLE(0.08915080130100), + SCALE_SPLIT_ANGLE(0.09520188719034), + SCALE_SPLIT_ANGLE(0.11166745424271), + SCALE_SPLIT_ANGLE(0.13034184277058), + SCALE_SPLIT_ANGLE(0.16932605206966), + SCALE_SPLIT_ANGLE(0.29887470602989), + SCALE_SPLIT_ANGLE(0.63077676296234)}, + {SCALE_SPLIT_ANGLE(0.06733843684196), + SCALE_SPLIT_ANGLE(0.06931617110968), + SCALE_SPLIT_ANGLE(0.07241340726614), + SCALE_SPLIT_ANGLE(0.08076417446136), + SCALE_SPLIT_ANGLE(0.08993341028690), + SCALE_SPLIT_ANGLE(0.10759533941746), + SCALE_SPLIT_ANGLE(0.15204638242722), + SCALE_SPLIT_ANGLE(0.21143139898777)}, + {SCALE_SPLIT_ANGLE(0.05132640898228), + SCALE_SPLIT_ANGLE(0.05234802886844), + SCALE_SPLIT_ANGLE(0.05394187942147), + SCALE_SPLIT_ANGLE(0.05818277224898), + SCALE_SPLIT_ANGLE(0.06270807981491), + SCALE_SPLIT_ANGLE(0.07093632966280), + SCALE_SPLIT_ANGLE(0.08856786042452), + SCALE_SPLIT_ANGLE(0.10623694956303)}, + {SCALE_SPLIT_ANGLE(0.03821930661798), + SCALE_SPLIT_ANGLE(0.03874678537250), + SCALE_SPLIT_ANGLE(0.03956566005945), + SCALE_SPLIT_ANGLE(0.04171610623598), + SCALE_SPLIT_ANGLE(0.04395710676908), + SCALE_SPLIT_ANGLE(0.04786692932248), + SCALE_SPLIT_ANGLE(0.05546034500003), + SCALE_SPLIT_ANGLE(0.06201593577862)}, + {SCALE_SPLIT_ANGLE(0.02801758050919), + SCALE_SPLIT_ANGLE(0.02828873321414), + SCALE_SPLIT_ANGLE(0.02870770171285), + SCALE_SPLIT_ANGLE(0.02979558333755), + SCALE_SPLIT_ANGLE(0.03090834617615), + SCALE_SPLIT_ANGLE(0.03279331326485), + SCALE_SPLIT_ANGLE(0.03623208031058), + SCALE_SPLIT_ANGLE(0.03895835205913)}, + {SCALE_SPLIT_ANGLE(0.02032180689275), + SCALE_SPLIT_ANGLE(0.02046046219766), + SCALE_SPLIT_ANGLE(0.02067386545241), + SCALE_SPLIT_ANGLE(0.02122297696769), + SCALE_SPLIT_ANGLE(0.02177673391998), + SCALE_SPLIT_ANGLE(0.02269527874887), + SCALE_SPLIT_ANGLE(0.02430364489555), + SCALE_SPLIT_ANGLE(0.02551441825926)}, + {SCALE_SPLIT_ANGLE(0.01172095164657), + SCALE_SPLIT_ANGLE(0.01176583208144), + SCALE_SPLIT_ANGLE(0.01183457672596), + SCALE_SPLIT_ANGLE(0.01200959738344), + SCALE_SPLIT_ANGLE(0.01218330394477), + SCALE_SPLIT_ANGLE(0.01246506255120), + SCALE_SPLIT_ANGLE(0.01293875463307), + SCALE_SPLIT_ANGLE(0.01327861472964)}, + {SCALE_SPLIT_ANGLE(0.00668454170227), + SCALE_SPLIT_ANGLE(0.00669893343002), + SCALE_SPLIT_ANGLE(0.00672091403976), + SCALE_SPLIT_ANGLE(0.00677651492879), + SCALE_SPLIT_ANGLE(0.00683118170127), + SCALE_SPLIT_ANGLE(0.00691874232143), + SCALE_SPLIT_ANGLE(0.00706279883161), + SCALE_SPLIT_ANGLE(0.00716368528083)}, + {SCALE_SPLIT_ANGLE(0.00378863257356), + SCALE_SPLIT_ANGLE(0.00379322143272), + SCALE_SPLIT_ANGLE(0.00380021659657), + SCALE_SPLIT_ANGLE(0.00381784536876), + SCALE_SPLIT_ANGLE(0.00383508414961), + SCALE_SPLIT_ANGLE(0.00386250065640), + SCALE_SPLIT_ANGLE(0.00390707794577), + SCALE_SPLIT_ANGLE(0.00393790053204)}, + {SCALE_SPLIT_ANGLE(0.00213989755139), + SCALE_SPLIT_ANGLE(0.00214135553688), + SCALE_SPLIT_ANGLE(0.00214357557707), + SCALE_SPLIT_ANGLE(0.00214915862307), + SCALE_SPLIT_ANGLE(0.00215460127220), + SCALE_SPLIT_ANGLE(0.00216322275810), + SCALE_SPLIT_ANGLE(0.00217714952305), + SCALE_SPLIT_ANGLE(0.00218671280891)}, + {SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210151), + SCALE_SPLIT_ANGLE(0.00000001210152), + SCALE_SPLIT_ANGLE(0.00000001210152), + SCALE_SPLIT_ANGLE(0.00000001210152), + SCALE_SPLIT_ANGLE(0.00000001210152), + SCALE_SPLIT_ANGLE(0.00000001210152)}, + }, + { + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000036774148), + SCALE_SPLIT_ANGLE(-0.00000066993488), + SCALE_SPLIT_ANGLE(-0.00001151842844), + SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000008554968), + SCALE_SPLIT_ANGLE(-0.00000012210570), + SCALE_SPLIT_ANGLE(-0.00000019699247), + SCALE_SPLIT_ANGLE(-0.00000110842382), + SCALE_SPLIT_ANGLE(-3.14159202575684), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000003016602), + SCALE_SPLIT_ANGLE(-0.00000005321843), + SCALE_SPLIT_ANGLE(-0.00000008440014), + SCALE_SPLIT_ANGLE(-0.00000020468090), + SCALE_SPLIT_ANGLE(-0.00000071846705), + SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000000024720), + SCALE_SPLIT_ANGLE(-0.00000003226497), + SCALE_SPLIT_ANGLE(-0.00000005171609), + SCALE_SPLIT_ANGLE(-0.00000010526998), + SCALE_SPLIT_ANGLE(-0.00000020551137), + SCALE_SPLIT_ANGLE(-1.57079637050629), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000001688349), + SCALE_SPLIT_ANGLE(-0.00000002741881), + SCALE_SPLIT_ANGLE(-0.00000003926384), + SCALE_SPLIT_ANGLE(-0.00000006928260), + SCALE_SPLIT_ANGLE(-0.00000011240582), + SCALE_SPLIT_ANGLE(-0.00000033763689), + SCALE_SPLIT_ANGLE(-3.14159250259399), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000002143362), + SCALE_SPLIT_ANGLE(-0.00000002640935), + SCALE_SPLIT_ANGLE(-0.00000003328325), + SCALE_SPLIT_ANGLE(-0.00000005112437), + SCALE_SPLIT_ANGLE(-0.00000007399619), + SCALE_SPLIT_ANGLE(-0.00000014946792), + SCALE_SPLIT_ANGLE(-3.14159226417542), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000002225921), + SCALE_SPLIT_ANGLE(-0.00000002497380), + SCALE_SPLIT_ANGLE(-0.00000002903169), + SCALE_SPLIT_ANGLE(-0.00000003987020), + SCALE_SPLIT_ANGLE(-0.00000005300816), + SCALE_SPLIT_ANGLE(-0.00000008783893), + SCALE_SPLIT_ANGLE(-0.00000093762065), + SCALE_SPLIT_ANGLE(-3.14159250259399)}, + {SCALE_SPLIT_ANGLE(-0.00000002109218), + SCALE_SPLIT_ANGLE(-0.00000002269230), + SCALE_SPLIT_ANGLE(-0.00000002515904), + SCALE_SPLIT_ANGLE(-0.00000003183984), + SCALE_SPLIT_ANGLE(-0.00000003965878), + SCALE_SPLIT_ANGLE(-0.00000005782364), + SCALE_SPLIT_ANGLE(-0.00000016152633), + SCALE_SPLIT_ANGLE(-3.14159226417542)}, + {SCALE_SPLIT_ANGLE(-0.00000001895314), + SCALE_SPLIT_ANGLE(-0.00000001993623), + SCALE_SPLIT_ANGLE(-0.00000002146927), + SCALE_SPLIT_ANGLE(-0.00000002563087), + SCALE_SPLIT_ANGLE(-0.00000003036888), + SCALE_SPLIT_ANGLE(-0.00000004043087), + SCALE_SPLIT_ANGLE(-0.00000007667983), + SCALE_SPLIT_ANGLE(-0.00000021028936)}, + {SCALE_SPLIT_ANGLE(-0.00000001519980), + SCALE_SPLIT_ANGLE(-0.00000001569144), + SCALE_SPLIT_ANGLE(-0.00000001646043), + SCALE_SPLIT_ANGLE(-0.00000001853141), + SCALE_SPLIT_ANGLE(-0.00000002080756), + SCALE_SPLIT_ANGLE(-0.00000002521688), + SCALE_SPLIT_ANGLE(-0.00000003656274), + SCALE_SPLIT_ANGLE(-0.00000005247700)}, + {SCALE_SPLIT_ANGLE(-0.00000001166148), + SCALE_SPLIT_ANGLE(-0.00000001191188), + SCALE_SPLIT_ANGLE(-0.00000001230229), + SCALE_SPLIT_ANGLE(-0.00000001334031), + SCALE_SPLIT_ANGLE(-0.00000001444787), + SCALE_SPLIT_ANGLE(-0.00000001646512), + SCALE_SPLIT_ANGLE(-0.00000002081803), + SCALE_SPLIT_ANGLE(-0.00000002523831)}, + {SCALE_SPLIT_ANGLE(-0.00000000870876), + SCALE_SPLIT_ANGLE(-0.00000000883681), + SCALE_SPLIT_ANGLE(-0.00000000903554), + SCALE_SPLIT_ANGLE(-0.00000000955712), + SCALE_SPLIT_ANGLE(-0.00000001010047), + SCALE_SPLIT_ANGLE(-0.00000001104868), + SCALE_SPLIT_ANGLE(-0.00000001289412), + SCALE_SPLIT_ANGLE(-0.00000001449405)}, + {SCALE_SPLIT_ANGLE(-0.00000000639270), + SCALE_SPLIT_ANGLE(-0.00000000645810), + SCALE_SPLIT_ANGLE(-0.00000000655912), + SCALE_SPLIT_ANGLE(-0.00000000682132), + SCALE_SPLIT_ANGLE(-0.00000000708940), + SCALE_SPLIT_ANGLE(-0.00000000754343), + SCALE_SPLIT_ANGLE(-0.00000000837207), + SCALE_SPLIT_ANGLE(-0.00000000902983)}, + {SCALE_SPLIT_ANGLE(-0.00000000463970), + SCALE_SPLIT_ANGLE(-0.00000000467299), + SCALE_SPLIT_ANGLE(-0.00000000472421), + SCALE_SPLIT_ANGLE(-0.00000000485598), + SCALE_SPLIT_ANGLE(-0.00000000498881), + SCALE_SPLIT_ANGLE(-0.00000000520907), + SCALE_SPLIT_ANGLE(-0.00000000559469), + SCALE_SPLIT_ANGLE(-0.00000000588504)}, + {SCALE_SPLIT_ANGLE(-0.00000000267713), + SCALE_SPLIT_ANGLE(-0.00000000268785), + SCALE_SPLIT_ANGLE(-0.00000000270428), + SCALE_SPLIT_ANGLE(-0.00000000274608), + SCALE_SPLIT_ANGLE(-0.00000000278756), + SCALE_SPLIT_ANGLE(-0.00000000285483), + SCALE_SPLIT_ANGLE(-0.00000000296788), + SCALE_SPLIT_ANGLE(-0.00000000304897)}, + {SCALE_SPLIT_ANGLE(-0.00000000152698), + SCALE_SPLIT_ANGLE(-0.00000000153041), + SCALE_SPLIT_ANGLE(-0.00000000153564), + SCALE_SPLIT_ANGLE(-0.00000000154889), + SCALE_SPLIT_ANGLE(-0.00000000156191), + SCALE_SPLIT_ANGLE(-0.00000000158277), + SCALE_SPLIT_ANGLE(-0.00000000161707), + SCALE_SPLIT_ANGLE(-0.00000000164109)}, + {SCALE_SPLIT_ANGLE(-0.00000000086549), + SCALE_SPLIT_ANGLE(-0.00000000086658), + SCALE_SPLIT_ANGLE(-0.00000000086824), + SCALE_SPLIT_ANGLE(-0.00000000087244), + SCALE_SPLIT_ANGLE(-0.00000000087654), + SCALE_SPLIT_ANGLE(-0.00000000088306), + SCALE_SPLIT_ANGLE(-0.00000000089366), + SCALE_SPLIT_ANGLE(-0.00000000090099)}, + {SCALE_SPLIT_ANGLE(-0.00000000048885), + SCALE_SPLIT_ANGLE(-0.00000000048920), + SCALE_SPLIT_ANGLE(-0.00000000048972), + SCALE_SPLIT_ANGLE(-0.00000000049105), + SCALE_SPLIT_ANGLE(-0.00000000049235), + SCALE_SPLIT_ANGLE(-0.00000000049439), + SCALE_SPLIT_ANGLE(-0.00000000049770), + SCALE_SPLIT_ANGLE(-0.00000000049998)}, + {SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000), + SCALE_SPLIT_ANGLE(-0.00000000000000)}, + }, + { + {SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439), + SCALE_SPLIT_ANGLE(-2.74889349937439)}, + {SCALE_SPLIT_ANGLE(-2.74670672416687), + SCALE_SPLIT_ANGLE(-2.74670815467834), + SCALE_SPLIT_ANGLE(-2.74671053886414), + SCALE_SPLIT_ANGLE(-2.74671626091003), + SCALE_SPLIT_ANGLE(-2.74672174453735), + SCALE_SPLIT_ANGLE(-2.74673032760620), + SCALE_SPLIT_ANGLE(-2.74674415588379), + SCALE_SPLIT_ANGLE(-2.74675369262695)}, + {SCALE_SPLIT_ANGLE(-2.74495577812195), + SCALE_SPLIT_ANGLE(-2.74496054649353), + SCALE_SPLIT_ANGLE(-2.74496769905090), + SCALE_SPLIT_ANGLE(-2.74498581886292), + SCALE_SPLIT_ANGLE(-2.74500346183777), + SCALE_SPLIT_ANGLE(-2.74503111839294), + SCALE_SPLIT_ANGLE(-2.74507522583008), + SCALE_SPLIT_ANGLE(-2.74510502815247)}, + {SCALE_SPLIT_ANGLE(-2.74173235893250), + SCALE_SPLIT_ANGLE(-2.74174761772156), + SCALE_SPLIT_ANGLE(-2.74177098274231), + SCALE_SPLIT_ANGLE(-2.74182963371277), + SCALE_SPLIT_ANGLE(-2.74188613891602), + SCALE_SPLIT_ANGLE(-2.74197483062744), + SCALE_SPLIT_ANGLE(-2.74211597442627), + SCALE_SPLIT_ANGLE(-2.74221134185791)}, + {SCALE_SPLIT_ANGLE(-2.73563575744629), + SCALE_SPLIT_ANGLE(-2.73568654060364), + SCALE_SPLIT_ANGLE(-2.73576331138611), + SCALE_SPLIT_ANGLE(-2.73595523834229), + SCALE_SPLIT_ANGLE(-2.73614001274109), + SCALE_SPLIT_ANGLE(-2.73642849922180), + SCALE_SPLIT_ANGLE(-2.73688435554504), + SCALE_SPLIT_ANGLE(-2.73719096183777)}, + {SCALE_SPLIT_ANGLE(-2.72353172302246), + SCALE_SPLIT_ANGLE(-2.72370529174805), + SCALE_SPLIT_ANGLE(-2.72396802902222), + SCALE_SPLIT_ANGLE(-2.72461819648743), + SCALE_SPLIT_ANGLE(-2.72523903846741), + SCALE_SPLIT_ANGLE(-2.72619819641113), + SCALE_SPLIT_ANGLE(-2.72769522666931), + SCALE_SPLIT_ANGLE(-2.72869181632996)}, + {SCALE_SPLIT_ANGLE(-2.71044111251831), + SCALE_SPLIT_ANGLE(-2.71081781387329), + SCALE_SPLIT_ANGLE(-2.71138477325439), + SCALE_SPLIT_ANGLE(-2.71277689933777), + SCALE_SPLIT_ANGLE(-2.71409153938293), + SCALE_SPLIT_ANGLE(-2.71610021591187), + SCALE_SPLIT_ANGLE(-2.71919155120850), + SCALE_SPLIT_ANGLE(-2.72123122215271)}, + {SCALE_SPLIT_ANGLE(-2.68862843513489), + SCALE_SPLIT_ANGLE(-2.68948626518250), + SCALE_SPLIT_ANGLE(-2.69076681137085), + SCALE_SPLIT_ANGLE(-2.69386243820190), + SCALE_SPLIT_ANGLE(-2.69673061370850), + SCALE_SPLIT_ANGLE(-2.70102667808533), + SCALE_SPLIT_ANGLE(-2.70749115943909), + SCALE_SPLIT_ANGLE(-2.71170234680176)}, + {SCALE_SPLIT_ANGLE(-2.64932370185852), + SCALE_SPLIT_ANGLE(-2.65145063400269), + SCALE_SPLIT_ANGLE(-2.65457701683044), + SCALE_SPLIT_ANGLE(-2.66191530227661), + SCALE_SPLIT_ANGLE(-2.66847491264343), + SCALE_SPLIT_ANGLE(-2.67795729637146), + SCALE_SPLIT_ANGLE(-2.69169569015503), + SCALE_SPLIT_ANGLE(-2.70048117637634)}, + {SCALE_SPLIT_ANGLE(-2.56864428520203), + SCALE_SPLIT_ANGLE(-2.57483482360840), + SCALE_SPLIT_ANGLE(-2.58364057540894), + SCALE_SPLIT_ANGLE(-2.60311055183411), + SCALE_SPLIT_ANGLE(-2.61933612823486), + SCALE_SPLIT_ANGLE(-2.64129829406738), + SCALE_SPLIT_ANGLE(-2.67107868194580), + SCALE_SPLIT_ANGLE(-2.68960881233215)}, + {SCALE_SPLIT_ANGLE(-2.35773015022278), + SCALE_SPLIT_ANGLE(-2.38251185417175), + SCALE_SPLIT_ANGLE(-2.41520094871521), + SCALE_SPLIT_ANGLE(-2.47876906394959), + SCALE_SPLIT_ANGLE(-2.52468156814575), + SCALE_SPLIT_ANGLE(-2.57956743240356), + SCALE_SPLIT_ANGLE(-2.64563965797424), + SCALE_SPLIT_ANGLE(-2.68501615524292)}, + {SCALE_SPLIT_ANGLE(-1.95455360412598), + SCALE_SPLIT_ANGLE(-2.03550028800964), + SCALE_SPLIT_ANGLE(-2.13431143760681), + SCALE_SPLIT_ANGLE(-2.30167627334595), + SCALE_SPLIT_ANGLE(-2.40472936630249), + SCALE_SPLIT_ANGLE(-2.51241874694824), + SCALE_SPLIT_ANGLE(-2.62649774551392), + SCALE_SPLIT_ANGLE(-2.69151234626770)}, + {SCALE_SPLIT_ANGLE(-1.08639836311340), + SCALE_SPLIT_ANGLE(-1.25607907772064), + SCALE_SPLIT_ANGLE(-1.49360668659210), + SCALE_SPLIT_ANGLE(-1.93062829971313), + SCALE_SPLIT_ANGLE(-2.18087887763977), + SCALE_SPLIT_ANGLE(-2.40583086013794), + SCALE_SPLIT_ANGLE(-2.60574340820313), + SCALE_SPLIT_ANGLE(-2.71224212646484)}, + {SCALE_SPLIT_ANGLE(-0.46298858523369), + SCALE_SPLIT_ANGLE(-0.57069414854050), + SCALE_SPLIT_ANGLE(-0.74941855669022), + SCALE_SPLIT_ANGLE(-1.27059125900269), + SCALE_SPLIT_ANGLE(-1.74987781047821), + SCALE_SPLIT_ANGLE(-2.22410750389099), + SCALE_SPLIT_ANGLE(-2.58140015602112), + SCALE_SPLIT_ANGLE(-2.75301027297974)}, + {SCALE_SPLIT_ANGLE(-0.23063215613365), + SCALE_SPLIT_ANGLE(-0.29689297080040), + SCALE_SPLIT_ANGLE(-0.39820960164070), + SCALE_SPLIT_ANGLE(-0.70773017406464), + SCALE_SPLIT_ANGLE(-1.13546574115753), + SCALE_SPLIT_ANGLE(-1.89722001552582), + SCALE_SPLIT_ANGLE(-2.54544782638550), + SCALE_SPLIT_ANGLE(-2.81490182876587)}, + {SCALE_SPLIT_ANGLE(-0.14590544998646), + SCALE_SPLIT_ANGLE(-0.19153350591660), + SCALE_SPLIT_ANGLE(-0.25519016385078), + SCALE_SPLIT_ANGLE(-0.43163704872131), + SCALE_SPLIT_ANGLE(-0.67776852846146), + SCALE_SPLIT_ANGLE(-1.37444674968719), + SCALE_SPLIT_ANGLE(-2.47591280937195), + SCALE_SPLIT_ANGLE(-2.87223863601685)}, + {SCALE_SPLIT_ANGLE(-0.12191534787416), + SCALE_SPLIT_ANGLE(-0.15053887665272), + SCALE_SPLIT_ANGLE(-0.19072306156158), + SCALE_SPLIT_ANGLE(-0.29725372791290), + SCALE_SPLIT_ANGLE(-0.43550038337708), + SCALE_SPLIT_ANGLE(-0.85167348384857), + SCALE_SPLIT_ANGLE(-2.31663155555725), + SCALE_SPLIT_ANGLE(-2.84442567825317)}, + {SCALE_SPLIT_ANGLE(-0.11467452347279), + SCALE_SPLIT_ANGLE(-0.13146135210991), + SCALE_SPLIT_ANGLE(-0.15620997548103), + SCALE_SPLIT_ANGLE(-0.22212913632393), + SCALE_SPLIT_ANGLE(-0.30330240726471), + SCALE_SPLIT_ANGLE(-0.52478587627411), + SCALE_SPLIT_ANGLE(-1.91173267364502), + SCALE_SPLIT_ANGLE(-2.75908088684082)}, + {SCALE_SPLIT_ANGLE(-0.10720869153738), + SCALE_SPLIT_ANGLE(-0.11720532923937), + SCALE_SPLIT_ANGLE(-0.13246680796146), + SCALE_SPLIT_ANGLE(-0.17369446158409), + SCALE_SPLIT_ANGLE(-0.22279061377048), + SCALE_SPLIT_ANGLE(-0.34306260943413), + SCALE_SPLIT_ANGLE(-1.11311769485474), + SCALE_SPLIT_ANGLE(-2.55312228202820)}, + {SCALE_SPLIT_ANGLE(-0.09705755859613), + SCALE_SPLIT_ANGLE(-0.10320188105106), + SCALE_SPLIT_ANGLE(-0.11274836212397), + SCALE_SPLIT_ANGLE(-0.13873104751110), + SCALE_SPLIT_ANGLE(-0.16888950765133), + SCALE_SPLIT_ANGLE(-0.23647469282150), + SCALE_SPLIT_ANGLE(-0.53898400068283), + SCALE_SPLIT_ANGLE(-1.80699026584625)}, + {SCALE_SPLIT_ANGLE(-0.08528345078230), + SCALE_SPLIT_ANGLE(-0.08915078639984), + SCALE_SPLIT_ANGLE(-0.09520187228918), + SCALE_SPLIT_ANGLE(-0.11166743934155), + SCALE_SPLIT_ANGLE(-0.13034182786942), + SCALE_SPLIT_ANGLE(-0.16932602226734), + SCALE_SPLIT_ANGLE(-0.29887464642525), + SCALE_SPLIT_ANGLE(-0.63077670335770)}, + {SCALE_SPLIT_ANGLE(-0.06733842939138), + SCALE_SPLIT_ANGLE(-0.06931615620852), + SCALE_SPLIT_ANGLE(-0.07241339236498), + SCALE_SPLIT_ANGLE(-0.08076415956020), + SCALE_SPLIT_ANGLE(-0.08993339538574), + SCALE_SPLIT_ANGLE(-0.10759532451630), + SCALE_SPLIT_ANGLE(-0.15204635262489), + SCALE_SPLIT_ANGLE(-0.21143136918545)}, + {SCALE_SPLIT_ANGLE(-0.05132640153170), + SCALE_SPLIT_ANGLE(-0.05234802141786), + SCALE_SPLIT_ANGLE(-0.05394186824560), + SCALE_SPLIT_ANGLE(-0.05818276479840), + SCALE_SPLIT_ANGLE(-0.06270807236433), + SCALE_SPLIT_ANGLE(-0.07093632221222), + SCALE_SPLIT_ANGLE(-0.08856784552336), + SCALE_SPLIT_ANGLE(-0.10623692721128)}, + {SCALE_SPLIT_ANGLE(-0.03821930289268), + SCALE_SPLIT_ANGLE(-0.03874678164721), + SCALE_SPLIT_ANGLE(-0.03956565260887), + SCALE_SPLIT_ANGLE(-0.04171609878540), + SCALE_SPLIT_ANGLE(-0.04395709931850), + SCALE_SPLIT_ANGLE(-0.04786692187190), + SCALE_SPLIT_ANGLE(-0.05546033382416), + SCALE_SPLIT_ANGLE(-0.06201592460275)}, + {SCALE_SPLIT_ANGLE(-0.02801757678390), + SCALE_SPLIT_ANGLE(-0.02828872948885), + SCALE_SPLIT_ANGLE(-0.02870769798756), + SCALE_SPLIT_ANGLE(-0.02979557774961), + SCALE_SPLIT_ANGLE(-0.03090834245086), + SCALE_SPLIT_ANGLE(-0.03279330953956), + SCALE_SPLIT_ANGLE(-0.03623207286000), + SCALE_SPLIT_ANGLE(-0.03895834833384)}, + {SCALE_SPLIT_ANGLE(-0.02032180316746), + SCALE_SPLIT_ANGLE(-0.02046045847237), + SCALE_SPLIT_ANGLE(-0.02067386172712), + SCALE_SPLIT_ANGLE(-0.02122297324240), + SCALE_SPLIT_ANGLE(-0.02177673205733), + SCALE_SPLIT_ANGLE(-0.02269527502358), + SCALE_SPLIT_ANGLE(-0.02430364117026), + SCALE_SPLIT_ANGLE(-0.02551441267133)}, + {SCALE_SPLIT_ANGLE(-0.01172094978392), + SCALE_SPLIT_ANGLE(-0.01176583021879), + SCALE_SPLIT_ANGLE(-0.01183457486331), + SCALE_SPLIT_ANGLE(-0.01200959552079), + SCALE_SPLIT_ANGLE(-0.01218330208212), + SCALE_SPLIT_ANGLE(-0.01246506068856), + SCALE_SPLIT_ANGLE(-0.01293875277042), + SCALE_SPLIT_ANGLE(-0.01327861286700)}, + {SCALE_SPLIT_ANGLE(-0.00668454030529), + SCALE_SPLIT_ANGLE(-0.00669893249869), + SCALE_SPLIT_ANGLE(-0.00672091310844), + SCALE_SPLIT_ANGLE(-0.00677651399747), + SCALE_SPLIT_ANGLE(-0.00683118030429), + SCALE_SPLIT_ANGLE(-0.00691874139011), + SCALE_SPLIT_ANGLE(-0.00706279790029), + SCALE_SPLIT_ANGLE(-0.00716368434951)}, + {SCALE_SPLIT_ANGLE(-0.00378863210790), + SCALE_SPLIT_ANGLE(-0.00379322096705), + SCALE_SPLIT_ANGLE(-0.00380021613091), + SCALE_SPLIT_ANGLE(-0.00381784490310), + SCALE_SPLIT_ANGLE(-0.00383508345112), + SCALE_SPLIT_ANGLE(-0.00386250019073), + SCALE_SPLIT_ANGLE(-0.00390707701445), + SCALE_SPLIT_ANGLE(-0.00393790006638)}, + {SCALE_SPLIT_ANGLE(-0.00213989731856), + SCALE_SPLIT_ANGLE(-0.00214135507122), + SCALE_SPLIT_ANGLE(-0.00214357534423), + SCALE_SPLIT_ANGLE(-0.00214915839024), + SCALE_SPLIT_ANGLE(-0.00215460080653), + SCALE_SPLIT_ANGLE(-0.00216322229244), + SCALE_SPLIT_ANGLE(-0.00217714929022), + SCALE_SPLIT_ANGLE(-0.00218671257608)}, + {SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151)}, + }, + { + {SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479), + SCALE_SPLIT_ANGLE(-2.35619449615479)}, + {SCALE_SPLIT_ANGLE(-2.35216379165649), + SCALE_SPLIT_ANGLE(-2.35216617584229), + SCALE_SPLIT_ANGLE(-2.35216999053955), + SCALE_SPLIT_ANGLE(-2.35217928886414), + SCALE_SPLIT_ANGLE(-2.35218811035156), + SCALE_SPLIT_ANGLE(-2.35220241546631), + SCALE_SPLIT_ANGLE(-2.35222506523132), + SCALE_SPLIT_ANGLE(-2.35224032402039)}, + {SCALE_SPLIT_ANGLE(-2.34895062446594), + SCALE_SPLIT_ANGLE(-2.34895849227905), + SCALE_SPLIT_ANGLE(-2.34897017478943), + SCALE_SPLIT_ANGLE(-2.34899973869324), + SCALE_SPLIT_ANGLE(-2.34902834892273), + SCALE_SPLIT_ANGLE(-2.34907317161560), + SCALE_SPLIT_ANGLE(-2.34914541244507), + SCALE_SPLIT_ANGLE(-2.34919428825378)}, + {SCALE_SPLIT_ANGLE(-2.34306836128235), + SCALE_SPLIT_ANGLE(-2.34309315681458), + SCALE_SPLIT_ANGLE(-2.34313082695007), + SCALE_SPLIT_ANGLE(-2.34322524070740), + SCALE_SPLIT_ANGLE(-2.34331679344177), + SCALE_SPLIT_ANGLE(-2.34346079826355), + SCALE_SPLIT_ANGLE(-2.34369087219238), + SCALE_SPLIT_ANGLE(-2.34384727478027)}, + {SCALE_SPLIT_ANGLE(-2.33205747604370), + SCALE_SPLIT_ANGLE(-2.33213782310486), + SCALE_SPLIT_ANGLE(-2.33226013183594), + SCALE_SPLIT_ANGLE(-2.33256602287292), + SCALE_SPLIT_ANGLE(-2.33286190032959), + SCALE_SPLIT_ANGLE(-2.33332633972168), + SCALE_SPLIT_ANGLE(-2.33406710624695), + SCALE_SPLIT_ANGLE(-2.33456921577454)}, + {SCALE_SPLIT_ANGLE(-2.31062936782837), + SCALE_SPLIT_ANGLE(-2.31089687347412), + SCALE_SPLIT_ANGLE(-2.31130218505859), + SCALE_SPLIT_ANGLE(-2.31231284141541), + SCALE_SPLIT_ANGLE(-2.31328654289246), + SCALE_SPLIT_ANGLE(-2.31480813026428), + SCALE_SPLIT_ANGLE(-2.31722092628479), + SCALE_SPLIT_ANGLE(-2.31885290145874)}, + {SCALE_SPLIT_ANGLE(-2.28808355331421), + SCALE_SPLIT_ANGLE(-2.28864479064941), + SCALE_SPLIT_ANGLE(-2.28949403762817), + SCALE_SPLIT_ANGLE(-2.29160070419312), + SCALE_SPLIT_ANGLE(-2.29361891746521), + SCALE_SPLIT_ANGLE(-2.29675459861755), + SCALE_SPLIT_ANGLE(-2.30169844627380), + SCALE_SPLIT_ANGLE(-2.30503511428833)}, + {SCALE_SPLIT_ANGLE(-2.25191521644592), + SCALE_SPLIT_ANGLE(-2.25312590599060), + SCALE_SPLIT_ANGLE(-2.25494933128357), + SCALE_SPLIT_ANGLE(-2.25943517684937), + SCALE_SPLIT_ANGLE(-2.26368904113770), + SCALE_SPLIT_ANGLE(-2.27023124694824), + SCALE_SPLIT_ANGLE(-2.28044486045837), + SCALE_SPLIT_ANGLE(-2.28732323646545)}, + {SCALE_SPLIT_ANGLE(-2.19093608856201), + SCALE_SPLIT_ANGLE(-2.19366121292114), + SCALE_SPLIT_ANGLE(-2.19773292541504), + SCALE_SPLIT_ANGLE(-2.20759749412537), + SCALE_SPLIT_ANGLE(-2.21677803993225), + SCALE_SPLIT_ANGLE(-2.23064494132996), + SCALE_SPLIT_ANGLE(-2.25193929672241), + SCALE_SPLIT_ANGLE(-2.26625943183899)}, + {SCALE_SPLIT_ANGLE(-2.08102917671204), + SCALE_SPLIT_ANGLE(-2.08757305145264), + SCALE_SPLIT_ANGLE(-2.09720730781555), + SCALE_SPLIT_ANGLE(-2.11991167068481), + SCALE_SPLIT_ANGLE(-2.14035677909851), + SCALE_SPLIT_ANGLE(-2.17029237747192), + SCALE_SPLIT_ANGLE(-2.21503162384033), + SCALE_SPLIT_ANGLE(-2.24518132209778)}, + {SCALE_SPLIT_ANGLE(-1.86738622188568), + SCALE_SPLIT_ANGLE(-1.88426077365875), + SCALE_SPLIT_ANGLE(-1.90853285789490), + SCALE_SPLIT_ANGLE(-1.96333336830139), + SCALE_SPLIT_ANGLE(-2.01024460792542), + SCALE_SPLIT_ANGLE(-2.07577633857727), + SCALE_SPLIT_ANGLE(-2.16986608505249), + SCALE_SPLIT_ANGLE(-2.23406052589417)}, + {SCALE_SPLIT_ANGLE(-1.61812186241150), + SCALE_SPLIT_ANGLE(-1.64943766593933), + SCALE_SPLIT_ANGLE(-1.69389247894287), + SCALE_SPLIT_ANGLE(-1.79176032543182), + SCALE_SPLIT_ANGLE(-1.87292504310608), + SCALE_SPLIT_ANGLE(-1.98277997970581), + SCALE_SPLIT_ANGLE(-2.13605833053589), + SCALE_SPLIT_ANGLE(-2.24282979965210)}, + {SCALE_SPLIT_ANGLE(-1.26556181907654), + SCALE_SPLIT_ANGLE(-1.31512010097504), + SCALE_SPLIT_ANGLE(-1.38608694076538), + SCALE_SPLIT_ANGLE(-1.54419946670532), + SCALE_SPLIT_ANGLE(-1.67621028423309), + SCALE_SPLIT_ANGLE(-1.85417354106903), + SCALE_SPLIT_ANGLE(-2.09956336021423), + SCALE_SPLIT_ANGLE(-2.27729439735413)}, + {SCALE_SPLIT_ANGLE(-0.88984858989716), + SCALE_SPLIT_ANGLE(-0.94673115015030), + SCALE_SPLIT_ANGLE(-1.03102219104767), + SCALE_SPLIT_ANGLE(-1.23219704627991), + SCALE_SPLIT_ANGLE(-1.41468596458435), + SCALE_SPLIT_ANGLE(-1.67807447910309), + SCALE_SPLIT_ANGLE(-2.05749273300171), + SCALE_SPLIT_ANGLE(-2.35138511657715)}, + {SCALE_SPLIT_ANGLE(-0.60630625486374), + SCALE_SPLIT_ANGLE(-0.65551131963730), + SCALE_SPLIT_ANGLE(-0.73032110929489), + SCALE_SPLIT_ANGLE(-0.92225730419159), + SCALE_SPLIT_ANGLE(-1.11866605281830), + SCALE_SPLIT_ANGLE(-1.44806659221649), + SCALE_SPLIT_ANGLE(-1.99872648715973), + SCALE_SPLIT_ANGLE(-2.47302079200745)}, + {SCALE_SPLIT_ANGLE(-0.43393719196320), + SCALE_SPLIT_ANGLE(-0.47099208831787), + SCALE_SPLIT_ANGLE(-0.52780753374100), + SCALE_SPLIT_ANGLE(-0.67895972728729), + SCALE_SPLIT_ANGLE(-0.84712409973145), + SCALE_SPLIT_ANGLE(-1.17809724807739), + SCALE_SPLIT_ANGLE(-1.89703977108002), + SCALE_SPLIT_ANGLE(-2.59155678749084)}, + {SCALE_SPLIT_ANGLE(-0.33522716164589), + SCALE_SPLIT_ANGLE(-0.36133098602295), + SCALE_SPLIT_ANGLE(-0.40159514546394), + SCALE_SPLIT_ANGLE(-0.51039946079254), + SCALE_SPLIT_ANGLE(-0.63590413331985), + SCALE_SPLIT_ANGLE(-0.90812796354294), + SCALE_SPLIT_ANGLE(-1.70793569087982), + SCALE_SPLIT_ANGLE(-2.52852439880371)}, + {SCALE_SPLIT_ANGLE(-0.27478921413422), + SCALE_SPLIT_ANGLE(-0.29251146316528), + SCALE_SPLIT_ANGLE(-0.32007753849030), + SCALE_SPLIT_ANGLE(-0.39531296491623), + SCALE_SPLIT_ANGLE(-0.48291319608688), + SCALE_SPLIT_ANGLE(-0.67812001705170), + SCALE_SPLIT_ANGLE(-1.39007341861725), + SCALE_SPLIT_ANGLE(-2.34402585029602)}, + {SCALE_SPLIT_ANGLE(-0.23185737431049), + SCALE_SPLIT_ANGLE(-0.24370788037777), + SCALE_SPLIT_ANGLE(-0.26227977871895), + SCALE_SPLIT_ANGLE(-0.31327378749847), + SCALE_SPLIT_ANGLE(-0.37241828441620), + SCALE_SPLIT_ANGLE(-0.50202107429504), + SCALE_SPLIT_ANGLE(-0.99085599184036), + SCALE_SPLIT_ANGLE(-1.96553480625153)}, + {SCALE_SPLIT_ANGLE(-0.19698302447796), + SCALE_SPLIT_ANGLE(-0.20488265156746), + SCALE_SPLIT_ANGLE(-0.21731522679329), + SCALE_SPLIT_ANGLE(-0.25148209929466), + SCALE_SPLIT_ANGLE(-0.29065513610840), + SCALE_SPLIT_ANGLE(-0.37341463565826), + SCALE_SPLIT_ANGLE(-0.65295964479446), + SCALE_SPLIT_ANGLE(-1.28865838050842)}, + {SCALE_SPLIT_ANGLE(-0.16667704284191), + SCALE_SPLIT_ANGLE(-0.17194209992886), + SCALE_SPLIT_ANGLE(-0.18023575842381), + SCALE_SPLIT_ANGLE(-0.20293866097927), + SCALE_SPLIT_ANGLE(-0.22855132818222), + SCALE_SPLIT_ANGLE(-0.28041815757751), + SCALE_SPLIT_ANGLE(-0.43142417073250), + SCALE_SPLIT_ANGLE(-0.70030152797699)}, + {SCALE_SPLIT_ANGLE(-0.12773875892162), + SCALE_SPLIT_ANGLE(-0.13059368729591), + SCALE_SPLIT_ANGLE(-0.13507817685604), + SCALE_SPLIT_ANGLE(-0.14721076190472), + SCALE_SPLIT_ANGLE(-0.16052411496639), + SCALE_SPLIT_ANGLE(-0.18590225279331), + SCALE_SPLIT_ANGLE(-0.24703903496265), + SCALE_SPLIT_ANGLE(-0.32153329253197)}, + {SCALE_SPLIT_ANGLE(-0.09603262692690), + SCALE_SPLIT_ANGLE(-0.09756571799517), + SCALE_SPLIT_ANGLE(-0.09996144473553), + SCALE_SPLIT_ANGLE(-0.10635072737932), + SCALE_SPLIT_ANGLE(-0.11317525804043), + SCALE_SPLIT_ANGLE(-0.12554959952831), + SCALE_SPLIT_ANGLE(-0.15168417990208), + SCALE_SPLIT_ANGLE(-0.17713625729084)}, + {SCALE_SPLIT_ANGLE(-0.07104730606079), + SCALE_SPLIT_ANGLE(-0.07186015695333), + SCALE_SPLIT_ANGLE(-0.07312334328890), + SCALE_SPLIT_ANGLE(-0.07644615322351), + SCALE_SPLIT_ANGLE(-0.07991369068623), + SCALE_SPLIT_ANGLE(-0.08596337586641), + SCALE_SPLIT_ANGLE(-0.09766443073750), + SCALE_SPLIT_ANGLE(-0.10767272859812)}, + {SCALE_SPLIT_ANGLE(-0.05192205309868), + SCALE_SPLIT_ANGLE(-0.05234766378999), + SCALE_SPLIT_ANGLE(-0.05300575867295), + SCALE_SPLIT_ANGLE(-0.05471667274833), + SCALE_SPLIT_ANGLE(-0.05646898224950), + SCALE_SPLIT_ANGLE(-0.05943990871310), + SCALE_SPLIT_ANGLE(-0.06485753506422), + SCALE_SPLIT_ANGLE(-0.06914159655571)}, + {SCALE_SPLIT_ANGLE(-0.03760398924351), + SCALE_SPLIT_ANGLE(-0.03782445192337), + SCALE_SPLIT_ANGLE(-0.03816392645240), + SCALE_SPLIT_ANGLE(-0.03903824090958), + SCALE_SPLIT_ANGLE(-0.03992090001702), + SCALE_SPLIT_ANGLE(-0.04138650000095), + SCALE_SPLIT_ANGLE(-0.04395476356149), + SCALE_SPLIT_ANGLE(-0.04588782414794)}, + {SCALE_SPLIT_ANGLE(-0.02166714519262), + SCALE_SPLIT_ANGLE(-0.02173947915435), + SCALE_SPLIT_ANGLE(-0.02185030654073), + SCALE_SPLIT_ANGLE(-0.02213260345161), + SCALE_SPLIT_ANGLE(-0.02241297997534), + SCALE_SPLIT_ANGLE(-0.02286812663078), + SCALE_SPLIT_ANGLE(-0.02363408729434), + SCALE_SPLIT_ANGLE(-0.02418405003846)}, + {SCALE_SPLIT_ANGLE(-0.01235313713551), + SCALE_SPLIT_ANGLE(-0.01237650867552), + SCALE_SPLIT_ANGLE(-0.01241220720112), + SCALE_SPLIT_ANGLE(-0.01250253617764), + SCALE_SPLIT_ANGLE(-0.01259138714522), + SCALE_SPLIT_ANGLE(-0.01273377239704), + SCALE_SPLIT_ANGLE(-0.01296819653362), + SCALE_SPLIT_ANGLE(-0.01313247904181)}, + {SCALE_SPLIT_ANGLE(-0.00700078438967), + SCALE_SPLIT_ANGLE(-0.00700826710090), + SCALE_SPLIT_ANGLE(-0.00701967626810), + SCALE_SPLIT_ANGLE(-0.00704843178391), + SCALE_SPLIT_ANGLE(-0.00707655726001), + SCALE_SPLIT_ANGLE(-0.00712130265310), + SCALE_SPLIT_ANGLE(-0.00719408923760), + SCALE_SPLIT_ANGLE(-0.00724443932995)}, + {SCALE_SPLIT_ANGLE(-0.00395406875759), + SCALE_SPLIT_ANGLE(-0.00395645154640), + SCALE_SPLIT_ANGLE(-0.00396008091047), + SCALE_SPLIT_ANGLE(-0.00396920833737), + SCALE_SPLIT_ANGLE(-0.00397810759023), + SCALE_SPLIT_ANGLE(-0.00399220641702), + SCALE_SPLIT_ANGLE(-0.00401498842984), + SCALE_SPLIT_ANGLE(-0.00403063651174)}, + {SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068)}, + }, + { + {SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518), + SCALE_SPLIT_ANGLE(-1.96349549293518)}, + {SCALE_SPLIT_ANGLE(-1.95824849605560), + SCALE_SPLIT_ANGLE(-1.95825111865997), + SCALE_SPLIT_ANGLE(-1.95825493335724), + SCALE_SPLIT_ANGLE(-1.95826470851898), + SCALE_SPLIT_ANGLE(-1.95827412605286), + SCALE_SPLIT_ANGLE(-1.95828902721405), + SCALE_SPLIT_ANGLE(-1.95831298828125), + SCALE_SPLIT_ANGLE(-1.95832931995392)}, + {SCALE_SPLIT_ANGLE(-1.95409321784973), + SCALE_SPLIT_ANGLE(-1.95410120487213), + SCALE_SPLIT_ANGLE(-1.95411348342896), + SCALE_SPLIT_ANGLE(-1.95414435863495), + SCALE_SPLIT_ANGLE(-1.95417428016663), + SCALE_SPLIT_ANGLE(-1.95422148704529), + SCALE_SPLIT_ANGLE(-1.95429742336273), + SCALE_SPLIT_ANGLE(-1.95434927940369)}, + {SCALE_SPLIT_ANGLE(-1.94654786586761), + SCALE_SPLIT_ANGLE(-1.94657349586487), + SCALE_SPLIT_ANGLE(-1.94661235809326), + SCALE_SPLIT_ANGLE(-1.94671010971069), + SCALE_SPLIT_ANGLE(-1.94680511951447), + SCALE_SPLIT_ANGLE(-1.94695532321930), + SCALE_SPLIT_ANGLE(-1.94719707965851), + SCALE_SPLIT_ANGLE(-1.94736242294312)}, + {SCALE_SPLIT_ANGLE(-1.93263387680054), + SCALE_SPLIT_ANGLE(-1.93271505832672), + SCALE_SPLIT_ANGLE(-1.93283867835999), + SCALE_SPLIT_ANGLE(-1.93314921855927), + SCALE_SPLIT_ANGLE(-1.93345177173615), + SCALE_SPLIT_ANGLE(-1.93393063545227), + SCALE_SPLIT_ANGLE(-1.93470406532288), + SCALE_SPLIT_ANGLE(-1.93523526191711)}, + {SCALE_SPLIT_ANGLE(-1.90630447864532), + SCALE_SPLIT_ANGLE(-1.90656316280365), + SCALE_SPLIT_ANGLE(-1.90695703029633), + SCALE_SPLIT_ANGLE(-1.90794789791107), + SCALE_SPLIT_ANGLE(-1.90891468524933), + SCALE_SPLIT_ANGLE(-1.91044914722443), + SCALE_SPLIT_ANGLE(-1.91294133663177), + SCALE_SPLIT_ANGLE(-1.91466677188873)}, + {SCALE_SPLIT_ANGLE(-1.87960767745972), + SCALE_SPLIT_ANGLE(-1.88012754917145), + SCALE_SPLIT_ANGLE(-1.88091945648193), + SCALE_SPLIT_ANGLE(-1.88291203975677), + SCALE_SPLIT_ANGLE(-1.88485789299011), + SCALE_SPLIT_ANGLE(-1.88795256614685), + SCALE_SPLIT_ANGLE(-1.89300417900085), + SCALE_SPLIT_ANGLE(-1.89653015136719)}, + {SCALE_SPLIT_ANGLE(-1.83877408504486), + SCALE_SPLIT_ANGLE(-1.83982253074646), + SCALE_SPLIT_ANGLE(-1.84141874313354), + SCALE_SPLIT_ANGLE(-1.84543371200562), + SCALE_SPLIT_ANGLE(-1.84935557842255), + SCALE_SPLIT_ANGLE(-1.85560452938080), + SCALE_SPLIT_ANGLE(-1.86587750911713), + SCALE_SPLIT_ANGLE(-1.87314093112946)}, + {SCALE_SPLIT_ANGLE(-1.77493441104889), + SCALE_SPLIT_ANGLE(-1.77705287933350), + SCALE_SPLIT_ANGLE(-1.78027486801147), + SCALE_SPLIT_ANGLE(-1.78836560249329), + SCALE_SPLIT_ANGLE(-1.79626119136810), + SCALE_SPLIT_ANGLE(-1.80886065959930), + SCALE_SPLIT_ANGLE(-1.82978057861328), + SCALE_SPLIT_ANGLE(-1.84489572048187)}, + {SCALE_SPLIT_ANGLE(-1.67321836948395), + SCALE_SPLIT_ANGLE(-1.67747676372528), + SCALE_SPLIT_ANGLE(-1.68394041061401), + SCALE_SPLIT_ANGLE(-1.70011758804321), + SCALE_SPLIT_ANGLE(-1.71586525440216), + SCALE_SPLIT_ANGLE(-1.74102890491486), + SCALE_SPLIT_ANGLE(-1.78345453739166), + SCALE_SPLIT_ANGLE(-1.81531310081482)}, + {SCALE_SPLIT_ANGLE(-1.51132130622864), + SCALE_SPLIT_ANGLE(-1.51959407329559), + SCALE_SPLIT_ANGLE(-1.53212583065033), + SCALE_SPLIT_ANGLE(-1.56339812278748), + SCALE_SPLIT_ANGLE(-1.59380078315735), + SCALE_SPLIT_ANGLE(-1.64260387420654), + SCALE_SPLIT_ANGLE(-1.72719144821167), + SCALE_SPLIT_ANGLE(-1.79549288749695)}, + {SCALE_SPLIT_ANGLE(-1.35904073715210), + SCALE_SPLIT_ANGLE(-1.37121629714966), + SCALE_SPLIT_ANGLE(-1.38967263698578), + SCALE_SPLIT_ANGLE(-1.43583405017853), + SCALE_SPLIT_ANGLE(-1.48093712329865), + SCALE_SPLIT_ANGLE(-1.55410349369049), + SCALE_SPLIT_ANGLE(-1.68521809577942), + SCALE_SPLIT_ANGLE(-1.80024909973145)}, + {SCALE_SPLIT_ANGLE(-1.17258918285370), + SCALE_SPLIT_ANGLE(-1.18893885612488), + SCALE_SPLIT_ANGLE(-1.21383893489838), + SCALE_SPLIT_ANGLE(-1.27678334712982), + SCALE_SPLIT_ANGLE(-1.33930444717407), + SCALE_SPLIT_ANGLE(-1.44322550296783), + SCALE_SPLIT_ANGLE(-1.64006841182709), + SCALE_SPLIT_ANGLE(-1.83627629280090)}, + {SCALE_SPLIT_ANGLE(-0.96933782100677), + SCALE_SPLIT_ANGLE(-0.98854482173920), + SCALE_SPLIT_ANGLE(-1.01807177066803), + SCALE_SPLIT_ANGLE(-1.09429979324341), + SCALE_SPLIT_ANGLE(-1.17245376110077), + SCALE_SPLIT_ANGLE(-1.30826890468597), + SCALE_SPLIT_ANGLE(-1.58911192417145), + SCALE_SPLIT_ANGLE(-1.92719459533691)}, + {SCALE_SPLIT_ANGLE(-0.77729856967926), + SCALE_SPLIT_ANGLE(-0.79675692319870), + SCALE_SPLIT_ANGLE(-0.82701623439789), + SCALE_SPLIT_ANGLE(-0.90724974870682), + SCALE_SPLIT_ANGLE(-0.99302661418915), + SCALE_SPLIT_ANGLE(-1.15164005756378), + SCALE_SPLIT_ANGLE(-1.52265238761902), + SCALE_SPLIT_ANGLE(-2.09869647026062)}, + {SCALE_SPLIT_ANGLE(-0.61765122413635), + SCALE_SPLIT_ANGLE(-0.63503879308701), + SCALE_SPLIT_ANGLE(-0.66235071420670), + SCALE_SPLIT_ANGLE(-0.73653644323349), + SCALE_SPLIT_ANGLE(-0.81904625892639), + SCALE_SPLIT_ANGLE(-0.98174780607224), + SCALE_SPLIT_ANGLE(-1.42110574245453), + SCALE_SPLIT_ANGLE(-2.28386068344116)}, + {SCALE_SPLIT_ANGLE(-0.49486327171326), + SCALE_SPLIT_ANGLE(-0.50909572839737), + SCALE_SPLIT_ANGLE(-0.53160977363586), + SCALE_SPLIT_ANGLE(-0.59379214048386), + SCALE_SPLIT_ANGLE(-0.66487479209900), + SCALE_SPLIT_ANGLE(-0.81185555458069), + SCALE_SPLIT_ANGLE(-1.26233398914337), + SCALE_SPLIT_ANGLE(-2.16925764083862)}, + {SCALE_SPLIT_ANGLE(-0.40230554342270), + SCALE_SPLIT_ANGLE(-0.41332268714905), + SCALE_SPLIT_ANGLE(-0.43082219362259), + SCALE_SPLIT_ANGLE(-0.47957947850227), + SCALE_SPLIT_ANGLE(-0.53603595495224), + SCALE_SPLIT_ANGLE(-0.65522664785385), + SCALE_SPLIT_ANGLE(-1.04503870010376), + SCALE_SPLIT_ANGLE(-1.87041819095612)}, + {SCALE_SPLIT_ANGLE(-0.33104604482651), + SCALE_SPLIT_ANGLE(-0.33927723765373), + SCALE_SPLIT_ANGLE(-0.35237133502960), + SCALE_SPLIT_ANGLE(-0.38892474770546), + SCALE_SPLIT_ANGLE(-0.43126162886620), + SCALE_SPLIT_ANGLE(-0.52027010917664), + SCALE_SPLIT_ANGLE(-0.80654197931290), + SCALE_SPLIT_ANGLE(-1.41960346698761)}, + {SCALE_SPLIT_ANGLE(-0.27415531873703), + SCALE_SPLIT_ANGLE(-0.28015667200089), + SCALE_SPLIT_ANGLE(-0.28969678282738), + SCALE_SPLIT_ANGLE(-0.31623727083206), + SCALE_SPLIT_ANGLE(-0.34670370817184), + SCALE_SPLIT_ANGLE(-0.40939208865166), + SCALE_SPLIT_ANGLE(-0.59604328870773), + SCALE_SPLIT_ANGLE(-0.94309812784195)}, + {SCALE_SPLIT_ANGLE(-0.22730343043804), + SCALE_SPLIT_ANGLE(-0.23159568011761), + SCALE_SPLIT_ANGLE(-0.23840220272541), + SCALE_SPLIT_ANGLE(-0.25720024108887), + SCALE_SPLIT_ANGLE(-0.27846288681030), + SCALE_SPLIT_ANGLE(-0.32089167833328), + SCALE_SPLIT_ANGLE(-0.43515858054161), + SCALE_SPLIT_ANGLE(-0.60622000694275)}, + {SCALE_SPLIT_ANGLE(-0.17074464261532), + SCALE_SPLIT_ANGLE(-0.17326098680496), + SCALE_SPLIT_ANGLE(-0.17722851037979), + SCALE_SPLIT_ANGLE(-0.18802368640900), + SCALE_SPLIT_ANGLE(-0.19990929961205), + SCALE_SPLIT_ANGLE(-0.22246663272381), + SCALE_SPLIT_ANGLE(-0.27514943480492), + SCALE_SPLIT_ANGLE(-0.33505329489708)}, + {SCALE_SPLIT_ANGLE(-0.12695816159248), + SCALE_SPLIT_ANGLE(-0.12838459014893), + SCALE_SPLIT_ANGLE(-0.13061878085136), + SCALE_SPLIT_ANGLE(-0.13660037517548), + SCALE_SPLIT_ANGLE(-0.14301039278507), + SCALE_SPLIT_ANGLE(-0.15463486313820), + SCALE_SPLIT_ANGLE(-0.17893928289413), + SCALE_SPLIT_ANGLE(-0.20203559100628)}, + {SCALE_SPLIT_ANGLE(-0.09338590502739), + SCALE_SPLIT_ANGLE(-0.09417138248682), + SCALE_SPLIT_ANGLE(-0.09539389610291), + SCALE_SPLIT_ANGLE(-0.09861853718758), + SCALE_SPLIT_ANGLE(-0.10199318081141), + SCALE_SPLIT_ANGLE(-0.10789106041193), + SCALE_SPLIT_ANGLE(-0.11927829682827), + SCALE_SPLIT_ANGLE(-0.12894384562969)}, + {SCALE_SPLIT_ANGLE(-0.06804534792900), + SCALE_SPLIT_ANGLE(-0.06846774369478), + SCALE_SPLIT_ANGLE(-0.06912153959274), + SCALE_SPLIT_ANGLE(-0.07082460820675), + SCALE_SPLIT_ANGLE(-0.07257289439440), + SCALE_SPLIT_ANGLE(-0.07554303109646), + SCALE_SPLIT_ANGLE(-0.08096560835838), + SCALE_SPLIT_ANGLE(-0.08524779230356)}, + {SCALE_SPLIT_ANGLE(-0.04920703917742), + SCALE_SPLIT_ANGLE(-0.04942998290062), + SCALE_SPLIT_ANGLE(-0.04977353662252), + SCALE_SPLIT_ANGLE(-0.05065960064530), + SCALE_SPLIT_ANGLE(-0.05155571177602), + SCALE_SPLIT_ANGLE(-0.05304637178779), + SCALE_SPLIT_ANGLE(-0.05566369369626), + SCALE_SPLIT_ANGLE(-0.05763531103730)}, + {SCALE_SPLIT_ANGLE(-0.02832321636379), + SCALE_SPLIT_ANGLE(-0.02839783579111), + SCALE_SPLIT_ANGLE(-0.02851220592856), + SCALE_SPLIT_ANGLE(-0.02880378812551), + SCALE_SPLIT_ANGLE(-0.02909369207919), + SCALE_SPLIT_ANGLE(-0.02956490218639), + SCALE_SPLIT_ANGLE(-0.03035926632583), + SCALE_SPLIT_ANGLE(-0.03093044646084)}, + {SCALE_SPLIT_ANGLE(-0.01614263094962), + SCALE_SPLIT_ANGLE(-0.01616701111197), + SCALE_SPLIT_ANGLE(-0.01620426028967), + SCALE_SPLIT_ANGLE(-0.01629855856299), + SCALE_SPLIT_ANGLE(-0.01639137044549), + SCALE_SPLIT_ANGLE(-0.01654022000730), + SCALE_SPLIT_ANGLE(-0.01678557321429), + SCALE_SPLIT_ANGLE(-0.01695770025253)}, + {SCALE_SPLIT_ANGLE(-0.00914741121233), + SCALE_SPLIT_ANGLE(-0.00915526598692), + SCALE_SPLIT_ANGLE(-0.00916724465787), + SCALE_SPLIT_ANGLE(-0.00919744279236), + SCALE_SPLIT_ANGLE(-0.00922699086368), + SCALE_SPLIT_ANGLE(-0.00927401985973), + SCALE_SPLIT_ANGLE(-0.00935057457536), + SCALE_SPLIT_ANGLE(-0.00940357148647)}, + {SCALE_SPLIT_ANGLE(-0.00516631966457), + SCALE_SPLIT_ANGLE(-0.00516883004457), + SCALE_SPLIT_ANGLE(-0.00517265358940), + SCALE_SPLIT_ANGLE(-0.00518227042630), + SCALE_SPLIT_ANGLE(-0.00519164977595), + SCALE_SPLIT_ANGLE(-0.00520651368424), + SCALE_SPLIT_ANGLE(-0.00523054040968), + SCALE_SPLIT_ANGLE(-0.00524705089629)}, + {SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564), + SCALE_SPLIT_ANGLE(-0.00000002921564)}, + }, + { + {SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700), + SCALE_SPLIT_ANGLE(-1.57079625129700)}, + {SCALE_SPLIT_ANGLE(-1.56514143943787), + SCALE_SPLIT_ANGLE(-1.56514346599579), + SCALE_SPLIT_ANGLE(-1.56514644622803), + SCALE_SPLIT_ANGLE(-1.56515395641327), + SCALE_SPLIT_ANGLE(-1.56516134738922), + SCALE_SPLIT_ANGLE(-1.56517291069031), + SCALE_SPLIT_ANGLE(-1.56519162654877), + SCALE_SPLIT_ANGLE(-1.56520438194275)}, + {SCALE_SPLIT_ANGLE(-1.56069743633270), + SCALE_SPLIT_ANGLE(-1.56070363521576), + SCALE_SPLIT_ANGLE(-1.56071305274963), + SCALE_SPLIT_ANGLE(-1.56073689460754), + SCALE_SPLIT_ANGLE(-1.56076002120972), + SCALE_SPLIT_ANGLE(-1.56079661846161), + SCALE_SPLIT_ANGLE(-1.56085574626923), + SCALE_SPLIT_ANGLE(-1.56089639663696)}, + {SCALE_SPLIT_ANGLE(-1.55270349979401), + SCALE_SPLIT_ANGLE(-1.55272293090820), + SCALE_SPLIT_ANGLE(-1.55275249481201), + SCALE_SPLIT_ANGLE(-1.55282700061798), + SCALE_SPLIT_ANGLE(-1.55289971828461), + SCALE_SPLIT_ANGLE(-1.55301535129547), + SCALE_SPLIT_ANGLE(-1.55320298671722), + SCALE_SPLIT_ANGLE(-1.55333244800568)}, + {SCALE_SPLIT_ANGLE(-1.53820896148682), + SCALE_SPLIT_ANGLE(-1.53826904296875), + SCALE_SPLIT_ANGLE(-1.53836083412170), + SCALE_SPLIT_ANGLE(-1.53859269618988), + SCALE_SPLIT_ANGLE(-1.53882038593292), + SCALE_SPLIT_ANGLE(-1.53918409347534), + SCALE_SPLIT_ANGLE(-1.53978025913239), + SCALE_SPLIT_ANGLE(-1.54019618034363)}, + {SCALE_SPLIT_ANGLE(-1.51160359382629), + SCALE_SPLIT_ANGLE(-1.51178681850433), + SCALE_SPLIT_ANGLE(-1.51206707954407), + SCALE_SPLIT_ANGLE(-1.51277911663055), + SCALE_SPLIT_ANGLE(-1.51348364353180), + SCALE_SPLIT_ANGLE(-1.51462137699127), + SCALE_SPLIT_ANGLE(-1.51652014255524), + SCALE_SPLIT_ANGLE(-1.51787149906158)}, + {SCALE_SPLIT_ANGLE(-1.48564028739929), + SCALE_SPLIT_ANGLE(-1.48599267005920), + SCALE_SPLIT_ANGLE(-1.48653328418732), + SCALE_SPLIT_ANGLE(-1.48791313171387), + SCALE_SPLIT_ANGLE(-1.48928785324097), + SCALE_SPLIT_ANGLE(-1.49152994155884), + SCALE_SPLIT_ANGLE(-1.49533629417419), + SCALE_SPLIT_ANGLE(-1.49810016155243)}, + {SCALE_SPLIT_ANGLE(-1.44770431518555), + SCALE_SPLIT_ANGLE(-1.44837117195129), + SCALE_SPLIT_ANGLE(-1.44939672946930), + SCALE_SPLIT_ANGLE(-1.45203149318695), + SCALE_SPLIT_ANGLE(-1.45468175411224), + SCALE_SPLIT_ANGLE(-1.45906174182892), + SCALE_SPLIT_ANGLE(-1.46668362617493), + SCALE_SPLIT_ANGLE(-1.47238755226135)}, + {SCALE_SPLIT_ANGLE(-1.39214622974396), + SCALE_SPLIT_ANGLE(-1.39337480068207), + SCALE_SPLIT_ANGLE(-1.39527142047882), + SCALE_SPLIT_ANGLE(-1.40018463134766), + SCALE_SPLIT_ANGLE(-1.40518975257874), + SCALE_SPLIT_ANGLE(-1.41361439228058), + SCALE_SPLIT_ANGLE(-1.42880713939667), + SCALE_SPLIT_ANGLE(-1.44072234630585)}, + {SCALE_SPLIT_ANGLE(-1.31133687496185), + SCALE_SPLIT_ANGLE(-1.31350564956665), + SCALE_SPLIT_ANGLE(-1.31686961650848), + SCALE_SPLIT_ANGLE(-1.32567894458771), + SCALE_SPLIT_ANGLE(-1.33480489253998), + SCALE_SPLIT_ANGLE(-1.35055565834045), + SCALE_SPLIT_ANGLE(-1.38048458099365), + SCALE_SPLIT_ANGLE(-1.40579903125763)}, + {SCALE_SPLIT_ANGLE(-1.19695889949799), + SCALE_SPLIT_ANGLE(-1.20052516460419), + SCALE_SPLIT_ANGLE(-1.20609176158905), + SCALE_SPLIT_ANGLE(-1.22087824344635), + SCALE_SPLIT_ANGLE(-1.23654139041901), + SCALE_SPLIT_ANGLE(-1.26451897621155), + SCALE_SPLIT_ANGLE(-1.32194638252258), + SCALE_SPLIT_ANGLE(-1.37709844112396)}, + {SCALE_SPLIT_ANGLE(-1.09969496726990), + SCALE_SPLIT_ANGLE(-1.10437369346619), + SCALE_SPLIT_ANGLE(-1.11171460151672), + SCALE_SPLIT_ANGLE(-1.13144767284393), + SCALE_SPLIT_ANGLE(-1.15274536609650), + SCALE_SPLIT_ANGLE(-1.19192278385162), + SCALE_SPLIT_ANGLE(-1.27820122241974), + SCALE_SPLIT_ANGLE(-1.37287354469299)}, + {SCALE_SPLIT_ANGLE(-0.98739635944366), + SCALE_SPLIT_ANGLE(-0.99314498901367), + SCALE_SPLIT_ANGLE(-1.00221848487854), + SCALE_SPLIT_ANGLE(-1.02694928646088), + SCALE_SPLIT_ANGLE(-1.05423069000244), + SCALE_SPLIT_ANGLE(-1.10619938373566), + SCALE_SPLIT_ANGLE(-1.23116791248322), + SCALE_SPLIT_ANGLE(-1.39771783351898)}, + {SCALE_SPLIT_ANGLE(-0.86566168069839), + SCALE_SPLIT_ANGLE(-0.87219274044037), + SCALE_SPLIT_ANGLE(-0.88256770372391), + SCALE_SPLIT_ANGLE(-0.91127198934555), + SCALE_SPLIT_ANGLE(-0.94370102882385), + SCALE_SPLIT_ANGLE(-1.00792455673218), + SCALE_SPLIT_ANGLE(-1.17914199829102), + SCALE_SPLIT_ANGLE(-1.48121190071106)}, + {SCALE_SPLIT_ANGLE(-0.74293029308319), + SCALE_SPLIT_ANGLE(-0.74975663423538), + SCALE_SPLIT_ANGLE(-0.76066619157791), + SCALE_SPLIT_ANGLE(-0.79128366708755), + SCALE_SPLIT_ANGLE(-0.82667875289917), + SCALE_SPLIT_ANGLE(-0.89952337741852), + SCALE_SPLIT_ANGLE(-1.11571288108826), + SCALE_SPLIT_ANGLE(-1.67431199550629)}, + {SCALE_SPLIT_ANGLE(-0.62761706113815), + SCALE_SPLIT_ANGLE(-0.63421267271042), + SCALE_SPLIT_ANGLE(-0.64480352401733), + SCALE_SPLIT_ANGLE(-0.67486244440079), + SCALE_SPLIT_ANGLE(-0.71025305986404), + SCALE_SPLIT_ANGLE(-0.78539818525314), + SCALE_SPLIT_ANGLE(-1.02937340736389), + SCALE_SPLIT_ANGLE(-1.92301476001740)}, + {SCALE_SPLIT_ANGLE(-0.52522456645966), + SCALE_SPLIT_ANGLE(-0.53118568658829), + SCALE_SPLIT_ANGLE(-0.54078328609467), + SCALE_SPLIT_ANGLE(-0.56819742918015), + SCALE_SPLIT_ANGLE(-0.60080897808075), + SCALE_SPLIT_ANGLE(-0.67127293348312), + SCALE_SPLIT_ANGLE(-0.91114157438278), + SCALE_SPLIT_ANGLE(-1.73398244380951)}, + {SCALE_SPLIT_ANGLE(-0.43751952052116), + SCALE_SPLIT_ANGLE(-0.44262495636940), + SCALE_SPLIT_ANGLE(-0.45084837079048), + SCALE_SPLIT_ANGLE(-0.47435706853867), + SCALE_SPLIT_ANGLE(-0.50235128402710), + SCALE_SPLIT_ANGLE(-0.56287175416946), + SCALE_SPLIT_ANGLE(-0.76705116033554), + SCALE_SPLIT_ANGLE(-1.34888231754303)}, + {SCALE_SPLIT_ANGLE(-0.36364197731018), + SCALE_SPLIT_ANGLE(-0.36782836914063), + SCALE_SPLIT_ANGLE(-0.37456014752388), + SCALE_SPLIT_ANGLE(-0.39372298121452), + SCALE_SPLIT_ANGLE(-0.41636970639229), + SCALE_SPLIT_ANGLE(-0.46459695696831), + SCALE_SPLIT_ANGLE(-0.61803078651428), + SCALE_SPLIT_ANGLE(-0.96275907754898)}, + {SCALE_SPLIT_ANGLE(-0.30166232585907), + SCALE_SPLIT_ANGLE(-0.30497136712074), + SCALE_SPLIT_ANGLE(-0.31027451157570), + SCALE_SPLIT_ANGLE(-0.32524627447128), + SCALE_SPLIT_ANGLE(-0.34269106388092), + SCALE_SPLIT_ANGLE(-0.37887355685234), + SCALE_SPLIT_ANGLE(-0.48432540893555), + SCALE_SPLIT_ANGLE(-0.66878592967987)}, + {SCALE_SPLIT_ANGLE(-0.24960109591484), + SCALE_SPLIT_ANGLE(-0.25213342905045), + SCALE_SPLIT_ANGLE(-0.25617361068726), + SCALE_SPLIT_ANGLE(-0.26745575666428), + SCALE_SPLIT_ANGLE(-0.28036275506020), + SCALE_SPLIT_ANGLE(-0.30627736449242), + SCALE_SPLIT_ANGLE(-0.37490698695183), + SCALE_SPLIT_ANGLE(-0.47145301103592)}, + {SCALE_SPLIT_ANGLE(-0.18661488592625), + SCALE_SPLIT_ANGLE(-0.18822199106216), + SCALE_SPLIT_ANGLE(-0.19076594710350), + SCALE_SPLIT_ANGLE(-0.19773861765862), + SCALE_SPLIT_ANGLE(-0.20547652244568), + SCALE_SPLIT_ANGLE(-0.22024063766003), + SCALE_SPLIT_ANGLE(-0.25452125072479), + SCALE_SPLIT_ANGLE(-0.29236793518066)}, + {SCALE_SPLIT_ANGLE(-0.13821771740913), + SCALE_SPLIT_ANGLE(-0.13918289542198), + SCALE_SPLIT_ANGLE(-0.14069861173630), + SCALE_SPLIT_ANGLE(-0.14477686583996), + SCALE_SPLIT_ANGLE(-0.14917232096195), + SCALE_SPLIT_ANGLE(-0.15718193352222), + SCALE_SPLIT_ANGLE(-0.17394064366817), + SCALE_SPLIT_ANGLE(-0.18971265852451)}, + {SCALE_SPLIT_ANGLE(-0.10140904784203), + SCALE_SPLIT_ANGLE(-0.10196315497160), + SCALE_SPLIT_ANGLE(-0.10282710194588), + SCALE_SPLIT_ANGLE(-0.10511382669210), + SCALE_SPLIT_ANGLE(-0.10751703381538), + SCALE_SPLIT_ANGLE(-0.11173453181982), + SCALE_SPLIT_ANGLE(-0.11990433931351), + SCALE_SPLIT_ANGLE(-0.12683042883873)}, + {SCALE_SPLIT_ANGLE(-0.07378087192774), + SCALE_SPLIT_ANGLE(-0.07408788800240), + SCALE_SPLIT_ANGLE(-0.07456368207932), + SCALE_SPLIT_ANGLE(-0.07580613344908), + SCALE_SPLIT_ANGLE(-0.07708552479744), + SCALE_SPLIT_ANGLE(-0.07926639169455), + SCALE_SPLIT_ANGLE(-0.08326309919357), + SCALE_SPLIT_ANGLE(-0.08642497658730)}, + {SCALE_SPLIT_ANGLE(-0.05331044271588), + SCALE_SPLIT_ANGLE(-0.05347600579262), + SCALE_SPLIT_ANGLE(-0.05373133346438), + SCALE_SPLIT_ANGLE(-0.05439101532102), + SCALE_SPLIT_ANGLE(-0.05505971238017), + SCALE_SPLIT_ANGLE(-0.05617496743798), + SCALE_SPLIT_ANGLE(-0.05813983827829), + SCALE_SPLIT_ANGLE(-0.05962376296520)}, + {SCALE_SPLIT_ANGLE(-0.03066622652113), + SCALE_SPLIT_ANGLE(-0.03072291985154), + SCALE_SPLIT_ANGLE(-0.03080986253917), + SCALE_SPLIT_ANGLE(-0.03103173524141), + SCALE_SPLIT_ANGLE(-0.03125262632966), + SCALE_SPLIT_ANGLE(-0.03161224350333), + SCALE_SPLIT_ANGLE(-0.03221990913153), + SCALE_SPLIT_ANGLE(-0.03265778720379)}, + {SCALE_SPLIT_ANGLE(-0.01747439615428), + SCALE_SPLIT_ANGLE(-0.01749316416681), + SCALE_SPLIT_ANGLE(-0.01752184517682), + SCALE_SPLIT_ANGLE(-0.01759449020028), + SCALE_SPLIT_ANGLE(-0.01766604930162), + SCALE_SPLIT_ANGLE(-0.01778092049062), + SCALE_SPLIT_ANGLE(-0.01797054335475), + SCALE_SPLIT_ANGLE(-0.01810375973582)}, + {SCALE_SPLIT_ANGLE(-0.00990140344948), + SCALE_SPLIT_ANGLE(-0.00990749336779), + SCALE_SPLIT_ANGLE(-0.00991678331047), + SCALE_SPLIT_ANGLE(-0.00994021166116), + SCALE_SPLIT_ANGLE(-0.00996314454824), + SCALE_SPLIT_ANGLE(-0.00999966636300), + SCALE_SPLIT_ANGLE(-0.01005917042494), + SCALE_SPLIT_ANGLE(-0.01010039448738)}, + {SCALE_SPLIT_ANGLE(-0.00559204118326), + SCALE_SPLIT_ANGLE(-0.00559399509802), + SCALE_SPLIT_ANGLE(-0.00559697346762), + SCALE_SPLIT_ANGLE(-0.00560446362942), + SCALE_SPLIT_ANGLE(-0.00561177125201), + SCALE_SPLIT_ANGLE(-0.00562335411087), + SCALE_SPLIT_ANGLE(-0.00564208766446), + SCALE_SPLIT_ANGLE(-0.00565496599302)}, + {SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278), + SCALE_SPLIT_ANGLE(-0.00000003162278)}, + }, + { + {SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881), + SCALE_SPLIT_ANGLE(-1.17809700965881)}, + {SCALE_SPLIT_ANGLE(-1.17289507389069), + SCALE_SPLIT_ANGLE(-1.17289614677429), + SCALE_SPLIT_ANGLE(-1.17289793491364), + SCALE_SPLIT_ANGLE(-1.17290210723877), + SCALE_SPLIT_ANGLE(-1.17290627956390), + SCALE_SPLIT_ANGLE(-1.17291295528412), + SCALE_SPLIT_ANGLE(-1.17292356491089), + SCALE_SPLIT_ANGLE(-1.17293083667755)}, + {SCALE_SPLIT_ANGLE(-1.16883778572083), + SCALE_SPLIT_ANGLE(-1.16884136199951), + SCALE_SPLIT_ANGLE(-1.16884660720825), + SCALE_SPLIT_ANGLE(-1.16885995864868), + SCALE_SPLIT_ANGLE(-1.16887307167053), + SCALE_SPLIT_ANGLE(-1.16889369487762), + SCALE_SPLIT_ANGLE(-1.16892731189728), + SCALE_SPLIT_ANGLE(-1.16895043849945)}, + {SCALE_SPLIT_ANGLE(-1.16160643100739), + SCALE_SPLIT_ANGLE(-1.16161715984344), + SCALE_SPLIT_ANGLE(-1.16163349151611), + SCALE_SPLIT_ANGLE(-1.16167497634888), + SCALE_SPLIT_ANGLE(-1.16171550750732), + SCALE_SPLIT_ANGLE(-1.16178035736084), + SCALE_SPLIT_ANGLE(-1.16188645362854), + SCALE_SPLIT_ANGLE(-1.16196036338806)}, + {SCALE_SPLIT_ANGLE(-1.14870381355286), + SCALE_SPLIT_ANGLE(-1.14873635768890), + SCALE_SPLIT_ANGLE(-1.14878606796265), + SCALE_SPLIT_ANGLE(-1.14891242980957), + SCALE_SPLIT_ANGLE(-1.14903736114502), + SCALE_SPLIT_ANGLE(-1.14923870563507), + SCALE_SPLIT_ANGLE(-1.14957380294800), + SCALE_SPLIT_ANGLE(-1.14981114864349)}, + {SCALE_SPLIT_ANGLE(-1.12567472457886), + SCALE_SPLIT_ANGLE(-1.12576985359192), + SCALE_SPLIT_ANGLE(-1.12591588497162), + SCALE_SPLIT_ANGLE(-1.12629044055939), + SCALE_SPLIT_ANGLE(-1.12666571140289), + SCALE_SPLIT_ANGLE(-1.12728178501129), + SCALE_SPLIT_ANGLE(-1.12833738327026), + SCALE_SPLIT_ANGLE(-1.12910985946655)}, + {SCALE_SPLIT_ANGLE(-1.10394370555878), + SCALE_SPLIT_ANGLE(-1.10411989688873), + SCALE_SPLIT_ANGLE(-1.10439169406891), + SCALE_SPLIT_ANGLE(-1.10509419441223), + SCALE_SPLIT_ANGLE(-1.10580670833588), + SCALE_SPLIT_ANGLE(-1.10699570178986), + SCALE_SPLIT_ANGLE(-1.10909187793732), + SCALE_SPLIT_ANGLE(-1.11067557334900)}, + {SCALE_SPLIT_ANGLE(-1.07335841655731), + SCALE_SPLIT_ANGLE(-1.07367491722107), + SCALE_SPLIT_ANGLE(-1.07416582107544), + SCALE_SPLIT_ANGLE(-1.07544875144959), + SCALE_SPLIT_ANGLE(-1.07677149772644), + SCALE_SPLIT_ANGLE(-1.07902920246124), + SCALE_SPLIT_ANGLE(-1.08317422866821), + SCALE_SPLIT_ANGLE(-1.08645880222321)}, + {SCALE_SPLIT_ANGLE(-1.03070914745331), + SCALE_SPLIT_ANGLE(-1.03125369548798), + SCALE_SPLIT_ANGLE(-1.03210353851318), + SCALE_SPLIT_ANGLE(-1.03435730934143), + SCALE_SPLIT_ANGLE(-1.03673195838928), + SCALE_SPLIT_ANGLE(-1.04091215133667), + SCALE_SPLIT_ANGLE(-1.04904508590698), + SCALE_SPLIT_ANGLE(-1.05597043037415)}, + {SCALE_SPLIT_ANGLE(-0.97233015298843), + SCALE_SPLIT_ANGLE(-0.97321158647537), + SCALE_SPLIT_ANGLE(-0.97459846735001), + SCALE_SPLIT_ANGLE(-0.97834426164627), + SCALE_SPLIT_ANGLE(-0.98240232467651), + SCALE_SPLIT_ANGLE(-0.98984342813492), + SCALE_SPLIT_ANGLE(-1.00556397438049), + SCALE_SPLIT_ANGLE(-1.02053022384644)}, + {SCALE_SPLIT_ANGLE(-0.89506632089615), + SCALE_SPLIT_ANGLE(-0.89638078212738), + SCALE_SPLIT_ANGLE(-0.89846837520599), + SCALE_SPLIT_ANGLE(-0.90423023700714), + SCALE_SPLIT_ANGLE(-0.91068559885025), + SCALE_SPLIT_ANGLE(-0.92315053939819), + SCALE_SPLIT_ANGLE(-0.95268231630325), + SCALE_SPLIT_ANGLE(-0.98626488447189)}, + {SCALE_SPLIT_ANGLE(-0.83257317543030), + SCALE_SPLIT_ANGLE(-0.83419388532639), + SCALE_SPLIT_ANGLE(-0.83678513765335), + SCALE_SPLIT_ANGLE(-0.84404873847961), + SCALE_SPLIT_ANGLE(-0.85238862037659), + SCALE_SPLIT_ANGLE(-0.86914104223251), + SCALE_SPLIT_ANGLE(-0.91285753250122), + SCALE_SPLIT_ANGLE(-0.97222834825516)}, + {SCALE_SPLIT_ANGLE(-0.76227325201035), + SCALE_SPLIT_ANGLE(-0.76417011022568), + SCALE_SPLIT_ANGLE(-0.76722222566605), + SCALE_SPLIT_ANGLE(-0.77590954303741), + SCALE_SPLIT_ANGLE(-0.78613209724426), + SCALE_SPLIT_ANGLE(-0.80752629041672), + SCALE_SPLIT_ANGLE(-0.86987817287445), + SCALE_SPLIT_ANGLE(-0.97863042354584)}, + {SCALE_SPLIT_ANGLE(-0.68631613254547), + SCALE_SPLIT_ANGLE(-0.68841677904129), + SCALE_SPLIT_ANGLE(-0.69181627035141), + SCALE_SPLIT_ANGLE(-0.70162516832352), + SCALE_SPLIT_ANGLE(-0.71342802047729), + SCALE_SPLIT_ANGLE(-0.73910319805145), + SCALE_SPLIT_ANGLE(-0.82307589054108), + SCALE_SPLIT_ANGLE(-1.03222990036011)}, + {SCALE_SPLIT_ANGLE(-0.60781323909760), + SCALE_SPLIT_ANGLE(-0.61001539230347), + SCALE_SPLIT_ANGLE(-0.61359477043152), + SCALE_SPLIT_ANGLE(-0.62403184175491), + SCALE_SPLIT_ANGLE(-0.63681107759476), + SCALE_SPLIT_ANGLE(-0.66548812389374), + SCALE_SPLIT_ANGLE(-0.76931124925613), + SCALE_SPLIT_ANGLE(-1.19638121128082)}, + {SCALE_SPLIT_ANGLE(-0.53021627664566), + SCALE_SPLIT_ANGLE(-0.53240883350372), + SCALE_SPLIT_ANGLE(-0.53598141670227), + SCALE_SPLIT_ANGLE(-0.54646164178848), + SCALE_SPLIT_ANGLE(-0.55942356586456), + SCALE_SPLIT_ANGLE(-0.58904850482941), + SCALE_SPLIT_ANGLE(-0.70326185226440), + SCALE_SPLIT_ANGLE(-1.46822547912598)}, + {SCALE_SPLIT_ANGLE(-0.45655792951584), + SCALE_SPLIT_ANGLE(-0.45864021778107), + SCALE_SPLIT_ANGLE(-0.46203425526619), + SCALE_SPLIT_ANGLE(-0.47199884057045), + SCALE_SPLIT_ANGLE(-0.48433950543404), + SCALE_SPLIT_ANGLE(-0.51260894536972), + SCALE_SPLIT_ANGLE(-0.62212854623795), + SCALE_SPLIT_ANGLE(-1.20720005035400)}, + {SCALE_SPLIT_ANGLE(-0.38893285393715), + SCALE_SPLIT_ANGLE(-0.39082619547844), + SCALE_SPLIT_ANGLE(-0.39390665292740), + SCALE_SPLIT_ANGLE(-0.40291139483452), + SCALE_SPLIT_ANGLE(-0.41398155689240), + SCALE_SPLIT_ANGLE(-0.43899381160736), + SCALE_SPLIT_ANGLE(-0.53091597557068), + SCALE_SPLIT_ANGLE(-0.85221308469772)}, + {SCALE_SPLIT_ANGLE(-0.32840180397034), + SCALE_SPLIT_ANGLE(-0.33005377650261), + SCALE_SPLIT_ANGLE(-0.33273178339005), + SCALE_SPLIT_ANGLE(-0.34049153327942), + SCALE_SPLIT_ANGLE(-0.34989196062088), + SCALE_SPLIT_ANGLE(-0.37057077884674), + SCALE_SPLIT_ANGLE(-0.43990370631218), + SCALE_SPLIT_ANGLE(-0.60593050718307)}, + {SCALE_SPLIT_ANGLE(-0.27521026134491), + SCALE_SPLIT_ANGLE(-0.27659529447556), + SCALE_SPLIT_ANGLE(-0.27882954478264), + SCALE_SPLIT_ANGLE(-0.28522571921349), + SCALE_SPLIT_ANGLE(-0.29282191395760), + SCALE_SPLIT_ANGLE(-0.30895599722862), + SCALE_SPLIT_ANGLE(-0.35752710700035), + SCALE_SPLIT_ANGLE(-0.44366964697838)}, + {SCALE_SPLIT_ANGLE(-0.22909800708294), + SCALE_SPLIT_ANGLE(-0.23021571338177), + SCALE_SPLIT_ANGLE(-0.23200808465481), + SCALE_SPLIT_ANGLE(-0.23706813156605), + SCALE_SPLIT_ANGLE(-0.24294249713421), + SCALE_SPLIT_ANGLE(-0.25494650006294), + SCALE_SPLIT_ANGLE(-0.28743270039558), + SCALE_SPLIT_ANGLE(-0.33326250314713)}, + {SCALE_SPLIT_ANGLE(-0.17204396426678), + SCALE_SPLIT_ANGLE(-0.17280194163322), + SCALE_SPLIT_ANGLE(-0.17400610446930), + SCALE_SPLIT_ANGLE(-0.17733126878738), + SCALE_SPLIT_ANGLE(-0.18105843663216), + SCALE_SPLIT_ANGLE(-0.18825362622738), + SCALE_SPLIT_ANGLE(-0.20519737899303), + SCALE_SPLIT_ANGLE(-0.22397245466709)}, + {SCALE_SPLIT_ANGLE(-0.12763081490994), + SCALE_SPLIT_ANGLE(-0.12810991704464), + SCALE_SPLIT_ANGLE(-0.12886415421963), + SCALE_SPLIT_ANGLE(-0.13090406358242), + SCALE_SPLIT_ANGLE(-0.13311786949635), + SCALE_SPLIT_ANGLE(-0.13718487322330), + SCALE_SPLIT_ANGLE(-0.14578334987164), + SCALE_SPLIT_ANGLE(-0.15392091870308)}, + {SCALE_SPLIT_ANGLE(-0.09368772059679), + SCALE_SPLIT_ANGLE(-0.09397349506617), + SCALE_SPLIT_ANGLE(-0.09441984444857), + SCALE_SPLIT_ANGLE(-0.09560552984476), + SCALE_SPLIT_ANGLE(-0.09685768932104), + SCALE_SPLIT_ANGLE(-0.09906788170338), + SCALE_SPLIT_ANGLE(-0.10338337719440), + SCALE_SPLIT_ANGLE(-0.10706327110529)}, + {SCALE_SPLIT_ANGLE(-0.06817039847374), + SCALE_SPLIT_ANGLE(-0.06833326816559), + SCALE_SPLIT_ANGLE(-0.06858597695827), + SCALE_SPLIT_ANGLE(-0.06924756616354), + SCALE_SPLIT_ANGLE(-0.06993118673563), + SCALE_SPLIT_ANGLE(-0.07110133022070), + SCALE_SPLIT_ANGLE(-0.07325870543718), + SCALE_SPLIT_ANGLE(-0.07497420907021)}, + {SCALE_SPLIT_ANGLE(-0.04925632849336), + SCALE_SPLIT_ANGLE(-0.04934597387910), + SCALE_SPLIT_ANGLE(-0.04948435723782), + SCALE_SPLIT_ANGLE(-0.04984252154827), + SCALE_SPLIT_ANGLE(-0.05020647123456), + SCALE_SPLIT_ANGLE(-0.05081529170275), + SCALE_SPLIT_ANGLE(-0.05189274996519), + SCALE_SPLIT_ANGLE(-0.05270983278751)}, + {SCALE_SPLIT_ANGLE(-0.02833298221231), + SCALE_SPLIT_ANGLE(-0.02836437523365), + SCALE_SPLIT_ANGLE(-0.02841254323721), + SCALE_SPLIT_ANGLE(-0.02853557653725), + SCALE_SPLIT_ANGLE(-0.02865824848413), + SCALE_SPLIT_ANGLE(-0.02885829471052), + SCALE_SPLIT_ANGLE(-0.02919723838568), + SCALE_SPLIT_ANGLE(-0.02944211103022)}, + {SCALE_SPLIT_ANGLE(-0.01614447496831), + SCALE_SPLIT_ANGLE(-0.01615499891341), + SCALE_SPLIT_ANGLE(-0.01617108844221), + SCALE_SPLIT_ANGLE(-0.01621186546981), + SCALE_SPLIT_ANGLE(-0.01625206507742), + SCALE_SPLIT_ANGLE(-0.01631666161120), + SCALE_SPLIT_ANGLE(-0.01642346009612), + SCALE_SPLIT_ANGLE(-0.01649860478938)}, + {SCALE_SPLIT_ANGLE(-0.00914774928242), + SCALE_SPLIT_ANGLE(-0.00915119051933), + SCALE_SPLIT_ANGLE(-0.00915643945336), + SCALE_SPLIT_ANGLE(-0.00916968192905), + SCALE_SPLIT_ANGLE(-0.00918265059590), + SCALE_SPLIT_ANGLE(-0.00920331384987), + SCALE_SPLIT_ANGLE(-0.00923701003194), + SCALE_SPLIT_ANGLE(-0.00926037784666)}, + {SCALE_SPLIT_ANGLE(-0.00516638066620), + SCALE_SPLIT_ANGLE(-0.00516748940572), + SCALE_SPLIT_ANGLE(-0.00516917882487), + SCALE_SPLIT_ANGLE(-0.00517342938110), + SCALE_SPLIT_ANGLE(-0.00517757609487), + SCALE_SPLIT_ANGLE(-0.00518415309489), + SCALE_SPLIT_ANGLE(-0.00519479531795), + SCALE_SPLIT_ANGLE(-0.00520211551338)}, + {SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563), + SCALE_SPLIT_ANGLE(-0.00000002921563)}, + }, + { + {SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243), + SCALE_SPLIT_ANGLE(-0.78539830446243)}, + {SCALE_SPLIT_ANGLE(-0.78143131732941), + SCALE_SPLIT_ANGLE(-0.78143173456192), + SCALE_SPLIT_ANGLE(-0.78143233060837), + SCALE_SPLIT_ANGLE(-0.78143388032913), + SCALE_SPLIT_ANGLE(-0.78143537044525), + SCALE_SPLIT_ANGLE(-0.78143775463104), + SCALE_SPLIT_ANGLE(-0.78144156932831), + SCALE_SPLIT_ANGLE(-0.78144425153732)}, + {SCALE_SPLIT_ANGLE(-0.77835690975189), + SCALE_SPLIT_ANGLE(-0.77835816144943), + SCALE_SPLIT_ANGLE(-0.77836006879807), + SCALE_SPLIT_ANGLE(-0.77836489677429), + SCALE_SPLIT_ANGLE(-0.77836954593658), + SCALE_SPLIT_ANGLE(-0.77837705612183), + SCALE_SPLIT_ANGLE(-0.77838915586472), + SCALE_SPLIT_ANGLE(-0.77839756011963)}, + {SCALE_SPLIT_ANGLE(-0.77291876077652), + SCALE_SPLIT_ANGLE(-0.77292257547379), + SCALE_SPLIT_ANGLE(-0.77292835712433), + SCALE_SPLIT_ANGLE(-0.77294307947159), + SCALE_SPLIT_ANGLE(-0.77295756340027), + SCALE_SPLIT_ANGLE(-0.77298080921173), + SCALE_SPLIT_ANGLE(-0.77301901578903), + SCALE_SPLIT_ANGLE(-0.77304589748383)}, + {SCALE_SPLIT_ANGLE(-0.76334208250046), + SCALE_SPLIT_ANGLE(-0.76335340738297), + SCALE_SPLIT_ANGLE(-0.76337069272995), + SCALE_SPLIT_ANGLE(-0.76341491937637), + SCALE_SPLIT_ANGLE(-0.76345884799957), + SCALE_SPLIT_ANGLE(-0.76353019475937), + SCALE_SPLIT_ANGLE(-0.76365041732788), + SCALE_SPLIT_ANGLE(-0.76373666524887)}, + {SCALE_SPLIT_ANGLE(-0.74662196636200), + SCALE_SPLIT_ANGLE(-0.74665397405624), + SCALE_SPLIT_ANGLE(-0.74670332670212), + SCALE_SPLIT_ANGLE(-0.74683076143265), + SCALE_SPLIT_ANGLE(-0.74695968627930), + SCALE_SPLIT_ANGLE(-0.74717408418655), + SCALE_SPLIT_ANGLE(-0.74754965305328), + SCALE_SPLIT_ANGLE(-0.74783110618591)}, + {SCALE_SPLIT_ANGLE(-0.73124068975449), + SCALE_SPLIT_ANGLE(-0.73129838705063), + SCALE_SPLIT_ANGLE(-0.73138779401779), + SCALE_SPLIT_ANGLE(-0.73162090778351), + SCALE_SPLIT_ANGLE(-0.73186063766479), + SCALE_SPLIT_ANGLE(-0.73226791620255), + SCALE_SPLIT_ANGLE(-0.73300850391388), + SCALE_SPLIT_ANGLE(-0.73358756303787)}, + {SCALE_SPLIT_ANGLE(-0.71016567945480), + SCALE_SPLIT_ANGLE(-0.71026563644409), + SCALE_SPLIT_ANGLE(-0.71042138338089), + SCALE_SPLIT_ANGLE(-0.71083360910416), + SCALE_SPLIT_ANGLE(-0.71126639842987), + SCALE_SPLIT_ANGLE(-0.71202349662781), + SCALE_SPLIT_ANGLE(-0.71347558498383), + SCALE_SPLIT_ANGLE(-0.71468466520309)}, + {SCALE_SPLIT_ANGLE(-0.68173074722290), + SCALE_SPLIT_ANGLE(-0.68189489841461), + SCALE_SPLIT_ANGLE(-0.68215286731720), + SCALE_SPLIT_ANGLE(-0.68284797668457), + SCALE_SPLIT_ANGLE(-0.68359792232513), + SCALE_SPLIT_ANGLE(-0.68496227264404), + SCALE_SPLIT_ANGLE(-0.68778377771378), + SCALE_SPLIT_ANGLE(-0.69036662578583)}, + {SCALE_SPLIT_ANGLE(-0.64424312114716), + SCALE_SPLIT_ANGLE(-0.64449483156204), + SCALE_SPLIT_ANGLE(-0.64489442110062), + SCALE_SPLIT_ANGLE(-0.64599496126175), + SCALE_SPLIT_ANGLE(-0.64722281694412), + SCALE_SPLIT_ANGLE(-0.64957284927368), + SCALE_SPLIT_ANGLE(-0.65497392416000), + SCALE_SPLIT_ANGLE(-0.66069275140762)}, + {SCALE_SPLIT_ANGLE(-0.59645897150040), + SCALE_SPLIT_ANGLE(-0.59681385755539), + SCALE_SPLIT_ANGLE(-0.59738302230835), + SCALE_SPLIT_ANGLE(-0.59898990392685), + SCALE_SPLIT_ANGLE(-0.60085391998291), + SCALE_SPLIT_ANGLE(-0.60464876890182), + SCALE_SPLIT_ANGLE(-0.61471670866013), + SCALE_SPLIT_ANGLE(-0.62811452150345)}, + {SCALE_SPLIT_ANGLE(-0.55878317356110), + SCALE_SPLIT_ANGLE(-0.55920612812042), + SCALE_SPLIT_ANGLE(-0.55988919734955), + SCALE_SPLIT_ANGLE(-0.56185036897659), + SCALE_SPLIT_ANGLE(-0.56418758630753), + SCALE_SPLIT_ANGLE(-0.56916558742523), + SCALE_SPLIT_ANGLE(-0.58402240276337), + SCALE_SPLIT_ANGLE(-0.60877454280853)}, + {SCALE_SPLIT_ANGLE(-0.51690876483917), + SCALE_SPLIT_ANGLE(-0.51739066839218), + SCALE_SPLIT_ANGLE(-0.51817417144775), + SCALE_SPLIT_ANGLE(-0.52045887708664), + SCALE_SPLIT_ANGLE(-0.52325236797333), + SCALE_SPLIT_ANGLE(-0.52947425842285), + SCALE_SPLIT_ANGLE(-0.55062580108643), + SCALE_SPLIT_ANGLE(-0.59875679016113)}, + {SCALE_SPLIT_ANGLE(-0.47171202301979), + SCALE_SPLIT_ANGLE(-0.47223755717278), + SCALE_SPLIT_ANGLE(-0.47309651970863), + SCALE_SPLIT_ANGLE(-0.47563409805298), + SCALE_SPLIT_ANGLE(-0.47880497574806), + SCALE_SPLIT_ANGLE(-0.48615178465843), + SCALE_SPLIT_ANGLE(-0.51456993818283), + SCALE_SPLIT_ANGLE(-0.61478376388550)}, + {SCALE_SPLIT_ANGLE(-0.42445346713066), + SCALE_SPLIT_ANGLE(-0.42500337958336), + SCALE_SPLIT_ANGLE(-0.42590552568436), + SCALE_SPLIT_ANGLE(-0.42859482765198), + SCALE_SPLIT_ANGLE(-0.43200704455376), + SCALE_SPLIT_ANGLE(-0.44014206528664), + SCALE_SPLIT_ANGLE(-0.47505456209183), + SCALE_SPLIT_ANGLE(-0.70435559749603)}, + {SCALE_SPLIT_ANGLE(-0.37662348151207), + SCALE_SPLIT_ANGLE(-0.37717759609222), + SCALE_SPLIT_ANGLE(-0.37808811664581), + SCALE_SPLIT_ANGLE(-0.38081312179565), + SCALE_SPLIT_ANGLE(-0.38429382443428), + SCALE_SPLIT_ANGLE(-0.39269915223122), + SCALE_SPLIT_ANGLE(-0.43061137199402), + SCALE_SPLIT_ANGLE(-0.89949661493301)}, + {SCALE_SPLIT_ANGLE(-0.32972770929337), + SCALE_SPLIT_ANGLE(-0.33026665449142), + SCALE_SPLIT_ANGLE(-0.33115166425705), + SCALE_SPLIT_ANGLE(-0.33379596471786), + SCALE_SPLIT_ANGLE(-0.33716449141502), + SCALE_SPLIT_ANGLE(-0.34525626897812), + SCALE_SPLIT_ANGLE(-0.38098806142807), + SCALE_SPLIT_ANGLE(-0.66312354803085)}, + {SCALE_SPLIT_ANGLE(-0.28508266806602), + SCALE_SPLIT_ANGLE(-0.28558865189552), + SCALE_SPLIT_ANGLE(-0.28641721606255), + SCALE_SPLIT_ANGLE(-0.28887599706650), + SCALE_SPLIT_ANGLE(-0.29197183251381), + SCALE_SPLIT_ANGLE(-0.29924651980400), + SCALE_SPLIT_ANGLE(-0.32879725098610), + SCALE_SPLIT_ANGLE(-0.45467042922974)}, + {SCALE_SPLIT_ANGLE(-0.24368351697922), + SCALE_SPLIT_ANGLE(-0.24414126574993), + SCALE_SPLIT_ANGLE(-0.24488742649555), + SCALE_SPLIT_ANGLE(-0.24707718193531), + SCALE_SPLIT_ANGLE(-0.24978290498257), + SCALE_SPLIT_ANGLE(-0.25592407584190), + SCALE_SPLIT_ANGLE(-0.27806493639946), + SCALE_SPLIT_ANGLE(-0.33706212043762)}, + {SCALE_SPLIT_ANGLE(-0.20616291463375), + SCALE_SPLIT_ANGLE(-0.20656123757362), + SCALE_SPLIT_ANGLE(-0.20720669627190), + SCALE_SPLIT_ANGLE(-0.20907410979271), + SCALE_SPLIT_ANGLE(-0.21132779121399), + SCALE_SPLIT_ANGLE(-0.21623276174068), + SCALE_SPLIT_ANGLE(-0.23178002238274), + SCALE_SPLIT_ANGLE(-0.26115795969963)}, + {SCALE_SPLIT_ANGLE(-0.17282113432884), + SCALE_SPLIT_ANGLE(-0.17315419018269), + SCALE_SPLIT_ANGLE(-0.17369027435780), + SCALE_SPLIT_ANGLE(-0.17521676421165), + SCALE_SPLIT_ANGLE(-0.17701183259487), + SCALE_SPLIT_ANGLE(-0.18074958026409), + SCALE_SPLIT_ANGLE(-0.19124273955822), + SCALE_SPLIT_ANGLE(-0.20666226744652)}, + {SCALE_SPLIT_ANGLE(-0.13066087663174), + SCALE_SPLIT_ANGLE(-0.13089761137962), + SCALE_SPLIT_ANGLE(-0.13127478957176), + SCALE_SPLIT_ANGLE(-0.13232274353504), + SCALE_SPLIT_ANGLE(-0.13350811600685), + SCALE_SPLIT_ANGLE(-0.13582547008991), + SCALE_SPLIT_ANGLE(-0.14140743017197), + SCALE_SPLIT_ANGLE(-0.14774034917355)}, + {SCALE_SPLIT_ANGLE(-0.09729288518429), + SCALE_SPLIT_ANGLE(-0.09744837880135), + SCALE_SPLIT_ANGLE(-0.09769365936518), + SCALE_SPLIT_ANGLE(-0.09835996478796), + SCALE_SPLIT_ANGLE(-0.09908770024776), + SCALE_SPLIT_ANGLE(-0.10043605417013), + SCALE_SPLIT_ANGLE(-0.10332851856947), + SCALE_SPLIT_ANGLE(-0.10610698908567)}, + {SCALE_SPLIT_ANGLE(-0.07155896723270), + SCALE_SPLIT_ANGLE(-0.07165452837944), + SCALE_SPLIT_ANGLE(-0.07180399447680), + SCALE_SPLIT_ANGLE(-0.07220225781202), + SCALE_SPLIT_ANGLE(-0.07262473553419), + SCALE_SPLIT_ANGLE(-0.07337480783463), + SCALE_SPLIT_ANGLE(-0.07485358417034), + SCALE_SPLIT_ANGLE(-0.07612710446119)}, + {SCALE_SPLIT_ANGLE(-0.05212157964706), + SCALE_SPLIT_ANGLE(-0.05217728391290), + SCALE_SPLIT_ANGLE(-0.05226380378008), + SCALE_SPLIT_ANGLE(-0.05249079316854), + SCALE_SPLIT_ANGLE(-0.05272606760263), + SCALE_SPLIT_ANGLE(-0.05313043296337), + SCALE_SPLIT_ANGLE(-0.05388086661696), + SCALE_SPLIT_ANGLE(-0.05448163300753)}, + {SCALE_SPLIT_ANGLE(-0.03767966106534), + SCALE_SPLIT_ANGLE(-0.03771083801985), + SCALE_SPLIT_ANGLE(-0.03775899857283), + SCALE_SPLIT_ANGLE(-0.03788383677602), + SCALE_SPLIT_ANGLE(-0.03801096975803), + SCALE_SPLIT_ANGLE(-0.03822424262762), + SCALE_SPLIT_ANGLE(-0.03860339894891), + SCALE_SPLIT_ANGLE(-0.03889227285981)}, + {SCALE_SPLIT_ANGLE(-0.02168159000576), + SCALE_SPLIT_ANGLE(-0.02169271185994), + SCALE_SPLIT_ANGLE(-0.02170977741480), + SCALE_SPLIT_ANGLE(-0.02175341919065), + SCALE_SPLIT_ANGLE(-0.02179697901011), + SCALE_SPLIT_ANGLE(-0.02186813205481), + SCALE_SPLIT_ANGLE(-0.02198898792267), + SCALE_SPLIT_ANGLE(-0.02207653038204)}, + {SCALE_SPLIT_ANGLE(-0.01235581189394), + SCALE_SPLIT_ANGLE(-0.01235958002508), + SCALE_SPLIT_ANGLE(-0.01236534304917), + SCALE_SPLIT_ANGLE(-0.01237995456904), + SCALE_SPLIT_ANGLE(-0.01239436771721), + SCALE_SPLIT_ANGLE(-0.01241754833609), + SCALE_SPLIT_ANGLE(-0.01245592441410), + SCALE_SPLIT_ANGLE(-0.01248297002167)}, + {SCALE_SPLIT_ANGLE(-0.00700127193704), + SCALE_SPLIT_ANGLE(-0.00700251199305), + SCALE_SPLIT_ANGLE(-0.00700440304354), + SCALE_SPLIT_ANGLE(-0.00700917467475), + SCALE_SPLIT_ANGLE(-0.00701385131106), + SCALE_SPLIT_ANGLE(-0.00702130468562), + SCALE_SPLIT_ANGLE(-0.00703346915543), + SCALE_SPLIT_ANGLE(-0.00704191112891)}, + {SCALE_SPLIT_ANGLE(-0.00395415676758), + SCALE_SPLIT_ANGLE(-0.00395455863327), + SCALE_SPLIT_ANGLE(-0.00395516911522), + SCALE_SPLIT_ANGLE(-0.00395670579746), + SCALE_SPLIT_ANGLE(-0.00395820569247), + SCALE_SPLIT_ANGLE(-0.00396058475599), + SCALE_SPLIT_ANGLE(-0.00396443624049), + SCALE_SPLIT_ANGLE(-0.00396708631888)}, + {SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068), + SCALE_SPLIT_ANGLE(-0.00000002236068)}, + }, + { + {SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425), + SCALE_SPLIT_ANGLE(-0.39269906282425)}, + {SCALE_SPLIT_ANGLE(-0.39055728912354), + SCALE_SPLIT_ANGLE(-0.39055734872818), + SCALE_SPLIT_ANGLE(-0.39055743813515), + SCALE_SPLIT_ANGLE(-0.39055764675140), + SCALE_SPLIT_ANGLE(-0.39055785536766), + SCALE_SPLIT_ANGLE(-0.39055821299553), + SCALE_SPLIT_ANGLE(-0.39055874943733), + SCALE_SPLIT_ANGLE(-0.39055910706520)}, + {SCALE_SPLIT_ANGLE(-0.38890448212624), + SCALE_SPLIT_ANGLE(-0.38890466094017), + SCALE_SPLIT_ANGLE(-0.38890489935875), + SCALE_SPLIT_ANGLE(-0.38890558481216), + SCALE_SPLIT_ANGLE(-0.38890624046326), + SCALE_SPLIT_ANGLE(-0.38890728354454), + SCALE_SPLIT_ANGLE(-0.38890898227692), + SCALE_SPLIT_ANGLE(-0.38891017436981)}, + {SCALE_SPLIT_ANGLE(-0.38599535822868), + SCALE_SPLIT_ANGLE(-0.38599589467049), + SCALE_SPLIT_ANGLE(-0.38599669933319), + SCALE_SPLIT_ANGLE(-0.38599872589111), + SCALE_SPLIT_ANGLE(-0.38600075244904), + SCALE_SPLIT_ANGLE(-0.38600397109985), + SCALE_SPLIT_ANGLE(-0.38600933551788), + SCALE_SPLIT_ANGLE(-0.38601312041283)}, + {SCALE_SPLIT_ANGLE(-0.38091570138931), + SCALE_SPLIT_ANGLE(-0.38091725111008), + SCALE_SPLIT_ANGLE(-0.38091960549355), + SCALE_SPLIT_ANGLE(-0.38092568516731), + SCALE_SPLIT_ANGLE(-0.38093173503876), + SCALE_SPLIT_ANGLE(-0.38094159960747), + SCALE_SPLIT_ANGLE(-0.38095837831497), + SCALE_SPLIT_ANGLE(-0.38097053766251)}, + {SCALE_SPLIT_ANGLE(-0.37216994166374), + SCALE_SPLIT_ANGLE(-0.37217423319817), + SCALE_SPLIT_ANGLE(-0.37218084931374), + SCALE_SPLIT_ANGLE(-0.37219804525375), + SCALE_SPLIT_ANGLE(-0.37221553921700), + SCALE_SPLIT_ANGLE(-0.37224486470222), + SCALE_SPLIT_ANGLE(-0.37229701876640), + SCALE_SPLIT_ANGLE(-0.37233671545982)}, + {SCALE_SPLIT_ANGLE(-0.36424961686134), + SCALE_SPLIT_ANGLE(-0.36425721645355), + SCALE_SPLIT_ANGLE(-0.36426901817322), + SCALE_SPLIT_ANGLE(-0.36429998278618), + SCALE_SPLIT_ANGLE(-0.36433207988739), + SCALE_SPLIT_ANGLE(-0.36438727378845), + SCALE_SPLIT_ANGLE(-0.36448964476585), + SCALE_SPLIT_ANGLE(-0.36457160115242)}, + {SCALE_SPLIT_ANGLE(-0.35356882214546), + SCALE_SPLIT_ANGLE(-0.35358169674873), + SCALE_SPLIT_ANGLE(-0.35360184311867), + SCALE_SPLIT_ANGLE(-0.35365554690361), + SCALE_SPLIT_ANGLE(-0.35371255874634), + SCALE_SPLIT_ANGLE(-0.35381379723549), + SCALE_SPLIT_ANGLE(-0.35401359200478), + SCALE_SPLIT_ANGLE(-0.35418573021889)}, + {SCALE_SPLIT_ANGLE(-0.33942580223083), + SCALE_SPLIT_ANGLE(-0.33944639563560), + SCALE_SPLIT_ANGLE(-0.33947893977165), + SCALE_SPLIT_ANGLE(-0.33956736326218), + SCALE_SPLIT_ANGLE(-0.33966410160065), + SCALE_SPLIT_ANGLE(-0.33984366059303), + SCALE_SPLIT_ANGLE(-0.34023004770279), + SCALE_SPLIT_ANGLE(-0.34060218930244)}, + {SCALE_SPLIT_ANGLE(-0.32115444540977), + SCALE_SPLIT_ANGLE(-0.32118517160416), + SCALE_SPLIT_ANGLE(-0.32123413681984), + SCALE_SPLIT_ANGLE(-0.32137045264244), + SCALE_SPLIT_ANGLE(-0.32152506709099), + SCALE_SPLIT_ANGLE(-0.32182860374451), + SCALE_SPLIT_ANGLE(-0.32256555557251), + SCALE_SPLIT_ANGLE(-0.32340887188911)}, + {SCALE_SPLIT_ANGLE(-0.29830518364906), + SCALE_SPLIT_ANGLE(-0.29834720492363), + SCALE_SPLIT_ANGLE(-0.29841497540474), + SCALE_SPLIT_ANGLE(-0.29860857129097), + SCALE_SPLIT_ANGLE(-0.29883739352226), + SCALE_SPLIT_ANGLE(-0.29931783676147), + SCALE_SPLIT_ANGLE(-0.30069103837013), + SCALE_SPLIT_ANGLE(-0.30275768041611)}, + {SCALE_SPLIT_ANGLE(-0.28050783276558), + SCALE_SPLIT_ANGLE(-0.28055709600449), + SCALE_SPLIT_ANGLE(-0.28063705563545), + SCALE_SPLIT_ANGLE(-0.28086939454079), + SCALE_SPLIT_ANGLE(-0.28115186095238), + SCALE_SPLIT_ANGLE(-0.28177401423454), + SCALE_SPLIT_ANGLE(-0.28380542993546), + SCALE_SPLIT_ANGLE(-0.28782635927200)}, + {SCALE_SPLIT_ANGLE(-0.26083284616470), + SCALE_SPLIT_ANGLE(-0.26088821887970), + SCALE_SPLIT_ANGLE(-0.26097869873047), + SCALE_SPLIT_ANGLE(-0.26124575734138), + SCALE_SPLIT_ANGLE(-0.26157894730568), + SCALE_SPLIT_ANGLE(-0.26234790682793), + SCALE_SPLIT_ANGLE(-0.26525342464447), + SCALE_SPLIT_ANGLE(-0.27373573184013)}, + {SCALE_SPLIT_ANGLE(-0.23960019648075), + SCALE_SPLIT_ANGLE(-0.23966008424759), + SCALE_SPLIT_ANGLE(-0.23975844681263), + SCALE_SPLIT_ANGLE(-0.24005250632763), + SCALE_SPLIT_ANGLE(-0.24042734503746), + SCALE_SPLIT_ANGLE(-0.24132779240608), + SCALE_SPLIT_ANGLE(-0.24525122344494), + SCALE_SPLIT_ANGLE(-0.26534584164619)}, + {SCALE_SPLIT_ANGLE(-0.21727462112904), + SCALE_SPLIT_ANGLE(-0.21733717620373), + SCALE_SPLIT_ANGLE(-0.21744027733803), + SCALE_SPLIT_ANGLE(-0.21775110065937), + SCALE_SPLIT_ANGLE(-0.21815298497677), + SCALE_SPLIT_ANGLE(-0.21914556622505), + SCALE_SPLIT_ANGLE(-0.22397416830063), + SCALE_SPLIT_ANGLE(-0.27997338771820)}, + {SCALE_SPLIT_ANGLE(-0.19442924857140), + SCALE_SPLIT_ANGLE(-0.19449259340763), + SCALE_SPLIT_ANGLE(-0.19459711015224), + SCALE_SPLIT_ANGLE(-0.19491319358349), + SCALE_SPLIT_ANGLE(-0.19532407820225), + SCALE_SPLIT_ANGLE(-0.19634953141212), + SCALE_SPLIT_ANGLE(-0.20156541466713), + SCALE_SPLIT_ANGLE(-0.33650863170624)}, + {SCALE_SPLIT_ANGLE(-0.17168678343296), + SCALE_SPLIT_ANGLE(-0.17174907028675), + SCALE_SPLIT_ANGLE(-0.17185172438622), + SCALE_SPLIT_ANGLE(-0.17216137051582), + SCALE_SPLIT_ANGLE(-0.17256210744381), + SCALE_SPLIT_ANGLE(-0.17355349659920), + SCALE_SPLIT_ANGLE(-0.17841055989265), + SCALE_SPLIT_ANGLE(-0.23922458291054)}, + {SCALE_SPLIT_ANGLE(-0.14965106546879), + SCALE_SPLIT_ANGLE(-0.14971044659615), + SCALE_SPLIT_ANGLE(-0.14980801939964), + SCALE_SPLIT_ANGLE(-0.15010000765324), + SCALE_SPLIT_ANGLE(-0.15047281980515), + SCALE_SPLIT_ANGLE(-0.15137127041817), + SCALE_SPLIT_ANGLE(-0.15533344447613), + SCALE_SPLIT_ANGLE(-0.17691853642464)}, + {SCALE_SPLIT_ANGLE(-0.12884500622749), + SCALE_SPLIT_ANGLE(-0.12889972329140), + SCALE_SPLIT_ANGLE(-0.12898920476437), + SCALE_SPLIT_ANGLE(-0.12925371527672), + SCALE_SPLIT_ANGLE(-0.12958449125290), + SCALE_SPLIT_ANGLE(-0.13035115599632), + SCALE_SPLIT_ANGLE(-0.13329000771046), + SCALE_SPLIT_ANGLE(-0.14226882159710)}, + {SCALE_SPLIT_ANGLE(-0.10966771095991), + SCALE_SPLIT_ANGLE(-0.10971628129482), + SCALE_SPLIT_ANGLE(-0.10979521274567), + SCALE_SPLIT_ANGLE(-0.11002496629953), + SCALE_SPLIT_ANGLE(-0.11030505597591), + SCALE_SPLIT_ANGLE(-0.11092507094145), + SCALE_SPLIT_ANGLE(-0.11297955363989), + SCALE_SPLIT_ANGLE(-0.11718675494194)}, + {SCALE_SPLIT_ANGLE(-0.09237615764141), + SCALE_SPLIT_ANGLE(-0.09241757541895), + SCALE_SPLIT_ANGLE(-0.09248440712690), + SCALE_SPLIT_ANGLE(-0.09267570078373), + SCALE_SPLIT_ANGLE(-0.09290252625942), + SCALE_SPLIT_ANGLE(-0.09338124096394), + SCALE_SPLIT_ANGLE(-0.09476861357689), + SCALE_SPLIT_ANGLE(-0.09691139310598)}, + {SCALE_SPLIT_ANGLE(-0.07020132243633), + SCALE_SPLIT_ANGLE(-0.07023159414530), + SCALE_SPLIT_ANGLE(-0.07027988135815), + SCALE_SPLIT_ANGLE(-0.07041461765766), + SCALE_SPLIT_ANGLE(-0.07056794315577), + SCALE_SPLIT_ANGLE(-0.07087046653032), + SCALE_SPLIT_ANGLE(-0.07161350548267), + SCALE_SPLIT_ANGLE(-0.07247892767191)}, + {SCALE_SPLIT_ANGLE(-0.05244029313326), + SCALE_SPLIT_ANGLE(-0.05246063694358), + SCALE_SPLIT_ANGLE(-0.05249277129769), + SCALE_SPLIT_ANGLE(-0.05258031189442), + SCALE_SPLIT_ANGLE(-0.05267634615302), + SCALE_SPLIT_ANGLE(-0.05285539105535), + SCALE_SPLIT_ANGLE(-0.05324416607618), + SCALE_SPLIT_ANGLE(-0.05362325906754)}, + {SCALE_SPLIT_ANGLE(-0.03864165395498), + SCALE_SPLIT_ANGLE(-0.03865438699722), + SCALE_SPLIT_ANGLE(-0.03867433220148), + SCALE_SPLIT_ANGLE(-0.03872758150101), + SCALE_SPLIT_ANGLE(-0.03878423944116), + SCALE_SPLIT_ANGLE(-0.03888526186347), + SCALE_SPLIT_ANGLE(-0.03908598423004), + SCALE_SPLIT_ANGLE(-0.03926040232182)}, + {SCALE_SPLIT_ANGLE(-0.02817477099597), + SCALE_SPLIT_ANGLE(-0.02818230539560), + SCALE_SPLIT_ANGLE(-0.02819401212037), + SCALE_SPLIT_ANGLE(-0.02822477370501), + SCALE_SPLIT_ANGLE(-0.02825672924519), + SCALE_SPLIT_ANGLE(-0.02831180207431), + SCALE_SPLIT_ANGLE(-0.02841453626752), + SCALE_SPLIT_ANGLE(-0.02849724888802)}, + {SCALE_SPLIT_ANGLE(-0.02037952840328), + SCALE_SPLIT_ANGLE(-0.02038379199803), + SCALE_SPLIT_ANGLE(-0.02039037644863), + SCALE_SPLIT_ANGLE(-0.02040746808052), + SCALE_SPLIT_ANGLE(-0.02042490057647), + SCALE_SPLIT_ANGLE(-0.02045419998467), + SCALE_SPLIT_ANGLE(-0.02050646580756), + SCALE_SPLIT_ANGLE(-0.02054643817246)}, + {SCALE_SPLIT_ANGLE(-0.01173160132021), + SCALE_SPLIT_ANGLE(-0.01173313893378), + SCALE_SPLIT_ANGLE(-0.01173550169915), + SCALE_SPLIT_ANGLE(-0.01174154412001), + SCALE_SPLIT_ANGLE(-0.01174758281559), + SCALE_SPLIT_ANGLE(-0.01175745390356), + SCALE_SPLIT_ANGLE(-0.01177425216883), + SCALE_SPLIT_ANGLE(-0.01178644038737)}, + {SCALE_SPLIT_ANGLE(-0.00668647419661), + SCALE_SPLIT_ANGLE(-0.00668699899688), + SCALE_SPLIT_ANGLE(-0.00668780226260), + SCALE_SPLIT_ANGLE(-0.00668983859941), + SCALE_SPLIT_ANGLE(-0.00669184979051), + SCALE_SPLIT_ANGLE(-0.00669508427382), + SCALE_SPLIT_ANGLE(-0.00670044496655), + SCALE_SPLIT_ANGLE(-0.00670422706753)}, + {SCALE_SPLIT_ANGLE(-0.00378898018971), + SCALE_SPLIT_ANGLE(-0.00378915364854), + SCALE_SPLIT_ANGLE(-0.00378941860981), + SCALE_SPLIT_ANGLE(-0.00379008613527), + SCALE_SPLIT_ANGLE(-0.00379074038938), + SCALE_SPLIT_ANGLE(-0.00379178440198), + SCALE_SPLIT_ANGLE(-0.00379348848946), + SCALE_SPLIT_ANGLE(-0.00379467150196)}, + {SCALE_SPLIT_ANGLE(-0.00213995948434), + SCALE_SPLIT_ANGLE(-0.00214001582935), + SCALE_SPLIT_ANGLE(-0.00214010151103), + SCALE_SPLIT_ANGLE(-0.00214031687938), + SCALE_SPLIT_ANGLE(-0.00214052735828), + SCALE_SPLIT_ANGLE(-0.00214086123742), + SCALE_SPLIT_ANGLE(-0.00214140163735), + SCALE_SPLIT_ANGLE(-0.00214177393354)}, + {SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151), + SCALE_SPLIT_ANGLE(-0.00000001210151)}, + }, +}; #define SCALE_CLD(a) (FL2FXCONST_CFG(a)) diff --git a/libSACdec/src/sac_rom.h b/libSACdec/src/sac_rom.h index d366fb6..38f17f2 100644 --- a/libSACdec/src/sac_rom.h +++ b/libSACdec/src/sac_rom.h @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -147,7 +147,7 @@ amm-info@iis.fraunhofer.de #define CLIP_PROTECT_GAIN_1(x) FL2FXCONST_CFG(((x) / (float)(1 << 1))) #define CLIP_PROTECT_GAIN_2(x) FL2FXCONST_CFG(((x) / (float)(1 << 2))) -#define SF_CLD_C1C2 (8) +#define SF_CLD_C1C2 (9) extern const FIXP_CFG dequantCPC__FDK[]; extern const FIXP_CFG dequantICC__FDK[8]; @@ -160,6 +160,7 @@ extern const FIXP_CFG dequantCLD__FDK[31]; (FL2FXCONST_DBL(3.1415926535897932f / (float)(1 << (IPD_SCALE - 1)))) extern const FIXP_CFG dequantIPD__FDK[16]; +extern const FIXP_DBL dequantIPD_CLD_ICC_splitAngle__FDK[15][31][8]; extern const FIXP_CFG H11_nc[31][8]; extern const FIXP_CFG H12_nc[31][8]; diff --git a/libSBRdec/src/env_calc.cpp b/libSBRdec/src/env_calc.cpp index cb1474f..1242833 100644 --- a/libSBRdec/src/env_calc.cpp +++ b/libSBRdec/src/env_calc.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -493,7 +493,7 @@ static void mapSineFlags( } } -#define INTER_TES_SF_CHANGE 3 +#define INTER_TES_SF_CHANGE 4 typedef struct { FIXP_DBL subsample_power_low[(((1024) / (32) * (4) / 2) + (3 * (4)))]; @@ -2325,7 +2325,15 @@ static void calcSubbandGain( } /* gain = nrgRef / B */ - FDK_divide_MantExp(nrgRef, nrgRef_e, b, b_e, ptrNrgGain, ptrNrgGain_e); + INT result_exp = 0; + *ptrNrgGain = fDivNorm(nrgRef, b, &result_exp); + *ptrNrgGain_e = (SCHAR)result_exp + (nrgRef_e - b_e); + + /* There could be a one bit diffs. This is important to compensate, + because later in the code values are compared by exponent only. */ + int headroom = CountLeadingBits(*ptrNrgGain); + *ptrNrgGain <<= headroom; + *ptrNrgGain_e -= headroom; } } @@ -2431,8 +2439,7 @@ static void adjustTimeSlot_EldGrid( sbNoise = *pNoiseLevel++; if (((INT)sineLevel_curr | noNoiseFlag) == 0) { signalReal += - (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[phaseIndex][0], sbNoise) - << 4); + fMult(FDK_sbrDecoder_sbr_randomPhase[phaseIndex][0], sbNoise); } signalReal += sineLevel_curr * p_harmonicPhase[0]; signalReal = @@ -2466,8 +2473,7 @@ static void adjustTimeSlot_EldGrid( sbNoise = *pNoiseLevel++; if (((INT)sineLevel_curr | noNoiseFlag) == 0) { signalReal += - (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[phaseIndex][0], sbNoise) - << 4); + fMult(FDK_sbrDecoder_sbr_randomPhase[phaseIndex][0], sbNoise); } signalReal += sineLevel_curr * p_harmonicPhase[0]; *ptrReal++ = signalReal; @@ -2527,8 +2533,7 @@ static void adjustTimeSlotLC( else if (!noNoiseFlag) /* Add noisefloor to the amplified signal */ signalReal += - (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0]) - << 4); + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0]); { if (!(harmIndex & 0x1)) { @@ -2575,9 +2580,8 @@ static void adjustTimeSlotLC( !noNoiseFlag) { /* Add noisefloor to the amplified signal */ index &= (SBR_NF_NO_RANDOM_VAL - 1); - signalReal += (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], - pNoiseLevel[0]) - << 4); + signalReal += + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0]); } /* The next multiplication constitutes the actual envelope adjustment of @@ -2602,9 +2606,8 @@ static void adjustTimeSlotLC( else if (!noNoiseFlag) { /* Add noisefloor to the amplified signal */ index &= (SBR_NF_NO_RANDOM_VAL - 1); - signalReal += (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], - pNoiseLevel[0]) - << 4); + signalReal += + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0]); } pNoiseLevel++; @@ -2633,10 +2636,8 @@ static void adjustTimeSlotLC( else if (!noNoiseFlag) { /* Add noisefloor to the amplified signal */ index &= (SBR_NF_NO_RANDOM_VAL - 1); - signalReal = - signalReal + - (fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], pNoiseLevel[0]) - << 4); + signalReal = signalReal + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], + pNoiseLevel[0]); } if (!(harmIndex & 0x1)) { @@ -2741,11 +2742,9 @@ static void adjustTimeSlotHQ_GainAndNoise( /* Add noisefloor to the amplified signal */ index &= (SBR_NF_NO_RANDOM_VAL - 1); noiseReal = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise) - << 4; + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise); noiseImag = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise) - << 4; + fMult(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise); *ptrReal++ = (signalReal + noiseReal); *ptrImag++ = (signalImag + noiseImag); } @@ -2763,13 +2762,12 @@ static void adjustTimeSlotHQ_GainAndNoise( smoothedNoise = noiseLevel[k]; index &= (SBR_NF_NO_RANDOM_VAL - 1); noiseReal = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise); + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise); noiseImag = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise); + fMult(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise); - /* FDK_sbrDecoder_sbr_randomPhase is downscaled by 2^3 */ - signalReal += noiseReal << 4; - signalImag += noiseImag << 4; + signalReal += noiseReal; + signalImag += noiseImag; } *ptrReal++ = signalReal; *ptrImag++ = signalImag; @@ -2944,13 +2942,10 @@ static void adjustTimeSlotHQ( } else { /* Add noisefloor to the amplified signal */ index &= (SBR_NF_NO_RANDOM_VAL - 1); - /* FDK_sbrDecoder_sbr_randomPhase is downscaled by 2^3 */ noiseReal = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise) - << 4; + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise); noiseImag = - fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise) - << 4; + fMult(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise); *ptrReal++ = (signalReal + noiseReal); *ptrImag++ = (signalImag + noiseImag); } @@ -2992,14 +2987,13 @@ static void adjustTimeSlotHQ( /* Add noisefloor to the amplified signal */ smoothedNoise = noiseLevel[k]; index &= (SBR_NF_NO_RANDOM_VAL - 1); - noiseReal = fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][0], - smoothedNoise); - noiseImag = fMultDiv2(FDK_sbrDecoder_sbr_randomPhase[index][1], - smoothedNoise); - - /* FDK_sbrDecoder_sbr_randomPhase is downscaled by 2^3 */ - signalReal += noiseReal << 4; - signalImag += noiseImag << 4; + noiseReal = + fMult(FDK_sbrDecoder_sbr_randomPhase[index][0], smoothedNoise); + noiseImag = + fMult(FDK_sbrDecoder_sbr_randomPhase[index][1], smoothedNoise); + + signalReal += noiseReal; + signalImag += noiseImag; } } *ptrReal++ = signalReal; diff --git a/libSBRdec/src/env_extr.cpp b/libSBRdec/src/env_extr.cpp index c72a7b6..5b7a0b1 100644 --- a/libSBRdec/src/env_extr.cpp +++ b/libSBRdec/src/env_extr.cpp @@ -1152,6 +1152,10 @@ static int generateFixFixOnly(FRAME_INFO *hSbrFrameInfo, int tranPosInternal, int nEnv, i, tranIdx; const int *pTable; + if (tranPosInternal >= numberTimeSlots) { + return 0; + } + switch (numberTimeSlots) { case 8: pTable = FDK_sbrDecoder_envelopeTable_8[tranPosInternal]; diff --git a/libSBRdec/src/lpp_tran.cpp b/libSBRdec/src/lpp_tran.cpp index 2ef07eb..6acb626 100644 --- a/libSBRdec/src/lpp_tran.cpp +++ b/libSBRdec/src/lpp_tran.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -446,8 +446,26 @@ void lppTransposer( pSettings->nCols) + lowBandShift); } - dynamicScale = fixMax( - 0, dynamicScale - 1); /* one additional bit headroom to prevent -1.0 */ + + if (dynamicScale == 0) { + /* In this special case the available headroom bits as well as + ovLowBandShift and lowBandShift are zero. The spectrum is limited to + prevent -1.0, so negative values for dynamicScale can be avoided. */ + for (i = 0; i < (LPC_ORDER + pSettings->overlap + pSettings->nCols); + i++) { + lowBandReal[i] = fixMax(lowBandReal[i], (FIXP_DBL)0x80000001); + } + if (!useLP) { + for (i = 0; i < (LPC_ORDER + pSettings->overlap + pSettings->nCols); + i++) { + lowBandImag[i] = fixMax(lowBandImag[i], (FIXP_DBL)0x80000001); + } + } + } else { + dynamicScale = + fixMax(0, dynamicScale - + 1); /* one additional bit headroom to prevent -1.0 */ + } /* Scale temporal QMF buffer. diff --git a/libSBRdec/src/psdec.cpp b/libSBRdec/src/psdec.cpp index b31b310..13a21bf 100644 --- a/libSBRdec/src/psdec.cpp +++ b/libSBRdec/src/psdec.cpp @@ -325,11 +325,11 @@ void initSlotBasedRotation( int env, int usb) { INT group = 0; INT bin = 0; - INT noIidSteps, noFactors; + INT noIidSteps; FIXP_SGL invL; FIXP_DBL ScaleL, ScaleR; - FIXP_DBL Alpha, Beta, AlphasValue; + FIXP_DBL Alpha, Beta; FIXP_DBL h11r, h12r, h21r, h22r; const FIXP_DBL *PScaleFactors; @@ -337,11 +337,9 @@ void initSlotBasedRotation( if (h_ps_d->bsData[h_ps_d->processSlot].mpeg.bFineIidQ) { PScaleFactors = ScaleFactorsFine; /* values are shiftet right by one */ noIidSteps = NO_IID_STEPS_FINE; - noFactors = NO_IID_LEVELS_FINE; } else { PScaleFactors = ScaleFactors; /* values are shiftet right by one */ noIidSteps = NO_IID_STEPS; - noFactors = NO_IID_LEVELS; } /* dequantize and decode */ @@ -360,23 +358,17 @@ void initSlotBasedRotation( /* ScaleR and ScaleL are scaled by 1 shift right */ - ScaleL = ScaleR = 0; - if (noIidSteps + h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] >= 0 && noIidSteps + h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] < noFactors) - ScaleR = PScaleFactors[noIidSteps + h_ps_d->specificTo.mpeg.pCoef - ->aaIidIndexMapped[env][bin]]; - if (noIidSteps - h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] >= 0 && noIidSteps - h_ps_d->specificTo.mpeg.pCoef->aaIidIndexMapped[env][bin] < noFactors) - ScaleL = PScaleFactors[noIidSteps - h_ps_d->specificTo.mpeg.pCoef - ->aaIidIndexMapped[env][bin]]; - - AlphasValue = 0; - if (h_ps_d->specificTo.mpeg.pCoef->aaIccIndexMapped[env][bin] >= 0) - AlphasValue = Alphas[h_ps_d->specificTo.mpeg.pCoef->aaIccIndexMapped[env][bin]]; + ScaleR = PScaleFactors[noIidSteps + h_ps_d->specificTo.mpeg.pCoef + ->aaIidIndexMapped[env][bin]]; + ScaleL = PScaleFactors[noIidSteps - h_ps_d->specificTo.mpeg.pCoef + ->aaIidIndexMapped[env][bin]]; + Beta = fMult( - fMult(AlphasValue, + fMult(Alphas[h_ps_d->specificTo.mpeg.pCoef->aaIccIndexMapped[env][bin]], (ScaleR - ScaleL)), FIXP_SQRT05); Alpha = - AlphasValue >> 1; + Alphas[h_ps_d->specificTo.mpeg.pCoef->aaIccIndexMapped[env][bin]] >> 1; /* Alpha and Beta are now both scaled by 2 shifts right */ diff --git a/libSBRdec/src/sbr_rom.cpp b/libSBRdec/src/sbr_rom.cpp index 8a6688a..4c7e74a 100644 --- a/libSBRdec/src/sbr_rom.cpp +++ b/libSBRdec/src/sbr_rom.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -241,1030 +241,518 @@ const FIXP_SGL FDK_sbrDecoder_sbr_smoothFilter[4] = { random numbers. */ const FIXP_SGL FDK_sbrDecoder_sbr_randomPhase[SBR_NF_NO_RANDOM_VAL][2] = { - {FL2FXCONST_SGL(-0.99948153278296f / 8.0), - FL2FXCONST_SGL(-0.59483417516607f / 8.0)}, - {FL2FXCONST_SGL(0.97113454393991f / 8.0), - FL2FXCONST_SGL(-0.67528515225647f / 8.0)}, - {FL2FXCONST_SGL(0.14130051758487f / 8.0), - FL2FXCONST_SGL(-0.95090983575689f / 8.0)}, - {FL2FXCONST_SGL(-0.47005496701697f / 8.0), - FL2FXCONST_SGL(-0.37340549728647f / 8.0)}, - {FL2FXCONST_SGL(0.80705063769351f / 8.0), - FL2FXCONST_SGL(0.29653668284408f / 8.0)}, - {FL2FXCONST_SGL(-0.38981478896926f / 8.0), - FL2FXCONST_SGL(0.89572605717087f / 8.0)}, - {FL2FXCONST_SGL(-0.01053049862020f / 8.0), - FL2FXCONST_SGL(-0.66959058036166f / 8.0)}, - {FL2FXCONST_SGL(-0.91266367957293f / 8.0), - FL2FXCONST_SGL(-0.11522938140034f / 8.0)}, - {FL2FXCONST_SGL(0.54840422910309f / 8.0), - FL2FXCONST_SGL(0.75221367176302f / 8.0)}, - {FL2FXCONST_SGL(0.40009252867955f / 8.0), - FL2FXCONST_SGL(-0.98929400334421f / 8.0)}, - {FL2FXCONST_SGL(-0.99867974711855f / 8.0), - FL2FXCONST_SGL(-0.88147068645358f / 8.0)}, - {FL2FXCONST_SGL(-0.95531076805040f / 8.0), - FL2FXCONST_SGL(0.90908757154593f / 8.0)}, - {FL2FXCONST_SGL(-0.45725933317144f / 8.0), - FL2FXCONST_SGL(-0.56716323646760f / 8.0)}, - {FL2FXCONST_SGL(-0.72929675029275f / 8.0), - FL2FXCONST_SGL(-0.98008272727324f / 8.0)}, - {FL2FXCONST_SGL(0.75622801399036f / 8.0), - FL2FXCONST_SGL(0.20950329995549f / 8.0)}, - {FL2FXCONST_SGL(0.07069442601050f / 8.0), - FL2FXCONST_SGL(-0.78247898470706f / 8.0)}, - {FL2FXCONST_SGL(0.74496252926055f / 8.0), - FL2FXCONST_SGL(-0.91169004445807f / 8.0)}, - {FL2FXCONST_SGL(-0.96440182703856f / 8.0), - FL2FXCONST_SGL(-0.94739918296622f / 8.0)}, - {FL2FXCONST_SGL(0.30424629369539f / 8.0), - FL2FXCONST_SGL(-0.49438267012479f / 8.0)}, - {FL2FXCONST_SGL(0.66565033746925f / 8.0), - FL2FXCONST_SGL(0.64652935542491f / 8.0)}, - {FL2FXCONST_SGL(0.91697008020594f / 8.0), - FL2FXCONST_SGL(0.17514097332009f / 8.0)}, - {FL2FXCONST_SGL(-0.70774918760427f / 8.0), - FL2FXCONST_SGL(0.52548653416543f / 8.0)}, - {FL2FXCONST_SGL(-0.70051415345560f / 8.0), - FL2FXCONST_SGL(-0.45340028808763f / 8.0)}, - {FL2FXCONST_SGL(-0.99496513054797f / 8.0), - FL2FXCONST_SGL(-0.90071908066973f / 8.0)}, - {FL2FXCONST_SGL(0.98164490790123f / 8.0), - FL2FXCONST_SGL(-0.77463155528697f / 8.0)}, - {FL2FXCONST_SGL(-0.54671580548181f / 8.0), - FL2FXCONST_SGL(-0.02570928536004f / 8.0)}, - {FL2FXCONST_SGL(-0.01689629065389f / 8.0), - FL2FXCONST_SGL(0.00287506445732f / 8.0)}, - {FL2FXCONST_SGL(-0.86110349531986f / 8.0), - FL2FXCONST_SGL(0.42548583726477f / 8.0)}, - {FL2FXCONST_SGL(-0.98892980586032f / 8.0), - FL2FXCONST_SGL(-0.87881132267556f / 8.0)}, - {FL2FXCONST_SGL(0.51756627678691f / 8.0), - FL2FXCONST_SGL(0.66926784710139f / 8.0)}, - {FL2FXCONST_SGL(-0.99635026409640f / 8.0), - FL2FXCONST_SGL(-0.58107730574765f / 8.0)}, - {FL2FXCONST_SGL(-0.99969370862163f / 8.0), - FL2FXCONST_SGL(0.98369989360250f / 8.0)}, - {FL2FXCONST_SGL(0.55266258627194f / 8.0), - FL2FXCONST_SGL(0.59449057465591f / 8.0)}, - {FL2FXCONST_SGL(0.34581177741673f / 8.0), - FL2FXCONST_SGL(0.94879421061866f / 8.0)}, - {FL2FXCONST_SGL(0.62664209577999f / 8.0), - FL2FXCONST_SGL(-0.74402970906471f / 8.0)}, - {FL2FXCONST_SGL(-0.77149701404973f / 8.0), - FL2FXCONST_SGL(-0.33883658042801f / 8.0)}, - {FL2FXCONST_SGL(-0.91592244254432f / 8.0), - FL2FXCONST_SGL(0.03687901376713f / 8.0)}, - {FL2FXCONST_SGL(-0.76285492357887f / 8.0), - FL2FXCONST_SGL(-0.91371867919124f / 8.0)}, - {FL2FXCONST_SGL(0.79788337195331f / 8.0), - FL2FXCONST_SGL(-0.93180971199849f / 8.0)}, - {FL2FXCONST_SGL(0.54473080610200f / 8.0), - FL2FXCONST_SGL(-0.11919206037186f / 8.0)}, - {FL2FXCONST_SGL(-0.85639281671058f / 8.0), - FL2FXCONST_SGL(0.42429854760451f / 8.0)}, - {FL2FXCONST_SGL(-0.92882402971423f / 8.0), - FL2FXCONST_SGL(0.27871809078609f / 8.0)}, - {FL2FXCONST_SGL(-0.11708371046774f / 8.0), - FL2FXCONST_SGL(-0.99800843444966f / 8.0)}, - {FL2FXCONST_SGL(0.21356749817493f / 8.0), - FL2FXCONST_SGL(-0.90716295627033f / 8.0)}, - {FL2FXCONST_SGL(-0.76191692573909f / 8.0), - FL2FXCONST_SGL(0.99768118356265f / 8.0)}, - {FL2FXCONST_SGL(0.98111043100884f / 8.0), - FL2FXCONST_SGL(-0.95854459734407f / 8.0)}, - {FL2FXCONST_SGL(-0.85913269895572f / 8.0), - FL2FXCONST_SGL(0.95766566168880f / 8.0)}, - {FL2FXCONST_SGL(-0.93307242253692f / 8.0), - FL2FXCONST_SGL(0.49431757696466f / 8.0)}, - {FL2FXCONST_SGL(0.30485754879632f / 8.0), - FL2FXCONST_SGL(-0.70540034357529f / 8.0)}, - {FL2FXCONST_SGL(0.85289650925190f / 8.0), - FL2FXCONST_SGL(0.46766131791044f / 8.0)}, - {FL2FXCONST_SGL(0.91328082618125f / 8.0), - FL2FXCONST_SGL(-0.99839597361769f / 8.0)}, - {FL2FXCONST_SGL(-0.05890199924154f / 8.0), - FL2FXCONST_SGL(0.70741827819497f / 8.0)}, - {FL2FXCONST_SGL(0.28398686150148f / 8.0), - FL2FXCONST_SGL(0.34633555702188f / 8.0)}, - {FL2FXCONST_SGL(0.95258164539612f / 8.0), - FL2FXCONST_SGL(-0.54893416026939f / 8.0)}, - {FL2FXCONST_SGL(-0.78566324168507f / 8.0), - FL2FXCONST_SGL(-0.75568541079691f / 8.0)}, - {FL2FXCONST_SGL(-0.95789495447877f / 8.0), - FL2FXCONST_SGL(-0.20423194696966f / 8.0)}, - {FL2FXCONST_SGL(0.82411158711197f / 8.0), - FL2FXCONST_SGL(0.96654618432562f / 8.0)}, - {FL2FXCONST_SGL(-0.65185446735885f / 8.0), - FL2FXCONST_SGL(-0.88734990773289f / 8.0)}, - {FL2FXCONST_SGL(-0.93643603134666f / 8.0), - FL2FXCONST_SGL(0.99870790442385f / 8.0)}, - {FL2FXCONST_SGL(0.91427159529618f / 8.0), - FL2FXCONST_SGL(-0.98290505544444f / 8.0)}, - {FL2FXCONST_SGL(-0.70395684036886f / 8.0), - FL2FXCONST_SGL(0.58796798221039f / 8.0)}, - {FL2FXCONST_SGL(0.00563771969365f / 8.0), - FL2FXCONST_SGL(0.61768196727244f / 8.0)}, - {FL2FXCONST_SGL(0.89065051931895f / 8.0), - FL2FXCONST_SGL(0.52783352697585f / 8.0)}, - {FL2FXCONST_SGL(-0.68683707712762f / 8.0), - FL2FXCONST_SGL(0.80806944710339f / 8.0)}, - {FL2FXCONST_SGL(0.72165342518718f / 8.0), - FL2FXCONST_SGL(-0.69259857349564f / 8.0)}, - {FL2FXCONST_SGL(-0.62928247730667f / 8.0), - FL2FXCONST_SGL(0.13627037407335f / 8.0)}, - {FL2FXCONST_SGL(0.29938434065514f / 8.0), - FL2FXCONST_SGL(-0.46051329682246f / 8.0)}, - {FL2FXCONST_SGL(-0.91781958879280f / 8.0), - FL2FXCONST_SGL(-0.74012716684186f / 8.0)}, - {FL2FXCONST_SGL(0.99298717043688f / 8.0), - FL2FXCONST_SGL(0.40816610075661f / 8.0)}, - {FL2FXCONST_SGL(0.82368298622748f / 8.0), - FL2FXCONST_SGL(-0.74036047190173f / 8.0)}, - {FL2FXCONST_SGL(-0.98512833386833f / 8.0), - FL2FXCONST_SGL(-0.99972330709594f / 8.0)}, - {FL2FXCONST_SGL(-0.95915368242257f / 8.0), - FL2FXCONST_SGL(-0.99237800466040f / 8.0)}, - {FL2FXCONST_SGL(-0.21411126572790f / 8.0), - FL2FXCONST_SGL(-0.93424819052545f / 8.0)}, - {FL2FXCONST_SGL(-0.68821476106884f / 8.0), - FL2FXCONST_SGL(-0.26892306315457f / 8.0)}, - {FL2FXCONST_SGL(0.91851997982317f / 8.0), - FL2FXCONST_SGL(0.09358228901785f / 8.0)}, - {FL2FXCONST_SGL(-0.96062769559127f / 8.0), - FL2FXCONST_SGL(0.36099095133739f / 8.0)}, - {FL2FXCONST_SGL(0.51646184922287f / 8.0), - FL2FXCONST_SGL(-0.71373332873917f / 8.0)}, - {FL2FXCONST_SGL(0.61130721139669f / 8.0), - FL2FXCONST_SGL(0.46950141175917f / 8.0)}, - {FL2FXCONST_SGL(0.47336129371299f / 8.0), - FL2FXCONST_SGL(-0.27333178296162f / 8.0)}, - {FL2FXCONST_SGL(0.90998308703519f / 8.0), - FL2FXCONST_SGL(0.96715662938132f / 8.0)}, - {FL2FXCONST_SGL(0.44844799194357f / 8.0), - FL2FXCONST_SGL(0.99211574628306f / 8.0)}, - {FL2FXCONST_SGL(0.66614891079092f / 8.0), - FL2FXCONST_SGL(0.96590176169121f / 8.0)}, - {FL2FXCONST_SGL(0.74922239129237f / 8.0), - FL2FXCONST_SGL(-0.89879858826087f / 8.0)}, - {FL2FXCONST_SGL(-0.99571588506485f / 8.0), - FL2FXCONST_SGL(0.52785521494349f / 8.0)}, - {FL2FXCONST_SGL(0.97401082477563f / 8.0), - FL2FXCONST_SGL(-0.16855870075190f / 8.0)}, - {FL2FXCONST_SGL(0.72683747733879f / 8.0), - FL2FXCONST_SGL(-0.48060774432251f / 8.0)}, - {FL2FXCONST_SGL(0.95432193457128f / 8.0), - FL2FXCONST_SGL(0.68849603408441f / 8.0)}, - {FL2FXCONST_SGL(-0.72962208425191f / 8.0), - FL2FXCONST_SGL(-0.76608443420917f / 8.0)}, - {FL2FXCONST_SGL(-0.85359479233537f / 8.0), - FL2FXCONST_SGL(0.88738125901579f / 8.0)}, - {FL2FXCONST_SGL(-0.81412430338535f / 8.0), - FL2FXCONST_SGL(-0.97480768049637f / 8.0)}, - {FL2FXCONST_SGL(-0.87930772356786f / 8.0), - FL2FXCONST_SGL(0.74748307690436f / 8.0)}, - {FL2FXCONST_SGL(-0.71573331064977f / 8.0), - FL2FXCONST_SGL(-0.98570608178923f / 8.0)}, - {FL2FXCONST_SGL(0.83524300028228f / 8.0), - FL2FXCONST_SGL(0.83702537075163f / 8.0)}, - {FL2FXCONST_SGL(-0.48086065601423f / 8.0), - FL2FXCONST_SGL(-0.98848504923531f / 8.0)}, - {FL2FXCONST_SGL(0.97139128574778f / 8.0), - FL2FXCONST_SGL(0.80093621198236f / 8.0)}, - {FL2FXCONST_SGL(0.51992825347895f / 8.0), - FL2FXCONST_SGL(0.80247631400510f / 8.0)}, - {FL2FXCONST_SGL(-0.00848591195325f / 8.0), - FL2FXCONST_SGL(-0.76670128000486f / 8.0)}, - {FL2FXCONST_SGL(-0.70294374303036f / 8.0), - FL2FXCONST_SGL(0.55359910445577f / 8.0)}, - {FL2FXCONST_SGL(-0.95894428168140f / 8.0), - FL2FXCONST_SGL(-0.43265504344783f / 8.0)}, - {FL2FXCONST_SGL(0.97079252950321f / 8.0), - FL2FXCONST_SGL(0.09325857238682f / 8.0)}, - {FL2FXCONST_SGL(-0.92404293670797f / 8.0), - FL2FXCONST_SGL(0.85507704027855f / 8.0)}, - {FL2FXCONST_SGL(-0.69506469500450f / 8.0), - FL2FXCONST_SGL(0.98633412625459f / 8.0)}, - {FL2FXCONST_SGL(0.26559203620024f / 8.0), - FL2FXCONST_SGL(0.73314307966524f / 8.0)}, - {FL2FXCONST_SGL(0.28038443336943f / 8.0), - FL2FXCONST_SGL(0.14537913654427f / 8.0)}, - {FL2FXCONST_SGL(-0.74138124825523f / 8.0), - FL2FXCONST_SGL(0.99310339807762f / 8.0)}, - {FL2FXCONST_SGL(-0.01752795995444f / 8.0), - FL2FXCONST_SGL(-0.82616635284178f / 8.0)}, - {FL2FXCONST_SGL(-0.55126773094930f / 8.0), - FL2FXCONST_SGL(-0.98898543862153f / 8.0)}, - {FL2FXCONST_SGL(0.97960898850996f / 8.0), - FL2FXCONST_SGL(-0.94021446752851f / 8.0)}, - {FL2FXCONST_SGL(-0.99196309146936f / 8.0), - FL2FXCONST_SGL(0.67019017358456f / 8.0)}, - {FL2FXCONST_SGL(-0.67684928085260f / 8.0), - FL2FXCONST_SGL(0.12631491649378f / 8.0)}, - {FL2FXCONST_SGL(0.09140039465500f / 8.0), - FL2FXCONST_SGL(-0.20537731453108f / 8.0)}, - {FL2FXCONST_SGL(-0.71658965751996f / 8.0), - FL2FXCONST_SGL(-0.97788200391224f / 8.0)}, - {FL2FXCONST_SGL(0.81014640078925f / 8.0), - FL2FXCONST_SGL(0.53722648362443f / 8.0)}, - {FL2FXCONST_SGL(0.40616991671205f / 8.0), - FL2FXCONST_SGL(-0.26469008598449f / 8.0)}, - {FL2FXCONST_SGL(-0.67680188682972f / 8.0), - FL2FXCONST_SGL(0.94502052337695f / 8.0)}, - {FL2FXCONST_SGL(0.86849774348749f / 8.0), - FL2FXCONST_SGL(-0.18333598647899f / 8.0)}, - {FL2FXCONST_SGL(-0.99500381284851f / 8.0), - FL2FXCONST_SGL(-0.02634122068550f / 8.0)}, - {FL2FXCONST_SGL(0.84329189340667f / 8.0), - FL2FXCONST_SGL(0.10406957462213f / 8.0)}, - {FL2FXCONST_SGL(-0.09215968531446f / 8.0), - FL2FXCONST_SGL(0.69540012101253f / 8.0)}, - {FL2FXCONST_SGL(0.99956173327206f / 8.0), - FL2FXCONST_SGL(-0.12358542001404f / 8.0)}, - {FL2FXCONST_SGL(-0.79732779473535f / 8.0), - FL2FXCONST_SGL(-0.91582524736159f / 8.0)}, - {FL2FXCONST_SGL(0.96349973642406f / 8.0), - FL2FXCONST_SGL(0.96640458041000f / 8.0)}, - {FL2FXCONST_SGL(-0.79942778496547f / 8.0), - FL2FXCONST_SGL(0.64323902822857f / 8.0)}, - {FL2FXCONST_SGL(-0.11566039853896f / 8.0), - FL2FXCONST_SGL(0.28587846253726f / 8.0)}, - {FL2FXCONST_SGL(-0.39922954514662f / 8.0), - FL2FXCONST_SGL(0.94129601616966f / 8.0)}, - {FL2FXCONST_SGL(0.99089197565987f / 8.0), - FL2FXCONST_SGL(-0.92062625581587f / 8.0)}, - {FL2FXCONST_SGL(0.28631285179909f / 8.0), - FL2FXCONST_SGL(-0.91035047143603f / 8.0)}, - {FL2FXCONST_SGL(-0.83302725605608f / 8.0), - FL2FXCONST_SGL(-0.67330410892084f / 8.0)}, - {FL2FXCONST_SGL(0.95404443402072f / 8.0), - FL2FXCONST_SGL(0.49162765398743f / 8.0)}, - {FL2FXCONST_SGL(-0.06449863579434f / 8.0), - FL2FXCONST_SGL(0.03250560813135f / 8.0)}, - {FL2FXCONST_SGL(-0.99575054486311f / 8.0), - FL2FXCONST_SGL(0.42389784469507f / 8.0)}, - {FL2FXCONST_SGL(-0.65501142790847f / 8.0), - FL2FXCONST_SGL(0.82546114655624f / 8.0)}, - {FL2FXCONST_SGL(-0.81254441908887f / 8.0), - FL2FXCONST_SGL(-0.51627234660629f / 8.0)}, - {FL2FXCONST_SGL(-0.99646369485481f / 8.0), - FL2FXCONST_SGL(0.84490533520752f / 8.0)}, - {FL2FXCONST_SGL(0.00287840603348f / 8.0), - FL2FXCONST_SGL(0.64768261158166f / 8.0)}, - {FL2FXCONST_SGL(0.70176989408455f / 8.0), - FL2FXCONST_SGL(-0.20453028573322f / 8.0)}, - {FL2FXCONST_SGL(0.96361882270190f / 8.0), - FL2FXCONST_SGL(0.40706967140989f / 8.0)}, - {FL2FXCONST_SGL(-0.68883758192426f / 8.0), - FL2FXCONST_SGL(0.91338958840772f / 8.0)}, - {FL2FXCONST_SGL(-0.34875585502238f / 8.0), - FL2FXCONST_SGL(0.71472290693300f / 8.0)}, - {FL2FXCONST_SGL(0.91980081243087f / 8.0), - FL2FXCONST_SGL(0.66507455644919f / 8.0)}, - {FL2FXCONST_SGL(-0.99009048343881f / 8.0), - FL2FXCONST_SGL(0.85868021604848f / 8.0)}, - {FL2FXCONST_SGL(0.68865791458395f / 8.0), - FL2FXCONST_SGL(0.55660316809678f / 8.0)}, - {FL2FXCONST_SGL(-0.99484402129368f / 8.0), - FL2FXCONST_SGL(-0.20052559254934f / 8.0)}, - {FL2FXCONST_SGL(0.94214511408023f / 8.0), - FL2FXCONST_SGL(-0.99696425367461f / 8.0)}, - {FL2FXCONST_SGL(-0.67414626793544f / 8.0), - FL2FXCONST_SGL(0.49548221180078f / 8.0)}, - {FL2FXCONST_SGL(-0.47339353684664f / 8.0), - FL2FXCONST_SGL(-0.85904328834047f / 8.0)}, - {FL2FXCONST_SGL(0.14323651387360f / 8.0), - FL2FXCONST_SGL(-0.94145598222488f / 8.0)}, - {FL2FXCONST_SGL(-0.29268293575672f / 8.0), - FL2FXCONST_SGL(0.05759224927952f / 8.0)}, - {FL2FXCONST_SGL(0.43793861458754f / 8.0), - FL2FXCONST_SGL(-0.78904969892724f / 8.0)}, - {FL2FXCONST_SGL(-0.36345126374441f / 8.0), - FL2FXCONST_SGL(0.64874435357162f / 8.0)}, - {FL2FXCONST_SGL(-0.08750604656825f / 8.0), - FL2FXCONST_SGL(0.97686944362527f / 8.0)}, - {FL2FXCONST_SGL(-0.96495267812511f / 8.0), - FL2FXCONST_SGL(-0.53960305946511f / 8.0)}, - {FL2FXCONST_SGL(0.55526940659947f / 8.0), - FL2FXCONST_SGL(0.78891523734774f / 8.0)}, - {FL2FXCONST_SGL(0.73538215752630f / 8.0), - FL2FXCONST_SGL(0.96452072373404f / 8.0)}, - {FL2FXCONST_SGL(-0.30889773919437f / 8.0), - FL2FXCONST_SGL(-0.80664389776860f / 8.0)}, - {FL2FXCONST_SGL(0.03574995626194f / 8.0), - FL2FXCONST_SGL(-0.97325616900959f / 8.0)}, - {FL2FXCONST_SGL(0.98720684660488f / 8.0), - FL2FXCONST_SGL(0.48409133691962f / 8.0)}, - {FL2FXCONST_SGL(-0.81689296271203f / 8.0), - FL2FXCONST_SGL(-0.90827703628298f / 8.0)}, - {FL2FXCONST_SGL(0.67866860118215f / 8.0), - FL2FXCONST_SGL(0.81284503870856f / 8.0)}, - {FL2FXCONST_SGL(-0.15808569732583f / 8.0), - FL2FXCONST_SGL(0.85279555024382f / 8.0)}, - {FL2FXCONST_SGL(0.80723395114371f / 8.0), - FL2FXCONST_SGL(-0.24717418514605f / 8.0)}, - {FL2FXCONST_SGL(0.47788757329038f / 8.0), - FL2FXCONST_SGL(-0.46333147839295f / 8.0)}, - {FL2FXCONST_SGL(0.96367554763201f / 8.0), - FL2FXCONST_SGL(0.38486749303242f / 8.0)}, - {FL2FXCONST_SGL(-0.99143875716818f / 8.0), - FL2FXCONST_SGL(-0.24945277239809f / 8.0)}, - {FL2FXCONST_SGL(0.83081876925833f / 8.0), - FL2FXCONST_SGL(-0.94780851414763f / 8.0)}, - {FL2FXCONST_SGL(-0.58753191905341f / 8.0), - FL2FXCONST_SGL(0.01290772389163f / 8.0)}, - {FL2FXCONST_SGL(0.95538108220960f / 8.0), - FL2FXCONST_SGL(-0.85557052096538f / 8.0)}, - {FL2FXCONST_SGL(-0.96490920476211f / 8.0), - FL2FXCONST_SGL(-0.64020970923102f / 8.0)}, - {FL2FXCONST_SGL(-0.97327101028521f / 8.0), - FL2FXCONST_SGL(0.12378128133110f / 8.0)}, - {FL2FXCONST_SGL(0.91400366022124f / 8.0), - FL2FXCONST_SGL(0.57972471346930f / 8.0)}, - {FL2FXCONST_SGL(-0.99925837363824f / 8.0), - FL2FXCONST_SGL(0.71084847864067f / 8.0)}, - {FL2FXCONST_SGL(-0.86875903507313f / 8.0), - FL2FXCONST_SGL(-0.20291699203564f / 8.0)}, - {FL2FXCONST_SGL(-0.26240034795124f / 8.0), - FL2FXCONST_SGL(-0.68264554369108f / 8.0)}, - {FL2FXCONST_SGL(-0.24664412953388f / 8.0), - FL2FXCONST_SGL(-0.87642273115183f / 8.0)}, - {FL2FXCONST_SGL(0.02416275806869f / 8.0), - FL2FXCONST_SGL(0.27192914288905f / 8.0)}, - {FL2FXCONST_SGL(0.82068619590515f / 8.0), - FL2FXCONST_SGL(-0.85087787994476f / 8.0)}, - {FL2FXCONST_SGL(0.88547373760759f / 8.0), - FL2FXCONST_SGL(-0.89636802901469f / 8.0)}, - {FL2FXCONST_SGL(-0.18173078152226f / 8.0), - FL2FXCONST_SGL(-0.26152145156800f / 8.0)}, - {FL2FXCONST_SGL(0.09355476558534f / 8.0), - FL2FXCONST_SGL(0.54845123045604f / 8.0)}, - {FL2FXCONST_SGL(-0.54668414224090f / 8.0), - FL2FXCONST_SGL(0.95980774020221f / 8.0)}, - {FL2FXCONST_SGL(0.37050990604091f / 8.0), - FL2FXCONST_SGL(-0.59910140383171f / 8.0)}, - {FL2FXCONST_SGL(-0.70373594262891f / 8.0), - FL2FXCONST_SGL(0.91227665827081f / 8.0)}, - {FL2FXCONST_SGL(-0.34600785879594f / 8.0), - FL2FXCONST_SGL(-0.99441426144200f / 8.0)}, - {FL2FXCONST_SGL(-0.68774481731008f / 8.0), - FL2FXCONST_SGL(-0.30238837956299f / 8.0)}, - {FL2FXCONST_SGL(-0.26843291251234f / 8.0), - FL2FXCONST_SGL(0.83115668004362f / 8.0)}, - {FL2FXCONST_SGL(0.49072334613242f / 8.0), - FL2FXCONST_SGL(-0.45359708737775f / 8.0)}, - {FL2FXCONST_SGL(0.38975993093975f / 8.0), - FL2FXCONST_SGL(0.95515358099121f / 8.0)}, - {FL2FXCONST_SGL(-0.97757125224150f / 8.0), - FL2FXCONST_SGL(0.05305894580606f / 8.0)}, - {FL2FXCONST_SGL(-0.17325552859616f / 8.0), - FL2FXCONST_SGL(-0.92770672250494f / 8.0)}, - {FL2FXCONST_SGL(0.99948035025744f / 8.0), - FL2FXCONST_SGL(0.58285545563426f / 8.0)}, - {FL2FXCONST_SGL(-0.64946246527458f / 8.0), - FL2FXCONST_SGL(0.68645507104960f / 8.0)}, - {FL2FXCONST_SGL(-0.12016920576437f / 8.0), - FL2FXCONST_SGL(-0.57147322153312f / 8.0)}, - {FL2FXCONST_SGL(-0.58947456517751f / 8.0), - FL2FXCONST_SGL(-0.34847132454388f / 8.0)}, - {FL2FXCONST_SGL(-0.41815140454465f / 8.0), - FL2FXCONST_SGL(0.16276422358861f / 8.0)}, - {FL2FXCONST_SGL(0.99885650204884f / 8.0), - FL2FXCONST_SGL(0.11136095490444f / 8.0)}, - {FL2FXCONST_SGL(-0.56649614128386f / 8.0), - FL2FXCONST_SGL(-0.90494866361587f / 8.0)}, - {FL2FXCONST_SGL(0.94138021032330f / 8.0), - FL2FXCONST_SGL(0.35281916733018f / 8.0)}, - {FL2FXCONST_SGL(-0.75725076534641f / 8.0), - FL2FXCONST_SGL(0.53650549640587f / 8.0)}, - {FL2FXCONST_SGL(0.20541973692630f / 8.0), - FL2FXCONST_SGL(-0.94435144369918f / 8.0)}, - {FL2FXCONST_SGL(0.99980371023351f / 8.0), - FL2FXCONST_SGL(0.79835913565599f / 8.0)}, - {FL2FXCONST_SGL(0.29078277605775f / 8.0), - FL2FXCONST_SGL(0.35393777921520f / 8.0)}, - {FL2FXCONST_SGL(-0.62858772103030f / 8.0), - FL2FXCONST_SGL(0.38765693387102f / 8.0)}, - {FL2FXCONST_SGL(0.43440904467688f / 8.0), - FL2FXCONST_SGL(-0.98546330463232f / 8.0)}, - {FL2FXCONST_SGL(-0.98298583762390f / 8.0), - FL2FXCONST_SGL(0.21021524625209f / 8.0)}, - {FL2FXCONST_SGL(0.19513029146934f / 8.0), - FL2FXCONST_SGL(-0.94239832251867f / 8.0)}, - {FL2FXCONST_SGL(-0.95476662400101f / 8.0), - FL2FXCONST_SGL(0.98364554179143f / 8.0)}, - {FL2FXCONST_SGL(0.93379635304810f / 8.0), - FL2FXCONST_SGL(-0.70881994583682f / 8.0)}, - {FL2FXCONST_SGL(-0.85235410573336f / 8.0), - FL2FXCONST_SGL(-0.08342347966410f / 8.0)}, - {FL2FXCONST_SGL(-0.86425093011245f / 8.0), - FL2FXCONST_SGL(-0.45795025029466f / 8.0)}, - {FL2FXCONST_SGL(0.38879779059045f / 8.0), - FL2FXCONST_SGL(0.97274429344593f / 8.0)}, - {FL2FXCONST_SGL(0.92045124735495f / 8.0), - FL2FXCONST_SGL(-0.62433652524220f / 8.0)}, - {FL2FXCONST_SGL(0.89162532251878f / 8.0), - FL2FXCONST_SGL(0.54950955570563f / 8.0)}, - {FL2FXCONST_SGL(-0.36834336949252f / 8.0), - FL2FXCONST_SGL(0.96458298020975f / 8.0)}, - {FL2FXCONST_SGL(0.93891760988045f / 8.0), - FL2FXCONST_SGL(-0.89968353740388f / 8.0)}, - {FL2FXCONST_SGL(0.99267657565094f / 8.0), - FL2FXCONST_SGL(-0.03757034316958f / 8.0)}, - {FL2FXCONST_SGL(-0.94063471614176f / 8.0), - FL2FXCONST_SGL(0.41332338538963f / 8.0)}, - {FL2FXCONST_SGL(0.99740224117019f / 8.0), - FL2FXCONST_SGL(-0.16830494996370f / 8.0)}, - {FL2FXCONST_SGL(-0.35899413170555f / 8.0), - FL2FXCONST_SGL(-0.46633226649613f / 8.0)}, - {FL2FXCONST_SGL(0.05237237274947f / 8.0), - FL2FXCONST_SGL(-0.25640361602661f / 8.0)}, - {FL2FXCONST_SGL(0.36703583957424f / 8.0), - FL2FXCONST_SGL(-0.38653265641875f / 8.0)}, - {FL2FXCONST_SGL(0.91653180367913f / 8.0), - FL2FXCONST_SGL(-0.30587628726597f / 8.0)}, - {FL2FXCONST_SGL(0.69000803499316f / 8.0), - FL2FXCONST_SGL(0.90952171386132f / 8.0)}, - {FL2FXCONST_SGL(-0.38658751133527f / 8.0), - FL2FXCONST_SGL(0.99501571208985f / 8.0)}, - {FL2FXCONST_SGL(-0.29250814029851f / 8.0), - FL2FXCONST_SGL(0.37444994344615f / 8.0)}, - {FL2FXCONST_SGL(-0.60182204677608f / 8.0), - FL2FXCONST_SGL(0.86779651036123f / 8.0)}, - {FL2FXCONST_SGL(-0.97418588163217f / 8.0), - FL2FXCONST_SGL(0.96468523666475f / 8.0)}, - {FL2FXCONST_SGL(0.88461574003963f / 8.0), - FL2FXCONST_SGL(0.57508405276414f / 8.0)}, - {FL2FXCONST_SGL(0.05198933055162f / 8.0), - FL2FXCONST_SGL(0.21269661669964f / 8.0)}, - {FL2FXCONST_SGL(-0.53499621979720f / 8.0), - FL2FXCONST_SGL(0.97241553731237f / 8.0)}, - {FL2FXCONST_SGL(-0.49429560226497f / 8.0), - FL2FXCONST_SGL(0.98183865291903f / 8.0)}, - {FL2FXCONST_SGL(-0.98935142339139f / 8.0), - FL2FXCONST_SGL(-0.40249159006933f / 8.0)}, - {FL2FXCONST_SGL(-0.98081380091130f / 8.0), - FL2FXCONST_SGL(-0.72856895534041f / 8.0)}, - {FL2FXCONST_SGL(-0.27338148835532f / 8.0), - FL2FXCONST_SGL(0.99950922447209f / 8.0)}, - {FL2FXCONST_SGL(0.06310802338302f / 8.0), - FL2FXCONST_SGL(-0.54539587529618f / 8.0)}, - {FL2FXCONST_SGL(-0.20461677199539f / 8.0), - FL2FXCONST_SGL(-0.14209977628489f / 8.0)}, - {FL2FXCONST_SGL(0.66223843141647f / 8.0), - FL2FXCONST_SGL(0.72528579940326f / 8.0)}, - {FL2FXCONST_SGL(-0.84764345483665f / 8.0), - FL2FXCONST_SGL(0.02372316801261f / 8.0)}, - {FL2FXCONST_SGL(-0.89039863483811f / 8.0), - FL2FXCONST_SGL(0.88866581484602f / 8.0)}, - {FL2FXCONST_SGL(0.95903308477986f / 8.0), - FL2FXCONST_SGL(0.76744927173873f / 8.0)}, - {FL2FXCONST_SGL(0.73504123909879f / 8.0), - FL2FXCONST_SGL(-0.03747203173192f / 8.0)}, - {FL2FXCONST_SGL(-0.31744434966056f / 8.0), - FL2FXCONST_SGL(-0.36834111883652f / 8.0)}, - {FL2FXCONST_SGL(-0.34110827591623f / 8.0), - FL2FXCONST_SGL(0.40211222807691f / 8.0)}, - {FL2FXCONST_SGL(0.47803883714199f / 8.0), - FL2FXCONST_SGL(-0.39423219786288f / 8.0)}, - {FL2FXCONST_SGL(0.98299195879514f / 8.0), - FL2FXCONST_SGL(0.01989791390047f / 8.0)}, - {FL2FXCONST_SGL(-0.30963073129751f / 8.0), - FL2FXCONST_SGL(-0.18076720599336f / 8.0)}, - {FL2FXCONST_SGL(0.99992588229018f / 8.0), - FL2FXCONST_SGL(-0.26281872094289f / 8.0)}, - {FL2FXCONST_SGL(-0.93149731080767f / 8.0), - FL2FXCONST_SGL(-0.98313162570490f / 8.0)}, - {FL2FXCONST_SGL(0.99923472302773f / 8.0), - FL2FXCONST_SGL(-0.80142993767554f / 8.0)}, - {FL2FXCONST_SGL(-0.26024169633417f / 8.0), - FL2FXCONST_SGL(-0.75999759855752f / 8.0)}, - {FL2FXCONST_SGL(-0.35712514743563f / 8.0), - FL2FXCONST_SGL(0.19298963768574f / 8.0)}, - {FL2FXCONST_SGL(-0.99899084509530f / 8.0), - FL2FXCONST_SGL(0.74645156992493f / 8.0)}, - {FL2FXCONST_SGL(0.86557171579452f / 8.0), - FL2FXCONST_SGL(0.55593866696299f / 8.0)}, - {FL2FXCONST_SGL(0.33408042438752f / 8.0), - FL2FXCONST_SGL(0.86185953874709f / 8.0)}, - {FL2FXCONST_SGL(0.99010736374716f / 8.0), - FL2FXCONST_SGL(0.04602397576623f / 8.0)}, - {FL2FXCONST_SGL(-0.66694269691195f / 8.0), - FL2FXCONST_SGL(-0.91643611810148f / 8.0)}, - {FL2FXCONST_SGL(0.64016792079480f / 8.0), - FL2FXCONST_SGL(0.15649530836856f / 8.0)}, - {FL2FXCONST_SGL(0.99570534804836f / 8.0), - FL2FXCONST_SGL(0.45844586038111f / 8.0)}, - {FL2FXCONST_SGL(-0.63431466947340f / 8.0), - FL2FXCONST_SGL(0.21079116459234f / 8.0)}, - {FL2FXCONST_SGL(-0.07706847005931f / 8.0), - FL2FXCONST_SGL(-0.89581437101329f / 8.0)}, - {FL2FXCONST_SGL(0.98590090577724f / 8.0), - FL2FXCONST_SGL(0.88241721133981f / 8.0)}, - {FL2FXCONST_SGL(0.80099335254678f / 8.0), - FL2FXCONST_SGL(-0.36851896710853f / 8.0)}, - {FL2FXCONST_SGL(0.78368131392666f / 8.0), - FL2FXCONST_SGL(0.45506999802597f / 8.0)}, - {FL2FXCONST_SGL(0.08707806671691f / 8.0), - FL2FXCONST_SGL(0.80938994918745f / 8.0)}, - {FL2FXCONST_SGL(-0.86811883080712f / 8.0), - FL2FXCONST_SGL(0.39347308654705f / 8.0)}, - {FL2FXCONST_SGL(-0.39466529740375f / 8.0), - FL2FXCONST_SGL(-0.66809432114456f / 8.0)}, - {FL2FXCONST_SGL(0.97875325649683f / 8.0), - FL2FXCONST_SGL(-0.72467840967746f / 8.0)}, - {FL2FXCONST_SGL(-0.95038560288864f / 8.0), - FL2FXCONST_SGL(0.89563219587625f / 8.0)}, - {FL2FXCONST_SGL(0.17005239424212f / 8.0), - FL2FXCONST_SGL(0.54683053962658f / 8.0)}, - {FL2FXCONST_SGL(-0.76910792026848f / 8.0), - FL2FXCONST_SGL(-0.96226617549298f / 8.0)}, - {FL2FXCONST_SGL(0.99743281016846f / 8.0), - FL2FXCONST_SGL(0.42697157037567f / 8.0)}, - {FL2FXCONST_SGL(0.95437383549973f / 8.0), - FL2FXCONST_SGL(0.97002324109952f / 8.0)}, - {FL2FXCONST_SGL(0.99578905365569f / 8.0), - FL2FXCONST_SGL(-0.54106826257356f / 8.0)}, - {FL2FXCONST_SGL(0.28058259829990f / 8.0), - FL2FXCONST_SGL(-0.85361420634036f / 8.0)}, - {FL2FXCONST_SGL(0.85256524470573f / 8.0), - FL2FXCONST_SGL(-0.64567607735589f / 8.0)}, - {FL2FXCONST_SGL(-0.50608540105128f / 8.0), - FL2FXCONST_SGL(-0.65846015480300f / 8.0)}, - {FL2FXCONST_SGL(-0.97210735183243f / 8.0), - FL2FXCONST_SGL(-0.23095213067791f / 8.0)}, - {FL2FXCONST_SGL(0.95424048234441f / 8.0), - FL2FXCONST_SGL(-0.99240147091219f / 8.0)}, - {FL2FXCONST_SGL(-0.96926570524023f / 8.0), - FL2FXCONST_SGL(0.73775654896574f / 8.0)}, - {FL2FXCONST_SGL(0.30872163214726f / 8.0), - FL2FXCONST_SGL(0.41514960556126f / 8.0)}, - {FL2FXCONST_SGL(-0.24523839572639f / 8.0), - FL2FXCONST_SGL(0.63206633394807f / 8.0)}, - {FL2FXCONST_SGL(-0.33813265086024f / 8.0), - FL2FXCONST_SGL(-0.38661779441897f / 8.0)}, - {FL2FXCONST_SGL(-0.05826828420146f / 8.0), - FL2FXCONST_SGL(-0.06940774188029f / 8.0)}, - {FL2FXCONST_SGL(-0.22898461455054f / 8.0), - FL2FXCONST_SGL(0.97054853316316f / 8.0)}, - {FL2FXCONST_SGL(-0.18509915019881f / 8.0), - FL2FXCONST_SGL(0.47565762892084f / 8.0)}, - {FL2FXCONST_SGL(-0.10488238045009f / 8.0), - FL2FXCONST_SGL(-0.87769947402394f / 8.0)}, - {FL2FXCONST_SGL(-0.71886586182037f / 8.0), - FL2FXCONST_SGL(0.78030982480538f / 8.0)}, - {FL2FXCONST_SGL(0.99793873738654f / 8.0), - FL2FXCONST_SGL(0.90041310491497f / 8.0)}, - {FL2FXCONST_SGL(0.57563307626120f / 8.0), - FL2FXCONST_SGL(-0.91034337352097f / 8.0)}, - {FL2FXCONST_SGL(0.28909646383717f / 8.0), - FL2FXCONST_SGL(0.96307783970534f / 8.0)}, - {FL2FXCONST_SGL(0.42188998312520f / 8.0), - FL2FXCONST_SGL(0.48148651230437f / 8.0)}, - {FL2FXCONST_SGL(0.93335049681047f / 8.0), - FL2FXCONST_SGL(-0.43537023883588f / 8.0)}, - {FL2FXCONST_SGL(-0.97087374418267f / 8.0), - FL2FXCONST_SGL(0.86636445711364f / 8.0)}, - {FL2FXCONST_SGL(0.36722871286923f / 8.0), - FL2FXCONST_SGL(0.65291654172961f / 8.0)}, - {FL2FXCONST_SGL(-0.81093025665696f / 8.0), - FL2FXCONST_SGL(0.08778370229363f / 8.0)}, - {FL2FXCONST_SGL(-0.26240603062237f / 8.0), - FL2FXCONST_SGL(-0.92774095379098f / 8.0)}, - {FL2FXCONST_SGL(0.83996497984604f / 8.0), - FL2FXCONST_SGL(0.55839849139647f / 8.0)}, - {FL2FXCONST_SGL(-0.99909615720225f / 8.0), - FL2FXCONST_SGL(-0.96024605713970f / 8.0)}, - {FL2FXCONST_SGL(0.74649464155061f / 8.0), - FL2FXCONST_SGL(0.12144893606462f / 8.0)}, - {FL2FXCONST_SGL(-0.74774595569805f / 8.0), - FL2FXCONST_SGL(-0.26898062008959f / 8.0)}, - {FL2FXCONST_SGL(0.95781667469567f / 8.0), - FL2FXCONST_SGL(-0.79047927052628f / 8.0)}, - {FL2FXCONST_SGL(0.95472308713099f / 8.0), - FL2FXCONST_SGL(-0.08588776019550f / 8.0)}, - {FL2FXCONST_SGL(0.48708332746299f / 8.0), - FL2FXCONST_SGL(0.99999041579432f / 8.0)}, - {FL2FXCONST_SGL(0.46332038247497f / 8.0), - FL2FXCONST_SGL(0.10964126185063f / 8.0)}, - {FL2FXCONST_SGL(-0.76497004940162f / 8.0), - FL2FXCONST_SGL(0.89210929242238f / 8.0)}, - {FL2FXCONST_SGL(0.57397389364339f / 8.0), - FL2FXCONST_SGL(0.35289703373760f / 8.0)}, - {FL2FXCONST_SGL(0.75374316974495f / 8.0), - FL2FXCONST_SGL(0.96705214651335f / 8.0)}, - {FL2FXCONST_SGL(-0.59174397685714f / 8.0), - FL2FXCONST_SGL(-0.89405370422752f / 8.0)}, - {FL2FXCONST_SGL(0.75087906691890f / 8.0), - FL2FXCONST_SGL(-0.29612672982396f / 8.0)}, - {FL2FXCONST_SGL(-0.98607857336230f / 8.0), - FL2FXCONST_SGL(0.25034911730023f / 8.0)}, - {FL2FXCONST_SGL(-0.40761056640505f / 8.0), - FL2FXCONST_SGL(-0.90045573444695f / 8.0)}, - {FL2FXCONST_SGL(0.66929266740477f / 8.0), - FL2FXCONST_SGL(0.98629493401748f / 8.0)}, - {FL2FXCONST_SGL(-0.97463695257310f / 8.0), - FL2FXCONST_SGL(-0.00190223301301f / 8.0)}, - {FL2FXCONST_SGL(0.90145509409859f / 8.0), - FL2FXCONST_SGL(0.99781390365446f / 8.0)}, - {FL2FXCONST_SGL(-0.87259289048043f / 8.0), - FL2FXCONST_SGL(0.99233587353666f / 8.0)}, - {FL2FXCONST_SGL(-0.91529461447692f / 8.0), - FL2FXCONST_SGL(-0.15698707534206f / 8.0)}, - {FL2FXCONST_SGL(-0.03305738840705f / 8.0), - FL2FXCONST_SGL(-0.37205262859764f / 8.0)}, - {FL2FXCONST_SGL(0.07223051368337f / 8.0), - FL2FXCONST_SGL(-0.88805001733626f / 8.0)}, - {FL2FXCONST_SGL(0.99498012188353f / 8.0), - FL2FXCONST_SGL(0.97094358113387f / 8.0)}, - {FL2FXCONST_SGL(-0.74904939500519f / 8.0), - FL2FXCONST_SGL(0.99985483641521f / 8.0)}, - {FL2FXCONST_SGL(0.04585228574211f / 8.0), - FL2FXCONST_SGL(0.99812337444082f / 8.0)}, - {FL2FXCONST_SGL(-0.89054954257993f / 8.0), - FL2FXCONST_SGL(-0.31791913188064f / 8.0)}, - {FL2FXCONST_SGL(-0.83782144651251f / 8.0), - FL2FXCONST_SGL(0.97637632547466f / 8.0)}, - {FL2FXCONST_SGL(0.33454804933804f / 8.0), - FL2FXCONST_SGL(-0.86231516800408f / 8.0)}, - {FL2FXCONST_SGL(-0.99707579362824f / 8.0), - FL2FXCONST_SGL(0.93237990079441f / 8.0)}, - {FL2FXCONST_SGL(-0.22827527843994f / 8.0), - FL2FXCONST_SGL(0.18874759397997f / 8.0)}, - {FL2FXCONST_SGL(0.67248046289143f / 8.0), - FL2FXCONST_SGL(-0.03646211390569f / 8.0)}, - {FL2FXCONST_SGL(-0.05146538187944f / 8.0), - FL2FXCONST_SGL(-0.92599700120679f / 8.0)}, - {FL2FXCONST_SGL(0.99947295749905f / 8.0), - FL2FXCONST_SGL(0.93625229707912f / 8.0)}, - {FL2FXCONST_SGL(0.66951124390363f / 8.0), - FL2FXCONST_SGL(0.98905825623893f / 8.0)}, - {FL2FXCONST_SGL(-0.99602956559179f / 8.0), - FL2FXCONST_SGL(-0.44654715757688f / 8.0)}, - {FL2FXCONST_SGL(0.82104905483590f / 8.0), - FL2FXCONST_SGL(0.99540741724928f / 8.0)}, - {FL2FXCONST_SGL(0.99186510988782f / 8.0), - FL2FXCONST_SGL(0.72023001312947f / 8.0)}, - {FL2FXCONST_SGL(-0.65284592392918f / 8.0), - FL2FXCONST_SGL(0.52186723253637f / 8.0)}, - {FL2FXCONST_SGL(0.93885443798188f / 8.0), - FL2FXCONST_SGL(-0.74895312615259f / 8.0)}, - {FL2FXCONST_SGL(0.96735248738388f / 8.0), - FL2FXCONST_SGL(0.90891816978629f / 8.0)}, - {FL2FXCONST_SGL(-0.22225968841114f / 8.0), - FL2FXCONST_SGL(0.57124029781228f / 8.0)}, - {FL2FXCONST_SGL(-0.44132783753414f / 8.0), - FL2FXCONST_SGL(-0.92688840659280f / 8.0)}, - {FL2FXCONST_SGL(-0.85694974219574f / 8.0), - FL2FXCONST_SGL(0.88844532719844f / 8.0)}, - {FL2FXCONST_SGL(0.91783042091762f / 8.0), - FL2FXCONST_SGL(-0.46356892383970f / 8.0)}, - {FL2FXCONST_SGL(0.72556974415690f / 8.0), - FL2FXCONST_SGL(-0.99899555770747f / 8.0)}, - {FL2FXCONST_SGL(-0.99711581834508f / 8.0), - FL2FXCONST_SGL(0.58211560180426f / 8.0)}, - {FL2FXCONST_SGL(0.77638976371966f / 8.0), - FL2FXCONST_SGL(0.94321834873819f / 8.0)}, - {FL2FXCONST_SGL(0.07717324253925f / 8.0), - FL2FXCONST_SGL(0.58638399856595f / 8.0)}, - {FL2FXCONST_SGL(-0.56049829194163f / 8.0), - FL2FXCONST_SGL(0.82522301569036f / 8.0)}, - {FL2FXCONST_SGL(0.98398893639988f / 8.0), - FL2FXCONST_SGL(0.39467440420569f / 8.0)}, - {FL2FXCONST_SGL(0.47546946844938f / 8.0), - FL2FXCONST_SGL(0.68613044836811f / 8.0)}, - {FL2FXCONST_SGL(0.65675089314631f / 8.0), - FL2FXCONST_SGL(0.18331637134880f / 8.0)}, - {FL2FXCONST_SGL(0.03273375457980f / 8.0), - FL2FXCONST_SGL(-0.74933109564108f / 8.0)}, - {FL2FXCONST_SGL(-0.38684144784738f / 8.0), - FL2FXCONST_SGL(0.51337349030406f / 8.0)}, - {FL2FXCONST_SGL(-0.97346267944545f / 8.0), - FL2FXCONST_SGL(-0.96549364384098f / 8.0)}, - {FL2FXCONST_SGL(-0.53282156061942f / 8.0), - FL2FXCONST_SGL(-0.91423265091354f / 8.0)}, - {FL2FXCONST_SGL(0.99817310731176f / 8.0), - FL2FXCONST_SGL(0.61133572482148f / 8.0)}, - {FL2FXCONST_SGL(-0.50254500772635f / 8.0), - FL2FXCONST_SGL(-0.88829338134294f / 8.0)}, - {FL2FXCONST_SGL(0.01995873238855f / 8.0), - FL2FXCONST_SGL(0.85223515096765f / 8.0)}, - {FL2FXCONST_SGL(0.99930381973804f / 8.0), - FL2FXCONST_SGL(0.94578896296649f / 8.0)}, - {FL2FXCONST_SGL(0.82907767600783f / 8.0), - FL2FXCONST_SGL(-0.06323442598128f / 8.0)}, - {FL2FXCONST_SGL(-0.58660709669728f / 8.0), - FL2FXCONST_SGL(0.96840773806582f / 8.0)}, - {FL2FXCONST_SGL(-0.17573736667267f / 8.0), - FL2FXCONST_SGL(-0.48166920859485f / 8.0)}, - {FL2FXCONST_SGL(0.83434292401346f / 8.0), - FL2FXCONST_SGL(-0.13023450646997f / 8.0)}, - {FL2FXCONST_SGL(0.05946491307025f / 8.0), - FL2FXCONST_SGL(0.20511047074866f / 8.0)}, - {FL2FXCONST_SGL(0.81505484574602f / 8.0), - FL2FXCONST_SGL(-0.94685947861369f / 8.0)}, - {FL2FXCONST_SGL(-0.44976380954860f / 8.0), - FL2FXCONST_SGL(0.40894572671545f / 8.0)}, - {FL2FXCONST_SGL(-0.89746474625671f / 8.0), - FL2FXCONST_SGL(0.99846578838537f / 8.0)}, - {FL2FXCONST_SGL(0.39677256130792f / 8.0), - FL2FXCONST_SGL(-0.74854668609359f / 8.0)}, - {FL2FXCONST_SGL(-0.07588948563079f / 8.0), - FL2FXCONST_SGL(0.74096214084170f / 8.0)}, - {FL2FXCONST_SGL(0.76343198951445f / 8.0), - FL2FXCONST_SGL(0.41746629422634f / 8.0)}, - {FL2FXCONST_SGL(-0.74490104699626f / 8.0), - FL2FXCONST_SGL(0.94725911744610f / 8.0)}, - {FL2FXCONST_SGL(0.64880119792759f / 8.0), - FL2FXCONST_SGL(0.41336660830571f / 8.0)}, - {FL2FXCONST_SGL(0.62319537462542f / 8.0), - FL2FXCONST_SGL(-0.93098313552599f / 8.0)}, - {FL2FXCONST_SGL(0.42215817594807f / 8.0), - FL2FXCONST_SGL(-0.07712787385208f / 8.0)}, - {FL2FXCONST_SGL(0.02704554141885f / 8.0), - FL2FXCONST_SGL(-0.05417518053666f / 8.0)}, - {FL2FXCONST_SGL(0.80001773566818f / 8.0), - FL2FXCONST_SGL(0.91542195141039f / 8.0)}, - {FL2FXCONST_SGL(-0.79351832348816f / 8.0), - FL2FXCONST_SGL(-0.36208897989136f / 8.0)}, - {FL2FXCONST_SGL(0.63872359151636f / 8.0), - FL2FXCONST_SGL(0.08128252493444f / 8.0)}, - {FL2FXCONST_SGL(0.52890520960295f / 8.0), - FL2FXCONST_SGL(0.60048872455592f / 8.0)}, - {FL2FXCONST_SGL(0.74238552914587f / 8.0), - FL2FXCONST_SGL(0.04491915291044f / 8.0)}, - {FL2FXCONST_SGL(0.99096131449250f / 8.0), - FL2FXCONST_SGL(-0.19451182854402f / 8.0)}, - {FL2FXCONST_SGL(-0.80412329643109f / 8.0), - FL2FXCONST_SGL(-0.88513818199457f / 8.0)}, - {FL2FXCONST_SGL(-0.64612616129736f / 8.0), - FL2FXCONST_SGL(0.72198674804544f / 8.0)}, - {FL2FXCONST_SGL(0.11657770663191f / 8.0), - FL2FXCONST_SGL(-0.83662833815041f / 8.0)}, - {FL2FXCONST_SGL(-0.95053182488101f / 8.0), - FL2FXCONST_SGL(-0.96939905138082f / 8.0)}, - {FL2FXCONST_SGL(-0.62228872928622f / 8.0), - FL2FXCONST_SGL(0.82767262846661f / 8.0)}, - {FL2FXCONST_SGL(0.03004475787316f / 8.0), - FL2FXCONST_SGL(-0.99738896333384f / 8.0)}, - {FL2FXCONST_SGL(-0.97987214341034f / 8.0), - FL2FXCONST_SGL(0.36526129686425f / 8.0)}, - {FL2FXCONST_SGL(-0.99986980746200f / 8.0), - FL2FXCONST_SGL(-0.36021610299715f / 8.0)}, - {FL2FXCONST_SGL(0.89110648599879f / 8.0), - FL2FXCONST_SGL(-0.97894250343044f / 8.0)}, - {FL2FXCONST_SGL(0.10407960510582f / 8.0), - FL2FXCONST_SGL(0.77357793811619f / 8.0)}, - {FL2FXCONST_SGL(0.95964737821728f / 8.0), - FL2FXCONST_SGL(-0.35435818285502f / 8.0)}, - {FL2FXCONST_SGL(0.50843233159162f / 8.0), - FL2FXCONST_SGL(0.96107691266205f / 8.0)}, - {FL2FXCONST_SGL(0.17006334670615f / 8.0), - FL2FXCONST_SGL(-0.76854025314829f / 8.0)}, - {FL2FXCONST_SGL(0.25872675063360f / 8.0), - FL2FXCONST_SGL(0.99893303933816f / 8.0)}, - {FL2FXCONST_SGL(-0.01115998681937f / 8.0), - FL2FXCONST_SGL(0.98496019742444f / 8.0)}, - {FL2FXCONST_SGL(-0.79598702973261f / 8.0), - FL2FXCONST_SGL(0.97138411318894f / 8.0)}, - {FL2FXCONST_SGL(-0.99264708948101f / 8.0), - FL2FXCONST_SGL(-0.99542822402536f / 8.0)}, - {FL2FXCONST_SGL(-0.99829663752818f / 8.0), - FL2FXCONST_SGL(0.01877138824311f / 8.0)}, - {FL2FXCONST_SGL(-0.70801016548184f / 8.0), - FL2FXCONST_SGL(0.33680685948117f / 8.0)}, - {FL2FXCONST_SGL(-0.70467057786826f / 8.0), - FL2FXCONST_SGL(0.93272777501857f / 8.0)}, - {FL2FXCONST_SGL(0.99846021905254f / 8.0), - FL2FXCONST_SGL(-0.98725746254433f / 8.0)}, - {FL2FXCONST_SGL(-0.63364968534650f / 8.0), - FL2FXCONST_SGL(-0.16473594423746f / 8.0)}, - {FL2FXCONST_SGL(-0.16258217500792f / 8.0), - FL2FXCONST_SGL(-0.95939125400802f / 8.0)}, - {FL2FXCONST_SGL(-0.43645594360633f / 8.0), - FL2FXCONST_SGL(-0.94805030113284f / 8.0)}, - {FL2FXCONST_SGL(-0.99848471702976f / 8.0), - FL2FXCONST_SGL(0.96245166923809f / 8.0)}, - {FL2FXCONST_SGL(-0.16796458968998f / 8.0), - FL2FXCONST_SGL(-0.98987511890470f / 8.0)}, - {FL2FXCONST_SGL(-0.87979225745213f / 8.0), - FL2FXCONST_SGL(-0.71725725041680f / 8.0)}, - {FL2FXCONST_SGL(0.44183099021786f / 8.0), - FL2FXCONST_SGL(-0.93568974498761f / 8.0)}, - {FL2FXCONST_SGL(0.93310180125532f / 8.0), - FL2FXCONST_SGL(-0.99913308068246f / 8.0)}, - {FL2FXCONST_SGL(-0.93941931782002f / 8.0), - FL2FXCONST_SGL(-0.56409379640356f / 8.0)}, - {FL2FXCONST_SGL(-0.88590003188677f / 8.0), - FL2FXCONST_SGL(0.47624600491382f / 8.0)}, - {FL2FXCONST_SGL(0.99971463703691f / 8.0), - FL2FXCONST_SGL(-0.83889954253462f / 8.0)}, - {FL2FXCONST_SGL(-0.75376385639978f / 8.0), - FL2FXCONST_SGL(0.00814643438625f / 8.0)}, - {FL2FXCONST_SGL(0.93887685615875f / 8.0), - FL2FXCONST_SGL(-0.11284528204636f / 8.0)}, - {FL2FXCONST_SGL(0.85126435782309f / 8.0), - FL2FXCONST_SGL(0.52349251543547f / 8.0)}, - {FL2FXCONST_SGL(0.39701421446381f / 8.0), - FL2FXCONST_SGL(0.81779634174316f / 8.0)}, - {FL2FXCONST_SGL(-0.37024464187437f / 8.0), - FL2FXCONST_SGL(-0.87071656222959f / 8.0)}, - {FL2FXCONST_SGL(-0.36024828242896f / 8.0), - FL2FXCONST_SGL(0.34655735648287f / 8.0)}, - {FL2FXCONST_SGL(-0.93388812549209f / 8.0), - FL2FXCONST_SGL(-0.84476541096429f / 8.0)}, - {FL2FXCONST_SGL(-0.65298804552119f / 8.0), - FL2FXCONST_SGL(-0.18439575450921f / 8.0)}, - {FL2FXCONST_SGL(0.11960319006843f / 8.0), - FL2FXCONST_SGL(0.99899346780168f / 8.0)}, - {FL2FXCONST_SGL(0.94292565553160f / 8.0), - FL2FXCONST_SGL(0.83163906518293f / 8.0)}, - {FL2FXCONST_SGL(0.75081145286948f / 8.0), - FL2FXCONST_SGL(-0.35533223142265f / 8.0)}, - {FL2FXCONST_SGL(0.56721979748394f / 8.0), - FL2FXCONST_SGL(-0.24076836414499f / 8.0)}, - {FL2FXCONST_SGL(0.46857766746029f / 8.0), - FL2FXCONST_SGL(-0.30140233457198f / 8.0)}, - {FL2FXCONST_SGL(0.97312313923635f / 8.0), - FL2FXCONST_SGL(-0.99548191630031f / 8.0)}, - {FL2FXCONST_SGL(-0.38299976567017f / 8.0), - FL2FXCONST_SGL(0.98516909715427f / 8.0)}, - {FL2FXCONST_SGL(0.41025800019463f / 8.0), - FL2FXCONST_SGL(0.02116736935734f / 8.0)}, - {FL2FXCONST_SGL(0.09638062008048f / 8.0), - FL2FXCONST_SGL(0.04411984381457f / 8.0)}, - {FL2FXCONST_SGL(-0.85283249275397f / 8.0), - FL2FXCONST_SGL(0.91475563922421f / 8.0)}, - {FL2FXCONST_SGL(0.88866808958124f / 8.0), - FL2FXCONST_SGL(-0.99735267083226f / 8.0)}, - {FL2FXCONST_SGL(-0.48202429536989f / 8.0), - FL2FXCONST_SGL(-0.96805608884164f / 8.0)}, - {FL2FXCONST_SGL(0.27572582416567f / 8.0), - FL2FXCONST_SGL(0.58634753335832f / 8.0)}, - {FL2FXCONST_SGL(-0.65889129659168f / 8.0), - FL2FXCONST_SGL(0.58835634138583f / 8.0)}, - {FL2FXCONST_SGL(0.98838086953732f / 8.0), - FL2FXCONST_SGL(0.99994349600236f / 8.0)}, - {FL2FXCONST_SGL(-0.20651349620689f / 8.0), - FL2FXCONST_SGL(0.54593044066355f / 8.0)}, - {FL2FXCONST_SGL(-0.62126416356920f / 8.0), - FL2FXCONST_SGL(-0.59893681700392f / 8.0)}, - {FL2FXCONST_SGL(0.20320105410437f / 8.0), - FL2FXCONST_SGL(-0.86879180355289f / 8.0)}, - {FL2FXCONST_SGL(-0.97790548600584f / 8.0), - FL2FXCONST_SGL(0.96290806999242f / 8.0)}, - {FL2FXCONST_SGL(0.11112534735126f / 8.0), - FL2FXCONST_SGL(0.21484763313301f / 8.0)}, - {FL2FXCONST_SGL(-0.41368337314182f / 8.0), - FL2FXCONST_SGL(0.28216837680365f / 8.0)}, - {FL2FXCONST_SGL(0.24133038992960f / 8.0), - FL2FXCONST_SGL(0.51294362630238f / 8.0)}, - {FL2FXCONST_SGL(-0.66393410674885f / 8.0), - FL2FXCONST_SGL(-0.08249679629081f / 8.0)}, - {FL2FXCONST_SGL(-0.53697829178752f / 8.0), - FL2FXCONST_SGL(-0.97649903936228f / 8.0)}, - {FL2FXCONST_SGL(-0.97224737889348f / 8.0), - FL2FXCONST_SGL(0.22081333579837f / 8.0)}, - {FL2FXCONST_SGL(0.87392477144549f / 8.0), - FL2FXCONST_SGL(-0.12796173740361f / 8.0)}, - {FL2FXCONST_SGL(0.19050361015753f / 8.0), - FL2FXCONST_SGL(0.01602615387195f / 8.0)}, - {FL2FXCONST_SGL(-0.46353441212724f / 8.0), - FL2FXCONST_SGL(-0.95249041539006f / 8.0)}, - {FL2FXCONST_SGL(-0.07064096339021f / 8.0), - FL2FXCONST_SGL(-0.94479803205886f / 8.0)}, - {FL2FXCONST_SGL(-0.92444085484466f / 8.0), - FL2FXCONST_SGL(-0.10457590187436f / 8.0)}, - {FL2FXCONST_SGL(-0.83822593578728f / 8.0), - FL2FXCONST_SGL(-0.01695043208885f / 8.0)}, - {FL2FXCONST_SGL(0.75214681811150f / 8.0), - FL2FXCONST_SGL(-0.99955681042665f / 8.0)}, - {FL2FXCONST_SGL(-0.42102998829339f / 8.0), - FL2FXCONST_SGL(0.99720941999394f / 8.0)}, - {FL2FXCONST_SGL(-0.72094786237696f / 8.0), - FL2FXCONST_SGL(-0.35008961934255f / 8.0)}, - {FL2FXCONST_SGL(0.78843311019251f / 8.0), - FL2FXCONST_SGL(0.52851398958271f / 8.0)}, - {FL2FXCONST_SGL(0.97394027897442f / 8.0), - FL2FXCONST_SGL(-0.26695944086561f / 8.0)}, - {FL2FXCONST_SGL(0.99206463477946f / 8.0), - FL2FXCONST_SGL(-0.57010120849429f / 8.0)}, - {FL2FXCONST_SGL(0.76789609461795f / 8.0), - FL2FXCONST_SGL(-0.76519356730966f / 8.0)}, - {FL2FXCONST_SGL(-0.82002421836409f / 8.0), - FL2FXCONST_SGL(-0.73530179553767f / 8.0)}, - {FL2FXCONST_SGL(0.81924990025724f / 8.0), - FL2FXCONST_SGL(0.99698425250579f / 8.0)}, - {FL2FXCONST_SGL(-0.26719850873357f / 8.0), - FL2FXCONST_SGL(0.68903369776193f / 8.0)}, - {FL2FXCONST_SGL(-0.43311260380975f / 8.0), - FL2FXCONST_SGL(0.85321815947490f / 8.0)}, - {FL2FXCONST_SGL(0.99194979673836f / 8.0), - FL2FXCONST_SGL(0.91876249766422f / 8.0)}, - {FL2FXCONST_SGL(-0.80692001248487f / 8.0), - FL2FXCONST_SGL(-0.32627540663214f / 8.0)}, - {FL2FXCONST_SGL(0.43080003649976f / 8.0), - FL2FXCONST_SGL(-0.21919095636638f / 8.0)}, - {FL2FXCONST_SGL(0.67709491937357f / 8.0), - FL2FXCONST_SGL(-0.95478075822906f / 8.0)}, - {FL2FXCONST_SGL(0.56151770568316f / 8.0), - FL2FXCONST_SGL(-0.70693811747778f / 8.0)}, - {FL2FXCONST_SGL(0.10831862810749f / 8.0), - FL2FXCONST_SGL(-0.08628837174592f / 8.0)}, - {FL2FXCONST_SGL(0.91229417540436f / 8.0), - FL2FXCONST_SGL(-0.65987351408410f / 8.0)}, - {FL2FXCONST_SGL(-0.48972893932274f / 8.0), - FL2FXCONST_SGL(0.56289246362686f / 8.0)}, - {FL2FXCONST_SGL(-0.89033658689697f / 8.0), - FL2FXCONST_SGL(-0.71656563987082f / 8.0)}, - {FL2FXCONST_SGL(0.65269447475094f / 8.0), - FL2FXCONST_SGL(0.65916004833932f / 8.0)}, - {FL2FXCONST_SGL(0.67439478141121f / 8.0), - FL2FXCONST_SGL(-0.81684380846796f / 8.0)}, - {FL2FXCONST_SGL(-0.47770832416973f / 8.0), - FL2FXCONST_SGL(-0.16789556203025f / 8.0)}, - {FL2FXCONST_SGL(-0.99715979260878f / 8.0), - FL2FXCONST_SGL(-0.93565784007648f / 8.0)}, - {FL2FXCONST_SGL(-0.90889593602546f / 8.0), - FL2FXCONST_SGL(0.62034397054380f / 8.0)}, - {FL2FXCONST_SGL(-0.06618622548177f / 8.0), - FL2FXCONST_SGL(-0.23812217221359f / 8.0)}, - {FL2FXCONST_SGL(0.99430266919728f / 8.0), - FL2FXCONST_SGL(0.18812555317553f / 8.0)}, - {FL2FXCONST_SGL(0.97686402381843f / 8.0), - FL2FXCONST_SGL(-0.28664534366620f / 8.0)}, - {FL2FXCONST_SGL(0.94813650221268f / 8.0), - FL2FXCONST_SGL(-0.97506640027128f / 8.0)}, - {FL2FXCONST_SGL(-0.95434497492853f / 8.0), - FL2FXCONST_SGL(-0.79607978501983f / 8.0)}, - {FL2FXCONST_SGL(-0.49104783137150f / 8.0), - FL2FXCONST_SGL(0.32895214359663f / 8.0)}, - {FL2FXCONST_SGL(0.99881175120751f / 8.0), - FL2FXCONST_SGL(0.88993983831354f / 8.0)}, - {FL2FXCONST_SGL(0.50449166760303f / 8.0), - FL2FXCONST_SGL(-0.85995072408434f / 8.0)}, - {FL2FXCONST_SGL(0.47162891065108f / 8.0), - FL2FXCONST_SGL(-0.18680204049569f / 8.0)}, - {FL2FXCONST_SGL(-0.62081581361840f / 8.0), - FL2FXCONST_SGL(0.75000676218956f / 8.0)}, - {FL2FXCONST_SGL(-0.43867015250812f / 8.0), - FL2FXCONST_SGL(0.99998069244322f / 8.0)}, - {FL2FXCONST_SGL(0.98630563232075f / 8.0), - FL2FXCONST_SGL(-0.53578899600662f / 8.0)}, - {FL2FXCONST_SGL(-0.61510362277374f / 8.0), - FL2FXCONST_SGL(-0.89515019899997f / 8.0)}, - {FL2FXCONST_SGL(-0.03841517601843f / 8.0), - FL2FXCONST_SGL(-0.69888815681179f / 8.0)}, - {FL2FXCONST_SGL(-0.30102157304644f / 8.0), - FL2FXCONST_SGL(-0.07667808922205f / 8.0)}, - {FL2FXCONST_SGL(0.41881284182683f / 8.0), - FL2FXCONST_SGL(0.02188098922282f / 8.0)}, - {FL2FXCONST_SGL(-0.86135454941237f / 8.0), - FL2FXCONST_SGL(0.98947480909359f / 8.0)}, - {FL2FXCONST_SGL(0.67226861393788f / 8.0), - FL2FXCONST_SGL(-0.13494389011014f / 8.0)}, - {FL2FXCONST_SGL(-0.70737398842068f / 8.0), - FL2FXCONST_SGL(-0.76547349325992f / 8.0)}, - {FL2FXCONST_SGL(0.94044946687963f / 8.0), - FL2FXCONST_SGL(0.09026201157416f / 8.0)}, - {FL2FXCONST_SGL(-0.82386352534327f / 8.0), - FL2FXCONST_SGL(0.08924768823676f / 8.0)}, - {FL2FXCONST_SGL(-0.32070666698656f / 8.0), - FL2FXCONST_SGL(0.50143421908753f / 8.0)}, - {FL2FXCONST_SGL(0.57593163224487f / 8.0), - FL2FXCONST_SGL(-0.98966422921509f / 8.0)}, - {FL2FXCONST_SGL(-0.36326018419965f / 8.0), - FL2FXCONST_SGL(0.07440243123228f / 8.0)}, - {FL2FXCONST_SGL(0.99979044674350f / 8.0), - FL2FXCONST_SGL(-0.14130287347405f / 8.0)}, - {FL2FXCONST_SGL(-0.92366023326932f / 8.0), - FL2FXCONST_SGL(-0.97979298068180f / 8.0)}, - {FL2FXCONST_SGL(-0.44607178518598f / 8.0), - FL2FXCONST_SGL(-0.54233252016394f / 8.0)}, - {FL2FXCONST_SGL(0.44226800932956f / 8.0), - FL2FXCONST_SGL(0.71326756742752f / 8.0)}, - {FL2FXCONST_SGL(0.03671907158312f / 8.0), - FL2FXCONST_SGL(0.63606389366675f / 8.0)}, - {FL2FXCONST_SGL(0.52175424682195f / 8.0), - FL2FXCONST_SGL(-0.85396826735705f / 8.0)}, - {FL2FXCONST_SGL(-0.94701139690956f / 8.0), - FL2FXCONST_SGL(-0.01826348194255f / 8.0)}, - {FL2FXCONST_SGL(-0.98759606946049f / 8.0), - FL2FXCONST_SGL(0.82288714303073f / 8.0)}, - {FL2FXCONST_SGL(0.87434794743625f / 8.0), - FL2FXCONST_SGL(0.89399495655433f / 8.0)}, - {FL2FXCONST_SGL(-0.93412041758744f / 8.0), - FL2FXCONST_SGL(0.41374052024363f / 8.0)}, - {FL2FXCONST_SGL(0.96063943315511f / 8.0), - FL2FXCONST_SGL(0.93116709541280f / 8.0)}, - {FL2FXCONST_SGL(0.97534253457837f / 8.0), - FL2FXCONST_SGL(0.86150930812689f / 8.0)}, - {FL2FXCONST_SGL(0.99642466504163f / 8.0), - FL2FXCONST_SGL(0.70190043427512f / 8.0)}, - {FL2FXCONST_SGL(-0.94705089665984f / 8.0), - FL2FXCONST_SGL(-0.29580042814306f / 8.0)}, - {FL2FXCONST_SGL(0.91599807087376f / 8.0), - FL2FXCONST_SGL(-0.98147830385781f / 8.0)}}; + {FL2FXCONST_SGL(-0.99948153278296f), FL2FXCONST_SGL(-0.59483417516607f)}, + {FL2FXCONST_SGL(0.97113454393991f), FL2FXCONST_SGL(-0.67528515225647f)}, + {FL2FXCONST_SGL(0.14130051758487f), FL2FXCONST_SGL(-0.95090983575689f)}, + {FL2FXCONST_SGL(-0.47005496701697f), FL2FXCONST_SGL(-0.37340549728647f)}, + {FL2FXCONST_SGL(0.80705063769351f), FL2FXCONST_SGL(0.29653668284408f)}, + {FL2FXCONST_SGL(-0.38981478896926f), FL2FXCONST_SGL(0.89572605717087f)}, + {FL2FXCONST_SGL(-0.01053049862020f), FL2FXCONST_SGL(-0.66959058036166f)}, + {FL2FXCONST_SGL(-0.91266367957293f), FL2FXCONST_SGL(-0.11522938140034f)}, + {FL2FXCONST_SGL(0.54840422910309f), FL2FXCONST_SGL(0.75221367176302f)}, + {FL2FXCONST_SGL(0.40009252867955f), FL2FXCONST_SGL(-0.98929400334421f)}, + {FL2FXCONST_SGL(-0.99867974711855f), FL2FXCONST_SGL(-0.88147068645358f)}, + {FL2FXCONST_SGL(-0.95531076805040f), FL2FXCONST_SGL(0.90908757154593f)}, + {FL2FXCONST_SGL(-0.45725933317144f), FL2FXCONST_SGL(-0.56716323646760f)}, + {FL2FXCONST_SGL(-0.72929675029275f), FL2FXCONST_SGL(-0.98008272727324f)}, + {FL2FXCONST_SGL(0.75622801399036f), FL2FXCONST_SGL(0.20950329995549f)}, + {FL2FXCONST_SGL(0.07069442601050f), FL2FXCONST_SGL(-0.78247898470706f)}, + {FL2FXCONST_SGL(0.74496252926055f), FL2FXCONST_SGL(-0.91169004445807f)}, + {FL2FXCONST_SGL(-0.96440182703856f), FL2FXCONST_SGL(-0.94739918296622f)}, + {FL2FXCONST_SGL(0.30424629369539f), FL2FXCONST_SGL(-0.49438267012479f)}, + {FL2FXCONST_SGL(0.66565033746925f), FL2FXCONST_SGL(0.64652935542491f)}, + {FL2FXCONST_SGL(0.91697008020594f), FL2FXCONST_SGL(0.17514097332009f)}, + {FL2FXCONST_SGL(-0.70774918760427f), FL2FXCONST_SGL(0.52548653416543f)}, + {FL2FXCONST_SGL(-0.70051415345560f), FL2FXCONST_SGL(-0.45340028808763f)}, + {FL2FXCONST_SGL(-0.99496513054797f), FL2FXCONST_SGL(-0.90071908066973f)}, + {FL2FXCONST_SGL(0.98164490790123f), FL2FXCONST_SGL(-0.77463155528697f)}, + {FL2FXCONST_SGL(-0.54671580548181f), FL2FXCONST_SGL(-0.02570928536004f)}, + {FL2FXCONST_SGL(-0.01689629065389f), FL2FXCONST_SGL(0.00287506445732f)}, + {FL2FXCONST_SGL(-0.86110349531986f), FL2FXCONST_SGL(0.42548583726477f)}, + {FL2FXCONST_SGL(-0.98892980586032f), FL2FXCONST_SGL(-0.87881132267556f)}, + {FL2FXCONST_SGL(0.51756627678691f), FL2FXCONST_SGL(0.66926784710139f)}, + {FL2FXCONST_SGL(-0.99635026409640f), FL2FXCONST_SGL(-0.58107730574765f)}, + {FL2FXCONST_SGL(-0.99969370862163f), FL2FXCONST_SGL(0.98369989360250f)}, + {FL2FXCONST_SGL(0.55266258627194f), FL2FXCONST_SGL(0.59449057465591f)}, + {FL2FXCONST_SGL(0.34581177741673f), FL2FXCONST_SGL(0.94879421061866f)}, + {FL2FXCONST_SGL(0.62664209577999f), FL2FXCONST_SGL(-0.74402970906471f)}, + {FL2FXCONST_SGL(-0.77149701404973f), FL2FXCONST_SGL(-0.33883658042801f)}, + {FL2FXCONST_SGL(-0.91592244254432f), FL2FXCONST_SGL(0.03687901376713f)}, + {FL2FXCONST_SGL(-0.76285492357887f), FL2FXCONST_SGL(-0.91371867919124f)}, + {FL2FXCONST_SGL(0.79788337195331f), FL2FXCONST_SGL(-0.93180971199849f)}, + {FL2FXCONST_SGL(0.54473080610200f), FL2FXCONST_SGL(-0.11919206037186f)}, + {FL2FXCONST_SGL(-0.85639281671058f), FL2FXCONST_SGL(0.42429854760451f)}, + {FL2FXCONST_SGL(-0.92882402971423f), FL2FXCONST_SGL(0.27871809078609f)}, + {FL2FXCONST_SGL(-0.11708371046774f), FL2FXCONST_SGL(-0.99800843444966f)}, + {FL2FXCONST_SGL(0.21356749817493f), FL2FXCONST_SGL(-0.90716295627033f)}, + {FL2FXCONST_SGL(-0.76191692573909f), FL2FXCONST_SGL(0.99768118356265f)}, + {FL2FXCONST_SGL(0.98111043100884f), FL2FXCONST_SGL(-0.95854459734407f)}, + {FL2FXCONST_SGL(-0.85913269895572f), FL2FXCONST_SGL(0.95766566168880f)}, + {FL2FXCONST_SGL(-0.93307242253692f), FL2FXCONST_SGL(0.49431757696466f)}, + {FL2FXCONST_SGL(0.30485754879632f), FL2FXCONST_SGL(-0.70540034357529f)}, + {FL2FXCONST_SGL(0.85289650925190f), FL2FXCONST_SGL(0.46766131791044f)}, + {FL2FXCONST_SGL(0.91328082618125f), FL2FXCONST_SGL(-0.99839597361769f)}, + {FL2FXCONST_SGL(-0.05890199924154f), FL2FXCONST_SGL(0.70741827819497f)}, + {FL2FXCONST_SGL(0.28398686150148f), FL2FXCONST_SGL(0.34633555702188f)}, + {FL2FXCONST_SGL(0.95258164539612f), FL2FXCONST_SGL(-0.54893416026939f)}, + {FL2FXCONST_SGL(-0.78566324168507f), FL2FXCONST_SGL(-0.75568541079691f)}, + {FL2FXCONST_SGL(-0.95789495447877f), FL2FXCONST_SGL(-0.20423194696966f)}, + {FL2FXCONST_SGL(0.82411158711197f), FL2FXCONST_SGL(0.96654618432562f)}, + {FL2FXCONST_SGL(-0.65185446735885f), FL2FXCONST_SGL(-0.88734990773289f)}, + {FL2FXCONST_SGL(-0.93643603134666f), FL2FXCONST_SGL(0.99870790442385f)}, + {FL2FXCONST_SGL(0.91427159529618f), FL2FXCONST_SGL(-0.98290505544444f)}, + {FL2FXCONST_SGL(-0.70395684036886f), FL2FXCONST_SGL(0.58796798221039f)}, + {FL2FXCONST_SGL(0.00563771969365f), FL2FXCONST_SGL(0.61768196727244f)}, + {FL2FXCONST_SGL(0.89065051931895f), FL2FXCONST_SGL(0.52783352697585f)}, + {FL2FXCONST_SGL(-0.68683707712762f), FL2FXCONST_SGL(0.80806944710339f)}, + {FL2FXCONST_SGL(0.72165342518718f), FL2FXCONST_SGL(-0.69259857349564f)}, + {FL2FXCONST_SGL(-0.62928247730667f), FL2FXCONST_SGL(0.13627037407335f)}, + {FL2FXCONST_SGL(0.29938434065514f), FL2FXCONST_SGL(-0.46051329682246f)}, + {FL2FXCONST_SGL(-0.91781958879280f), FL2FXCONST_SGL(-0.74012716684186f)}, + {FL2FXCONST_SGL(0.99298717043688f), FL2FXCONST_SGL(0.40816610075661f)}, + {FL2FXCONST_SGL(0.82368298622748f), FL2FXCONST_SGL(-0.74036047190173f)}, + {FL2FXCONST_SGL(-0.98512833386833f), FL2FXCONST_SGL(-0.99972330709594f)}, + {FL2FXCONST_SGL(-0.95915368242257f), FL2FXCONST_SGL(-0.99237800466040f)}, + {FL2FXCONST_SGL(-0.21411126572790f), FL2FXCONST_SGL(-0.93424819052545f)}, + {FL2FXCONST_SGL(-0.68821476106884f), FL2FXCONST_SGL(-0.26892306315457f)}, + {FL2FXCONST_SGL(0.91851997982317f), FL2FXCONST_SGL(0.09358228901785f)}, + {FL2FXCONST_SGL(-0.96062769559127f), FL2FXCONST_SGL(0.36099095133739f)}, + {FL2FXCONST_SGL(0.51646184922287f), FL2FXCONST_SGL(-0.71373332873917f)}, + {FL2FXCONST_SGL(0.61130721139669f), FL2FXCONST_SGL(0.46950141175917f)}, + {FL2FXCONST_SGL(0.47336129371299f), FL2FXCONST_SGL(-0.27333178296162f)}, + {FL2FXCONST_SGL(0.90998308703519f), FL2FXCONST_SGL(0.96715662938132f)}, + {FL2FXCONST_SGL(0.44844799194357f), FL2FXCONST_SGL(0.99211574628306f)}, + {FL2FXCONST_SGL(0.66614891079092f), FL2FXCONST_SGL(0.96590176169121f)}, + {FL2FXCONST_SGL(0.74922239129237f), FL2FXCONST_SGL(-0.89879858826087f)}, + {FL2FXCONST_SGL(-0.99571588506485f), FL2FXCONST_SGL(0.52785521494349f)}, + {FL2FXCONST_SGL(0.97401082477563f), FL2FXCONST_SGL(-0.16855870075190f)}, + {FL2FXCONST_SGL(0.72683747733879f), FL2FXCONST_SGL(-0.48060774432251f)}, + {FL2FXCONST_SGL(0.95432193457128f), FL2FXCONST_SGL(0.68849603408441f)}, + {FL2FXCONST_SGL(-0.72962208425191f), FL2FXCONST_SGL(-0.76608443420917f)}, + {FL2FXCONST_SGL(-0.85359479233537f), FL2FXCONST_SGL(0.88738125901579f)}, + {FL2FXCONST_SGL(-0.81412430338535f), FL2FXCONST_SGL(-0.97480768049637f)}, + {FL2FXCONST_SGL(-0.87930772356786f), FL2FXCONST_SGL(0.74748307690436f)}, + {FL2FXCONST_SGL(-0.71573331064977f), FL2FXCONST_SGL(-0.98570608178923f)}, + {FL2FXCONST_SGL(0.83524300028228f), FL2FXCONST_SGL(0.83702537075163f)}, + {FL2FXCONST_SGL(-0.48086065601423f), FL2FXCONST_SGL(-0.98848504923531f)}, + {FL2FXCONST_SGL(0.97139128574778f), FL2FXCONST_SGL(0.80093621198236f)}, + {FL2FXCONST_SGL(0.51992825347895f), FL2FXCONST_SGL(0.80247631400510f)}, + {FL2FXCONST_SGL(-0.00848591195325f), FL2FXCONST_SGL(-0.76670128000486f)}, + {FL2FXCONST_SGL(-0.70294374303036f), FL2FXCONST_SGL(0.55359910445577f)}, + {FL2FXCONST_SGL(-0.95894428168140f), FL2FXCONST_SGL(-0.43265504344783f)}, + {FL2FXCONST_SGL(0.97079252950321f), FL2FXCONST_SGL(0.09325857238682f)}, + {FL2FXCONST_SGL(-0.92404293670797f), FL2FXCONST_SGL(0.85507704027855f)}, + {FL2FXCONST_SGL(-0.69506469500450f), FL2FXCONST_SGL(0.98633412625459f)}, + {FL2FXCONST_SGL(0.26559203620024f), FL2FXCONST_SGL(0.73314307966524f)}, + {FL2FXCONST_SGL(0.28038443336943f), FL2FXCONST_SGL(0.14537913654427f)}, + {FL2FXCONST_SGL(-0.74138124825523f), FL2FXCONST_SGL(0.99310339807762f)}, + {FL2FXCONST_SGL(-0.01752795995444f), FL2FXCONST_SGL(-0.82616635284178f)}, + {FL2FXCONST_SGL(-0.55126773094930f), FL2FXCONST_SGL(-0.98898543862153f)}, + {FL2FXCONST_SGL(0.97960898850996f), FL2FXCONST_SGL(-0.94021446752851f)}, + {FL2FXCONST_SGL(-0.99196309146936f), FL2FXCONST_SGL(0.67019017358456f)}, + {FL2FXCONST_SGL(-0.67684928085260f), FL2FXCONST_SGL(0.12631491649378f)}, + {FL2FXCONST_SGL(0.09140039465500f), FL2FXCONST_SGL(-0.20537731453108f)}, + {FL2FXCONST_SGL(-0.71658965751996f), FL2FXCONST_SGL(-0.97788200391224f)}, + {FL2FXCONST_SGL(0.81014640078925f), FL2FXCONST_SGL(0.53722648362443f)}, + {FL2FXCONST_SGL(0.40616991671205f), FL2FXCONST_SGL(-0.26469008598449f)}, + {FL2FXCONST_SGL(-0.67680188682972f), FL2FXCONST_SGL(0.94502052337695f)}, + {FL2FXCONST_SGL(0.86849774348749f), FL2FXCONST_SGL(-0.18333598647899f)}, + {FL2FXCONST_SGL(-0.99500381284851f), FL2FXCONST_SGL(-0.02634122068550f)}, + {FL2FXCONST_SGL(0.84329189340667f), FL2FXCONST_SGL(0.10406957462213f)}, + {FL2FXCONST_SGL(-0.09215968531446f), FL2FXCONST_SGL(0.69540012101253f)}, + {FL2FXCONST_SGL(0.99956173327206f), FL2FXCONST_SGL(-0.12358542001404f)}, + {FL2FXCONST_SGL(-0.79732779473535f), FL2FXCONST_SGL(-0.91582524736159f)}, + {FL2FXCONST_SGL(0.96349973642406f), FL2FXCONST_SGL(0.96640458041000f)}, + {FL2FXCONST_SGL(-0.79942778496547f), FL2FXCONST_SGL(0.64323902822857f)}, + {FL2FXCONST_SGL(-0.11566039853896f), FL2FXCONST_SGL(0.28587846253726f)}, + {FL2FXCONST_SGL(-0.39922954514662f), FL2FXCONST_SGL(0.94129601616966f)}, + {FL2FXCONST_SGL(0.99089197565987f), FL2FXCONST_SGL(-0.92062625581587f)}, + {FL2FXCONST_SGL(0.28631285179909f), FL2FXCONST_SGL(-0.91035047143603f)}, + {FL2FXCONST_SGL(-0.83302725605608f), FL2FXCONST_SGL(-0.67330410892084f)}, + {FL2FXCONST_SGL(0.95404443402072f), FL2FXCONST_SGL(0.49162765398743f)}, + {FL2FXCONST_SGL(-0.06449863579434f), FL2FXCONST_SGL(0.03250560813135f)}, + {FL2FXCONST_SGL(-0.99575054486311f), FL2FXCONST_SGL(0.42389784469507f)}, + {FL2FXCONST_SGL(-0.65501142790847f), FL2FXCONST_SGL(0.82546114655624f)}, + {FL2FXCONST_SGL(-0.81254441908887f), FL2FXCONST_SGL(-0.51627234660629f)}, + {FL2FXCONST_SGL(-0.99646369485481f), FL2FXCONST_SGL(0.84490533520752f)}, + {FL2FXCONST_SGL(0.00287840603348f), FL2FXCONST_SGL(0.64768261158166f)}, + {FL2FXCONST_SGL(0.70176989408455f), FL2FXCONST_SGL(-0.20453028573322f)}, + {FL2FXCONST_SGL(0.96361882270190f), FL2FXCONST_SGL(0.40706967140989f)}, + {FL2FXCONST_SGL(-0.68883758192426f), FL2FXCONST_SGL(0.91338958840772f)}, + {FL2FXCONST_SGL(-0.34875585502238f), FL2FXCONST_SGL(0.71472290693300f)}, + {FL2FXCONST_SGL(0.91980081243087f), FL2FXCONST_SGL(0.66507455644919f)}, + {FL2FXCONST_SGL(-0.99009048343881f), FL2FXCONST_SGL(0.85868021604848f)}, + {FL2FXCONST_SGL(0.68865791458395f), FL2FXCONST_SGL(0.55660316809678f)}, + {FL2FXCONST_SGL(-0.99484402129368f), FL2FXCONST_SGL(-0.20052559254934f)}, + {FL2FXCONST_SGL(0.94214511408023f), FL2FXCONST_SGL(-0.99696425367461f)}, + {FL2FXCONST_SGL(-0.67414626793544f), FL2FXCONST_SGL(0.49548221180078f)}, + {FL2FXCONST_SGL(-0.47339353684664f), FL2FXCONST_SGL(-0.85904328834047f)}, + {FL2FXCONST_SGL(0.14323651387360f), FL2FXCONST_SGL(-0.94145598222488f)}, + {FL2FXCONST_SGL(-0.29268293575672f), FL2FXCONST_SGL(0.05759224927952f)}, + {FL2FXCONST_SGL(0.43793861458754f), FL2FXCONST_SGL(-0.78904969892724f)}, + {FL2FXCONST_SGL(-0.36345126374441f), FL2FXCONST_SGL(0.64874435357162f)}, + {FL2FXCONST_SGL(-0.08750604656825f), FL2FXCONST_SGL(0.97686944362527f)}, + {FL2FXCONST_SGL(-0.96495267812511f), FL2FXCONST_SGL(-0.53960305946511f)}, + {FL2FXCONST_SGL(0.55526940659947f), FL2FXCONST_SGL(0.78891523734774f)}, + {FL2FXCONST_SGL(0.73538215752630f), FL2FXCONST_SGL(0.96452072373404f)}, + {FL2FXCONST_SGL(-0.30889773919437f), FL2FXCONST_SGL(-0.80664389776860f)}, + {FL2FXCONST_SGL(0.03574995626194f), FL2FXCONST_SGL(-0.97325616900959f)}, + {FL2FXCONST_SGL(0.98720684660488f), FL2FXCONST_SGL(0.48409133691962f)}, + {FL2FXCONST_SGL(-0.81689296271203f), FL2FXCONST_SGL(-0.90827703628298f)}, + {FL2FXCONST_SGL(0.67866860118215f), FL2FXCONST_SGL(0.81284503870856f)}, + {FL2FXCONST_SGL(-0.15808569732583f), FL2FXCONST_SGL(0.85279555024382f)}, + {FL2FXCONST_SGL(0.80723395114371f), FL2FXCONST_SGL(-0.24717418514605f)}, + {FL2FXCONST_SGL(0.47788757329038f), FL2FXCONST_SGL(-0.46333147839295f)}, + {FL2FXCONST_SGL(0.96367554763201f), FL2FXCONST_SGL(0.38486749303242f)}, + {FL2FXCONST_SGL(-0.99143875716818f), FL2FXCONST_SGL(-0.24945277239809f)}, + {FL2FXCONST_SGL(0.83081876925833f), FL2FXCONST_SGL(-0.94780851414763f)}, + {FL2FXCONST_SGL(-0.58753191905341f), FL2FXCONST_SGL(0.01290772389163f)}, + {FL2FXCONST_SGL(0.95538108220960f), FL2FXCONST_SGL(-0.85557052096538f)}, + {FL2FXCONST_SGL(-0.96490920476211f), FL2FXCONST_SGL(-0.64020970923102f)}, + {FL2FXCONST_SGL(-0.97327101028521f), FL2FXCONST_SGL(0.12378128133110f)}, + {FL2FXCONST_SGL(0.91400366022124f), FL2FXCONST_SGL(0.57972471346930f)}, + {FL2FXCONST_SGL(-0.99925837363824f), FL2FXCONST_SGL(0.71084847864067f)}, + {FL2FXCONST_SGL(-0.86875903507313f), FL2FXCONST_SGL(-0.20291699203564f)}, + {FL2FXCONST_SGL(-0.26240034795124f), FL2FXCONST_SGL(-0.68264554369108f)}, + {FL2FXCONST_SGL(-0.24664412953388f), FL2FXCONST_SGL(-0.87642273115183f)}, + {FL2FXCONST_SGL(0.02416275806869f), FL2FXCONST_SGL(0.27192914288905f)}, + {FL2FXCONST_SGL(0.82068619590515f), FL2FXCONST_SGL(-0.85087787994476f)}, + {FL2FXCONST_SGL(0.88547373760759f), FL2FXCONST_SGL(-0.89636802901469f)}, + {FL2FXCONST_SGL(-0.18173078152226f), FL2FXCONST_SGL(-0.26152145156800f)}, + {FL2FXCONST_SGL(0.09355476558534f), FL2FXCONST_SGL(0.54845123045604f)}, + {FL2FXCONST_SGL(-0.54668414224090f), FL2FXCONST_SGL(0.95980774020221f)}, + {FL2FXCONST_SGL(0.37050990604091f), FL2FXCONST_SGL(-0.59910140383171f)}, + {FL2FXCONST_SGL(-0.70373594262891f), FL2FXCONST_SGL(0.91227665827081f)}, + {FL2FXCONST_SGL(-0.34600785879594f), FL2FXCONST_SGL(-0.99441426144200f)}, + {FL2FXCONST_SGL(-0.68774481731008f), FL2FXCONST_SGL(-0.30238837956299f)}, + {FL2FXCONST_SGL(-0.26843291251234f), FL2FXCONST_SGL(0.83115668004362f)}, + {FL2FXCONST_SGL(0.49072334613242f), FL2FXCONST_SGL(-0.45359708737775f)}, + {FL2FXCONST_SGL(0.38975993093975f), FL2FXCONST_SGL(0.95515358099121f)}, + {FL2FXCONST_SGL(-0.97757125224150f), FL2FXCONST_SGL(0.05305894580606f)}, + {FL2FXCONST_SGL(-0.17325552859616f), FL2FXCONST_SGL(-0.92770672250494f)}, + {FL2FXCONST_SGL(0.99948035025744f), FL2FXCONST_SGL(0.58285545563426f)}, + {FL2FXCONST_SGL(-0.64946246527458f), FL2FXCONST_SGL(0.68645507104960f)}, + {FL2FXCONST_SGL(-0.12016920576437f), FL2FXCONST_SGL(-0.57147322153312f)}, + {FL2FXCONST_SGL(-0.58947456517751f), FL2FXCONST_SGL(-0.34847132454388f)}, + {FL2FXCONST_SGL(-0.41815140454465f), FL2FXCONST_SGL(0.16276422358861f)}, + {FL2FXCONST_SGL(0.99885650204884f), FL2FXCONST_SGL(0.11136095490444f)}, + {FL2FXCONST_SGL(-0.56649614128386f), FL2FXCONST_SGL(-0.90494866361587f)}, + {FL2FXCONST_SGL(0.94138021032330f), FL2FXCONST_SGL(0.35281916733018f)}, + {FL2FXCONST_SGL(-0.75725076534641f), FL2FXCONST_SGL(0.53650549640587f)}, + {FL2FXCONST_SGL(0.20541973692630f), FL2FXCONST_SGL(-0.94435144369918f)}, + {FL2FXCONST_SGL(0.99980371023351f), FL2FXCONST_SGL(0.79835913565599f)}, + {FL2FXCONST_SGL(0.29078277605775f), FL2FXCONST_SGL(0.35393777921520f)}, + {FL2FXCONST_SGL(-0.62858772103030f), FL2FXCONST_SGL(0.38765693387102f)}, + {FL2FXCONST_SGL(0.43440904467688f), FL2FXCONST_SGL(-0.98546330463232f)}, + {FL2FXCONST_SGL(-0.98298583762390f), FL2FXCONST_SGL(0.21021524625209f)}, + {FL2FXCONST_SGL(0.19513029146934f), FL2FXCONST_SGL(-0.94239832251867f)}, + {FL2FXCONST_SGL(-0.95476662400101f), FL2FXCONST_SGL(0.98364554179143f)}, + {FL2FXCONST_SGL(0.93379635304810f), FL2FXCONST_SGL(-0.70881994583682f)}, + {FL2FXCONST_SGL(-0.85235410573336f), FL2FXCONST_SGL(-0.08342347966410f)}, + {FL2FXCONST_SGL(-0.86425093011245f), FL2FXCONST_SGL(-0.45795025029466f)}, + {FL2FXCONST_SGL(0.38879779059045f), FL2FXCONST_SGL(0.97274429344593f)}, + {FL2FXCONST_SGL(0.92045124735495f), FL2FXCONST_SGL(-0.62433652524220f)}, + {FL2FXCONST_SGL(0.89162532251878f), FL2FXCONST_SGL(0.54950955570563f)}, + {FL2FXCONST_SGL(-0.36834336949252f), FL2FXCONST_SGL(0.96458298020975f)}, + {FL2FXCONST_SGL(0.93891760988045f), FL2FXCONST_SGL(-0.89968353740388f)}, + {FL2FXCONST_SGL(0.99267657565094f), FL2FXCONST_SGL(-0.03757034316958f)}, + {FL2FXCONST_SGL(-0.94063471614176f), FL2FXCONST_SGL(0.41332338538963f)}, + {FL2FXCONST_SGL(0.99740224117019f), FL2FXCONST_SGL(-0.16830494996370f)}, + {FL2FXCONST_SGL(-0.35899413170555f), FL2FXCONST_SGL(-0.46633226649613f)}, + {FL2FXCONST_SGL(0.05237237274947f), FL2FXCONST_SGL(-0.25640361602661f)}, + {FL2FXCONST_SGL(0.36703583957424f), FL2FXCONST_SGL(-0.38653265641875f)}, + {FL2FXCONST_SGL(0.91653180367913f), FL2FXCONST_SGL(-0.30587628726597f)}, + {FL2FXCONST_SGL(0.69000803499316f), FL2FXCONST_SGL(0.90952171386132f)}, + {FL2FXCONST_SGL(-0.38658751133527f), FL2FXCONST_SGL(0.99501571208985f)}, + {FL2FXCONST_SGL(-0.29250814029851f), FL2FXCONST_SGL(0.37444994344615f)}, + {FL2FXCONST_SGL(-0.60182204677608f), FL2FXCONST_SGL(0.86779651036123f)}, + {FL2FXCONST_SGL(-0.97418588163217f), FL2FXCONST_SGL(0.96468523666475f)}, + {FL2FXCONST_SGL(0.88461574003963f), FL2FXCONST_SGL(0.57508405276414f)}, + {FL2FXCONST_SGL(0.05198933055162f), FL2FXCONST_SGL(0.21269661669964f)}, + {FL2FXCONST_SGL(-0.53499621979720f), FL2FXCONST_SGL(0.97241553731237f)}, + {FL2FXCONST_SGL(-0.49429560226497f), FL2FXCONST_SGL(0.98183865291903f)}, + {FL2FXCONST_SGL(-0.98935142339139f), FL2FXCONST_SGL(-0.40249159006933f)}, + {FL2FXCONST_SGL(-0.98081380091130f), FL2FXCONST_SGL(-0.72856895534041f)}, + {FL2FXCONST_SGL(-0.27338148835532f), FL2FXCONST_SGL(0.99950922447209f)}, + {FL2FXCONST_SGL(0.06310802338302f), FL2FXCONST_SGL(-0.54539587529618f)}, + {FL2FXCONST_SGL(-0.20461677199539f), FL2FXCONST_SGL(-0.14209977628489f)}, + {FL2FXCONST_SGL(0.66223843141647f), FL2FXCONST_SGL(0.72528579940326f)}, + {FL2FXCONST_SGL(-0.84764345483665f), FL2FXCONST_SGL(0.02372316801261f)}, + {FL2FXCONST_SGL(-0.89039863483811f), FL2FXCONST_SGL(0.88866581484602f)}, + {FL2FXCONST_SGL(0.95903308477986f), FL2FXCONST_SGL(0.76744927173873f)}, + {FL2FXCONST_SGL(0.73504123909879f), FL2FXCONST_SGL(-0.03747203173192f)}, + {FL2FXCONST_SGL(-0.31744434966056f), FL2FXCONST_SGL(-0.36834111883652f)}, + {FL2FXCONST_SGL(-0.34110827591623f), FL2FXCONST_SGL(0.40211222807691f)}, + {FL2FXCONST_SGL(0.47803883714199f), FL2FXCONST_SGL(-0.39423219786288f)}, + {FL2FXCONST_SGL(0.98299195879514f), FL2FXCONST_SGL(0.01989791390047f)}, + {FL2FXCONST_SGL(-0.30963073129751f), FL2FXCONST_SGL(-0.18076720599336f)}, + {FL2FXCONST_SGL(0.99992588229018f), FL2FXCONST_SGL(-0.26281872094289f)}, + {FL2FXCONST_SGL(-0.93149731080767f), FL2FXCONST_SGL(-0.98313162570490f)}, + {FL2FXCONST_SGL(0.99923472302773f), FL2FXCONST_SGL(-0.80142993767554f)}, + {FL2FXCONST_SGL(-0.26024169633417f), FL2FXCONST_SGL(-0.75999759855752f)}, + {FL2FXCONST_SGL(-0.35712514743563f), FL2FXCONST_SGL(0.19298963768574f)}, + {FL2FXCONST_SGL(-0.99899084509530f), FL2FXCONST_SGL(0.74645156992493f)}, + {FL2FXCONST_SGL(0.86557171579452f), FL2FXCONST_SGL(0.55593866696299f)}, + {FL2FXCONST_SGL(0.33408042438752f), FL2FXCONST_SGL(0.86185953874709f)}, + {FL2FXCONST_SGL(0.99010736374716f), FL2FXCONST_SGL(0.04602397576623f)}, + {FL2FXCONST_SGL(-0.66694269691195f), FL2FXCONST_SGL(-0.91643611810148f)}, + {FL2FXCONST_SGL(0.64016792079480f), FL2FXCONST_SGL(0.15649530836856f)}, + {FL2FXCONST_SGL(0.99570534804836f), FL2FXCONST_SGL(0.45844586038111f)}, + {FL2FXCONST_SGL(-0.63431466947340f), FL2FXCONST_SGL(0.21079116459234f)}, + {FL2FXCONST_SGL(-0.07706847005931f), FL2FXCONST_SGL(-0.89581437101329f)}, + {FL2FXCONST_SGL(0.98590090577724f), FL2FXCONST_SGL(0.88241721133981f)}, + {FL2FXCONST_SGL(0.80099335254678f), FL2FXCONST_SGL(-0.36851896710853f)}, + {FL2FXCONST_SGL(0.78368131392666f), FL2FXCONST_SGL(0.45506999802597f)}, + {FL2FXCONST_SGL(0.08707806671691f), FL2FXCONST_SGL(0.80938994918745f)}, + {FL2FXCONST_SGL(-0.86811883080712f), FL2FXCONST_SGL(0.39347308654705f)}, + {FL2FXCONST_SGL(-0.39466529740375f), FL2FXCONST_SGL(-0.66809432114456f)}, + {FL2FXCONST_SGL(0.97875325649683f), FL2FXCONST_SGL(-0.72467840967746f)}, + {FL2FXCONST_SGL(-0.95038560288864f), FL2FXCONST_SGL(0.89563219587625f)}, + {FL2FXCONST_SGL(0.17005239424212f), FL2FXCONST_SGL(0.54683053962658f)}, + {FL2FXCONST_SGL(-0.76910792026848f), FL2FXCONST_SGL(-0.96226617549298f)}, + {FL2FXCONST_SGL(0.99743281016846f), FL2FXCONST_SGL(0.42697157037567f)}, + {FL2FXCONST_SGL(0.95437383549973f), FL2FXCONST_SGL(0.97002324109952f)}, + {FL2FXCONST_SGL(0.99578905365569f), FL2FXCONST_SGL(-0.54106826257356f)}, + {FL2FXCONST_SGL(0.28058259829990f), FL2FXCONST_SGL(-0.85361420634036f)}, + {FL2FXCONST_SGL(0.85256524470573f), FL2FXCONST_SGL(-0.64567607735589f)}, + {FL2FXCONST_SGL(-0.50608540105128f), FL2FXCONST_SGL(-0.65846015480300f)}, + {FL2FXCONST_SGL(-0.97210735183243f), FL2FXCONST_SGL(-0.23095213067791f)}, + {FL2FXCONST_SGL(0.95424048234441f), FL2FXCONST_SGL(-0.99240147091219f)}, + {FL2FXCONST_SGL(-0.96926570524023f), FL2FXCONST_SGL(0.73775654896574f)}, + {FL2FXCONST_SGL(0.30872163214726f), FL2FXCONST_SGL(0.41514960556126f)}, + {FL2FXCONST_SGL(-0.24523839572639f), FL2FXCONST_SGL(0.63206633394807f)}, + {FL2FXCONST_SGL(-0.33813265086024f), FL2FXCONST_SGL(-0.38661779441897f)}, + {FL2FXCONST_SGL(-0.05826828420146f), FL2FXCONST_SGL(-0.06940774188029f)}, + {FL2FXCONST_SGL(-0.22898461455054f), FL2FXCONST_SGL(0.97054853316316f)}, + {FL2FXCONST_SGL(-0.18509915019881f), FL2FXCONST_SGL(0.47565762892084f)}, + {FL2FXCONST_SGL(-0.10488238045009f), FL2FXCONST_SGL(-0.87769947402394f)}, + {FL2FXCONST_SGL(-0.71886586182037f), FL2FXCONST_SGL(0.78030982480538f)}, + {FL2FXCONST_SGL(0.99793873738654f), FL2FXCONST_SGL(0.90041310491497f)}, + {FL2FXCONST_SGL(0.57563307626120f), FL2FXCONST_SGL(-0.91034337352097f)}, + {FL2FXCONST_SGL(0.28909646383717f), FL2FXCONST_SGL(0.96307783970534f)}, + {FL2FXCONST_SGL(0.42188998312520f), FL2FXCONST_SGL(0.48148651230437f)}, + {FL2FXCONST_SGL(0.93335049681047f), FL2FXCONST_SGL(-0.43537023883588f)}, + {FL2FXCONST_SGL(-0.97087374418267f), FL2FXCONST_SGL(0.86636445711364f)}, + {FL2FXCONST_SGL(0.36722871286923f), FL2FXCONST_SGL(0.65291654172961f)}, + {FL2FXCONST_SGL(-0.81093025665696f), FL2FXCONST_SGL(0.08778370229363f)}, + {FL2FXCONST_SGL(-0.26240603062237f), FL2FXCONST_SGL(-0.92774095379098f)}, + {FL2FXCONST_SGL(0.83996497984604f), FL2FXCONST_SGL(0.55839849139647f)}, + {FL2FXCONST_SGL(-0.99909615720225f), FL2FXCONST_SGL(-0.96024605713970f)}, + {FL2FXCONST_SGL(0.74649464155061f), FL2FXCONST_SGL(0.12144893606462f)}, + {FL2FXCONST_SGL(-0.74774595569805f), FL2FXCONST_SGL(-0.26898062008959f)}, + {FL2FXCONST_SGL(0.95781667469567f), FL2FXCONST_SGL(-0.79047927052628f)}, + {FL2FXCONST_SGL(0.95472308713099f), FL2FXCONST_SGL(-0.08588776019550f)}, + {FL2FXCONST_SGL(0.48708332746299f), MAXVAL_SGL}, + {FL2FXCONST_SGL(0.46332038247497f), FL2FXCONST_SGL(0.10964126185063f)}, + {FL2FXCONST_SGL(-0.76497004940162f), FL2FXCONST_SGL(0.89210929242238f)}, + {FL2FXCONST_SGL(0.57397389364339f), FL2FXCONST_SGL(0.35289703373760f)}, + {FL2FXCONST_SGL(0.75374316974495f), FL2FXCONST_SGL(0.96705214651335f)}, + {FL2FXCONST_SGL(-0.59174397685714f), FL2FXCONST_SGL(-0.89405370422752f)}, + {FL2FXCONST_SGL(0.75087906691890f), FL2FXCONST_SGL(-0.29612672982396f)}, + {FL2FXCONST_SGL(-0.98607857336230f), FL2FXCONST_SGL(0.25034911730023f)}, + {FL2FXCONST_SGL(-0.40761056640505f), FL2FXCONST_SGL(-0.90045573444695f)}, + {FL2FXCONST_SGL(0.66929266740477f), FL2FXCONST_SGL(0.98629493401748f)}, + {FL2FXCONST_SGL(-0.97463695257310f), FL2FXCONST_SGL(-0.00190223301301f)}, + {FL2FXCONST_SGL(0.90145509409859f), FL2FXCONST_SGL(0.99781390365446f)}, + {FL2FXCONST_SGL(-0.87259289048043f), FL2FXCONST_SGL(0.99233587353666f)}, + {FL2FXCONST_SGL(-0.91529461447692f), FL2FXCONST_SGL(-0.15698707534206f)}, + {FL2FXCONST_SGL(-0.03305738840705f), FL2FXCONST_SGL(-0.37205262859764f)}, + {FL2FXCONST_SGL(0.07223051368337f), FL2FXCONST_SGL(-0.88805001733626f)}, + {FL2FXCONST_SGL(0.99498012188353f), FL2FXCONST_SGL(0.97094358113387f)}, + {FL2FXCONST_SGL(-0.74904939500519f), FL2FXCONST_SGL(0.99985483641521f)}, + {FL2FXCONST_SGL(0.04585228574211f), FL2FXCONST_SGL(0.99812337444082f)}, + {FL2FXCONST_SGL(-0.89054954257993f), FL2FXCONST_SGL(-0.31791913188064f)}, + {FL2FXCONST_SGL(-0.83782144651251f), FL2FXCONST_SGL(0.97637632547466f)}, + {FL2FXCONST_SGL(0.33454804933804f), FL2FXCONST_SGL(-0.86231516800408f)}, + {FL2FXCONST_SGL(-0.99707579362824f), FL2FXCONST_SGL(0.93237990079441f)}, + {FL2FXCONST_SGL(-0.22827527843994f), FL2FXCONST_SGL(0.18874759397997f)}, + {FL2FXCONST_SGL(0.67248046289143f), FL2FXCONST_SGL(-0.03646211390569f)}, + {FL2FXCONST_SGL(-0.05146538187944f), FL2FXCONST_SGL(-0.92599700120679f)}, + {FL2FXCONST_SGL(0.99947295749905f), FL2FXCONST_SGL(0.93625229707912f)}, + {FL2FXCONST_SGL(0.66951124390363f), FL2FXCONST_SGL(0.98905825623893f)}, + {FL2FXCONST_SGL(-0.99602956559179f), FL2FXCONST_SGL(-0.44654715757688f)}, + {FL2FXCONST_SGL(0.82104905483590f), FL2FXCONST_SGL(0.99540741724928f)}, + {FL2FXCONST_SGL(0.99186510988782f), FL2FXCONST_SGL(0.72023001312947f)}, + {FL2FXCONST_SGL(-0.65284592392918f), FL2FXCONST_SGL(0.52186723253637f)}, + {FL2FXCONST_SGL(0.93885443798188f), FL2FXCONST_SGL(-0.74895312615259f)}, + {FL2FXCONST_SGL(0.96735248738388f), FL2FXCONST_SGL(0.90891816978629f)}, + {FL2FXCONST_SGL(-0.22225968841114f), FL2FXCONST_SGL(0.57124029781228f)}, + {FL2FXCONST_SGL(-0.44132783753414f), FL2FXCONST_SGL(-0.92688840659280f)}, + {FL2FXCONST_SGL(-0.85694974219574f), FL2FXCONST_SGL(0.88844532719844f)}, + {FL2FXCONST_SGL(0.91783042091762f), FL2FXCONST_SGL(-0.46356892383970f)}, + {FL2FXCONST_SGL(0.72556974415690f), FL2FXCONST_SGL(-0.99899555770747f)}, + {FL2FXCONST_SGL(-0.99711581834508f), FL2FXCONST_SGL(0.58211560180426f)}, + {FL2FXCONST_SGL(0.77638976371966f), FL2FXCONST_SGL(0.94321834873819f)}, + {FL2FXCONST_SGL(0.07717324253925f), FL2FXCONST_SGL(0.58638399856595f)}, + {FL2FXCONST_SGL(-0.56049829194163f), FL2FXCONST_SGL(0.82522301569036f)}, + {FL2FXCONST_SGL(0.98398893639988f), FL2FXCONST_SGL(0.39467440420569f)}, + {FL2FXCONST_SGL(0.47546946844938f), FL2FXCONST_SGL(0.68613044836811f)}, + {FL2FXCONST_SGL(0.65675089314631f), FL2FXCONST_SGL(0.18331637134880f)}, + {FL2FXCONST_SGL(0.03273375457980f), FL2FXCONST_SGL(-0.74933109564108f)}, + {FL2FXCONST_SGL(-0.38684144784738f), FL2FXCONST_SGL(0.51337349030406f)}, + {FL2FXCONST_SGL(-0.97346267944545f), FL2FXCONST_SGL(-0.96549364384098f)}, + {FL2FXCONST_SGL(-0.53282156061942f), FL2FXCONST_SGL(-0.91423265091354f)}, + {FL2FXCONST_SGL(0.99817310731176f), FL2FXCONST_SGL(0.61133572482148f)}, + {FL2FXCONST_SGL(-0.50254500772635f), FL2FXCONST_SGL(-0.88829338134294f)}, + {FL2FXCONST_SGL(0.01995873238855f), FL2FXCONST_SGL(0.85223515096765f)}, + {FL2FXCONST_SGL(0.99930381973804f), FL2FXCONST_SGL(0.94578896296649f)}, + {FL2FXCONST_SGL(0.82907767600783f), FL2FXCONST_SGL(-0.06323442598128f)}, + {FL2FXCONST_SGL(-0.58660709669728f), FL2FXCONST_SGL(0.96840773806582f)}, + {FL2FXCONST_SGL(-0.17573736667267f), FL2FXCONST_SGL(-0.48166920859485f)}, + {FL2FXCONST_SGL(0.83434292401346f), FL2FXCONST_SGL(-0.13023450646997f)}, + {FL2FXCONST_SGL(0.05946491307025f), FL2FXCONST_SGL(0.20511047074866f)}, + {FL2FXCONST_SGL(0.81505484574602f), FL2FXCONST_SGL(-0.94685947861369f)}, + {FL2FXCONST_SGL(-0.44976380954860f), FL2FXCONST_SGL(0.40894572671545f)}, + {FL2FXCONST_SGL(-0.89746474625671f), FL2FXCONST_SGL(0.99846578838537f)}, + {FL2FXCONST_SGL(0.39677256130792f), FL2FXCONST_SGL(-0.74854668609359f)}, + {FL2FXCONST_SGL(-0.07588948563079f), FL2FXCONST_SGL(0.74096214084170f)}, + {FL2FXCONST_SGL(0.76343198951445f), FL2FXCONST_SGL(0.41746629422634f)}, + {FL2FXCONST_SGL(-0.74490104699626f), FL2FXCONST_SGL(0.94725911744610f)}, + {FL2FXCONST_SGL(0.64880119792759f), FL2FXCONST_SGL(0.41336660830571f)}, + {FL2FXCONST_SGL(0.62319537462542f), FL2FXCONST_SGL(-0.93098313552599f)}, + {FL2FXCONST_SGL(0.42215817594807f), FL2FXCONST_SGL(-0.07712787385208f)}, + {FL2FXCONST_SGL(0.02704554141885f), FL2FXCONST_SGL(-0.05417518053666f)}, + {FL2FXCONST_SGL(0.80001773566818f), FL2FXCONST_SGL(0.91542195141039f)}, + {FL2FXCONST_SGL(-0.79351832348816f), FL2FXCONST_SGL(-0.36208897989136f)}, + {FL2FXCONST_SGL(0.63872359151636f), FL2FXCONST_SGL(0.08128252493444f)}, + {FL2FXCONST_SGL(0.52890520960295f), FL2FXCONST_SGL(0.60048872455592f)}, + {FL2FXCONST_SGL(0.74238552914587f), FL2FXCONST_SGL(0.04491915291044f)}, + {FL2FXCONST_SGL(0.99096131449250f), FL2FXCONST_SGL(-0.19451182854402f)}, + {FL2FXCONST_SGL(-0.80412329643109f), FL2FXCONST_SGL(-0.88513818199457f)}, + {FL2FXCONST_SGL(-0.64612616129736f), FL2FXCONST_SGL(0.72198674804544f)}, + {FL2FXCONST_SGL(0.11657770663191f), FL2FXCONST_SGL(-0.83662833815041f)}, + {FL2FXCONST_SGL(-0.95053182488101f), FL2FXCONST_SGL(-0.96939905138082f)}, + {FL2FXCONST_SGL(-0.62228872928622f), FL2FXCONST_SGL(0.82767262846661f)}, + {FL2FXCONST_SGL(0.03004475787316f), FL2FXCONST_SGL(-0.99738896333384f)}, + {FL2FXCONST_SGL(-0.97987214341034f), FL2FXCONST_SGL(0.36526129686425f)}, + {FL2FXCONST_SGL(-0.99986980746200f), FL2FXCONST_SGL(-0.36021610299715f)}, + {FL2FXCONST_SGL(0.89110648599879f), FL2FXCONST_SGL(-0.97894250343044f)}, + {FL2FXCONST_SGL(0.10407960510582f), FL2FXCONST_SGL(0.77357793811619f)}, + {FL2FXCONST_SGL(0.95964737821728f), FL2FXCONST_SGL(-0.35435818285502f)}, + {FL2FXCONST_SGL(0.50843233159162f), FL2FXCONST_SGL(0.96107691266205f)}, + {FL2FXCONST_SGL(0.17006334670615f), FL2FXCONST_SGL(-0.76854025314829f)}, + {FL2FXCONST_SGL(0.25872675063360f), FL2FXCONST_SGL(0.99893303933816f)}, + {FL2FXCONST_SGL(-0.01115998681937f), FL2FXCONST_SGL(0.98496019742444f)}, + {FL2FXCONST_SGL(-0.79598702973261f), FL2FXCONST_SGL(0.97138411318894f)}, + {FL2FXCONST_SGL(-0.99264708948101f), FL2FXCONST_SGL(-0.99542822402536f)}, + {FL2FXCONST_SGL(-0.99829663752818f), FL2FXCONST_SGL(0.01877138824311f)}, + {FL2FXCONST_SGL(-0.70801016548184f), FL2FXCONST_SGL(0.33680685948117f)}, + {FL2FXCONST_SGL(-0.70467057786826f), FL2FXCONST_SGL(0.93272777501857f)}, + {FL2FXCONST_SGL(0.99846021905254f), FL2FXCONST_SGL(-0.98725746254433f)}, + {FL2FXCONST_SGL(-0.63364968534650f), FL2FXCONST_SGL(-0.16473594423746f)}, + {FL2FXCONST_SGL(-0.16258217500792f), FL2FXCONST_SGL(-0.95939125400802f)}, + {FL2FXCONST_SGL(-0.43645594360633f), FL2FXCONST_SGL(-0.94805030113284f)}, + {FL2FXCONST_SGL(-0.99848471702976f), FL2FXCONST_SGL(0.96245166923809f)}, + {FL2FXCONST_SGL(-0.16796458968998f), FL2FXCONST_SGL(-0.98987511890470f)}, + {FL2FXCONST_SGL(-0.87979225745213f), FL2FXCONST_SGL(-0.71725725041680f)}, + {FL2FXCONST_SGL(0.44183099021786f), FL2FXCONST_SGL(-0.93568974498761f)}, + {FL2FXCONST_SGL(0.93310180125532f), FL2FXCONST_SGL(-0.99913308068246f)}, + {FL2FXCONST_SGL(-0.93941931782002f), FL2FXCONST_SGL(-0.56409379640356f)}, + {FL2FXCONST_SGL(-0.88590003188677f), FL2FXCONST_SGL(0.47624600491382f)}, + {FL2FXCONST_SGL(0.99971463703691f), FL2FXCONST_SGL(-0.83889954253462f)}, + {FL2FXCONST_SGL(-0.75376385639978f), FL2FXCONST_SGL(0.00814643438625f)}, + {FL2FXCONST_SGL(0.93887685615875f), FL2FXCONST_SGL(-0.11284528204636f)}, + {FL2FXCONST_SGL(0.85126435782309f), FL2FXCONST_SGL(0.52349251543547f)}, + {FL2FXCONST_SGL(0.39701421446381f), FL2FXCONST_SGL(0.81779634174316f)}, + {FL2FXCONST_SGL(-0.37024464187437f), FL2FXCONST_SGL(-0.87071656222959f)}, + {FL2FXCONST_SGL(-0.36024828242896f), FL2FXCONST_SGL(0.34655735648287f)}, + {FL2FXCONST_SGL(-0.93388812549209f), FL2FXCONST_SGL(-0.84476541096429f)}, + {FL2FXCONST_SGL(-0.65298804552119f), FL2FXCONST_SGL(-0.18439575450921f)}, + {FL2FXCONST_SGL(0.11960319006843f), FL2FXCONST_SGL(0.99899346780168f)}, + {FL2FXCONST_SGL(0.94292565553160f), FL2FXCONST_SGL(0.83163906518293f)}, + {FL2FXCONST_SGL(0.75081145286948f), FL2FXCONST_SGL(-0.35533223142265f)}, + {FL2FXCONST_SGL(0.56721979748394f), FL2FXCONST_SGL(-0.24076836414499f)}, + {FL2FXCONST_SGL(0.46857766746029f), FL2FXCONST_SGL(-0.30140233457198f)}, + {FL2FXCONST_SGL(0.97312313923635f), FL2FXCONST_SGL(-0.99548191630031f)}, + {FL2FXCONST_SGL(-0.38299976567017f), FL2FXCONST_SGL(0.98516909715427f)}, + {FL2FXCONST_SGL(0.41025800019463f), FL2FXCONST_SGL(0.02116736935734f)}, + {FL2FXCONST_SGL(0.09638062008048f), FL2FXCONST_SGL(0.04411984381457f)}, + {FL2FXCONST_SGL(-0.85283249275397f), FL2FXCONST_SGL(0.91475563922421f)}, + {FL2FXCONST_SGL(0.88866808958124f), FL2FXCONST_SGL(-0.99735267083226f)}, + {FL2FXCONST_SGL(-0.48202429536989f), FL2FXCONST_SGL(-0.96805608884164f)}, + {FL2FXCONST_SGL(0.27572582416567f), FL2FXCONST_SGL(0.58634753335832f)}, + {FL2FXCONST_SGL(-0.65889129659168f), FL2FXCONST_SGL(0.58835634138583f)}, + {FL2FXCONST_SGL(0.98838086953732f), FL2FXCONST_SGL(0.99994349600236f)}, + {FL2FXCONST_SGL(-0.20651349620689f), FL2FXCONST_SGL(0.54593044066355f)}, + {FL2FXCONST_SGL(-0.62126416356920f), FL2FXCONST_SGL(-0.59893681700392f)}, + {FL2FXCONST_SGL(0.20320105410437f), FL2FXCONST_SGL(-0.86879180355289f)}, + {FL2FXCONST_SGL(-0.97790548600584f), FL2FXCONST_SGL(0.96290806999242f)}, + {FL2FXCONST_SGL(0.11112534735126f), FL2FXCONST_SGL(0.21484763313301f)}, + {FL2FXCONST_SGL(-0.41368337314182f), FL2FXCONST_SGL(0.28216837680365f)}, + {FL2FXCONST_SGL(0.24133038992960f), FL2FXCONST_SGL(0.51294362630238f)}, + {FL2FXCONST_SGL(-0.66393410674885f), FL2FXCONST_SGL(-0.08249679629081f)}, + {FL2FXCONST_SGL(-0.53697829178752f), FL2FXCONST_SGL(-0.97649903936228f)}, + {FL2FXCONST_SGL(-0.97224737889348f), FL2FXCONST_SGL(0.22081333579837f)}, + {FL2FXCONST_SGL(0.87392477144549f), FL2FXCONST_SGL(-0.12796173740361f)}, + {FL2FXCONST_SGL(0.19050361015753f), FL2FXCONST_SGL(0.01602615387195f)}, + {FL2FXCONST_SGL(-0.46353441212724f), FL2FXCONST_SGL(-0.95249041539006f)}, + {FL2FXCONST_SGL(-0.07064096339021f), FL2FXCONST_SGL(-0.94479803205886f)}, + {FL2FXCONST_SGL(-0.92444085484466f), FL2FXCONST_SGL(-0.10457590187436f)}, + {FL2FXCONST_SGL(-0.83822593578728f), FL2FXCONST_SGL(-0.01695043208885f)}, + {FL2FXCONST_SGL(0.75214681811150f), FL2FXCONST_SGL(-0.99955681042665f)}, + {FL2FXCONST_SGL(-0.42102998829339f), FL2FXCONST_SGL(0.99720941999394f)}, + {FL2FXCONST_SGL(-0.72094786237696f), FL2FXCONST_SGL(-0.35008961934255f)}, + {FL2FXCONST_SGL(0.78843311019251f), FL2FXCONST_SGL(0.52851398958271f)}, + {FL2FXCONST_SGL(0.97394027897442f), FL2FXCONST_SGL(-0.26695944086561f)}, + {FL2FXCONST_SGL(0.99206463477946f), FL2FXCONST_SGL(-0.57010120849429f)}, + {FL2FXCONST_SGL(0.76789609461795f), FL2FXCONST_SGL(-0.76519356730966f)}, + {FL2FXCONST_SGL(-0.82002421836409f), FL2FXCONST_SGL(-0.73530179553767f)}, + {FL2FXCONST_SGL(0.81924990025724f), FL2FXCONST_SGL(0.99698425250579f)}, + {FL2FXCONST_SGL(-0.26719850873357f), FL2FXCONST_SGL(0.68903369776193f)}, + {FL2FXCONST_SGL(-0.43311260380975f), FL2FXCONST_SGL(0.85321815947490f)}, + {FL2FXCONST_SGL(0.99194979673836f), FL2FXCONST_SGL(0.91876249766422f)}, + {FL2FXCONST_SGL(-0.80692001248487f), FL2FXCONST_SGL(-0.32627540663214f)}, + {FL2FXCONST_SGL(0.43080003649976f), FL2FXCONST_SGL(-0.21919095636638f)}, + {FL2FXCONST_SGL(0.67709491937357f), FL2FXCONST_SGL(-0.95478075822906f)}, + {FL2FXCONST_SGL(0.56151770568316f), FL2FXCONST_SGL(-0.70693811747778f)}, + {FL2FXCONST_SGL(0.10831862810749f), FL2FXCONST_SGL(-0.08628837174592f)}, + {FL2FXCONST_SGL(0.91229417540436f), FL2FXCONST_SGL(-0.65987351408410f)}, + {FL2FXCONST_SGL(-0.48972893932274f), FL2FXCONST_SGL(0.56289246362686f)}, + {FL2FXCONST_SGL(-0.89033658689697f), FL2FXCONST_SGL(-0.71656563987082f)}, + {FL2FXCONST_SGL(0.65269447475094f), FL2FXCONST_SGL(0.65916004833932f)}, + {FL2FXCONST_SGL(0.67439478141121f), FL2FXCONST_SGL(-0.81684380846796f)}, + {FL2FXCONST_SGL(-0.47770832416973f), FL2FXCONST_SGL(-0.16789556203025f)}, + {FL2FXCONST_SGL(-0.99715979260878f), FL2FXCONST_SGL(-0.93565784007648f)}, + {FL2FXCONST_SGL(-0.90889593602546f), FL2FXCONST_SGL(0.62034397054380f)}, + {FL2FXCONST_SGL(-0.06618622548177f), FL2FXCONST_SGL(-0.23812217221359f)}, + {FL2FXCONST_SGL(0.99430266919728f), FL2FXCONST_SGL(0.18812555317553f)}, + {FL2FXCONST_SGL(0.97686402381843f), FL2FXCONST_SGL(-0.28664534366620f)}, + {FL2FXCONST_SGL(0.94813650221268f), FL2FXCONST_SGL(-0.97506640027128f)}, + {FL2FXCONST_SGL(-0.95434497492853f), FL2FXCONST_SGL(-0.79607978501983f)}, + {FL2FXCONST_SGL(-0.49104783137150f), FL2FXCONST_SGL(0.32895214359663f)}, + {FL2FXCONST_SGL(0.99881175120751f), FL2FXCONST_SGL(0.88993983831354f)}, + {FL2FXCONST_SGL(0.50449166760303f), FL2FXCONST_SGL(-0.85995072408434f)}, + {FL2FXCONST_SGL(0.47162891065108f), FL2FXCONST_SGL(-0.18680204049569f)}, + {FL2FXCONST_SGL(-0.62081581361840f), FL2FXCONST_SGL(0.75000676218956f)}, + {FL2FXCONST_SGL(-0.43867015250812f), FL2FXCONST_SGL(0.99998069244322f)}, + {FL2FXCONST_SGL(0.98630563232075f), FL2FXCONST_SGL(-0.53578899600662f)}, + {FL2FXCONST_SGL(-0.61510362277374f), FL2FXCONST_SGL(-0.89515019899997f)}, + {FL2FXCONST_SGL(-0.03841517601843f), FL2FXCONST_SGL(-0.69888815681179f)}, + {FL2FXCONST_SGL(-0.30102157304644f), FL2FXCONST_SGL(-0.07667808922205f)}, + {FL2FXCONST_SGL(0.41881284182683f), FL2FXCONST_SGL(0.02188098922282f)}, + {FL2FXCONST_SGL(-0.86135454941237f), FL2FXCONST_SGL(0.98947480909359f)}, + {FL2FXCONST_SGL(0.67226861393788f), FL2FXCONST_SGL(-0.13494389011014f)}, + {FL2FXCONST_SGL(-0.70737398842068f), FL2FXCONST_SGL(-0.76547349325992f)}, + {FL2FXCONST_SGL(0.94044946687963f), FL2FXCONST_SGL(0.09026201157416f)}, + {FL2FXCONST_SGL(-0.82386352534327f), FL2FXCONST_SGL(0.08924768823676f)}, + {FL2FXCONST_SGL(-0.32070666698656f), FL2FXCONST_SGL(0.50143421908753f)}, + {FL2FXCONST_SGL(0.57593163224487f), FL2FXCONST_SGL(-0.98966422921509f)}, + {FL2FXCONST_SGL(-0.36326018419965f), FL2FXCONST_SGL(0.07440243123228f)}, + {FL2FXCONST_SGL(0.99979044674350f), FL2FXCONST_SGL(-0.14130287347405f)}, + {FL2FXCONST_SGL(-0.92366023326932f), FL2FXCONST_SGL(-0.97979298068180f)}, + {FL2FXCONST_SGL(-0.44607178518598f), FL2FXCONST_SGL(-0.54233252016394f)}, + {FL2FXCONST_SGL(0.44226800932956f), FL2FXCONST_SGL(0.71326756742752f)}, + {FL2FXCONST_SGL(0.03671907158312f), FL2FXCONST_SGL(0.63606389366675f)}, + {FL2FXCONST_SGL(0.52175424682195f), FL2FXCONST_SGL(-0.85396826735705f)}, + {FL2FXCONST_SGL(-0.94701139690956f), FL2FXCONST_SGL(-0.01826348194255f)}, + {FL2FXCONST_SGL(-0.98759606946049f), FL2FXCONST_SGL(0.82288714303073f)}, + {FL2FXCONST_SGL(0.87434794743625f), FL2FXCONST_SGL(0.89399495655433f)}, + {FL2FXCONST_SGL(-0.93412041758744f), FL2FXCONST_SGL(0.41374052024363f)}, + {FL2FXCONST_SGL(0.96063943315511f), FL2FXCONST_SGL(0.93116709541280f)}, + {FL2FXCONST_SGL(0.97534253457837f), FL2FXCONST_SGL(0.86150930812689f)}, + {FL2FXCONST_SGL(0.99642466504163f), FL2FXCONST_SGL(0.70190043427512f)}, + {FL2FXCONST_SGL(-0.94705089665984f), FL2FXCONST_SGL(-0.29580042814306f)}, + {FL2FXCONST_SGL(0.91599807087376f), FL2FXCONST_SGL(-0.98147830385781f)}}; //@} /* diff --git a/libSBRdec/src/sbrdecoder.cpp b/libSBRdec/src/sbrdecoder.cpp index 4bc6f69..c827ced 100644 --- a/libSBRdec/src/sbrdecoder.cpp +++ b/libSBRdec/src/sbrdecoder.cpp @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------------- Software License for The Fraunhofer FDK AAC Codec Library for Android -© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten +© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. All rights reserved. 1. INTRODUCTION @@ -871,11 +871,10 @@ INT sbrDecoder_Header(HANDLE_SBRDECODER self, HANDLE_FDK_BITSTREAM hBs, if (sbrError == SBRDEC_OK) { hSbrHeader->syncState = SBR_HEADER; hSbrHeader->status |= SBRDEC_HDR_STAT_UPDATE; + } else { + hSbrHeader->syncState = SBR_NOT_INITIALIZED; + hSbrHeader->status = HEADER_ERROR; } - /* else { - Since we already have overwritten the old SBR header the only way out - is UPSAMPLING! This will be prepared in the next step. - } */ } } } |