diff --git a/extern/FreeImage/FreeImage.def b/extern/FreeImage/FreeImage.def deleted file mode 100755 index 935d836..0000000 --- a/extern/FreeImage/FreeImage.def +++ /dev/null @@ -1,227 +0,0 @@ -LIBRARY FreeImage.dll -EXPORTS -FreeImage_OutputMessageProc -FreeImage_AcquireMemory@12 -FreeImage_AdjustBrightness@12 -FreeImage_AdjustColors@32 -FreeImage_AdjustContrast@12 -FreeImage_AdjustCurve@12 -FreeImage_AdjustGamma@12 -FreeImage_Allocate@24 -FreeImage_AllocateEx@36 -FreeImage_AllocateExT@40 -FreeImage_AllocateT@28 -FreeImage_AppendPage@8 -FreeImage_ApplyColorMapping@24 -FreeImage_ApplyPaletteIndexMapping@20 -FreeImage_Clone@4 -FreeImage_CloneMetadata@8 -FreeImage_CloneTag@4 -FreeImage_CloseMemory@4 -FreeImage_CloseMultiBitmap@8 -FreeImage_ColorQuantize@8 -FreeImage_ColorQuantizeEx@20 -FreeImage_Composite@16 -FreeImage_ConvertFromRawBits@36 -FreeImage_ConvertLine16To24_555@12 -FreeImage_ConvertLine16To24_565@12 -FreeImage_ConvertLine16To32_555@12 -FreeImage_ConvertLine16To32_565@12 -FreeImage_ConvertLine16To4_555@12 -FreeImage_ConvertLine16To4_565@12 -FreeImage_ConvertLine16To8_555@12 -FreeImage_ConvertLine16To8_565@12 -FreeImage_ConvertLine16_555_To16_565@12 -FreeImage_ConvertLine16_565_To16_555@12 -FreeImage_ConvertLine1To16_555@16 -FreeImage_ConvertLine1To16_565@16 -FreeImage_ConvertLine1To24@16 -FreeImage_ConvertLine1To32@16 -FreeImage_ConvertLine1To4@12 -FreeImage_ConvertLine1To8@12 -FreeImage_ConvertLine24To16_555@12 -FreeImage_ConvertLine24To16_565@12 -FreeImage_ConvertLine24To32@12 -FreeImage_ConvertLine24To4@12 -FreeImage_ConvertLine24To8@12 -FreeImage_ConvertLine32To16_555@12 -FreeImage_ConvertLine32To16_565@12 -FreeImage_ConvertLine32To24@12 -FreeImage_ConvertLine32To4@12 -FreeImage_ConvertLine32To8@12 -FreeImage_ConvertLine4To16_555@16 -FreeImage_ConvertLine4To16_565@16 -FreeImage_ConvertLine4To24@16 -FreeImage_ConvertLine4To32@16 -FreeImage_ConvertLine4To8@12 -FreeImage_ConvertLine8To16_555@16 -FreeImage_ConvertLine8To16_565@16 -FreeImage_ConvertLine8To24@16 -FreeImage_ConvertLine8To32@16 -FreeImage_ConvertLine8To4@16 -FreeImage_ConvertTo16Bits555@4 -FreeImage_ConvertTo16Bits565@4 -FreeImage_ConvertTo24Bits@4 -FreeImage_ConvertTo32Bits@4 -FreeImage_ConvertTo4Bits@4 -FreeImage_ConvertTo8Bits@4 -FreeImage_ConvertToGreyscale@4 -FreeImage_ConvertToRGBF@4 -FreeImage_ConvertToRawBits@32 -FreeImage_ConvertToStandardType@8 -FreeImage_ConvertToType@12 -FreeImage_Copy@20 -FreeImage_CreateICCProfile@12 -FreeImage_CreateTag@0 -FreeImage_DeInitialise@0 -FreeImage_DeletePage@8 -FreeImage_DeleteTag@4 -FreeImage_DestroyICCProfile@4 -FreeImage_Dither@8 -FreeImage_EnlargeCanvas@28 -FreeImage_FIFSupportsExportBPP@8 -FreeImage_FIFSupportsExportType@8 -FreeImage_FIFSupportsICCProfiles@4 -FreeImage_FIFSupportsReading@4 -FreeImage_FIFSupportsWriting@4 -FreeImage_FillBackground@12 -FreeImage_FindCloseMetadata@4 -FreeImage_FindFirstMetadata@12 -FreeImage_FindNextMetadata@8 -FreeImage_FlipHorizontal@4 -FreeImage_FlipVertical@4 -FreeImage_GetAdjustColorsLookupTable@32 -FreeImage_GetBPP@4 -FreeImage_GetBackgroundColor@8 -FreeImage_GetBits@4 -FreeImage_GetBlueMask@4 -FreeImage_GetChannel@8 -FreeImage_GetColorType@4 -FreeImage_GetColorsUsed@4 -FreeImage_GetComplexChannel@8 -FreeImage_GetCopyrightMessage@0 -FreeImage_GetDIBSize@4 -FreeImage_GetDotsPerMeterX@4 -FreeImage_GetDotsPerMeterY@4 -FreeImage_GetFIFCount@0 -FreeImage_GetFIFDescription@4 -FreeImage_GetFIFExtensionList@4 -FreeImage_GetFIFFromFilename@4 -FreeImage_GetFIFFromFilenameU@4 -FreeImage_GetFIFFromFormat@4 -FreeImage_GetFIFFromMime@4 -FreeImage_GetFIFMimeType@4 -FreeImage_GetFIFRegExpr@4 -FreeImage_GetFileType@8 -FreeImage_GetFileTypeFromHandle@12 -FreeImage_GetFileTypeFromMemory@8 -FreeImage_GetFileTypeU@8 -FreeImage_GetFormatFromFIF@4 -FreeImage_GetGreenMask@4 -FreeImage_GetHeight@4 -FreeImage_GetHistogram@12 -FreeImage_GetICCProfile@4 -FreeImage_GetImageType@4 -FreeImage_GetInfo@4 -FreeImage_GetInfoHeader@4 -FreeImage_GetLine@4 -FreeImage_GetLockedPageNumbers@12 -FreeImage_GetMetadata@16 -FreeImage_GetMetadataCount@8 -FreeImage_GetPageCount@4 -FreeImage_GetPalette@4 -FreeImage_GetPitch@4 -FreeImage_GetPixelColor@16 -FreeImage_GetPixelIndex@16 -FreeImage_GetRedMask@4 -FreeImage_GetScanLine@8 -FreeImage_GetTagCount@4 -FreeImage_GetTagDescription@4 -FreeImage_GetTagID@4 -FreeImage_GetTagKey@4 -FreeImage_GetTagLength@4 -FreeImage_GetTagType@4 -FreeImage_GetTagValue@4 -FreeImage_GetTransparencyCount@4 -FreeImage_GetTransparencyTable@4 -FreeImage_GetTransparentIndex@4 -FreeImage_GetVersion@0 -FreeImage_GetWidth@4 -FreeImage_HasBackgroundColor@4 -FreeImage_Initialise@4 -FreeImage_InsertPage@12 -FreeImage_Invert@4 -FreeImage_IsLittleEndian@0 -FreeImage_IsPluginEnabled@4 -FreeImage_IsTransparent@4 -FreeImage_JPEGCrop@24 -FreeImage_JPEGCropU@24 -FreeImage_JPEGTransform@16 -FreeImage_JPEGTransformU@16 -FreeImage_Load@12 -FreeImage_LoadFromHandle@16 -FreeImage_LoadFromMemory@12 -FreeImage_LoadMultiBitmapFromMemory@12 -FreeImage_LoadU@12 -FreeImage_LockPage@8 -FreeImage_LookupSVGColor@16 -FreeImage_LookupX11Color@16 -FreeImage_MakeThumbnail@12 -FreeImage_MovePage@12 -FreeImage_MultigridPoissonSolver@8 -FreeImage_OpenMemory@8 -FreeImage_OpenMultiBitmap@24 -FreeImage_OpenMultiBitmapFromHandle@16 -FreeImage_Paste@20 -FreeImage_PreMultiplyWithAlpha@4 -FreeImage_ReadMemory@16 -FreeImage_RegisterExternalPlugin@20 -FreeImage_RegisterLocalPlugin@20 -FreeImage_Rescale@16 -FreeImage_Rotate@16 -FreeImage_RotateClassic@12 -FreeImage_RotateEx@48 -FreeImage_Save@16 -FreeImage_SaveToHandle@20 -FreeImage_SaveToMemory@16 -FreeImage_SaveU@16 -FreeImage_SeekMemory@12 -FreeImage_SetBackgroundColor@8 -FreeImage_SetChannel@12 -FreeImage_SetComplexChannel@12 -FreeImage_SetDotsPerMeterX@8 -FreeImage_SetDotsPerMeterY@8 -FreeImage_SetMetadata@16 -FreeImage_SetOutputMessage@4 -FreeImage_SetOutputMessageStdCall@4 -FreeImage_SetPixelColor@16 -FreeImage_SetPixelIndex@16 -FreeImage_SetPluginEnabled@8 -FreeImage_SetTagCount@8 -FreeImage_SetTagDescription@8 -FreeImage_SetTagID@8 -FreeImage_SetTagKey@8 -FreeImage_SetTagLength@8 -FreeImage_SetTagType@8 -FreeImage_SetTagValue@8 -FreeImage_SetTransparencyTable@12 -FreeImage_SetTransparent@8 -FreeImage_SetTransparentIndex@8 -FreeImage_SwapColors@16 -FreeImage_SwapPaletteIndices@12 -FreeImage_TagToString@12 -FreeImage_TellMemory@4 -FreeImage_Threshold@8 -FreeImage_TmoDrago03@20 -FreeImage_TmoFattal02@20 -FreeImage_TmoReinhard05@20 -FreeImage_TmoReinhard05Ex@36 -FreeImage_ToneMapping@24 -FreeImage_Unload@4 -FreeImage_UnlockPage@12 -FreeImage_WriteMemory@16 -FreeImage_ZLibCRC32@12 -FreeImage_ZLibCompress@16 -FreeImage_ZLibGUnzip@16 -FreeImage_ZLibGZip@16 -FreeImage_ZLibUncompress@16 diff --git a/extern/FreeImage/FreeImage.dll b/extern/FreeImage/FreeImage.dll deleted file mode 100755 index d6fbf5d..0000000 Binary files a/extern/FreeImage/FreeImage.dll and /dev/null differ diff --git a/extern/FreeImage/FreeImage.h b/extern/FreeImage/FreeImage.h deleted file mode 100644 index b61f1e1..0000000 --- a/extern/FreeImage/FreeImage.h +++ /dev/null @@ -1,1090 +0,0 @@ -// ========================================================== -// FreeImage 3 -// -// Design and implementation by -// - Floris van den Berg (flvdberg@wxs.nl) -// - Hervé Drolon (drolon@infonie.fr) -// -// Contributors: -// - Adam Gates (radad@xoasis.com) -// - Alex Kwak -// - Alexander Dymerets (sashad@te.net.ua) -// - Detlev Vendt (detlev.vendt@brillit.de) -// - Jan L. Nauta (jln@magentammt.com) -// - Jani Kajala (janik@remedy.fi) -// - Juergen Riecker (j.riecker@gmx.de) -// - Karl-Heinz Bussian (khbussian@moss.de) -// - Laurent Rocher (rocherl@club-internet.fr) -// - Luca Piergentili (l.pierge@terra.es) -// - Machiel ten Brinke (brinkem@uni-one.nl) -// - Markus Loibl (markus.loibl@epost.de) -// - Martin Weber (martweb@gmx.net) -// - Matthias Wandel (mwandel@rim.net) -// - Michal Novotny (michal@etc.cz) -// - Petr Pytelka (pyta@lightcomp.com) -// - Riley McNiff (rmcniff@marexgroup.com) -// - Ryan Rubley (ryan@lostreality.org) -// - Volker Gärtner (volkerg@gmx.at) -// -// This file is part of FreeImage 3 -// -// COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY -// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES -// THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE -// OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED -// CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT -// THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY -// SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL -// PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER -// THIS DISCLAIMER. -// -// Use at your own risk! -// ========================================================== - -#ifndef FREEIMAGE_H -#define FREEIMAGE_H - -// Version information ------------------------------------------------------ - -#define FREEIMAGE_MAJOR_VERSION 3 -#define FREEIMAGE_MINOR_VERSION 13 -#define FREEIMAGE_RELEASE_SERIAL 1 - -// Compiler options --------------------------------------------------------- - -#include // needed for UNICODE functions - -#if defined(FREEIMAGE_LIB) - #define DLL_API - #define DLL_CALLCONV -#else - #if defined(_WIN32) || defined(__WIN32__) - #define DLL_CALLCONV __stdcall - // The following ifdef block is the standard way of creating macros which make exporting - // from a DLL simpler. All files within this DLL are compiled with the FREEIMAGE_EXPORTS - // symbol defined on the command line. this symbol should not be defined on any project - // that uses this DLL. This way any other project whose source files include this file see - // DLL_API functions as being imported from a DLL, wheras this DLL sees symbols - // defined with this macro as being exported. - #ifdef FREEIMAGE_EXPORTS - #define DLL_API __declspec(dllexport) - #else - #define DLL_API __declspec(dllimport) - #endif // FREEIMAGE_EXPORTS - #else - // try the gcc visibility support (see http://gcc.gnu.org/wiki/Visibility) - #if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) - #ifndef GCC_HASCLASSVISIBILITY - #define GCC_HASCLASSVISIBILITY - #endif - #endif // __GNUC__ - #define DLL_CALLCONV - #if defined(GCC_HASCLASSVISIBILITY) - #define DLL_API __attribute__ ((visibility("default"))) - #else - #define DLL_API - #endif - #endif // WIN32 / !WIN32 -#endif // FREEIMAGE_LIB - -// Some versions of gcc may have BYTE_ORDER or __BYTE_ORDER defined -// If your big endian system isn't being detected, add an OS specific check -#if (defined(BYTE_ORDER) && BYTE_ORDER==BIG_ENDIAN) || \ - (defined(__BYTE_ORDER) && __BYTE_ORDER==__BIG_ENDIAN) || \ - defined(__BIG_ENDIAN__) -#define FREEIMAGE_BIGENDIAN -#endif // BYTE_ORDER - -// This really only affects 24 and 32 bit formats, the rest are always RGB order. -#define FREEIMAGE_COLORORDER_BGR 0 -#define FREEIMAGE_COLORORDER_RGB 1 -#if defined(FREEIMAGE_BIGENDIAN) -#define FREEIMAGE_COLORORDER FREEIMAGE_COLORORDER_RGB -#else -#define FREEIMAGE_COLORORDER FREEIMAGE_COLORORDER_BGR -#endif - -// Ensure 4-byte enums if we're using Borland C++ compilers -#if defined(__BORLANDC__) -#pragma option push -b -#endif - -// For C compatibility -------------------------------------------------------- - -#ifdef __cplusplus -#define FI_DEFAULT(x) = x -#define FI_ENUM(x) enum x -#define FI_STRUCT(x) struct x -#else -#define FI_DEFAULT(x) -#define FI_ENUM(x) typedef int x; enum x -#define FI_STRUCT(x) typedef struct x x; struct x -#endif - -// Bitmap types ------------------------------------------------------------- - -FI_STRUCT (FIBITMAP) { void *data; }; -FI_STRUCT (FIMULTIBITMAP) { void *data; }; - -// Types used in the library (directly copied from Windows) ----------------- - -#if defined(__MINGW32__) && defined(_WINDOWS_H) -#define _WINDOWS_ // prevent a bug in MinGW32 -#endif // __MINGW32__ - -#ifndef _WINDOWS_ -#define _WINDOWS_ - -#ifndef FALSE -#define FALSE 0 -#endif -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef NULL -#define NULL 0 -#endif - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#ifndef _MSC_VER -// define portable types for 32-bit / 64-bit OS -#include -typedef int32_t BOOL; -typedef uint8_t BYTE; -typedef uint16_t WORD; -typedef uint32_t DWORD; -typedef int32_t LONG; -#else -// MS is not C99 ISO compliant -typedef long BOOL; -typedef unsigned char BYTE; -typedef unsigned short WORD; -typedef unsigned long DWORD; -typedef long LONG; -#endif // _MSC_VER - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(push, 1) -#else -#pragma pack(1) -#endif // WIN32 - -typedef struct tagRGBQUAD { -#if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_BGR - BYTE rgbBlue; - BYTE rgbGreen; - BYTE rgbRed; -#else - BYTE rgbRed; - BYTE rgbGreen; - BYTE rgbBlue; -#endif // FREEIMAGE_COLORORDER - BYTE rgbReserved; -} RGBQUAD; - -typedef struct tagRGBTRIPLE { -#if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_BGR - BYTE rgbtBlue; - BYTE rgbtGreen; - BYTE rgbtRed; -#else - BYTE rgbtRed; - BYTE rgbtGreen; - BYTE rgbtBlue; -#endif // FREEIMAGE_COLORORDER -} RGBTRIPLE; - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(pop) -#else -#pragma pack() -#endif // WIN32 - -typedef struct tagBITMAPINFOHEADER{ - DWORD biSize; - LONG biWidth; - LONG biHeight; - WORD biPlanes; - WORD biBitCount; - DWORD biCompression; - DWORD biSizeImage; - LONG biXPelsPerMeter; - LONG biYPelsPerMeter; - DWORD biClrUsed; - DWORD biClrImportant; -} BITMAPINFOHEADER, *PBITMAPINFOHEADER; - -typedef struct tagBITMAPINFO { - BITMAPINFOHEADER bmiHeader; - RGBQUAD bmiColors[1]; -} BITMAPINFO, *PBITMAPINFO; - -#endif // _WINDOWS_ - -// Types used in the library (specific to FreeImage) ------------------------ - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(push, 1) -#else -#pragma pack(1) -#endif // WIN32 - -/** 48-bit RGB -*/ -typedef struct tagFIRGB16 { - WORD red; - WORD green; - WORD blue; -} FIRGB16; - -/** 64-bit RGBA -*/ -typedef struct tagFIRGBA16 { - WORD red; - WORD green; - WORD blue; - WORD alpha; -} FIRGBA16; - -/** 96-bit RGB Float -*/ -typedef struct tagFIRGBF { - float red; - float green; - float blue; -} FIRGBF; - -/** 128-bit RGBA Float -*/ -typedef struct tagFIRGBAF { - float red; - float green; - float blue; - float alpha; -} FIRGBAF; - -/** Data structure for COMPLEX type (complex number) -*/ -typedef struct tagFICOMPLEX { - /// real part - double r; - /// imaginary part - double i; -} FICOMPLEX; - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(pop) -#else -#pragma pack() -#endif // WIN32 - -// Indexes for byte arrays, masks and shifts for treating pixels as words --- -// These coincide with the order of RGBQUAD and RGBTRIPLE ------------------- - -#ifndef FREEIMAGE_BIGENDIAN -#if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_BGR -// Little Endian (x86 / MS Windows, Linux) : BGR(A) order -#define FI_RGBA_RED 2 -#define FI_RGBA_GREEN 1 -#define FI_RGBA_BLUE 0 -#define FI_RGBA_ALPHA 3 -#define FI_RGBA_RED_MASK 0x00FF0000 -#define FI_RGBA_GREEN_MASK 0x0000FF00 -#define FI_RGBA_BLUE_MASK 0x000000FF -#define FI_RGBA_ALPHA_MASK 0xFF000000 -#define FI_RGBA_RED_SHIFT 16 -#define FI_RGBA_GREEN_SHIFT 8 -#define FI_RGBA_BLUE_SHIFT 0 -#define FI_RGBA_ALPHA_SHIFT 24 -#else -// Little Endian (x86 / MaxOSX) : RGB(A) order -#define FI_RGBA_RED 0 -#define FI_RGBA_GREEN 1 -#define FI_RGBA_BLUE 2 -#define FI_RGBA_ALPHA 3 -#define FI_RGBA_RED_MASK 0x000000FF -#define FI_RGBA_GREEN_MASK 0x0000FF00 -#define FI_RGBA_BLUE_MASK 0x00FF0000 -#define FI_RGBA_ALPHA_MASK 0xFF000000 -#define FI_RGBA_RED_SHIFT 0 -#define FI_RGBA_GREEN_SHIFT 8 -#define FI_RGBA_BLUE_SHIFT 16 -#define FI_RGBA_ALPHA_SHIFT 24 -#endif // FREEIMAGE_COLORORDER -#else -#if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_BGR -// Big Endian (PPC / none) : BGR(A) order -#define FI_RGBA_RED 2 -#define FI_RGBA_GREEN 1 -#define FI_RGBA_BLUE 0 -#define FI_RGBA_ALPHA 3 -#define FI_RGBA_RED_MASK 0x0000FF00 -#define FI_RGBA_GREEN_MASK 0x00FF0000 -#define FI_RGBA_BLUE_MASK 0xFF000000 -#define FI_RGBA_ALPHA_MASK 0x000000FF -#define FI_RGBA_RED_SHIFT 8 -#define FI_RGBA_GREEN_SHIFT 16 -#define FI_RGBA_BLUE_SHIFT 24 -#define FI_RGBA_ALPHA_SHIFT 0 -#else -// Big Endian (PPC / Linux, MaxOSX) : RGB(A) order -#define FI_RGBA_RED 0 -#define FI_RGBA_GREEN 1 -#define FI_RGBA_BLUE 2 -#define FI_RGBA_ALPHA 3 -#define FI_RGBA_RED_MASK 0xFF000000 -#define FI_RGBA_GREEN_MASK 0x00FF0000 -#define FI_RGBA_BLUE_MASK 0x0000FF00 -#define FI_RGBA_ALPHA_MASK 0x000000FF -#define FI_RGBA_RED_SHIFT 24 -#define FI_RGBA_GREEN_SHIFT 16 -#define FI_RGBA_BLUE_SHIFT 8 -#define FI_RGBA_ALPHA_SHIFT 0 -#endif // FREEIMAGE_COLORORDER -#endif // FREEIMAGE_BIGENDIAN - -#define FI_RGBA_RGB_MASK (FI_RGBA_RED_MASK|FI_RGBA_GREEN_MASK|FI_RGBA_BLUE_MASK) - -// The 16bit macros only include masks and shifts, since each color element is not byte aligned - -#define FI16_555_RED_MASK 0x7C00 -#define FI16_555_GREEN_MASK 0x03E0 -#define FI16_555_BLUE_MASK 0x001F -#define FI16_555_RED_SHIFT 10 -#define FI16_555_GREEN_SHIFT 5 -#define FI16_555_BLUE_SHIFT 0 -#define FI16_565_RED_MASK 0xF800 -#define FI16_565_GREEN_MASK 0x07E0 -#define FI16_565_BLUE_MASK 0x001F -#define FI16_565_RED_SHIFT 11 -#define FI16_565_GREEN_SHIFT 5 -#define FI16_565_BLUE_SHIFT 0 - -// ICC profile support ------------------------------------------------------ - -#define FIICC_DEFAULT 0x00 -#define FIICC_COLOR_IS_CMYK 0x01 - -FI_STRUCT (FIICCPROFILE) { - WORD flags; // info flag - DWORD size; // profile's size measured in bytes - void *data; // points to a block of contiguous memory containing the profile -}; - -// Important enums ---------------------------------------------------------- - -/** I/O image format identifiers. -*/ -FI_ENUM(FREE_IMAGE_FORMAT) { - FIF_UNKNOWN = -1, - FIF_BMP = 0, - FIF_ICO = 1, - FIF_JPEG = 2, - FIF_JNG = 3, - FIF_KOALA = 4, - FIF_LBM = 5, - FIF_IFF = FIF_LBM, - FIF_MNG = 6, - FIF_PBM = 7, - FIF_PBMRAW = 8, - FIF_PCD = 9, - FIF_PCX = 10, - FIF_PGM = 11, - FIF_PGMRAW = 12, - FIF_PNG = 13, - FIF_PPM = 14, - FIF_PPMRAW = 15, - FIF_RAS = 16, - FIF_TARGA = 17, - FIF_TIFF = 18, - FIF_WBMP = 19, - FIF_PSD = 20, - FIF_CUT = 21, - FIF_XBM = 22, - FIF_XPM = 23, - FIF_DDS = 24, - FIF_GIF = 25, - FIF_HDR = 26, - FIF_FAXG3 = 27, - FIF_SGI = 28, - FIF_EXR = 29, - FIF_J2K = 30, - FIF_JP2 = 31, - FIF_PFM = 32, - FIF_PICT = 33, - FIF_RAW = 34 -}; - -/** Image type used in FreeImage. -*/ -FI_ENUM(FREE_IMAGE_TYPE) { - FIT_UNKNOWN = 0, // unknown type - FIT_BITMAP = 1, // standard image : 1-, 4-, 8-, 16-, 24-, 32-bit - FIT_UINT16 = 2, // array of unsigned short : unsigned 16-bit - FIT_INT16 = 3, // array of short : signed 16-bit - FIT_UINT32 = 4, // array of unsigned long : unsigned 32-bit - FIT_INT32 = 5, // array of long : signed 32-bit - FIT_FLOAT = 6, // array of float : 32-bit IEEE floating point - FIT_DOUBLE = 7, // array of double : 64-bit IEEE floating point - FIT_COMPLEX = 8, // array of FICOMPLEX : 2 x 64-bit IEEE floating point - FIT_RGB16 = 9, // 48-bit RGB image : 3 x 16-bit - FIT_RGBA16 = 10, // 64-bit RGBA image : 4 x 16-bit - FIT_RGBF = 11, // 96-bit RGB float image : 3 x 32-bit IEEE floating point - FIT_RGBAF = 12 // 128-bit RGBA float image : 4 x 32-bit IEEE floating point -}; - -/** Image color type used in FreeImage. -*/ -FI_ENUM(FREE_IMAGE_COLOR_TYPE) { - FIC_MINISWHITE = 0, // min value is white - FIC_MINISBLACK = 1, // min value is black - FIC_RGB = 2, // RGB color model - FIC_PALETTE = 3, // color map indexed - FIC_RGBALPHA = 4, // RGB color model with alpha channel - FIC_CMYK = 5 // CMYK color model -}; - -/** Color quantization algorithms. -Constants used in FreeImage_ColorQuantize. -*/ -FI_ENUM(FREE_IMAGE_QUANTIZE) { - FIQ_WUQUANT = 0, // Xiaolin Wu color quantization algorithm - FIQ_NNQUANT = 1 // NeuQuant neural-net quantization algorithm by Anthony Dekker -}; - -/** Dithering algorithms. -Constants used in FreeImage_Dither. -*/ -FI_ENUM(FREE_IMAGE_DITHER) { - FID_FS = 0, // Floyd & Steinberg error diffusion - FID_BAYER4x4 = 1, // Bayer ordered dispersed dot dithering (order 2 dithering matrix) - FID_BAYER8x8 = 2, // Bayer ordered dispersed dot dithering (order 3 dithering matrix) - FID_CLUSTER6x6 = 3, // Ordered clustered dot dithering (order 3 - 6x6 matrix) - FID_CLUSTER8x8 = 4, // Ordered clustered dot dithering (order 4 - 8x8 matrix) - FID_CLUSTER16x16= 5, // Ordered clustered dot dithering (order 8 - 16x16 matrix) - FID_BAYER16x16 = 6 // Bayer ordered dispersed dot dithering (order 4 dithering matrix) -}; - -/** Lossless JPEG transformations -Constants used in FreeImage_JPEGTransform -*/ -FI_ENUM(FREE_IMAGE_JPEG_OPERATION) { - FIJPEG_OP_NONE = 0, // no transformation - FIJPEG_OP_FLIP_H = 1, // horizontal flip - FIJPEG_OP_FLIP_V = 2, // vertical flip - FIJPEG_OP_TRANSPOSE = 3, // transpose across UL-to-LR axis - FIJPEG_OP_TRANSVERSE = 4, // transpose across UR-to-LL axis - FIJPEG_OP_ROTATE_90 = 5, // 90-degree clockwise rotation - FIJPEG_OP_ROTATE_180 = 6, // 180-degree rotation - FIJPEG_OP_ROTATE_270 = 7 // 270-degree clockwise (or 90 ccw) -}; - -/** Tone mapping operators. -Constants used in FreeImage_ToneMapping. -*/ -FI_ENUM(FREE_IMAGE_TMO) { - FITMO_DRAGO03 = 0, // Adaptive logarithmic mapping (F. Drago, 2003) - FITMO_REINHARD05 = 1, // Dynamic range reduction inspired by photoreceptor physiology (E. Reinhard, 2005) - FITMO_FATTAL02 = 2 // Gradient domain high dynamic range compression (R. Fattal, 2002) -}; - -/** Upsampling / downsampling filters. -Constants used in FreeImage_Rescale. -*/ -FI_ENUM(FREE_IMAGE_FILTER) { - FILTER_BOX = 0, // Box, pulse, Fourier window, 1st order (constant) b-spline - FILTER_BICUBIC = 1, // Mitchell & Netravali's two-param cubic filter - FILTER_BILINEAR = 2, // Bilinear filter - FILTER_BSPLINE = 3, // 4th order (cubic) b-spline - FILTER_CATMULLROM = 4, // Catmull-Rom spline, Overhauser spline - FILTER_LANCZOS3 = 5 // Lanczos3 filter -}; - -/** Color channels. -Constants used in color manipulation routines. -*/ -FI_ENUM(FREE_IMAGE_COLOR_CHANNEL) { - FICC_RGB = 0, // Use red, green and blue channels - FICC_RED = 1, // Use red channel - FICC_GREEN = 2, // Use green channel - FICC_BLUE = 3, // Use blue channel - FICC_ALPHA = 4, // Use alpha channel - FICC_BLACK = 5, // Use black channel - FICC_REAL = 6, // Complex images: use real part - FICC_IMAG = 7, // Complex images: use imaginary part - FICC_MAG = 8, // Complex images: use magnitude - FICC_PHASE = 9 // Complex images: use phase -}; - -// Metadata support --------------------------------------------------------- - -/** - Tag data type information (based on TIFF specifications) - - Note: RATIONALs are the ratio of two 32-bit integer values. -*/ -FI_ENUM(FREE_IMAGE_MDTYPE) { - FIDT_NOTYPE = 0, // placeholder - FIDT_BYTE = 1, // 8-bit unsigned integer - FIDT_ASCII = 2, // 8-bit bytes w/ last byte null - FIDT_SHORT = 3, // 16-bit unsigned integer - FIDT_LONG = 4, // 32-bit unsigned integer - FIDT_RATIONAL = 5, // 64-bit unsigned fraction - FIDT_SBYTE = 6, // 8-bit signed integer - FIDT_UNDEFINED = 7, // 8-bit untyped data - FIDT_SSHORT = 8, // 16-bit signed integer - FIDT_SLONG = 9, // 32-bit signed integer - FIDT_SRATIONAL = 10, // 64-bit signed fraction - FIDT_FLOAT = 11, // 32-bit IEEE floating point - FIDT_DOUBLE = 12, // 64-bit IEEE floating point - FIDT_IFD = 13, // 32-bit unsigned integer (offset) - FIDT_PALETTE = 14 // 32-bit RGBQUAD -}; - -/** - Metadata models supported by FreeImage -*/ -FI_ENUM(FREE_IMAGE_MDMODEL) { - FIMD_NODATA = -1, - FIMD_COMMENTS = 0, // single comment or keywords - FIMD_EXIF_MAIN = 1, // Exif-TIFF metadata - FIMD_EXIF_EXIF = 2, // Exif-specific metadata - FIMD_EXIF_GPS = 3, // Exif GPS metadata - FIMD_EXIF_MAKERNOTE = 4, // Exif maker note metadata - FIMD_EXIF_INTEROP = 5, // Exif interoperability metadata - FIMD_IPTC = 6, // IPTC/NAA metadata - FIMD_XMP = 7, // Abobe XMP metadata - FIMD_GEOTIFF = 8, // GeoTIFF metadata - FIMD_ANIMATION = 9, // Animation metadata - FIMD_CUSTOM = 10 // Used to attach other metadata types to a dib -}; - -/** - Handle to a metadata model -*/ -FI_STRUCT (FIMETADATA) { void *data; }; - -/** - Handle to a FreeImage tag -*/ -FI_STRUCT (FITAG) { void *data; }; - -// File IO routines --------------------------------------------------------- - -#ifndef FREEIMAGE_IO -#define FREEIMAGE_IO - -typedef void* fi_handle; -typedef unsigned (DLL_CALLCONV *FI_ReadProc) (void *buffer, unsigned size, unsigned count, fi_handle handle); -typedef unsigned (DLL_CALLCONV *FI_WriteProc) (void *buffer, unsigned size, unsigned count, fi_handle handle); -typedef int (DLL_CALLCONV *FI_SeekProc) (fi_handle handle, long offset, int origin); -typedef long (DLL_CALLCONV *FI_TellProc) (fi_handle handle); - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(push, 1) -#else -#pragma pack(1) -#endif // WIN32 - -FI_STRUCT(FreeImageIO) { - FI_ReadProc read_proc; // pointer to the function used to read data - FI_WriteProc write_proc; // pointer to the function used to write data - FI_SeekProc seek_proc; // pointer to the function used to seek - FI_TellProc tell_proc; // pointer to the function used to aquire the current position -}; - -#if (defined(_WIN32) || defined(__WIN32__)) -#pragma pack(pop) -#else -#pragma pack() -#endif // WIN32 - -/** -Handle to a memory I/O stream -*/ -FI_STRUCT (FIMEMORY) { void *data; }; - -#endif // FREEIMAGE_IO - -// Plugin routines ---------------------------------------------------------- - -#ifndef PLUGINS -#define PLUGINS - -typedef const char *(DLL_CALLCONV *FI_FormatProc)(void); -typedef const char *(DLL_CALLCONV *FI_DescriptionProc)(void); -typedef const char *(DLL_CALLCONV *FI_ExtensionListProc)(void); -typedef const char *(DLL_CALLCONV *FI_RegExprProc)(void); -typedef void *(DLL_CALLCONV *FI_OpenProc)(FreeImageIO *io, fi_handle handle, BOOL read); -typedef void (DLL_CALLCONV *FI_CloseProc)(FreeImageIO *io, fi_handle handle, void *data); -typedef int (DLL_CALLCONV *FI_PageCountProc)(FreeImageIO *io, fi_handle handle, void *data); -typedef int (DLL_CALLCONV *FI_PageCapabilityProc)(FreeImageIO *io, fi_handle handle, void *data); -typedef FIBITMAP *(DLL_CALLCONV *FI_LoadProc)(FreeImageIO *io, fi_handle handle, int page, int flags, void *data); -typedef BOOL (DLL_CALLCONV *FI_SaveProc)(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void *data); -typedef BOOL (DLL_CALLCONV *FI_ValidateProc)(FreeImageIO *io, fi_handle handle); -typedef const char *(DLL_CALLCONV *FI_MimeProc)(void); -typedef BOOL (DLL_CALLCONV *FI_SupportsExportBPPProc)(int bpp); -typedef BOOL (DLL_CALLCONV *FI_SupportsExportTypeProc)(FREE_IMAGE_TYPE type); -typedef BOOL (DLL_CALLCONV *FI_SupportsICCProfilesProc)(void); - -FI_STRUCT (Plugin) { - FI_FormatProc format_proc; - FI_DescriptionProc description_proc; - FI_ExtensionListProc extension_proc; - FI_RegExprProc regexpr_proc; - FI_OpenProc open_proc; - FI_CloseProc close_proc; - FI_PageCountProc pagecount_proc; - FI_PageCapabilityProc pagecapability_proc; - FI_LoadProc load_proc; - FI_SaveProc save_proc; - FI_ValidateProc validate_proc; - FI_MimeProc mime_proc; - FI_SupportsExportBPPProc supports_export_bpp_proc; - FI_SupportsExportTypeProc supports_export_type_proc; - FI_SupportsICCProfilesProc supports_icc_profiles_proc; -}; - -typedef void (DLL_CALLCONV *FI_InitProc)(Plugin *plugin, int format_id); - -#endif // PLUGINS - - -// Load / Save flag constants ----------------------------------------------- - -#define BMP_DEFAULT 0 -#define BMP_SAVE_RLE 1 -#define CUT_DEFAULT 0 -#define DDS_DEFAULT 0 -#define EXR_DEFAULT 0 // save data as half with piz-based wavelet compression -#define EXR_FLOAT 0x0001 // save data as float instead of as half (not recommended) -#define EXR_NONE 0x0002 // save with no compression -#define EXR_ZIP 0x0004 // save with zlib compression, in blocks of 16 scan lines -#define EXR_PIZ 0x0008 // save with piz-based wavelet compression -#define EXR_PXR24 0x0010 // save with lossy 24-bit float compression -#define EXR_B44 0x0020 // save with lossy 44% float compression - goes to 22% when combined with EXR_LC -#define EXR_LC 0x0040 // save images with one luminance and two chroma channels, rather than as RGB (lossy compression) -#define FAXG3_DEFAULT 0 -#define GIF_DEFAULT 0 -#define GIF_LOAD256 1 // Load the image as a 256 color image with ununsed palette entries, if it's 16 or 2 color -#define GIF_PLAYBACK 2 // 'Play' the GIF to generate each frame (as 32bpp) instead of returning raw frame data when loading -#define HDR_DEFAULT 0 -#define ICO_DEFAULT 0 -#define ICO_MAKEALPHA 1 // convert to 32bpp and create an alpha channel from the AND-mask when loading -#define IFF_DEFAULT 0 -#define J2K_DEFAULT 0 // save with a 16:1 rate -#define JP2_DEFAULT 0 // save with a 16:1 rate -#define JPEG_DEFAULT 0 // loading (see JPEG_FAST); saving (see JPEG_QUALITYGOOD|JPEG_SUBSAMPLING_420) -#define JPEG_FAST 0x0001 // load the file as fast as possible, sacrificing some quality -#define JPEG_ACCURATE 0x0002 // load the file with the best quality, sacrificing some speed -#define JPEG_CMYK 0x0004 // load separated CMYK "as is" (use | to combine with other load flags) -#define JPEG_EXIFROTATE 0x0008 // load and rotate according to Exif 'Orientation' tag if available -#define JPEG_QUALITYSUPERB 0x80 // save with superb quality (100:1) -#define JPEG_QUALITYGOOD 0x0100 // save with good quality (75:1) -#define JPEG_QUALITYNORMAL 0x0200 // save with normal quality (50:1) -#define JPEG_QUALITYAVERAGE 0x0400 // save with average quality (25:1) -#define JPEG_QUALITYBAD 0x0800 // save with bad quality (10:1) -#define JPEG_PROGRESSIVE 0x2000 // save as a progressive-JPEG (use | to combine with other save flags) -#define JPEG_SUBSAMPLING_411 0x1000 // save with high 4x1 chroma subsampling (4:1:1) -#define JPEG_SUBSAMPLING_420 0x4000 // save with medium 2x2 medium chroma subsampling (4:2:0) - default value -#define JPEG_SUBSAMPLING_422 0x8000 // save with low 2x1 chroma subsampling (4:2:2) -#define JPEG_SUBSAMPLING_444 0x10000 // save with no chroma subsampling (4:4:4) -#define KOALA_DEFAULT 0 -#define LBM_DEFAULT 0 -#define MNG_DEFAULT 0 -#define PCD_DEFAULT 0 -#define PCD_BASE 1 // load the bitmap sized 768 x 512 -#define PCD_BASEDIV4 2 // load the bitmap sized 384 x 256 -#define PCD_BASEDIV16 3 // load the bitmap sized 192 x 128 -#define PCX_DEFAULT 0 -#define PFM_DEFAULT 0 -#define PICT_DEFAULT 0 -#define PNG_DEFAULT 0 -#define PNG_IGNOREGAMMA 1 // loading: avoid gamma correction -#define PNG_Z_BEST_SPEED 0x0001 // save using ZLib level 1 compression flag (default value is 6) -#define PNG_Z_DEFAULT_COMPRESSION 0x0006 // save using ZLib level 6 compression flag (default recommended value) -#define PNG_Z_BEST_COMPRESSION 0x0009 // save using ZLib level 9 compression flag (default value is 6) -#define PNG_Z_NO_COMPRESSION 0x0100 // save without ZLib compression -#define PNG_INTERLACED 0x0200 // save using Adam7 interlacing (use | to combine with other save flags) -#define PNM_DEFAULT 0 -#define PNM_SAVE_RAW 0 // If set the writer saves in RAW format (i.e. P4, P5 or P6) -#define PNM_SAVE_ASCII 1 // If set the writer saves in ASCII format (i.e. P1, P2 or P3) -#define PSD_DEFAULT 0 -#define RAS_DEFAULT 0 -#define RAW_DEFAULT 0 // load the file as linear RGB 48-bit -#define RAW_PREVIEW 1 // try to load the embedded JPEG preview with included Exif Data or default to RGB 24-bit -#define RAW_DISPLAY 2 // load the file as RGB 24-bit -#define SGI_DEFAULT 0 -#define TARGA_DEFAULT 0 -#define TARGA_LOAD_RGB888 1 // If set the loader converts RGB555 and ARGB8888 -> RGB888. -#define TIFF_DEFAULT 0 -#define TIFF_CMYK 0x0001 // reads/stores tags for separated CMYK (use | to combine with compression flags) -#define TIFF_PACKBITS 0x0100 // save using PACKBITS compression -#define TIFF_DEFLATE 0x0200 // save using DEFLATE compression (a.k.a. ZLIB compression) -#define TIFF_ADOBE_DEFLATE 0x0400 // save using ADOBE DEFLATE compression -#define TIFF_NONE 0x0800 // save without any compression -#define TIFF_CCITTFAX3 0x1000 // save using CCITT Group 3 fax encoding -#define TIFF_CCITTFAX4 0x2000 // save using CCITT Group 4 fax encoding -#define TIFF_LZW 0x4000 // save using LZW compression -#define TIFF_JPEG 0x8000 // save using JPEG compression -#define WBMP_DEFAULT 0 -#define XBM_DEFAULT 0 -#define XPM_DEFAULT 0 - -// Background filling options --------------------------------------------------------- -// Constants used in FreeImage_FillBackground and FreeImage_EnlargeCanvas - -#define FI_COLOR_IS_RGB_COLOR 0x00 // RGBQUAD color is a RGB color (contains no valid alpha channel) -#define FI_COLOR_IS_RGBA_COLOR 0x01 // RGBQUAD color is a RGBA color (contains a valid alpha channel) -#define FI_COLOR_FIND_EQUAL_COLOR 0x02 // For palettized images: lookup equal RGB color from palette -#define FI_COLOR_ALPHA_IS_INDEX 0x04 // The color's rgbReserved member (alpha) contains the palette index to be used -#define FI_COLOR_PALETTE_SEARCH_MASK (FI_COLOR_FIND_EQUAL_COLOR | FI_COLOR_ALPHA_IS_INDEX) // No color lookup is performed - - -#ifdef __cplusplus -extern "C" { -#endif - -// Init / Error routines ---------------------------------------------------- - -DLL_API void DLL_CALLCONV FreeImage_Initialise(BOOL load_local_plugins_only FI_DEFAULT(FALSE)); -DLL_API void DLL_CALLCONV FreeImage_DeInitialise(void); - -// Version routines --------------------------------------------------------- - -DLL_API const char *DLL_CALLCONV FreeImage_GetVersion(void); -DLL_API const char *DLL_CALLCONV FreeImage_GetCopyrightMessage(void); - -// Message output functions ------------------------------------------------- - -typedef void (*FreeImage_OutputMessageFunction)(FREE_IMAGE_FORMAT fif, const char *msg); -typedef void (DLL_CALLCONV *FreeImage_OutputMessageFunctionStdCall)(FREE_IMAGE_FORMAT fif, const char *msg); - -DLL_API void DLL_CALLCONV FreeImage_SetOutputMessageStdCall(FreeImage_OutputMessageFunctionStdCall omf); -DLL_API void DLL_CALLCONV FreeImage_SetOutputMessage(FreeImage_OutputMessageFunction omf); -DLL_API void DLL_CALLCONV FreeImage_OutputMessageProc(int fif, const char *fmt, ...); - -// Allocate / Clone / Unload routines --------------------------------------- - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Allocate(int width, int height, int bpp, unsigned red_mask FI_DEFAULT(0), unsigned green_mask FI_DEFAULT(0), unsigned blue_mask FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_AllocateT(FREE_IMAGE_TYPE type, int width, int height, int bpp FI_DEFAULT(8), unsigned red_mask FI_DEFAULT(0), unsigned green_mask FI_DEFAULT(0), unsigned blue_mask FI_DEFAULT(0)); -DLL_API FIBITMAP * DLL_CALLCONV FreeImage_Clone(FIBITMAP *dib); -DLL_API void DLL_CALLCONV FreeImage_Unload(FIBITMAP *dib); - -// Load / Save routines ----------------------------------------------------- - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Load(FREE_IMAGE_FORMAT fif, const char *filename, int flags FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_LoadU(FREE_IMAGE_FORMAT fif, const wchar_t *filename, int flags FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_LoadFromHandle(FREE_IMAGE_FORMAT fif, FreeImageIO *io, fi_handle handle, int flags FI_DEFAULT(0)); -DLL_API BOOL DLL_CALLCONV FreeImage_Save(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, const char *filename, int flags FI_DEFAULT(0)); -DLL_API BOOL DLL_CALLCONV FreeImage_SaveU(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, const wchar_t *filename, int flags FI_DEFAULT(0)); -DLL_API BOOL DLL_CALLCONV FreeImage_SaveToHandle(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, FreeImageIO *io, fi_handle handle, int flags FI_DEFAULT(0)); - -// Memory I/O stream routines ----------------------------------------------- - -DLL_API FIMEMORY *DLL_CALLCONV FreeImage_OpenMemory(BYTE *data FI_DEFAULT(0), DWORD size_in_bytes FI_DEFAULT(0)); -DLL_API void DLL_CALLCONV FreeImage_CloseMemory(FIMEMORY *stream); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_LoadFromMemory(FREE_IMAGE_FORMAT fif, FIMEMORY *stream, int flags FI_DEFAULT(0)); -DLL_API BOOL DLL_CALLCONV FreeImage_SaveToMemory(FREE_IMAGE_FORMAT fif, FIBITMAP *dib, FIMEMORY *stream, int flags FI_DEFAULT(0)); -DLL_API long DLL_CALLCONV FreeImage_TellMemory(FIMEMORY *stream); -DLL_API BOOL DLL_CALLCONV FreeImage_SeekMemory(FIMEMORY *stream, long offset, int origin); -DLL_API BOOL DLL_CALLCONV FreeImage_AcquireMemory(FIMEMORY *stream, BYTE **data, DWORD *size_in_bytes); -DLL_API unsigned DLL_CALLCONV FreeImage_ReadMemory(void *buffer, unsigned size, unsigned count, FIMEMORY *stream); -DLL_API unsigned DLL_CALLCONV FreeImage_WriteMemory(const void *buffer, unsigned size, unsigned count, FIMEMORY *stream); -DLL_API FIMULTIBITMAP *DLL_CALLCONV FreeImage_LoadMultiBitmapFromMemory(FREE_IMAGE_FORMAT fif, FIMEMORY *stream, int flags FI_DEFAULT(0)); - -// Plugin Interface --------------------------------------------------------- - -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_RegisterLocalPlugin(FI_InitProc proc_address, const char *format FI_DEFAULT(0), const char *description FI_DEFAULT(0), const char *extension FI_DEFAULT(0), const char *regexpr FI_DEFAULT(0)); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_RegisterExternalPlugin(const char *path, const char *format FI_DEFAULT(0), const char *description FI_DEFAULT(0), const char *extension FI_DEFAULT(0), const char *regexpr FI_DEFAULT(0)); -DLL_API int DLL_CALLCONV FreeImage_GetFIFCount(void); -DLL_API int DLL_CALLCONV FreeImage_SetPluginEnabled(FREE_IMAGE_FORMAT fif, BOOL enable); -DLL_API int DLL_CALLCONV FreeImage_IsPluginEnabled(FREE_IMAGE_FORMAT fif); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFIFFromFormat(const char *format); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFIFFromMime(const char *mime); -DLL_API const char *DLL_CALLCONV FreeImage_GetFormatFromFIF(FREE_IMAGE_FORMAT fif); -DLL_API const char *DLL_CALLCONV FreeImage_GetFIFExtensionList(FREE_IMAGE_FORMAT fif); -DLL_API const char *DLL_CALLCONV FreeImage_GetFIFDescription(FREE_IMAGE_FORMAT fif); -DLL_API const char *DLL_CALLCONV FreeImage_GetFIFRegExpr(FREE_IMAGE_FORMAT fif); -DLL_API const char *DLL_CALLCONV FreeImage_GetFIFMimeType(FREE_IMAGE_FORMAT fif); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFIFFromFilename(const char *filename); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFIFFromFilenameU(const wchar_t *filename); -DLL_API BOOL DLL_CALLCONV FreeImage_FIFSupportsReading(FREE_IMAGE_FORMAT fif); -DLL_API BOOL DLL_CALLCONV FreeImage_FIFSupportsWriting(FREE_IMAGE_FORMAT fif); -DLL_API BOOL DLL_CALLCONV FreeImage_FIFSupportsExportBPP(FREE_IMAGE_FORMAT fif, int bpp); -DLL_API BOOL DLL_CALLCONV FreeImage_FIFSupportsExportType(FREE_IMAGE_FORMAT fif, FREE_IMAGE_TYPE type); -DLL_API BOOL DLL_CALLCONV FreeImage_FIFSupportsICCProfiles(FREE_IMAGE_FORMAT fif); - -// Multipaging interface ---------------------------------------------------- - -DLL_API FIMULTIBITMAP * DLL_CALLCONV FreeImage_OpenMultiBitmap(FREE_IMAGE_FORMAT fif, const char *filename, BOOL create_new, BOOL read_only, BOOL keep_cache_in_memory FI_DEFAULT(FALSE), int flags FI_DEFAULT(0)); -DLL_API FIMULTIBITMAP * DLL_CALLCONV FreeImage_OpenMultiBitmapFromHandle(FREE_IMAGE_FORMAT fif, FreeImageIO *io, fi_handle handle, int flags FI_DEFAULT(0)); -DLL_API BOOL DLL_CALLCONV FreeImage_CloseMultiBitmap(FIMULTIBITMAP *bitmap, int flags FI_DEFAULT(0)); -DLL_API int DLL_CALLCONV FreeImage_GetPageCount(FIMULTIBITMAP *bitmap); -DLL_API void DLL_CALLCONV FreeImage_AppendPage(FIMULTIBITMAP *bitmap, FIBITMAP *data); -DLL_API void DLL_CALLCONV FreeImage_InsertPage(FIMULTIBITMAP *bitmap, int page, FIBITMAP *data); -DLL_API void DLL_CALLCONV FreeImage_DeletePage(FIMULTIBITMAP *bitmap, int page); -DLL_API FIBITMAP * DLL_CALLCONV FreeImage_LockPage(FIMULTIBITMAP *bitmap, int page); -DLL_API void DLL_CALLCONV FreeImage_UnlockPage(FIMULTIBITMAP *bitmap, FIBITMAP *data, BOOL changed); -DLL_API BOOL DLL_CALLCONV FreeImage_MovePage(FIMULTIBITMAP *bitmap, int target, int source); -DLL_API BOOL DLL_CALLCONV FreeImage_GetLockedPageNumbers(FIMULTIBITMAP *bitmap, int *pages, int *count); - -// Filetype request routines ------------------------------------------------ - -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFileType(const char *filename, int size FI_DEFAULT(0)); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFileTypeU(const wchar_t *filename, int size FI_DEFAULT(0)); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFileTypeFromHandle(FreeImageIO *io, fi_handle handle, int size FI_DEFAULT(0)); -DLL_API FREE_IMAGE_FORMAT DLL_CALLCONV FreeImage_GetFileTypeFromMemory(FIMEMORY *stream, int size FI_DEFAULT(0)); - -// Image type request routine ----------------------------------------------- - -DLL_API FREE_IMAGE_TYPE DLL_CALLCONV FreeImage_GetImageType(FIBITMAP *dib); - -// FreeImage helper routines ------------------------------------------------ - -DLL_API BOOL DLL_CALLCONV FreeImage_IsLittleEndian(void); -DLL_API BOOL DLL_CALLCONV FreeImage_LookupX11Color(const char *szColor, BYTE *nRed, BYTE *nGreen, BYTE *nBlue); -DLL_API BOOL DLL_CALLCONV FreeImage_LookupSVGColor(const char *szColor, BYTE *nRed, BYTE *nGreen, BYTE *nBlue); - -// Pixel access routines ---------------------------------------------------- - -DLL_API BYTE *DLL_CALLCONV FreeImage_GetBits(FIBITMAP *dib); -DLL_API BYTE *DLL_CALLCONV FreeImage_GetScanLine(FIBITMAP *dib, int scanline); - -DLL_API BOOL DLL_CALLCONV FreeImage_GetPixelIndex(FIBITMAP *dib, unsigned x, unsigned y, BYTE *value); -DLL_API BOOL DLL_CALLCONV FreeImage_GetPixelColor(FIBITMAP *dib, unsigned x, unsigned y, RGBQUAD *value); -DLL_API BOOL DLL_CALLCONV FreeImage_SetPixelIndex(FIBITMAP *dib, unsigned x, unsigned y, BYTE *value); -DLL_API BOOL DLL_CALLCONV FreeImage_SetPixelColor(FIBITMAP *dib, unsigned x, unsigned y, RGBQUAD *value); - -// DIB info routines -------------------------------------------------------- - -DLL_API unsigned DLL_CALLCONV FreeImage_GetColorsUsed(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetBPP(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetWidth(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetHeight(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetLine(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetPitch(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetDIBSize(FIBITMAP *dib); -DLL_API RGBQUAD *DLL_CALLCONV FreeImage_GetPalette(FIBITMAP *dib); - -DLL_API unsigned DLL_CALLCONV FreeImage_GetDotsPerMeterX(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetDotsPerMeterY(FIBITMAP *dib); -DLL_API void DLL_CALLCONV FreeImage_SetDotsPerMeterX(FIBITMAP *dib, unsigned res); -DLL_API void DLL_CALLCONV FreeImage_SetDotsPerMeterY(FIBITMAP *dib, unsigned res); - -DLL_API BITMAPINFOHEADER *DLL_CALLCONV FreeImage_GetInfoHeader(FIBITMAP *dib); -DLL_API BITMAPINFO *DLL_CALLCONV FreeImage_GetInfo(FIBITMAP *dib); -DLL_API FREE_IMAGE_COLOR_TYPE DLL_CALLCONV FreeImage_GetColorType(FIBITMAP *dib); - -DLL_API unsigned DLL_CALLCONV FreeImage_GetRedMask(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetGreenMask(FIBITMAP *dib); -DLL_API unsigned DLL_CALLCONV FreeImage_GetBlueMask(FIBITMAP *dib); - -DLL_API unsigned DLL_CALLCONV FreeImage_GetTransparencyCount(FIBITMAP *dib); -DLL_API BYTE * DLL_CALLCONV FreeImage_GetTransparencyTable(FIBITMAP *dib); -DLL_API void DLL_CALLCONV FreeImage_SetTransparent(FIBITMAP *dib, BOOL enabled); -DLL_API void DLL_CALLCONV FreeImage_SetTransparencyTable(FIBITMAP *dib, BYTE *table, int count); -DLL_API BOOL DLL_CALLCONV FreeImage_IsTransparent(FIBITMAP *dib); -DLL_API void DLL_CALLCONV FreeImage_SetTransparentIndex(FIBITMAP *dib, int index); -DLL_API int DLL_CALLCONV FreeImage_GetTransparentIndex(FIBITMAP *dib); - -DLL_API BOOL DLL_CALLCONV FreeImage_HasBackgroundColor(FIBITMAP *dib); -DLL_API BOOL DLL_CALLCONV FreeImage_GetBackgroundColor(FIBITMAP *dib, RGBQUAD *bkcolor); -DLL_API BOOL DLL_CALLCONV FreeImage_SetBackgroundColor(FIBITMAP *dib, RGBQUAD *bkcolor); - - -// ICC profile routines ----------------------------------------------------- - -DLL_API FIICCPROFILE *DLL_CALLCONV FreeImage_GetICCProfile(FIBITMAP *dib); -DLL_API FIICCPROFILE *DLL_CALLCONV FreeImage_CreateICCProfile(FIBITMAP *dib, void *data, long size); -DLL_API void DLL_CALLCONV FreeImage_DestroyICCProfile(FIBITMAP *dib); - -// Line conversion routines ------------------------------------------------- - -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To4(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine8To4(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To4_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To4_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine24To4(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine32To4(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To8(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine4To8(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To8_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To8_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine24To8(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine32To8(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To16_555(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine4To16_555(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine8To16_555(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16_565_To16_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine24To16_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine32To16_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To16_565(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine4To16_565(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine8To16_565(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16_555_To16_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine24To16_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine32To16_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To24(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine4To24(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine8To24(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To24_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To24_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine32To24(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine1To32(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine4To32(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine8To32(BYTE *target, BYTE *source, int width_in_pixels, RGBQUAD *palette); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To32_555(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine16To32_565(BYTE *target, BYTE *source, int width_in_pixels); -DLL_API void DLL_CALLCONV FreeImage_ConvertLine24To32(BYTE *target, BYTE *source, int width_in_pixels); - -// Smart conversion routines ------------------------------------------------ - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo4Bits(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo8Bits(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToGreyscale(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo16Bits555(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo16Bits565(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo24Bits(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertTo32Bits(FIBITMAP *dib); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ColorQuantize(FIBITMAP *dib, FREE_IMAGE_QUANTIZE quantize); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ColorQuantizeEx(FIBITMAP *dib, FREE_IMAGE_QUANTIZE quantize FI_DEFAULT(FIQ_WUQUANT), int PaletteSize FI_DEFAULT(256), int ReserveSize FI_DEFAULT(0), RGBQUAD *ReservePalette FI_DEFAULT(NULL)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Threshold(FIBITMAP *dib, BYTE T); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Dither(FIBITMAP *dib, FREE_IMAGE_DITHER algorithm); - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertFromRawBits(BYTE *bits, int width, int height, int pitch, unsigned bpp, unsigned red_mask, unsigned green_mask, unsigned blue_mask, BOOL topdown FI_DEFAULT(FALSE)); -DLL_API void DLL_CALLCONV FreeImage_ConvertToRawBits(BYTE *bits, FIBITMAP *dib, int pitch, unsigned bpp, unsigned red_mask, unsigned green_mask, unsigned blue_mask, BOOL topdown FI_DEFAULT(FALSE)); - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToRGBF(FIBITMAP *dib); - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToStandardType(FIBITMAP *src, BOOL scale_linear FI_DEFAULT(TRUE)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ConvertToType(FIBITMAP *src, FREE_IMAGE_TYPE dst_type, BOOL scale_linear FI_DEFAULT(TRUE)); - -// tone mapping operators -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_ToneMapping(FIBITMAP *dib, FREE_IMAGE_TMO tmo, double first_param FI_DEFAULT(0), double second_param FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_TmoDrago03(FIBITMAP *src, double gamma FI_DEFAULT(2.2), double exposure FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_TmoReinhard05(FIBITMAP *src, double intensity FI_DEFAULT(0), double contrast FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_TmoReinhard05Ex(FIBITMAP *src, double intensity FI_DEFAULT(0), double contrast FI_DEFAULT(0), double adaptation FI_DEFAULT(1), double color_correction FI_DEFAULT(0)); - -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_TmoFattal02(FIBITMAP *src, double color_saturation FI_DEFAULT(0.5), double attenuation FI_DEFAULT(0.85)); - -// ZLib interface ----------------------------------------------------------- - -DLL_API DWORD DLL_CALLCONV FreeImage_ZLibCompress(BYTE *target, DWORD target_size, BYTE *source, DWORD source_size); -DLL_API DWORD DLL_CALLCONV FreeImage_ZLibUncompress(BYTE *target, DWORD target_size, BYTE *source, DWORD source_size); -DLL_API DWORD DLL_CALLCONV FreeImage_ZLibGZip(BYTE *target, DWORD target_size, BYTE *source, DWORD source_size); -DLL_API DWORD DLL_CALLCONV FreeImage_ZLibGUnzip(BYTE *target, DWORD target_size, BYTE *source, DWORD source_size); -DLL_API DWORD DLL_CALLCONV FreeImage_ZLibCRC32(DWORD crc, BYTE *source, DWORD source_size); - -// -------------------------------------------------------------------------- -// Metadata routines -------------------------------------------------------- -// -------------------------------------------------------------------------- - -// tag creation / destruction -DLL_API FITAG *DLL_CALLCONV FreeImage_CreateTag(void); -DLL_API void DLL_CALLCONV FreeImage_DeleteTag(FITAG *tag); -DLL_API FITAG *DLL_CALLCONV FreeImage_CloneTag(FITAG *tag); - -// tag getters and setters -DLL_API const char *DLL_CALLCONV FreeImage_GetTagKey(FITAG *tag); -DLL_API const char *DLL_CALLCONV FreeImage_GetTagDescription(FITAG *tag); -DLL_API WORD DLL_CALLCONV FreeImage_GetTagID(FITAG *tag); -DLL_API FREE_IMAGE_MDTYPE DLL_CALLCONV FreeImage_GetTagType(FITAG *tag); -DLL_API DWORD DLL_CALLCONV FreeImage_GetTagCount(FITAG *tag); -DLL_API DWORD DLL_CALLCONV FreeImage_GetTagLength(FITAG *tag); -DLL_API const void *DLL_CALLCONV FreeImage_GetTagValue(FITAG *tag); - -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagKey(FITAG *tag, const char *key); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagDescription(FITAG *tag, const char *description); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagID(FITAG *tag, WORD id); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagType(FITAG *tag, FREE_IMAGE_MDTYPE type); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagCount(FITAG *tag, DWORD count); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagLength(FITAG *tag, DWORD length); -DLL_API BOOL DLL_CALLCONV FreeImage_SetTagValue(FITAG *tag, const void *value); - -// iterator -DLL_API FIMETADATA *DLL_CALLCONV FreeImage_FindFirstMetadata(FREE_IMAGE_MDMODEL model, FIBITMAP *dib, FITAG **tag); -DLL_API BOOL DLL_CALLCONV FreeImage_FindNextMetadata(FIMETADATA *mdhandle, FITAG **tag); -DLL_API void DLL_CALLCONV FreeImage_FindCloseMetadata(FIMETADATA *mdhandle); - -// metadata setter and getter -DLL_API BOOL DLL_CALLCONV FreeImage_SetMetadata(FREE_IMAGE_MDMODEL model, FIBITMAP *dib, const char *key, FITAG *tag); -DLL_API BOOL DLL_CALLCONV FreeImage_GetMetadata(FREE_IMAGE_MDMODEL model, FIBITMAP *dib, const char *key, FITAG **tag); - -// helpers -DLL_API unsigned DLL_CALLCONV FreeImage_GetMetadataCount(FREE_IMAGE_MDMODEL model, FIBITMAP *dib); -DLL_API BOOL DLL_CALLCONV FreeImage_CloneMetadata(FIBITMAP *dst, FIBITMAP *src); - -// tag to C string conversion -DLL_API const char* DLL_CALLCONV FreeImage_TagToString(FREE_IMAGE_MDMODEL model, FITAG *tag, char *Make FI_DEFAULT(NULL)); - -// -------------------------------------------------------------------------- -// Image manipulation toolkit ----------------------------------------------- -// -------------------------------------------------------------------------- - -// rotation and flipping -/// @deprecated see FreeImage_Rotate -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_RotateClassic(FIBITMAP *dib, double angle); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Rotate(FIBITMAP *dib, double angle, const void *bkcolor FI_DEFAULT(NULL)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_RotateEx(FIBITMAP *dib, double angle, double x_shift, double y_shift, double x_origin, double y_origin, BOOL use_mask); -DLL_API BOOL DLL_CALLCONV FreeImage_FlipHorizontal(FIBITMAP *dib); -DLL_API BOOL DLL_CALLCONV FreeImage_FlipVertical(FIBITMAP *dib); -DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(FALSE)); -DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(FALSE)); - -// upsampling / downsampling -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Rescale(FIBITMAP *dib, int dst_width, int dst_height, FREE_IMAGE_FILTER filter); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_MakeThumbnail(FIBITMAP *dib, int max_pixel_size, BOOL convert FI_DEFAULT(TRUE)); - -// color manipulation routines (point operations) -DLL_API BOOL DLL_CALLCONV FreeImage_AdjustCurve(FIBITMAP *dib, BYTE *LUT, FREE_IMAGE_COLOR_CHANNEL channel); -DLL_API BOOL DLL_CALLCONV FreeImage_AdjustGamma(FIBITMAP *dib, double gamma); -DLL_API BOOL DLL_CALLCONV FreeImage_AdjustBrightness(FIBITMAP *dib, double percentage); -DLL_API BOOL DLL_CALLCONV FreeImage_AdjustContrast(FIBITMAP *dib, double percentage); -DLL_API BOOL DLL_CALLCONV FreeImage_Invert(FIBITMAP *dib); -DLL_API BOOL DLL_CALLCONV FreeImage_GetHistogram(FIBITMAP *dib, DWORD *histo, FREE_IMAGE_COLOR_CHANNEL channel FI_DEFAULT(FICC_BLACK)); -DLL_API int DLL_CALLCONV FreeImage_GetAdjustColorsLookupTable(BYTE *LUT, double brightness, double contrast, double gamma, BOOL invert); -DLL_API BOOL DLL_CALLCONV FreeImage_AdjustColors(FIBITMAP *dib, double brightness, double contrast, double gamma, BOOL invert FI_DEFAULT(FALSE)); -DLL_API unsigned DLL_CALLCONV FreeImage_ApplyColorMapping(FIBITMAP *dib, RGBQUAD *srccolors, RGBQUAD *dstcolors, unsigned count, BOOL ignore_alpha, BOOL swap); -DLL_API unsigned DLL_CALLCONV FreeImage_SwapColors(FIBITMAP *dib, RGBQUAD *color_a, RGBQUAD *color_b, BOOL ignore_alpha); -DLL_API unsigned DLL_CALLCONV FreeImage_ApplyPaletteIndexMapping(FIBITMAP *dib, BYTE *srcindices, BYTE *dstindices, unsigned count, BOOL swap); -DLL_API unsigned DLL_CALLCONV FreeImage_SwapPaletteIndices(FIBITMAP *dib, BYTE *index_a, BYTE *index_b); - -// channel processing routines -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_GetChannel(FIBITMAP *dib, FREE_IMAGE_COLOR_CHANNEL channel); -DLL_API BOOL DLL_CALLCONV FreeImage_SetChannel(FIBITMAP *dib, FIBITMAP *dib8, FREE_IMAGE_COLOR_CHANNEL channel); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_GetComplexChannel(FIBITMAP *src, FREE_IMAGE_COLOR_CHANNEL channel); -DLL_API BOOL DLL_CALLCONV FreeImage_SetComplexChannel(FIBITMAP *dst, FIBITMAP *src, FREE_IMAGE_COLOR_CHANNEL channel); - -// copy / paste / composite routines -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Copy(FIBITMAP *dib, int left, int top, int right, int bottom); -DLL_API BOOL DLL_CALLCONV FreeImage_Paste(FIBITMAP *dst, FIBITMAP *src, int left, int top, int alpha); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Composite(FIBITMAP *fg, BOOL useFileBkg FI_DEFAULT(FALSE), RGBQUAD *appBkColor FI_DEFAULT(NULL), FIBITMAP *bg FI_DEFAULT(NULL)); -DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom); -DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCropU(const wchar_t *src_file, const wchar_t *dst_file, int left, int top, int right, int bottom); -DLL_API BOOL DLL_CALLCONV FreeImage_PreMultiplyWithAlpha(FIBITMAP *dib); - -// background filling routines -DLL_API BOOL DLL_CALLCONV FreeImage_FillBackground(FIBITMAP *dib, const void *color, int options FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_EnlargeCanvas(FIBITMAP *src, int left, int top, int right, int bottom, const void *color, int options FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_AllocateEx(int width, int height, int bpp, const RGBQUAD *color, int options FI_DEFAULT(0), const RGBQUAD *palette FI_DEFAULT(NULL), unsigned red_mask FI_DEFAULT(0), unsigned green_mask FI_DEFAULT(0), unsigned blue_mask FI_DEFAULT(0)); -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_AllocateExT(FREE_IMAGE_TYPE type, int width, int height, int bpp, const void *color, int options FI_DEFAULT(0), const RGBQUAD *palette FI_DEFAULT(NULL), unsigned red_mask FI_DEFAULT(0), unsigned green_mask FI_DEFAULT(0), unsigned blue_mask FI_DEFAULT(0)); - -// miscellaneous algorithms -DLL_API FIBITMAP *DLL_CALLCONV FreeImage_MultigridPoissonSolver(FIBITMAP *Laplacian, int ncycle FI_DEFAULT(3)); - -// restore the borland-specific enum size option -#if defined(__BORLANDC__) -#pragma option pop -#endif - -#ifdef __cplusplus -} -#endif - -#endif // FREEIMAGE_H diff --git a/extern/FreeImage/FreeImage.lib b/extern/FreeImage/FreeImage.lib deleted file mode 100644 index 33927a8..0000000 Binary files a/extern/FreeImage/FreeImage.lib and /dev/null differ diff --git a/extern/FreeImage/Whatsnew.txt b/extern/FreeImage/Whatsnew.txt deleted file mode 100644 index b14d348..0000000 --- a/extern/FreeImage/Whatsnew.txt +++ /dev/null @@ -1,993 +0,0 @@ -What's New for FreeImage - -* : fixed -- : removed -! : changed -+ : added - -December 22, 2009 - 3.13.1 -! FreeImage now uses libTIFF 3.9.2 -! FreeImage now uses OpenJPEG 1.3.0 (SVN patch 2009-11-05) -! FreeImage now uses libPNG 1.2.41 -+ [Berend Engelbrecht] added loading of Exif orientation tag in TIFF plugin -+ [Herve Drolon] added decoding support for the old and outdated JPEG-in-TIFF 6.0 format in TIFF plugin -+ [Herve Drolon] added new 'non standard' Exif tags -+ [Herve Drolon] added new Exif makernote tags -* [Herve Drolon] fixed TIF plugin crashing on a malformed TIFF-JPEG compressed image -* [Herve Drolon] fixed MNG plugin crashing on some old mng images -* [Herve Drolon] fixed handling of 2-bit grayscale transparent PNG -* [Herve Drolon] fixed a bug with the compression rate of JP2 and J2K encoders -* [zestony] fixed TIF plugin with the '65535 bytes' pitch size limitation on saving -* [Herve Drolon] fixed handling of PSD files with a non zero file header reserved member -* [Lucian Sabo] PNG plugin now keep transparency when saving 1- or 4-bit transparent images - -September 28th, 2009 - 3.13.0 -! FreeImage now uses LibJPEG 7 -! FreeImage now uses LibRaw-Lite 0.7.2 -! FreeImage now uses libPNG 1.2.40 -! FreeImage now uses libTIFF 3.9.1 -! FreeImage_RotateClassic is deprecated (use FreeImage_Rotate instead) -+ [Herve Drolon] added support for all Photoshop supported color modes to PSD plugin -+ [Herve Drolon] added support for 32-bit to JNG/MNG plugin -+ [Amir Ebrahimi] added loading support for the PICT format -+ [Herve Drolon] added loading support for camera RAW formats (using LibRawLite wrapper for dcraw) -+ [Mihail Naydenov] added UNICODE functions FreeImage_JPEGTransformU and FreeImage_JPEGCropU -+ [Carsten Klein] added FreeImage_OpenMultiBitmapFromHandle -+ [Carsten Klein] added FreeImage_FillBackground -+ [Carsten Klein] added FreeImage_EnlargeCanvas -+ [Carsten Klein] added FreeImage_AllocateEx / FreeImage_AllocateExT -+ [Mihail Naydenov/Herve Drolon] added FreeImage_TmoReinhard05Ex -+ [Herve Drolon] added FIT_RGBA16 to FIT_RGBF conversion to FreeImage_ConvertToRGBF -+ [Herve Drolon] added FreeImage_Rotate (support for most image types, support background color) -* [Christian Heimes] fixed function prototypes to use a void argument when no argument exist -* [Herve Drolon] fixed RGB color ordering on Intel macs -* [Herve Drolon] FreeImage_RotateClassic now keep transparency when applied to 8-bit images -* [Herve Drolon] fixed handling of transparency info in FreeImage_Copy -* [Herve Drolon] fixed a normalization error in FreeImage_GetAdjustColorsLookupTable -* [Herve Drolon] fixed invalid Exif rotation in PluginJPEG for orientation cases 2 and 4 -* [Mihail Naydenov / Carsten Klein] fixed compilation issues with MinGW32 -* [Mihail Naydenov] improved the loading speed of all targa images -* [Herve Drolon] FreeImage_TagToString now handles the Exif UserComment tag - -April 14th, 2009 - 3.12.0 -! FreeImage now uses libPNG 1.2.35 -! FreeImage now uses libTIFF 3.9.0beta (CVS patch 2009-02-12) -! FreeImage now uses OpenJPEG 1.3.0 (SVN patch 2008-08-21) -! [Herve Drolon] FreeImage_CloneMetadata no longer clone the FIMD_ANIMATION metadata (this was causing problems when saving to GIF format) -+ [Herve Drolon] added full support for the PFM format -+ [Herve Drolon] added JPEG_EXIFROTATE load flag to the JPEG plugin -+ [Herve Drolon] added 16-bit RGB(A) and float RGB(A)F support to FreeImage_GetChannel / FreeImage_SetChannel -+ [Herve Drolon] added src FIT_RGBA16 to dst 32-bit FIT_BITMAP conversion to FreeImage_ConvertToType -* [Carsten Klein] FreeImage_Copy now copies transparency info, resolution info, ICC profile and metadata -* [Carsten Klein] check for negative top/left values in FreeImage_Paste -* [Christian Heimes] changed exceptions with a "catch(char *text)" to a "catch(const char *text)" to make GCC 4.1 happy -* [Deif Lou] fixed a bug in FreeImage_SetTransparentIndex -* [Thomas Maiwald] BMP plugin: on saving, fixed correct setting of bfSize BMP file header for palettized images -* [Timothy Lee] fixed handling of frame disposal in GIF_PLAYBACK mode (GIF plugin) -* [Herve Drolon] fixed handling of Exif Olympus Type 2 maker notes (not yet supported but now safely ignored) -* [Rich Geldreich] fixed DXT1 color endpoint precision problem in DDS plugin -* [Mihail Naydenov] improved loading speed of 24-bit targa images -* [Eugene Golushkov] improved big endian / little endian swapping functions -* [Carsten Klein/Jean-Philippe Goerke] improved FreeImage_SetMetadata / FreeImage_GetMetadata accessors -* [Christian Ruppert] improved Linux Makefiles -* [Eugene Golushkov] fixed PluginBMP alignment bug while saving 16 or 24bit BMP on big endian or Apple machines - -July 28th, 2008 - 3.11.0 -! FreeImage now uses libTIFF 3.9.0beta (CVS patch 2008-05-24) -! FreeImage now uses OpenJPEG 1.3.0 (SVN patch 2008-05-22) -! FreeImage now uses libMNG 1.0.10 -! FreeImage now uses libPNG 1.2.29 -+ [Yves Schmid] added 48-bit RGB to 32-bit conversion support in FreeImage_ConvertTo32Bits -+ [Aaron Shumate] added RGB16-to-BITMAP and All-to-RGBF conversion support in FreeImage_ConvertToType -+ [Benjamin English] added a new OpenGL sample to FreeImage/Examples -+ [Lucian Sabo] added new compression flags to the PNG plugin -+ [Lucian Sabo] added new compression flags to the JPEG plugin (chroma subsampling options) -+ [Noam Gat] added support for SGI grayscale + alpha pics to SGI plugin -+ [Herve Drolon] added FreeImage_CloneMetadata -+ [Herve Drolon] added loading support for Windows Vista icons in ICO Plugin -+ [Herve Drolon] added loading and saving support for RGBF images to the TIF plugin (using the LogLuv codec) -* [Will Bryant] fixed makefile for MacOSX Tiger and Leopard -* [Maria Gullickson] fixed a 'divide by 0' error in PNM plugin and FreeImage_Rescale function -* [Yves Schmid] fixed a bug with Exif metadata reading in TIFF images -* [Herve Drolon] fixed some possible 64-bit portability issues with pointer calculations -* [wangyn] fixed a bug with transparency handling of indexed images in PNG plugin -* [Martin Dyring-Andersen] fixed a bug with GIFinfo structure initialization in GIF plugin -* [Noam Gat] fixed a bug in SGI plugin: when the file reports as two-dimensional, the height factor does not get loaded -* [Herve Drolon] added error messages in FreeImage_Load(U) / FreeImage_Save(U) in case of bad filenames -* [Scott Smith/Herve Drolon] added missing IPTC tags and renamed some tag names to be compatible with ExifTool naming convention -* [Martin Dyring-Andersen] fixed a crash problem with images containing exif data emitted by Picassa -* [Herve Drolon] removed RGBA to RGB transparent conversion in EXR plugin -* [Glenn Pierce] improved the speed of FreeImage_FlipHorizontal -* [Carsten Klein] fixed 65535 pixels width/height limitation in FreeImage_Paste - -November 19th, 2007 - 3.10.0 -! FreeImage now uses libTIFF 3.9.0beta (CVS patch 2007-10-05) -! FreeImage now uses OpenJPEG 1.2.0 (SVN patch 2007-07-13) -! FreeImage now uses OpenEXR 1.6.1 -! FreeImage now uses libPNG 1.2.23 -! FreeImage now hides its internal functions and internal libraries when compiled with gcc -- [Herve Drolon] removed VS C+ 6.0 project files : this IDE is no longer supported because of OpenEXR -+ [Herve Drolon] added VS 2005 project files -+ [Herve Drolon] added full support for the OpenEXR format -+ [Herve Drolon] added full support for the JPEG-2000 format -+ [Herve Drolon] added FreeImage_TmoFattal02 tone mapping operator -+ [Ryan Rubley] added support for RGB vs BGR regardless of endian -+ [Herve Drolon] added FreeImage_MultigridPoissonSolver -+ [Carsten Klein] added FreeImage_PreMultiplyWithAlpha -+ [Carsten Klein] added __stdcall version of FreeImage_OutputMessage -+ [Carsten Klein] added new palette and color manipulation functions (see below) : - added FreeImage_SetTransparentIndex - added FreeImage_GetTransparentIndex - added FreeImage_GetAdjustColorsLookupTable - added FreeImage_AdjustColors - added FreeImage_ApplyColorMapping - added FreeImage_SwapColors - added FreeImage_ApplyPaletteIndexMapping - added FreeImage_SwapPaletteIndices -* [Herve Drolon] fixed a bug in TIFF plugin when reading 8-bit + 8-bit alpha images -* [Herve Drolon] fixed a bug in TIFF plugin when reading images with uncommon bitdepths -* [rodrigo] fixed FreeImage exception handling under gcc (added -fexceptions to gcc compiler flags) -* [Martin Dyring-Andersen] fixed GIF plugin crashing on some corrupted files -* [Herve Drolon] fixed a bug with RLE encoding for 8-bit BMP images -* [Herve Drolon] fixed GPS metadata being skipped when reading metadata in Exif images -* [Herve Drolon] fixed a bug when reading OS/2 BMP images with a negative height -* [Ryan Rubley] fixed a bug with loading of GIFs with large amounts of solid color areas -* [Ryan Rubley] fixed OS X compile error in BitmapAccess.cpp -* [Herve Drolon] fixed a bug in FreeImage_Paste when pasting non-standard image types -* [Herve Drolon] saving 1-bit TIF with the TIFF_CCITTFAX3 flag is now compliant with the TIFF Class F specification -* [Carsten Klein] fixed topdown parameter in FreeImage_ConvertFromRawBits and FreeImage_ConvertToRawBits being handled in reverse -* [Herve Drolon] fixed a bug when reading some RLE-4 encoded BMP data -* [Carsten Klein] conversion from 1-bit to 32-bit now keep possibly present transparency - -February 11th, 2007 - 3.9.3 -! FreeImage now uses libPNG 1.2.16 -! [Ryan Rubley/Ryan Davis] reworked the MacOSX makefile in order to fully support Universal Binary builds of FreeImage -! [Herve Drolon] makefiles are now generated from VS2003 project files instead of VS6 project files -! [Herve Drolon] changed JPEG load/save flag option values -+ [Herve Drolon] added support for RGBAF images to FreeImage_ConvertToRGBF -+ [Herve Drolon] FreeImage_Paste now works with any bitmap type -+ [Herve Drolon] added full support for 64-bit RGBA images to the PNG and TIFF plugins -+ [Jascha Wetzel] added JPEG downsampling feature to PluginJPEG:Load -* [Thomas Chmielewski] fixed a bug in FreeImage_Dither and Bayer dithering, added FID_BAYER16x16 -* [Raphael Gaquer] greatly improved the speed of the GIF encoder -* [Herve Drolon] fixed saving of metadata in the PNG plugin -* [rampelstinskin] fixed transparency table to alpha channel conversion for 4-bit images in FreeImage_ConvertTo32Bits -* [Scott Smith] added missing IPTC tag named "Country/PrimaryLocationCode" -* [Herve Drolon] changed #include by #include in FreeImage.h (needed by Solaris 9) -* [Pierre Arnaud] fixed the use of FreeImage in low memory condition by checking some returned values of the malloc function -* [Pierre Arnaud] fixed TagLib::getTagFieldName not being thread safe - -October 30th, 2006 - 3.9.2 -! FreeImage now uses libTIFF 3.8.2 (with patch 2006-10-13) -+ [Herve Drolon] added full support for 16-bit greyscale and 48-bit RGB to the PNM plugin -+ [Herve Drolon] added IPTC writing support to JPEG & TIFF plugins -+ [Herve Drolon] added new Exif maker note tags -+ [Herve Drolon] added FreeImage_JPEGCrop -+ [Thorsten Radde] added support for 8-bit palettized bitmaps in FreeImage_RotateClassic -+ [Matt Rice] added automatic call to FreeImage_Initialise / FreeImage_DeInitialise when using FreeImage as a .so -+ [Martin Dyring-Andersen] added FreeImage_LoadMultiBitmapFromMemory to the multi-page API -+ [Herve Drolon] added support for tiled TIFF images -* [Carsten Klein] fixed a bug in FreeImage_SetMetadata occuring when deleting a tag -* [Herve Drolon] fixed a bug in PNG plugin when reading Macromedia 'false' PNG files -* [Thorsten Radde] added resolution support to PluginPSD -* [Ryan Rubley] fixed a bug in PluginGIF occuring with interlaced GIF -* [Ryan Rubley] fixed a bug in the multipage cache mechanism (internal FreeImage_FindBlock function) -* [Thorsten Radde] fixed a stack corruption in TIFF plugin occuring when reading exif tags -* [checkered] fixed a bug in the multipage cache mechanism causing VS2005 to crash on multipage files -* [Herve Drolon] fixed a bug with transparency support of 1- and 4-bit images -* [Roar Flolo] fixed a bug in PSD plugin when reading non compressed RGB images (alpha channel initialization) -* [Nicolas Hatier] fixed a bug in PluginGIF when using the GIF_PLAYBACK flag -* [Herve Drolon] fixed a bug in TIFF plugin when saving 8-bit images using LZW with differenciation -* [Herve Drolon] fixed 64-bit compilation issue with LibPNG and assembler code - -July 16th, 2006 - 3.9.1 -* [Ryan Rubley] fixed a bug in PluginGIF plugin causing FreeImage to crash on malformed GIF files - -July 6th, 2006 - 3.9.0 -! FreeImage now uses libPNG 1.2.12 -! FreeImage now uses libTIFF 3.8.2 (with patch 2006-06-24) -! FreeImage_Allocate/FreeImage_Allocate now set the resolution to 72 dpi instead of 0 -+ [Herve Drolon/Petr Pytelka] added a raw FAX G3 format loader -+ [Herve Drolon] added support for most image types to FreeImage_Rescale -+ [Herve Drolon] added FreeImage_MakeThumbnail -+ [Herve Drolon] added support for 64-bit images to FreeImage_ConvertTo32Bits -+ [Herve Drolon] added support for Exif tags to TIF plugin (read only) -+ [Herve Drolon] added FreeImage_ReadMemory -+ [Herve Drolon] added FreeImage_WriteMemory -+ [Herve Drolon] added new Exif maker note tags -+ [Sherman Wilcox] added a SGI file format loader -+ [Herve Drolon] added support for separated images to PluginTIFF -+ [Herve Drolon] added support for progressive-JPEG saving to PluginJPEG -* [Carsten Klein] FreeImage_Dither and FreeImage_Threshold now work with palettized 8-bit dib -* [Christophe Petit] fixed a bug in FreeImage_GetFIFFromFilenameU occuring with files without extension -* [Leigh Brasington] fixed a bug in PluginGIF causing FreeImage not working on Win/98/ME -* [Herve Drolon] fixed a bug in PluginTIFF with writing of JPEG-in-TIFF files -* [Jojakim Stahl] fixed a bug occuring with 4-bit PCX files -* [Sandor Szalacsi] fixed a bug in FreeImage_SetBackgroundColor (bkgnd clearing) -* [Petr Pytelka] fixed PluginTIFF::_tiffSizeProc failing on some images -* [Sherman Wilcox] fixed a bug in DDS plugin when loading images whose size is not a multiple of 4 -* [Sherman Wilcox] fixed a memory leak in PluginDDS::LoadDXT_Helper -* [Sherman Wilcox] fixed DDS plugin bad behavior with invalid DDS files (such as files with zero length) -* [Floris van den Berg] fixed a memory leak in the MultiPage cache mechanism -* [Herve Drolon] replaced WIN32 #define by _WIN32 #define as this is needed by VS2005 -* [Herve Drolon] fixed a VS2005 error in FreeImage_DeletePage -* [Petr Supina] fixed a pow(long,long) function not being standard ANSI C/C++ -* [Petr Supina] fixed FreeImage_FindBlock function not being standard ANSI C/C++ -* [Olaf Stoyke] added support for 64-bit Linux OS -* [Craig Stark] fixed FreeImage support on Intel based Mac OS -* [Herve Drolon] fixed PluginTIFF failing on bad fax tiff images (bad images are now loaded 'as is') -* [Zack Simpson] fixed a bug occuring in rare situations with FreeImage_Aligned_Malloc - -September 5, 2005 - 3.8.0 -! FreeImage now uses libTIFF 3.7.3 -! FreeImage now uses ZLib 1.2.3 -+ [Herve Drolon] added support for 48-bit images to FreeImage_ConvertTo24Bits -+ [Herve Drolon] added FreeImage_ConvertToGreyscale -+ [Herve Drolon] added support for 16-bit greyscale images to FreeImage_ConvertTo8Bits -+ [Petr Pytelka] added UNICODE functions (see below) - added FreeImage_LoadU - added FreeImage_SaveU - added FreeImage_GetFIFFromFilenameU - added FreeImage_GetFileTypeU -+ [Herve Drolon] FreeImage_Copy now works with any bitmap type -+ [Herve Drolon] added support for 1-bit images to FreeImage_Paste -* [Ryan Rubley] fixed PluginGIF failing to link on some broken gcc versions -* [Karl-Heinz Bussian] fixed a bug in LookupX11Color/LookupSVGColor with handling of grey color names -* [Herve Drolon] FreeImage_Dither now uses FreeImage_ConvertToGreyscale and handles 4/8-bit palletized images -* [Herve Drolon] FreeImage_Threshold now uses FreeImage_ConvertToGreyscale and handles 4/8-bit palletized images -* [Craig Hockenberry] fixed PluginGIF::Save swapping the byte order for the height on big endian machines (e.g. PPC on Mac OS X.) -* [Herve Drolon] fixed a bug in JPEG plugin when reading Exif maker notes from images produced by Nikon Editor -* [Herve Drolon] fixed a bug in BMP plugin when reading some malformed RLE8 bmp -* [Herve Drolon] fixed a bug in RAS plugin when loading 8-bit palettized images with less than 256 colors -* [Herve Drolon] fixed a bug in FreeImage_Rescale with 16-,48-,64-bit images -* [Herve Drolon] fixed a bug in the ICC profiles API when loading profile-less CMYK TIFF -* [Herve Drolon] 4-bit PNG are now loaded as 4-bit and no longer converted to 8-bit -* [Greg Ng] fixed a bug in FreeImage_ConvertToRGBF (FIT_BITMAP -> FIT_RGBF conversion) - -May 7, 2005 - 3.7.0 -! FreeImage now uses libTIFF 3.7.2 -! [Ryan Rubley] improved FreeImage_OpenMultiBitmap -+ [Detlev Vendt] added FreeImage_ZLibGUnzip -+ [Herve Drolon] added new image data types FIT_RGB16, FIT_RGBA16, FIT_RGBF, FIT_RGBAF -+ [Herve Drolon] FreeImage_FlipHorizontal & FreeImage_FlipVertical now work with any bitmap type -+ [Herve Drolon] added conversions to float and double in FreeImage_ConvertToType -+ [Herve Drolon] added FreeImage_ConvertToRGBF -+ [Herve Drolon] added support for 16-, 48- and 96-bit images to FreeImage_Rescale -+ [Ryan Rubley] added FreeImage_ColorQuantizeEx -+ [Ryan Rubley] added FIMD_ANIMATION and FIDT_PALETTE -+ [Ryan Rubley] added brand new PluginGIF with full animation multipage and metadata support -+ [Herve Drolon] added support for FIC_MINISWHITE 8-bit images to FreeImage_Rescale -+ [Herve Drolon] added HDR (High Dynamic Range) format (loader & writer) -+ [Herve Drolon] added support for 48-bit images in TIFF plugin -+ [Herve Drolon] added support for 48-bit images in PNG plugin -+ [Herve Drolon] added tone mapping operators (see below) -+ added FreeImage_ToneMapping -+ added FreeImage_TmoDrago03 -+ added FreeImage_TmoReinhard05 -+ [Petr Pytelka] added FreeImage_JPEGTransform -* [Herve Drolon] allowed loading of corrupted JPEG with a premature end of file -* [Herve Drolon] fixed a memory leak with loading of exif JPEG images -* [Detlev Vendt] changed some 'pointer-to-int' casts to 'pointer-to-long' for 64bit machines -* [Ryan Rubley] fixed a memory leak in the multipage API -* [Ryan Rubley] updated VB6 wrapper generation for new functions -* [Herve Drolon] fixed incorrect behavior when reading JPEG comments containing special characters -* [Herve Drolon] fixed incorrect behavior when reading JPEG ICC profiles with a size greater than 64 KB -* [Herve Drolon] fixed a bug in TIFF plugin when loading malformed multipage TIFF -* [Herve Drolon] fixed PluginTIFF not being thread safe - -February 20, 2005 - 3.6.1 -* [Ryan Rubley] fixed a memory leak in the metadata API -* [luedi] improved the robustness of FIBITMAP allocations - -February 13, 2005 - 3.6.0 -! FreeImage now uses libMNG 1.0.9 -! [Herve Drolon] improved the speed of FreeImage_Rescale -! [Herve Drolon] improved FreeImage_RotateClassic (more compact code, a little faster) -! [Herve Drolon] improved the metadata API using tag accessors -+ [Detlev Vendt] added LZW support to PluginGIF:Save -+ [Herve Drolon] added VS.Net 2003 project files -+ [Herve Drolon] added VERSIONINFO resource to the DLL -+ [Herve Drolon] added support for CMYK JPEG on loading -+ [Petr Supina] added 16-bytes alignment to FIBITMAP palette and pixels starting address -+ [Petr Supina] added support for MMX/SSE2 code in LibJPEG (based on Mozilla/Firefox code) -+ [Herve Drolon] added TIFF_JPEG compression flag to the TIFF plugin -+ [Detlev Vendt] added FreeImage_ZLibGZip -+ [Detlev Vendt] added FreeImage_ZLibCRC32 -* [Detlev Vendt] fixed PluginPNG not being thread safe -* [Herve Drolon] fixed compiler warning C4018 occuring with VS.Net 2003 - -December 29, 2004 - 3.5.3 -! FreeImage now uses ZLib 1.2.2 -! FreeImage now uses libPNG 1.2.8 -! FreeImage now uses libTIFF 3.7.1 -! [Herve Drolon] improved FreeImage_RotateClassic -! [Detlev Vendt] improved FreeImage_Rescale (more compact code, preserving 8-bpp colors) -+ [Herve Drolon] added support for transparency saving in ICO plugin -+ [Herve Drolon] added support for 1-bit images to FreeImage_RotateClassic -+ [Herve Drolon] added FreeImage_SetDotsPerMeterX and FreeImage_SetDotsPerMeterY -* [Nan Feng] fixed memory leak in FreeImage_DeleteTag (internal stuff) -* [Nigel Stewart] added conditional #pragma with #ifdef _MSC_VER / #endif -* [Herve Drolon] fixed the '65536 lines' limit on loading in PNM plugin - -November 27th, 2004 - 3.5.2 -* [Herve Drolon] fixed a second bug in FreeImage_Clone function - -November 26th, 2004 - 3.5.1 -+ [Riley McNiff] added FreeImage_ConvertTo4Bits -* [Herve Drolon] fixed a buffer overrun with some ILBM images -* [Riley McNiff] fixed a potential problem when reading TIFF resolution info -* [Dimitar Atanasov] fixed a bug in FreeImage_Clone function -* [Dimitar Atanasov] fixed several bugs in TIFF plugin - -November 1st, 2004 - 3.5.0 -! FreeImage now uses libPNG 1.2.7 -! FreeImage now uses libTIFF 3.7.0 -! FreeImage now uses libMNG 1.0.8 -! [Herve Drolon] improved TIFF LZW compression using a predictor -! [Detlev Vendt] FreeImagesPlus: corrected references to FreeImage.h and FreeImage.lib -+ [Herve Drolon] added support for loading/saving of 8-bit transparent TIFF -+ [Riley McNiff] added support for 4-bit dib in FreeImage_Paste -+ [Herve Drolon] added support for memory IO streams (see below) -+ added FreeImage_OpenMemory -+ added FreeImage_CloseMemory -+ added FreeImage_LoadFromMemory -+ added FreeImage_SaveToMemory -+ added FreeImage_TellMemory -+ added FreeImage_SeekMemory -+ added FreeImage_AcquireMemory -+ added FreeImage_GetFileTypeFromMemory -+ [Petr Pytelka] added FreeImage_GetFIFMimeType to the plugins function list -+ [Herve Drolon] added ICC profile support to JPEG plugin -+ [Herve Drolon] added support for metadata (see below) -+ added FreeImage_SetMetadata -+ added FreeImage_GetMetadata -+ added FreeImage_GetMetadataCount -+ added FreeImage_TagToString -+ added FreeImage_FindFirstMetadata -+ added FreeImage_FindNextMetadata -+ added FreeImage_FindCloseMetadata -* [Riley McNiff] fixed a bug with FreeImage_SetPixelIndex and 4-bit images -* [Petr Pytelka] fixed returned value in FreeImage_CloseMultiBitmap -* [Petr Pytelka] fixed index of new page in FreeImage_InsertPage -* [Aaron Shumate] fixed a minor bug in PNG plugin -* [Aaron Shumate] fixed a bug in IFF plugin (odd-length chunks) -* [Rupert Hewitt] fixed FreeImage not compiling on National Instruments Cvi Ccompiler -* [Herve Drolon] fixed a bug in IFF plugin (ILBM data) -* [Fred Harju] added a Makefile for Solaris 9 -* [Roddy Pratt] fixed FreeImage not linking under Borland C++ Builder -* [Vadim Alexandrov] fixed a memory leak in the multipage API -* [Herve Drolon] fixed a bug with DDS plugin behaviour on Big Endian OS -* [Herve Drolon] fixed a bug with conversion of JPEG resolution info on saving - -July 8th, 2004 - 3.4.0 -! [Jim Keir] improved FreeImage_FlipVertical function -! [Herve Drolon] LZW compression is now enabled in FreeImage -+ [Karl-Heinz Bussian] added constants to FreeImage.h to get at compile time the library version -+ [Karl-Heinz Bussian] added color lookup functions for X11 and SVG -+ [Herve Drolon] added TIFF tags TIFF_CCITTFAX3, TIFF_CCITTFAX4 and TIFF_LZW -+ [Detlev Vendt] added support for CMYK TIFF files with alpha channel -+ [Detlev Vendt] added (re-introduction of) PluginGIF -* [Herve Drolon] fixed a bug with loading of FAX TIFF images (introduced with LibTIFF 3.6.1) -* [Herve Drolon] fixed a bug in Floyd-Steinberg dithering algorithm -* [Herve Drolon] fixed a bug in Targa plugin save function -* [Herve Drolon] fixed a bug in FreeImage_AdjustCurve function -* [Ryan Rubley] fixed a bug with FreeImage_Rescale's filters accuracy -* [Ryan Rubley] fixed a bug in NN quantizer -* [Herve Drolon] fixed a bug with TIFF files containing additional Photoshop alpha channels -* [James Rossfeld] fixed a memory leak with some PSD images -* [Herve Drolon] fixed a bug with saving of 32-bit non transparent PNG images -* [Alexandr Zamaraev] fixed FreeImage not compiling with mingw32 -* [Herve Drolon] fixed FreeImage not compiling with VC.NET (pow function needs casts) - -May 2, 2004 - 3.3.0 -! [Ryan Rubley] FreeImage has been ported to MacOSX and should also work on other big endian processors -+ [Ryan Rubley] rewrote XPM plugin (better load support) and added save support -+ [Ryan Rubley] added ICO_MAKEALPHA flag to ICO plugin -+ [Ryan Rubley] Set/GetPixelColor now works with 16-bit pixels (555 or 565) -+ [Herve Drolon] PNG plugin now supports loading and saving of unsigned 16-bit greyscale images -* [Herve Drolon] fixed a bug with loading of 8-bit and 16-bit PNG with a 8-bit alpha channel -* [Herve Drolon] fixed a bug in NN quantizer algorithm with handling of 4-byte boundary alignment. -* [Herve Drolon] fixed a bug in PluginIFF Validate function -* [Herve Drolon] fixed a minor design issue in FreeImage_GetFIFFromFormat -* [Brad Schick] fixed some compiler warnings with VC++ 7.1 -* [Herve Drolon] fixed a bug with saving of 8-bit palettized images to 24-bit JPEG (channel inversion) - -March 16, 2004 - 3.2.1 -! [Volker Gärtner] improved the DDS plugin -! [Herve Drolon] FreeImage_Rescale now works on 8-, 24- and 32-bit images -! [Herve Drolon] FreeImage_Copy now works on 1-, 4-, 8-, 16-, 24- and 32-bit images -* [Floris van den Berg] fixed a bug in the MultiPage cache mechanism -* [Herve Drolon] fixed a bug with loading/saving of 8-bit transparent tga images -* [Herve Drolon] fixed a bug with loading of 1-bit TIFF (introduced with LibTIFF 3.6.1) - -February 18, 2004 - 3.2.0 -! FreeImage now uses libTIFF 3.6.1 -+ [Herve Drolon] added FreeImage_HasBackgroundColor -+ [Herve Drolon] added FreeImage_GetBackgroundColor -+ [Herve Drolon] added FreeImage_SetBackgroundColor -+ [Herve Drolon] added FreeImage_Composite -+ [Herve Drolon] added ICC profile support to PNG plugin -+ [Herve Drolon] added background color support to PNG plugin -+ [Volker Gärtner] added support for DDS format (loader) -* [Steve Johnson] improved FreeImage_OpenMultiBitmap/FreeImage_CloseMultiBitmap -* [Steve Johnson] fixed a bug in FreeImage_InsertPage -* [Herve Drolon] fixed a bug with JPEG compressed TIFF (red/blue swapping) -* [Herve Drolon] fixed a bug in PluginTarga where 8-bit images were saved incorrectly - -January 26, 2004 - 3.1.0 -! FreeImage now uses ZLib 1.2.1 -+ [Herve Drolon] added support for integer, real and complex image types (see below) -+ added FREE_IMAGE_TYPE enum -+ added FreeImage_AllocateT -+ added FreeImage_GetImageType -+ added FreeImage_FIFSupportsExportType -+ added FreeImage_ConvertToStandardType -+ added FreeImage_ConvertToType -+ added load/save support of all image types to TIFF plugin -+ [Peter Lemmens] added a Validate function to TARGA plugin -+ [Herve Drolon] added FreeImage_GetPixelIndex / FreeImage_SetPixelIndex -+ [Herve Drolon] added FreeImage_GetPixelColor / FreeImage_SetPixelColor -+ [Herve Drolon] added FreeImage_GetComplexChannel / FreeImage_SetComplexChannel -* [Serge Ivanchenko] TIFF_DEFLATE compression is now enabled in TIFF plugin -* [Herve Drolon] fixed a bug in NeuQuant color reduction algorithm - -November 16, 2003 - 3.0.4 -* [Tobias Persson] fixed FreeImage_GetChannel not working with FICC_ALPHA channel -* [Detlev Vendt] fixed a minor bug with PNG plugin and PNG_IGNOREGAMMA flag -* [Detlev Vendt] fixed a memory leak in PNG plugin save routine -* [Detlev Vendt] fixed JPEG validation problem with .jpe files -* [Ryan Rubley] added Source/LibTIFF/tif_extension.c to LibTIFF (needed for MacOSX) -* [Herve Drolon] improved error handling in TIFF plugin -+ [Karl-Heinz Bussian] added FreeImage_IsLittleEndian -+ [Karl-Heinz Bussian] added JPEG save support for 8-bit miniswhite bitmaps (transparent conversion to minisblack) -+ [Karl-Heinz Bussian] FreeImage_GetColorType now recognizes 8-bit FIC_MINISWHITE images -! [Herve Drolon] FreeImage_Rescale now supports rescaling of 32-bit images with alpha channel -! [Herve Drolon] FreeImage_Invert now supports inversion of 32-bit images with alpha channel -! [Herve Drolon] FreeImage_AdjustCurve now supports working with FICC_ALPHA channel - -November 2, 2003 - 3.0.3 -* [Ryan Rubley] improved makefile for Linux -* [Ryan Rubley] fixed FreeImage not compiling under MacOSX -* [Detlev Vendt] fixed still present inconsistancy with 32bpp transparency handling -* [Herve Drolon] fixed incorrect loading of 4-bit greyscale images in TIFF plugin - -October 27, 2003 - 3.0.2 -! FreeImage now uses libMNG 1.0.6 -* [Herve Drolon] fixed a boolean test in PluginCUT returning always false -* [Herve Drolon] fixed a warning in PluginIFF generated with g++ -* [Linus Tan] fixed a bug in FreeImage_Copy -* [Herve Drolon] fixed FreeImage not compiling under Linux (thanks to Michal) - -October 20, 2003 - 3.0.1 - -! FreeImage now uses libTIFF 3.6.0 -* [Detlev Vendt] fixed incorrect definition of the FREE_IMAGE_FORMAT enum -* [Detlev Vendt] fixed a potential crash problem with Load / Save routines -* [Herve Drolon] fixed incorrect loading of 16-bit greyscale images in TIFF plugin -* [Dennis Lim] fixed a memory leak in Floyd & Steinberg dithering routine -* [Herve Drolon] fixed a bug in BMP loader (incorrect loading of RLE4 bmp) -* [Detlev Vendt] fixed some inconsistancy with 32bpp transparency handling -+ [David Boland] added a C# wrapper -// Linux compatibility issues -- [Michal Novotny] removed the round function in Utilities.h -! [Herve Drolon] replaced the round routine by the clamp routine in PluginPCD -+ [Herve Drolon] added _itoa version in Utilities.h -* [Michal Novotny] fixed untyped consts not accepted by g++ in PluginBMP - -September 8, 2003 - 3.0.0 -- [Herve Drolon] removed deprecated functions -- [Herve Drolon] removed deprecated flags (TARGA_LOAD_RGB555, ICO_*, except ICO_DEFAULT) -- [Herve Drolon] removed the FreeImage pointer table (internal stuff) -+ [Herve Drolon] added a C++ wrapper -+ [Herve Drolon] added the FreeImage Toolkit (see below) -+ added FreeImage_Rescale -+ added FreeImage_RotateClassic -+ added FreeImage_RotateEx -+ added FreeImage_FlipHorizontal -+ added FreeImage_FlipVertical -+ added FreeImage_Invert -+ added FreeImage_AdjustCurve -+ added FreeImage_AdjustGamma -+ added FreeImage_AdjustBrightness -+ added FreeImage_AdjustContrast -+ added FreeImage_GetHistogram -+ added FreeImage_GetChannel -+ added FreeImage_SetChannel -+ added FreeImage_Copy -+ added FreeImage_Paste -+ [Karl-Heinz Bussian] added XPM loader -+ [Karl-Heinz Bussian] added flags parameter to FreeImage_CloseMultiBitmap -+ [Karl-Heinz Bussian] added JPEG save support for 8-bit palettized bitmaps (transparent conversion to 24-bit) -+ [Herve Drolon] added interface to ZLib compression functions -+ [Herve Drolon] added ICO format to the multipage API (loader & writer) -+ [Herve Drolon] added a MIME type to all plugins -* [Karl-Heinz Bussian] fixed incorrect conversion from 1-bit FIC_MINISWHITE bitmaps to 8-bit -* [Herve Drolon] fixed a bug in FreeImage_CloseMultiBitmap -* [Herve Drolon] fixed a potential memory leak in conversion functions (8-, 24-, 32-bit) -* [Robert Walker] fixed incorrect conversion from 16-bit to 24-bit and 16-bit to 32-bit -* [blurble] fixed TIFF validate signature problem (3DS files were recognized as TIFF) -* [Kurt Jankowski-Tepe] fixed FreeImage not compiling on MinGW / LCC WIN32 -* [Jani Peltonen] fixed bug in PluginTARGA where 32-bit bitmaps are not always correctly flipped -* [Detlev Vendt] fixed a bug with TIFF (memory leak with ICC profiles) - -May 25, 2003 - 2.6.1 -+ [Detlev Vendt] added FIC_CMYK to FREE_IMAGE_COLOR_TYPE -+ [Detlev Vendt] added ICC profile support to the library (see below) -+ added FreeImage_GetICCProfile -+ added FreeImage_CreateICCProfile -+ added FreeImage_DestroyICCProfile -+ added FIICCPROFILE & FIICCPROFILE flags -+ added plugin function FreeImage_FIFSupportsICCProfiles -+ [Detlev Vendt] added ICC profile support for TIFF -+ [Herve Drolon] added XBM (X11 Bitmap Format) support : loading -* [Herve Drolon] fixed incorrect IFF file detection (thanks Floris) -* [Herve Drolon] fixed incorrect conversion from 1/4-bit greyscale bitmaps to 8-bit -* [Herve Drolon] fixed a bug in TIFF writer when saving 1,4,8 bit dib (introduced in 2.6.0, sorry) -* [Herve Drolon] fixed a palette problem in TIFF loader when loading 1-bit b & w images -* [Herve Drolon] improved FreeImage_Dither to handle any bitdepth - -May 5th, 2003 - 2.6.0 -! FreeImage now uses libPNG 1.2.5 -! FreeImage now uses libMNG 1.0.5 -! [Markus Loibl] ActiveX wrapper is now distributed in a separate release (since 2.5.5) -! [Herve Drolon] the function FreeImage_Free is now deprecated : use FreeImage_Unload instead -! [Herve Drolon] updated the generic samples and removed deprecated functions -+ [Detlev Vendt] added CMYK support to TIFF save function -+ [Detlev Vendt] added TIFF_SAVE_CMYK flag constant -+ [Detlev Vendt] added 32-bit support (with transparency handling) to TIFF plugin -+ [Herve Drolon] added FreeImage_Threshold -+ [Herve Drolon] added FreeImage_Dither -+ [Herve Drolon] added FREE_IMAGE_DITHER parameter to FreeImage_Dither -* [Herve Drolon] improved error handling in PluginMNG -* [Herve Drolon] improved TIFF flags handling in TIFF save function -* [Herve Drolon] fixed a potential crash-problem in FreeImage_OutputMessage (in case of a null message) -* [Detlev Vendt] fixed a bug with the deprecated FreeImage_GetBitsRowCol (trailling backslash behind the DEPRECATE macro) - -July 24th, 2002 - 2.5.5 -! FreeImage now uses libPNG 1.2.4 -! FreeImage now uses libMNG 1.0.4 -+ [Markus Loibl] added ActiveX wrapper - -June 22th, 2002 - 2.5.4 -* [Timothy Roughton] fixed FreeImage not compiling on LCC WIN32 -* [Markus Loibl] fixed PluginTIFF sometimes saving with wrong X/Y resolution -* fixed crashbug when loading some RLE4 BMPs -! FreeImage now uses LibPNG 1.2.3 -! [Markus Loibl] improved startup plugin locate handling code -! [Gerhard Gruber] made some changes so that FreeImage compiles on VC5 -+ [Markus Loibl] added flags TIFF_PACKBITS, TIFF_DEFLATE, TIFF_ADOBE_DEFLATE and TIFF_NONE - -May 21th, 2002 - 2.5.3 -* fixed wrong colors when loading 16-bit grayscale TIFF -* fixed crash-problem with FreeImageQt -* fixed PluginTIFF saving some bitmaps flipped vertically -* [Laurent Rocher] fixed bug in FreeImage_GetLockedPageNumbers -* [Laurent Rocher] fixed bug in FreeImage_UnlockPage -! FreeImage now uses libpng 1.2.2 -+ added TARGA save support -+ added BMP RLE8 save support - -March 30th, 2002 - 2.5.2 -* fixed bug in PluginTARGA where 32-bit bitmaps are not always correctly flipped -* fixed FreeImage_GetLockedPageNumber being mentioned in FreeImage.h -* fixed crash bug when handling read-only multipage bitmaps -- removed internal function FreeImage_GetExtraDataPointer -! FreeImage now uses zlib 1.1.4 -+ added function FreeImage_GetLockedPageNumbers - -March 2nd 2002 - 2.5.1 -* fixed pluginTIFF not being able to save 32-bit bitmaps -* fixed not being able to save PNM bitmaps through the LoadXXX wrappers -* fixed a webcam generated BMP image being loaded with wrong colors -! FI_ReadProc, FI_WriteProc, etc. do now carry the DLL_CALLCONV flag -! the function FreeImage_GetBitsRowCol is now deprecated -! FreeImage_SetTransparencyTable now taken an integer as count parameter -! FreeImage_IsTransparent now always returns true for 32-bit bitmaps -! PluginPNG::Save now ignores the result of FreeImage_IsTransparent -! PluginTIFF now converts all 32-bit bitmaps to 24-bit, until our patch - to fully support alpha in TIFF is applied in libtiff -+ added full multi-paging support -+ added octal and hexadecimal number support to FreeImage_OutputMessage - -January 3rd 2002 - 2.5.0 -* fixed bug in FreeImage_SaveJPEG -* fixed bug in FreeImage_LoadMNG -* fixed bug in FreeImage_LoadPNG -* fixed small Visual C++ 5.0 compiler issue in PluginMNG.cpp -* fixed FreeImage crashing on JPEG 6.0 encoded TIFFs -! FreeImage now uses libTIFF 3.5.7 -! FreeImage now uses libPNG 1.2.1 -! all the FreeImage_LoadXXX and FreeImage_SaveXXX functions are now deprecated -+ added Dr. Halo (*.cut) support -+ added printf-like format string support to SetOutputMessage -+ added basic multi-paging support: open, close, counting and grabbing -+ added deprecation manager -+ added FreeImage_Clone function - -October 3rd 2001 - 2.4.2 -* fixed missing BI_BITFIELDS support for 32-bit BMPs -* fixed bug in FreeImage_ConvertLine16_555_To16_565 and vice versa -* fixed bug in FreeImage_ConvertToRawBits -* fixed PluginTIFF behaving incorrectly on PHOTOMETRIC_MASK images -* fixed 16 bit TIFFs not loading correctly -* fixed incorrect handling of CCITTFAX3 and CCITTFAX4 TIFFs -* fixed JPEG encoded TIFFs not being supported -! [Yours Detlev] patched libTIFF to handle EXTRASAMPLE_UNSPECIFIED -! [Juergen Riecker] improved speed of PCX loading a lot -! rewrote parts of FreeImage to improve support for c -! the internal RGB555 and RGB565 macros now read BGR instead of RGB -! FreeImage now uses libMNG 1.0.3 -! FreeImage now uses libPNG 1.2.0 -! FreeImage_Save now opens files with the "w+b" flag -! renamed internal macro CalculateUsedColors to CalculateUsedPaletteEntries -! enabling/disabling plugins no longer has effect on FIFSupportsReading -! enabling/disabling plugins no longer has effect on FIFSupportsWriting -+ added flag PNG_IGNOREGAMMA -+ added function FreeImage_FIFSupportsExportBPP - -July 30th 2001 - 2.4.1 -* [Jan Nauta] fixed some plugin ids not being passed to plugins -* [Jan Nauta] fixed some functions being natively called instead of indirect -* [Jan Nauta] fixed BMPs with signature BA not being regognised -* [Remo Eichenberger] fixed memory leak in the plugin system -* fixed seek bug in PluginIFF's Validate -* fixed transparency issue in PluginPNG -* fixed uncaught exceptions in WUQuantizer and NNQuantizer -* fixed some problems with PluginTARGA -* fixed some problems with PluginICO -* fixed some problems with PluginBMP -! improved FreeImageQt's load function a little -! tell/seek control for validation is now handled inside the plugin framework - -July 22th 2001 - 2.4.0 -* (Yours Detlev) fixed memory leak in FreeImage_GetFIFFromFilename -* (Yours Detlev) fixed memory leak in the ICO plugin -* (Yours Detlev) fixed memory leak in the PNG plugin -* fixed potential NULL-pointer access bug in Plugin::AddNode -* fixed problems with linking the static lib -- removed LBM plugin. Its functionality is placed in the IFF plugin now -- removed FreeImage_GetFIFByIndex -! FreeImage now uses LibMNG 1.0.2 -! FreeImage_SetTransparent now only enables alpha when the bitmap is 8 or 32 bit -! FreeImage_SetTransparencyTable now only enables alpha when the bitmap is 8 bit -! FreeImage_LoadLBM now uses Mark Sibly's IFF plugin -! FreeImage_SaveBMP now converts to 24-bit when bpp is 32 and transparency is off -! FreeImage_SaveJPEG now converts to 24-bit when bpp is 32 and transparency is off -! FreeImage_SavePNM now converts to 24-bit when bpp is 32 and transparency is off -! FreeImage_SaveTIFF now converts to 24-bit when bpp is 32 and transparency is off -+ [Mark Sibly] added IFF (ILBM) support -+ added basic support for Photoshop files -+ added mime type support (FreeImage_GetFIFFromMime) -+ added functions FreeImage_SetPluginEnabled and FreeImage_IsPluginEnabled - Disabling plugins modifies the behaviour of the following functions: - * FreeImage_LoadFromHandle - * FreeImage_SaveToHandle - * FreeImage_FIFSupportsReading - * FreeImage_FIFSupportsWriting - * FreeImage_GetFIFFromFormat - * FreeImage_GetFIFFromFilename - * FreeImage_GetFIFFromMime - * FreeImage_Validate - -June 30th 2001 - 2.3.2 -* fixed missing "targa" extension in targa extension list -* fixed small memory leak in PluginList::AddNode -* fixed 32 bit PNG saving suddenly disappeared from the distro? -* fixed 'black line' bug in LoadTARGA -- removed project FreeImageM2 -- removed FreeImage_Combine -! FreeImage_RegisterLocalPlugin now receives a FI_InitProc as first parameter -! FreeImage_GetFIFFromFilename now also takes the format id into account -! cleanup up the code a little for PluginPCD and PluginPCX -+ added static lib project - -June 11th 2001 - 2.3.1 -* [Machiel ten Brinke] fixed the loading of some 'ancient' TARGAs -* [Rui Lopes] fixed some bugs in the external plugin registration -* fixed the plugin system crashing when the init function isn't called -- removed project FreeImagePy -- removed 32 to 24 bit conversion while saving PNG in FreeImageQt -! the scanline convert functions are now accessable in plugins -! FreeImage now uses an STL map to store the plugin list -! PluginSDK.h is now integrated into FreeImage.h -! FreeImage_Register now receives the boolean parameter 'load_local_plugins_only' -! FreeImage now uses LibPNG 1.0.12 -+ [Rui Lopes] added plugin for GIF reading/writing support -+ added function FreeImage_SetTransparencyCount -+ added support for 32 bit PNG saving -+ added FreeImage_RegisterLocalPlugin to allow plugins inside apps -+ added FreeImage_RegisterExternalPlugin to manually load DLLs -+ added plugin for JBIG reading/writing support - -May 4th 2001 - 2.3.0 -* [Martin Weber] fixed some small bugs in the TARGA and BMP plugins -* [Martin Weber] fixed tiny bug in new 16 bit conversions -* [Martin Weber] fixed load flag inconsistency in the TARGA plugin -* [Martin Weber] fixed plugin id / load reference inconsistency for PNM -* [Jan Nauta] fixed bug in conversion 16 -> 16 -* [Herve Drolon] fixed small bug in 4-bit PCX loader -- removed code that loads BMPs renamed to ICO in PluginICO -! the flag TARGA_LOAD_RGB555 is now obsolete -! the plugin list is now sorted internally -! ConvertTo32Bits now stores the transparency table as alpha mask -! FreeImage now uses LibMNG 1.0,1 -! FreeImage now uses LibPNG 1.0.11 -+ added external plugin support via DLLs -+ added function FreeImage_GetFIFByIndex -+ added internal function CalculateScanLine -+ added transparency support for high-color PNGs -+ added transparency support for high-color TIFFs -+ added functions FreeImage_SetTransparent and FreeImage_IsTransparent -+ added constant FIC_RGBALPHA to FREE_IMAGE_COLOR_TYPE - -April 5th 2001 - 2.2.0 -* [Remo Eichenberger] fixed small bug concerning DLLMain and static LIB generation -* fixed 1-bit bitmaps not properly loading in FreeImageQt -* fixed bug in conversion 16->16 -* FreeImage now uses LibPNG 1.0.10 -! [Martin Weber] improved loading of BMP files -! [Martin Weber] improved loading of TARGA files -! [Dave Larson] improved visual appearance after 16 conversions -! FreeImageQt now converts 32-bit bitmaps to 24-bit when saving PNGs and JPEGs -+ added functions FreeImage_Initialise and FreeImage_DeInitialise -+ added internal plugins -+ re-added combine/alphablend functions - -March 8th 2001 - 2.1.0 -* [Martin Hemming] fixed bug in 16-bit TARGA loading code -* fixed PNG's with alpha masks not loading correctly -! FreeImage is now dual-licensed: the FI-License and the GPL license -! FreeImage now uses LibPNG 1.0.9 -! FreeImage now uses LibTIFF 3.5.6 Beta -! FreeImage now uses LiBMNG 1.0.0 -! changed the ordering of the FREE_IMAGE_FORMAT table -! improved linux support -! improved test script -+ added transparency table support to SavePNG -+ added BI_BITFIELDS support to LoadBMP and SaveBMP -+ added reading support for OS/2 2.x BMPs -+ added support for MNG and JNG reading using LibMNG -+ added support for Deluxe Paint reading -+ added 'hot swap' support to the Core DLL -+ added 'hot swap' support to FreeImage Qt -+ added functions GetFIFFromFormat and GetFIFFromFilename -+ added functions FIFSupportsReading and FIFSupportsWriting -+ added function GetFIFRegExpr - -January 14th 2001 - 2.0.0 -* [Herve Drolon] fixed a bug in the conversion 4->8 -* [Herve Drolon] fixed a bug in metrics handling in SaveJPEG -* [Herve Drolon] fixed a bug in the return value of the function SaveTIFF -* fixed the presence of two WuQuantizer.cpp files in the distribution -* fixed bug where a BMP renamed to ICO isn't loaded -- removed FreeImage_ConvertToGreyScale. Use FreeImage_ConvertTo8Bits instead. -- removed the boolean parameters from all conversion routines -- removed page handling in LoadTIFF. A new range of functions will be added. -! The void pointers used in FreeImage are now typed -! LoadBMP now takes palettes in 24/32 bit images in respect -! All effects and MMX functions are now stored in a new library (FreeEffects) -! [Herve Drolon] fixed bug in FreeImage_GetColorType -! [Herve Drolon] improved PCX loader. It can now read 1, 4, 8 and 24-bit images -! [Manfred Tausch] improved FreeImage_Rotate -! [Luca Piergentili] fixed crash bug when saving some 1-bit TIFFs -! rewrote all bitdepth conversion routines making use of the new scanline converters -! rewrote bitdepth conversion in FreeImageQt (uses less memory) -! FreeImage is now compiled __stdcall -+ [Herve Drolon] added WBMP (Wireless Bitmap Format) support: loading and saving -+ [Herve Drolon] added 4, 16 and 32 bitdepth handling in GetColorType -+ [Herve Drolon] added handling of 8-bit greyscale bitmaps in SaveJPEG -+ [Herve Drolon] added NeuQuant color reduction algorithm to ColorQuantize -+ added DLL_CALLCONV (calling convention) flag -+ added bitmask support to all bitmaps -+ added a series of functions converting scanlines from one bitdepth to another -+ added functions ConvertFromRawBits and ConvertToRawBits -+ added project FreeImageM2: Magenta II MMT bindings for FreeImage -+ added basic foundation for linux support - -December 2th 2000 - 1.4.4 -* fixed small bug related to TIFFSetDirectory in FreeImage_LoadTIFF -* fixed FreeImage_Rotate sometimes clipping too much pixels -* fixed other small bug in FreeImage_Rotate -* fixed FreeImage_Clone not taking the FREEIMAGEHEADER in account -* fixed bug in FreeImageQt where 1-bit images are not correctly allocated -* fixed FreeImage_Crop not copying the palette -* fixed message function pointer crash bug -* fixed bug where the palette wasn't copied when saving in FreeImageQt -* fixed FreeImage_Clone not copying the transparency table -- removed FreeImage_WritePaletteEntry -! [Adam Gates] rewrote parts of FreeImage so that c compilers can handle it better -! FreeImageQt doesn't statically link with the FreeImage lib anymore -! FreeImageQt now uses atexit() to automatically unregister -! rewrote parts of FreeImage_LoadBMP to increase speed -+ [Markus Loibl] added metrics handling code to LoadBMP, LoadJPEG, LoadTIFF and LoadPCX -+ added metrics handling code to FreeImageQt -+ added functions FIQT_IsLoaded, FIQT_GetVersion and FIQT_GetCopyrightMessage -+ added conversion 1 -> 16 -+ added FreeImage_SaveJPEG and JPEG quality settings -+ added FreeImage_GetBitsRowCol -+ added function FIQT_SetOutputMessage to FreeImageQt -+ added FreeImage_GetFileTypeFromExtension and FIQT_GetFileTypeFromFormat -+ added project FreeImagePy: python bindings for FreeImage - -November 7th 2000 - 1.4.3 -* fixed FreeImage_SavePNG crash bug -* fixed slighly corrupt size filter in FreeImage_Combine -* fixed FreeImage_SaveTIFF not saving 4-bit images -* [Herve Drolon] fixed bug in FreeImage_LoadTIFF -* [Herve Drolon] fixed bug in FreeImage_GetColorType -- removed fclose from FreeImage_SavePNM (who put it there?) -! rewrote FreeImage_Rotate -! FreeImageQt now automatically detects which formats are supported by Qt and which not -! FreeImage_Allocate now returns a void pointer -! FreeImage_Unload is now called FreeImage_Free -+ added 16-bit 5-5-5 support to FreeImage_LoadBMP -+ added RLE_DELTA support to FreeImage_LoadBMP -+ added directory support to FreeImage_LoadTIFF -+ added functions dealing with transparency -+ added transparency support to 8-bit PNG's in Qt -+ added FREE_IMAGE_QUANTIZE parameter to FreeImage_ColorQuantize -+ added custom FREEIMAGEHEADER header prepended to internal bitmaps -+ added new documentation - -October 18th 2000 - 1.4.2 -* fixed FreeImage_SaveBMP storing an incorrect bfSize value in the BITMAPFILEHEADER -* fixed bug where JPEG and PNG wouldn't load in FreeImageQt -* fixed FreeImage_Mirror mirroring one pixel less than needed -! FreeImage_MaskedCombine24 is now called FreeImage_MaskedCombine24Ex -! FreeImage_MaskedCombine32 is now called FreeImage_MaskedCombine32Ex -+ added 16-bit bitmap support to FreeImage_Mirror -+ added 16-bit bitmap support to FreeImage_ConvertTo8Bits -+ added simple version of FreeImage_MaskedCombine24 -+ added simple version of FreeImage_MaskedCombine32 - -October 17th 2000 - 1.4.1 -* [Herve Drolon] fixed bug in FreeImage_ConvertTo8Bits -* fixed bug in conversion with 16 -> 24 and 16 -> 32 -- removed static library support -- removed all unnecessary files from LibTIFF, LibPNG, LibJPEG and ZLib -- removed all absolute seeks from the library -! FreeImageQt now makes use of the DLL distro -! rebuilt the entire directory structure -! improved handling of BMP -! renamed FreeImage_MaskedCombine to FreeImage_MaskedCombine32 -+ [Alexander Dymerets] added 24-bit masked alpha blending with a seperate alpha mask -+ added FreeImage_Rotate (known bug in degrees 76 to 106) -+ added 4-bit bitmap support to FreeImage_ConvertTo16Bits -+ added 8-bit bitmap support to FreeImage_ConvertTo16Bits -+ added 32-bit bitmap support to FreeImage_ConvertTo16Bits -+ added 32-bit bitmap support to FreeImage_Mirror -+ added 16-bit 5-5-5 support to FreeImage_ConvertTo24Bits -+ added 16-bit 5-5-5 support to FreeImage_ConvertTo32Bits - -October 2th 2000 - 1.4.0 -* [Jani Kajala] fixed bug in conversion with 4 -> 24 and 8 -> 32 -* [Jani Kajala] fixed bug in FreeImage_Flip -* [Jani Kajala] fixed minor bug in FreeImage_LoadBMP -- [Herve Drolon] removed PBMFlags, PGMFlags and PPMFlags -- [Herve Drolon] removed FI_LoadGeneric -- removed FreeImage_Win32.h -! [Herve Drolon] changed FI_GetFileType -! [Herve Drolon] replaced FI_LoadPBM, FI_LoadPGM and FI_LoadPPM with FI_LoadPNM -! [Herve Drolon] improved FreeImage_LoadPNG -! FreeImage_WritePaletteEntry is now exported -+ [Herve Drolon] added FreeImage_SavePNG -+ [Herve Drolon] added FreeImage_SavePNM and PNMFlags -+ [Herve Drolon] added XXXFlags parameter to save functions -+ [Herve Drolon] added FreeImage_LoadRAS and FIF_RAS -+ added FreeImage_GetFileTypeFromExt - -September 7th 2000 - 1.3.5 -+ added conversion 4 -> 8 to FI_ConvertTo8Bits -+ added simple version of FI_GetFileType -+ added project FreeImageQt; a port of the library to the TrollTech library - -August 31th 2000 - 1.3.4 -* fixed 'ice effect' bug in new 24 bit PCX code -* fixed some bugs with the conversion 16 -> 24 and 16 -> 32 -! FI_Blur now returns void -! A debug build of the library now produces FreeImaged.dll and FreeImaged.lib -! TARGA_LOAD_ARGB8888 is now called TARGA_LOAD_RGB888 -! Alpha channels are now automatically loaded unless TARGA_LOAD_RGB888 is specified -! cleaned up the code a lot -+ added 32-bit bitmap support to FreeImage_ConvertToGreyscale -+ added support for 32-bit bottom-left TARGA images -+ added internal functions FreeImage_WritePaletteEntry() and FreeImage_GetScanLine() -+ added FreeImage_Win32.h, containing Windows functions needed to create DIBs -+ added documentation through Doxygen - -July 30th 2000 - 1.3.3 -* [Jani Kajala] fixed some bugs with the conversion 4 -> 24 and 8 -> 24 -* [Jani Kajala] fixed some bugs with the conversion 4 -> 32 and 8 -> 32 -* fixed bug in FI_LoadPNM's ASCII number loader -! [Herve Drolon] improved FI_LoadPNG -! [Herve Drolon] changed FI_ConvertToGreyScale (added changeable macro for conversion) -! improved FI_ConvertTo24Bits -! improved FI_ConvertTo32Bits -! freeImage now uses LibPNG 1.0.8 -+ [Herve Drolon] added FI_ColorQuantize, based on Wu's color quantizer -+ added the conversion 1 -> 24 -+ added the conversion 1 -> 32 -+ added FI_ConvertTo8Bits -+ added FI_Invert (very useful for image processing) -+ added FI_GetColorType and 'enum FREE_IMAGE_COLOR_TYPE' - -June 30th 2000 - 1.3.2 -- removed color reduction functions from the project -! [Herve Drolon] Improved FI_LoadTIFF code -! renamed FI_ToGrayscale to FI_ConvertToGreyScale -! renamed FI_IncreaseColors to FI_ConvertTo24Bits -! LoadBMP now supports 32-bit bitmaps -! [Jani Kajala] Improved FI_LoadTARGA and FI_LoadPCX code -+ added FI_ConvertTo32Bits to convert a bitmap to 32-bit -+ added FI_MaskCombine to combine two 32-bit bitmaps using a alpha mask -+ added FI_AddAlphaMask to enrich a 32-bit bitmap with an alpha mask -+ added FI_SaveTIFF -+ added 16-bit bitmap (565) support to the ConvertToXXX functions. -+ added FI_ConvertTo16Bits (555 and 565) - -June 1th 2000 - 1.3.1 -- removed Standard Template Library (STL) code -* [Jani Kajala] fixed minor bug in FI_LoadTARGA -* [Jani Kajala] fixed some minor bugs in FI_LoadPCX -! streamlined FI_LoadJPEG a little -! FreeImage now uses LibPNG 1.0.6 -! FreeImage now uses LibTIFF 3.5.5 -! FreeImage now uses malloc and free instead of new and delete -+ introduced compiler flags to disable certain features in the DLL -+ added experimental nearest color reduction (FI_ReduceColorsNearestColor) - -April 13th 2000 - 1.3.0 -* fixed some 8 bit PCX files loading incorrectly -* fixed tiny bug in internally used CalculateUsedColors function -- removed FI_SaveXPM. Only BMP is supported now. -- removed Windows dependencies for easier porting -! optimized FI_LoadKOALA a little -! optimized FI_Combine using MMX technology -! FI_Combine now receives an 'unsigned integer' as alpha blend parameter -! FI_InCreaseColors and FI_ReduceColors don't dispose the old bitmap anymore -+ added PNM support (PGM, PPM and PBM; both binary and ascii) -+ [Alexander Dymerets] added FI_EnableMMX and FI_DisableMMX -+ added various effect functions (FI_Blur, FI_Brighten and FI_Crop) - -March 1st 2000 - 1.2.1 -* fixed some 24 bit PCX files loading incorrectly - -February 8th 2000 - 1.2.0 -* fixed last bitmap data block in JPEG files being truncated -* fixed 4/8 bit BMP's incorrectly loading when the palette is smaller than the bitcount predicts -- removed FI_Load. There is no reliable way to identify all image formats -- removed FI_SetJpegDecodeMode. - Mode selection is now done using the 'DataEnum data' parameter of FI_LoadJPEG -! read_proc/write_proc/tell_proc in FreeImageIO now are same as fread/fwrite/ftell -+ added a 'DataEnum data' parameter to all FI_LoadXXX functions. -+ added 16 bit TARGA support -+ added RLE support for TARGA images -+ added FI_GetDIBSize to get the size of a DIB in bytes -+ added Kodak PhotoCD support (Base, Base/4 and Base/16 encoding) -+ added KOALA support -+ added FI_GetFileType. Note: there is no reliable way to identify TARGA, ICO and PCD. Therefore they have been excluded -In KOALA files only the files converted by a C64 emulator can be identified. -+ added FI_Combine to combine two 24-bit bitmaps with (optional) alpha blending - -January 15th 2000 - 1.1.1 -! FI_Copy is now called FI_Clone -+ added FI_ToGrayscale to convert a color bitmap to grayscale -+ added 32 bit TARGA support -+ added FI_IncreaseColors to increase the bitmap bitdepth from 4/8 bit to 24 bit - -January 14th 2000 - 1.1.0 -* FI_MIRROR: fixed nibbles not being mirrored in 4 bit images -* FI_MIRROR: fixed bits not being mirrored in 1 bit images -* fixed improper loading of 1, 4 and 8 bit OS/2 BMP's -* fixed some inconsistensies in the calculation of lines and pitches -* fixed incorrectly loading of Huffman and FAX encoded TIFFs -* fixed LoadTGA accepting 16 bit TGA's and returning corrupt DIB's -- removed LZW support for TIFFs -! FreeImage now uses LibTIFF 3.5.4 -+ added ICO support -+ added overridable file I/O support in the form of FreeImageIO and fi_handle -+ added FI_Load for generic image loading -+ added FI_ReduceColors for color reduction -+ added FI_Copy to copy a bitmap in memory - -January 5th 2000 - 1.0.0 diff --git a/extern/FreeImage/libFreeImage.a b/extern/FreeImage/libFreeImage.a deleted file mode 100644 index 1619cac..0000000 Binary files a/extern/FreeImage/libFreeImage.a and /dev/null differ diff --git a/extern/FreeImage/license-fi.txt b/extern/FreeImage/license-fi.txt deleted file mode 100644 index 03b666c..0000000 --- a/extern/FreeImage/license-fi.txt +++ /dev/null @@ -1,142 +0,0 @@ -FreeImage Public License - Version 1.0 ---------------------------------------------- - -1. Definitions. - -1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications. - -1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - -1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - -1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data. - -1.5. "Executable" means Covered Code in any form other than Source Code. - -1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - -1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - -1.8. "License" means this document. - -1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a -Modification is: - -A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - -B. Any new file that contains any part of the Original Code or previous Modifications. - -1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - -1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control -compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - -1.12. "You" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - -2.1. The Initial Developer Grant. -The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - -(a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - -(b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell ("Utilize") the Original Code (or portions thereof), but solely to the extent that -any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or -combinations. - -2.2. Contributor Grant. -Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - -(a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - -(b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that -may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - -3.1. Application of License. -The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or -restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - -3.2. Availability of Source Code. -Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - -3.3. Description of Modifications. -You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - -3.4. Intellectual Property Matters - -(a) Third Party Claims. -If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make -available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - -(b) Contributor APIs. -If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - -3.5. Required Notices. -You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its -structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or -liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of -warranty, support, indemnity or liability terms You offer. - -3.6. Distribution of Executable Versions. -You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You -describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, -provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - -3.7. Larger Works. -You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - -If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - -This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - -6.1. New Versions. -Floris van den Berg may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - -6.2. Effect of New Versions. -Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Floris van den Berg -No one other than Floris van den Berg has the right to modify the terms applicable to Covered Code created under this License. - -6.3. Derivative Works. -If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases "FreeImage", `FreeImage Public License", "FIPL", or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the FreeImage Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - -COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - -This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - -UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE -EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - -The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - -This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by Dutch law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the The Netherlands: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Almelo, The Netherlands; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the court of Almelo, The Netherlands with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - -Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based -on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute -responsibility on an equitable basis. - -EXHIBIT A. - -"The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://home.wxs.nl/~flvdberg/freeimage-license.txt - -Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. \ No newline at end of file diff --git a/extern/FreeImage/license-gpl.txt b/extern/FreeImage/license-gpl.txt deleted file mode 100644 index 7d1f860..0000000 --- a/extern/FreeImage/license-gpl.txt +++ /dev/null @@ -1,342 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - - diff --git a/extern/gnuwin32/CMakeLists.txt b/extern/gnuwin32/CMakeLists.txt deleted file mode 100644 index 7dd11ba..0000000 --- a/extern/gnuwin32/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ - -INSTALL(PROGRAMS - bin/win32/jpeg62.dll - bin/win32/libpng12.dll - bin/win32/libtiff3.dll - bin/win32/zlib1.dll - DESTINATION bin) diff --git a/extern/gnuwin32/bin/win32/jpeg62.dll b/extern/gnuwin32/bin/win32/jpeg62.dll deleted file mode 100755 index 21c03d5..0000000 Binary files a/extern/gnuwin32/bin/win32/jpeg62.dll and /dev/null differ diff --git a/extern/gnuwin32/bin/win32/libpng12.dll b/extern/gnuwin32/bin/win32/libpng12.dll deleted file mode 100755 index c3aa866..0000000 Binary files a/extern/gnuwin32/bin/win32/libpng12.dll and /dev/null differ diff --git a/extern/gnuwin32/bin/win32/libtiff3.dll b/extern/gnuwin32/bin/win32/libtiff3.dll deleted file mode 100755 index 9883c51..0000000 Binary files a/extern/gnuwin32/bin/win32/libtiff3.dll and /dev/null differ diff --git a/extern/gnuwin32/bin/win32/zlib1.dll b/extern/gnuwin32/bin/win32/zlib1.dll deleted file mode 100755 index 31996cd..0000000 Binary files a/extern/gnuwin32/bin/win32/zlib1.dll and /dev/null differ diff --git a/extern/gnuwin32/include/jconfig.h b/extern/gnuwin32/include/jconfig.h deleted file mode 100644 index cf29877..0000000 --- a/extern/gnuwin32/include/jconfig.h +++ /dev/null @@ -1,58 +0,0 @@ -/* jconfig.h. Generated automatically by configure. */ -/* jconfig.cfg --- source file edited by configure script */ -/* see jconfig.doc for explanations */ - -#define HAVE_PROTOTYPES -#define HAVE_UNSIGNED_CHAR -#define HAVE_UNSIGNED_SHORT - -#ifdef _WIN32 -# include -/* Define "boolean" as unsigned char, not int, per Windows custom */ -# if !defined __RPCNDR_H__ || defined __MINGW32__ /* don't conflict if rpcndr.h already read */ -# ifndef boolean /* don't conflict if rpcndr.h already read */ - typedef unsigned char boolean; -# endif /* boolean */ -# endif /* __RPCNDR_H__ */ -# define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ -# define USE_WINDOWS_MESSAGEBOX 1 -#endif /* _WIN32 */ - -#undef void -#undef const -#undef CHAR_IS_UNSIGNED -#define HAVE_STDDEF_H -#define HAVE_STDLIB_H -#undef NEED_BSD_STRINGS -#undef NEED_SYS_TYPES_H -#undef NEED_FAR_POINTERS -#undef NEED_SHORT_EXTERNAL_NAMES -/* Define this if you get warnings about undefined structures. */ -#undef INCOMPLETE_TYPES_BROKEN - -#ifdef JPEG_INTERNALS - -#undef RIGHT_SHIFT_IS_UNSIGNED -#define INLINE __inline__ -/* These are for configuring the JPEG memory manager. */ -#undef DEFAULT_MAX_MEM -#undef NO_MKTEMP - -#endif /* JPEG_INTERNALS */ - -#ifdef JPEG_CJPEG_DJPEG - -#define BMP_SUPPORTED /* BMP image file format */ -#define GIF_SUPPORTED /* GIF image file format */ -#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ -#define RLE_SUPPORTED /* Utah RLE image file format */ -#define TARGA_SUPPORTED /* Targa image file format */ - -#undef TWO_FILE_COMMANDLINE -#undef NEED_SIGNAL_CATCHER -#undef DONT_USE_B_MODE - -/* Define this if you want percent-done progress reports from cjpeg/djpeg. */ -#undef PROGRESS_REPORT - -#endif /* JPEG_CJPEG_DJPEG */ diff --git a/extern/gnuwin32/include/jerror.h b/extern/gnuwin32/include/jerror.h deleted file mode 100644 index f5fb3c3..0000000 --- a/extern/gnuwin32/include/jerror.h +++ /dev/null @@ -1,303 +0,0 @@ -/* - * jerror.h - * - * Copyright (C) 1994-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the error and message codes for the JPEG library. - * Edit this file to add new codes, or to translate the message strings to - * some other language. - * A set of error-reporting macros are defined too. Some applications using - * the JPEG library may wish to include this file to get the error codes - * and/or the macros. - */ - -/* - * To define the enum list of message codes, include this file without - * defining macro JMESSAGE. To create a message string table, include it - * again with a suitable JMESSAGE definition (see jerror.c for an example). - */ -#ifndef JMESSAGE -#ifndef JERROR_H -/* First time through, define the enum list */ -#define JMAKE_ENUM_LIST -#else -/* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */ -#define JMESSAGE(code,string) -#endif /* JERROR_H */ -#endif /* JMESSAGE */ - -#ifdef JMAKE_ENUM_LIST - -typedef enum { - -#define JMESSAGE(code,string) code , - -#endif /* JMAKE_ENUM_LIST */ - -JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */ - -/* For maintenance convenience, list is alphabetical by message code name */ -JMESSAGE(JERR_ARITH_NOTIMPL, - "Sorry, there are legal restrictions on arithmetic coding") -JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix") -JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix") -JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode") -JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS") -JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request") -JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range") -JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported") -JMESSAGE(JERR_BAD_DROP_SAMPLING, - "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c") -JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition") -JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace") -JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace") -JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length") -JMESSAGE(JERR_BAD_LIB_VERSION, - "Wrong JPEG library version: library is %d, caller expects %d") -JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan") -JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d") -JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d") -JMESSAGE(JERR_BAD_PROGRESSION, - "Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d") -JMESSAGE(JERR_BAD_PROG_SCRIPT, - "Invalid progressive parameters at scan script entry %d") -JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors") -JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d") -JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d") -JMESSAGE(JERR_BAD_STRUCT_SIZE, - "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u") -JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access") -JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small") -JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here") -JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet") -JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d") -JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request") -JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d") -JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x") -JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d") -JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d") -JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)") -JMESSAGE(JERR_EMS_READ, "Read from EMS failed") -JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed") -JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan") -JMESSAGE(JERR_FILE_READ, "Input file read error") -JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?") -JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet") -JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow") -JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry") -JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels") -JMESSAGE(JERR_INPUT_EMPTY, "Empty input file") -JMESSAGE(JERR_INPUT_EOF, "Premature end of input file") -JMESSAGE(JERR_MISMATCHED_QUANT_TABLE, - "Cannot transcode due to multiple use of quantization table %d") -JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data") -JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change") -JMESSAGE(JERR_NOTIMPL, "Not implemented yet") -JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time") -JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported") -JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined") -JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image") -JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined") -JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x") -JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)") -JMESSAGE(JERR_QUANT_COMPONENTS, - "Cannot quantize more than %d color components") -JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") -JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") -JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") -JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") -JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") -JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") -JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF") -JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") -JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") -JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") -JMESSAGE(JERR_TFILE_WRITE, - "Write failed on temporary file --- out of disk space?") -JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines") -JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x") -JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up") -JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation") -JMESSAGE(JERR_XMS_READ, "Read from XMS failed") -JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed") -JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT) -JMESSAGE(JMSG_VERSION, JVERSION) -JMESSAGE(JTRC_16BIT_TABLES, - "Caution: quantization tables are too coarse for baseline JPEG") -JMESSAGE(JTRC_ADOBE, - "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d") -JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u") -JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u") -JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x") -JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x") -JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d") -JMESSAGE(JTRC_DRI, "Define Restart Interval %u") -JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u") -JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u") -JMESSAGE(JTRC_EOI, "End Of Image") -JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d") -JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d") -JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE, - "Warning: thumbnail image size does not match data length %u") -JMESSAGE(JTRC_JFIF_EXTENSION, - "JFIF extension marker: type 0x%02x, length %u") -JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image") -JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u") -JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x") -JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u") -JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors") -JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors") -JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization") -JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d") -JMESSAGE(JTRC_RST, "RST%d") -JMESSAGE(JTRC_SMOOTH_NOTIMPL, - "Smoothing not supported with nonstandard sampling ratios") -JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d") -JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d") -JMESSAGE(JTRC_SOI, "Start of Image") -JMESSAGE(JTRC_SOS, "Start Of Scan: %d components") -JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d") -JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d") -JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s") -JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s") -JMESSAGE(JTRC_THUMB_JPEG, - "JFIF extension marker: JPEG-compressed thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_PALETTE, - "JFIF extension marker: palette thumbnail image, length %u") -JMESSAGE(JTRC_THUMB_RGB, - "JFIF extension marker: RGB thumbnail image, length %u") -JMESSAGE(JTRC_UNKNOWN_IDS, - "Unrecognized component IDs %d %d %d, assuming YCbCr") -JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u") -JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u") -JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d") -JMESSAGE(JWRN_BOGUS_PROGRESSION, - "Inconsistent progression sequence for component %d coefficient %d") -JMESSAGE(JWRN_EXTRANEOUS_DATA, - "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x") -JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment") -JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code") -JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d") -JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file") -JMESSAGE(JWRN_MUST_RESYNC, - "Corrupt JPEG data: found marker 0x%02x instead of RST%d") -JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG") -JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines") - -#ifdef JMAKE_ENUM_LIST - - JMSG_LASTMSGCODE -} J_MESSAGE_CODE; - -#undef JMAKE_ENUM_LIST -#endif /* JMAKE_ENUM_LIST */ - -/* Zap JMESSAGE macro so that future re-inclusions do nothing by default */ -#undef JMESSAGE - - -#ifndef JERROR_H -#define JERROR_H - -/* Macros to simplify using the error and trace message stuff */ -/* The first parameter is either type of cinfo pointer */ - -/* Fatal errors (print message and exit) */ -#define ERREXIT(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT3(cinfo,code,p1,p2,p3) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT4(cinfo,code,p1,p2,p3,p4) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXIT6(cinfo,code,p1,p2,p3,p4,p5,p6) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (cinfo)->err->msg_parm.i[2] = (p3), \ - (cinfo)->err->msg_parm.i[3] = (p4), \ - (cinfo)->err->msg_parm.i[4] = (p5), \ - (cinfo)->err->msg_parm.i[5] = (p6), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) -#define ERREXITS(cinfo,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->error_exit) ((j_common_ptr) (cinfo))) - -#define MAKESTMT(stuff) do { stuff } while (0) - -/* Nonfatal errors (we can keep going, but the data is probably corrupt) */ -#define WARNMS(cinfo,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS1(cinfo,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) -#define WARNMS2(cinfo,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), -1)) - -/* Informational/debugging messages */ -#define TRACEMS(cinfo,lvl,code) \ - ((cinfo)->err->msg_code = (code), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS1(cinfo,lvl,code,p1) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS2(cinfo,lvl,code,p1,p2) \ - ((cinfo)->err->msg_code = (code), \ - (cinfo)->err->msg_parm.i[0] = (p1), \ - (cinfo)->err->msg_parm.i[1] = (p2), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) -#define TRACEMS3(cinfo,lvl,code,p1,p2,p3) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS4(cinfo,lvl,code,p1,p2,p3,p4) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS5(cinfo,lvl,code,p1,p2,p3,p4,p5) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMS8(cinfo,lvl,code,p1,p2,p3,p4,p5,p6,p7,p8) \ - MAKESTMT(int * _mp = (cinfo)->err->msg_parm.i; \ - _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \ - _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \ - (cinfo)->err->msg_code = (code); \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl)); ) -#define TRACEMSS(cinfo,lvl,code,str) \ - ((cinfo)->err->msg_code = (code), \ - strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \ - (*(cinfo)->err->emit_message) ((j_common_ptr) (cinfo), (lvl))) - -#endif /* JERROR_H */ diff --git a/extern/gnuwin32/include/jmorecfg.h b/extern/gnuwin32/include/jmorecfg.h deleted file mode 100644 index 30178ac..0000000 --- a/extern/gnuwin32/include/jmorecfg.h +++ /dev/null @@ -1,426 +0,0 @@ -/* - * jmorecfg.h - * - * Copyright (C) 1991-1997, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file contains additional configuration options that customize the - * JPEG software for special applications or support machine-dependent - * optimizations. Most users will not need to touch this file. - */ - - -/* - * Define BITS_IN_JSAMPLE as either - * 8 for 8-bit sample values (the usual setting) - * 12 for 12-bit sample values - * Only 8 and 12 are legal data precisions for lossy JPEG according to the - * JPEG standard, and the IJG code does not support anything else! - * We do not support run-time selection of data precision, sorry. - */ - -#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ - -#if (defined (_MSC_VER) && (_MSC_VER >= 800)) -#define HAVE_UNSIGNED_CHAR -#define HAVE_ALL_INTS -#define EXTERN(type) extern type __cdecl -#endif - -/* - * Maximum number of components (color channels) allowed in JPEG image. - * To meet the letter of the JPEG spec, set this to 255. However, darn - * few applications need more than 4 channels (maybe 5 for CMYK + alpha - * mask). We recommend 10 as a reasonable compromise; use 4 if you are - * really short on memory. (Each allowed component costs a hundred or so - * bytes of storage, whether actually used in an image or not.) - */ - -#define MAX_COMPONENTS 10 /* maximum number of image components */ - - -/* - * Basic data types. - * You may need to change these if you have a machine with unusual data - * type sizes; for example, "char" not 8 bits, "short" not 16 bits, - * or "long" not 32 bits. We don't care whether "int" is 16 or 32 bits, - * but it had better be at least 16. - */ - -/* Representation of a single sample (pixel element value). - * We frequently allocate large arrays of these, so it's important to keep - * them small. But if you have memory to burn and access to char or short - * arrays is very slow on your hardware, you might want to change these. - */ - -#if BITS_IN_JSAMPLE == 8 -/* JSAMPLE should be the smallest type that will hold the values 0..255. - * You can use a signed char by having GETJSAMPLE mask it with 0xFF. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JSAMPLE; -#ifdef CHAR_IS_UNSIGNED -#define GETJSAMPLE(value) ((int) (value)) -#else -#define GETJSAMPLE(value) ((int) (value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - -#define MAXJSAMPLE 255 -#define CENTERJSAMPLE 128 - -#endif /* BITS_IN_JSAMPLE == 8 */ - - -#if BITS_IN_JSAMPLE == 12 -/* JSAMPLE should be the smallest type that will hold the values 0..4095. - * On nearly all machines "short" will do nicely. - */ - -typedef short JSAMPLE; -#define GETJSAMPLE(value) ((int) (value)) - -#define MAXJSAMPLE 4095 -#define CENTERJSAMPLE 2048 - -#endif /* BITS_IN_JSAMPLE == 12 */ - - -/* Representation of a DCT frequency coefficient. - * This should be a signed value of at least 16 bits; "short" is usually OK. - * Again, we allocate large arrays of these, but you can change to int - * if you have memory to burn and "short" is really slow. - */ - -typedef short JCOEF; - - -/* Compressed datastreams are represented as arrays of JOCTET. - * These must be EXACTLY 8 bits wide, at least once they are written to - * external storage. Note that when using the stdio data source/destination - * managers, this is also the data type passed to fread/fwrite. - */ - -#ifdef HAVE_UNSIGNED_CHAR - -typedef unsigned char JOCTET; -#define GETJOCTET(value) (value) - -#else /* not HAVE_UNSIGNED_CHAR */ - -typedef char JOCTET; -#ifdef CHAR_IS_UNSIGNED -#define GETJOCTET(value) (value) -#else -#define GETJOCTET(value) ((value) & 0xFF) -#endif /* CHAR_IS_UNSIGNED */ - -#endif /* HAVE_UNSIGNED_CHAR */ - - -/* These typedefs are used for various table entries and so forth. - * They must be at least as wide as specified; but making them too big - * won't cost a huge amount of memory, so we don't provide special - * extraction code like we did for JSAMPLE. (In other words, these - * typedefs live at a different point on the speed/space tradeoff curve.) - */ - -/* UINT8 must hold at least the values 0..255. */ -#ifndef HAVE_ALL_INTS - -#ifdef HAVE_UNSIGNED_CHAR -typedef unsigned char UINT8; -#else /* not HAVE_UNSIGNED_CHAR */ -#ifdef CHAR_IS_UNSIGNED -typedef char UINT8; -#else /* not CHAR_IS_UNSIGNED */ -typedef short UINT8; -#endif /* CHAR_IS_UNSIGNED */ -#endif /* HAVE_UNSIGNED_CHAR */ - -/* UINT16 must hold at least the values 0..65535. */ - -#ifdef HAVE_UNSIGNED_SHORT -typedef unsigned short UINT16; -#else /* not HAVE_UNSIGNED_SHORT */ -typedef unsigned int UINT16; -#endif /* HAVE_UNSIGNED_SHORT */ - -/* INT16 must hold at least the values -32768..32767. */ - -#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ -typedef short INT16; -#endif - -/* INT32 must hold at least signed 32-bit values. */ - -#if !defined(XMD_H) && !defined(_WIN32) /* X11/xmd.h correctly defines INT32 */ -typedef long INT32; -#endif - -#endif /* HAVE_ALL_INTS */ - -/* Datatype used for image dimensions. The JPEG standard only supports - * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore - * "unsigned int" is sufficient on all machines. However, if you need to - * handle larger images and you don't mind deviating from the spec, you - * can change this datatype. - */ - -typedef unsigned int JDIMENSION; - -#define JPEG_MAX_DIMENSION 65500L /* a tad under 64K to prevent overflows */ - - -/* These macros are used in all function definitions and extern declarations. - * You could modify them if you need to change function linkage conventions; - * in particular, you'll need to do that to make the library a Windows DLL. - * Another application is to make all functions global for use with debuggers - * or code profilers that require it. - */ - -#ifdef _WIN32 -# if defined(ALL_STATIC) -# if defined(JPEG_DLL) -# undef JPEG_DLL -# endif -# if !defined(JPEG_STATIC) -# define JPEG_STATIC -# endif -# endif -# if defined(JPEG_DLL) -# if defined(JPEG_STATIC) -# undef JPEG_STATIC -# endif -# endif -# if defined(JPEG_DLL) -/* building a DLL */ -# define JPEG_IMPEXP __declspec(dllexport) -# elif defined(JPEG_STATIC) -/* building or linking to a static library */ -# define JPEG_IMPEXP -# else -/* linking to the DLL */ -# define JPEG_IMPEXP __declspec(dllimport) -# endif -# if !defined(JPEG_API) -# define JPEG_API __cdecl -# endif -/* The only remaining magic that is necessary for cygwin */ -#elif defined(__CYGWIN__) -# if !defined(JPEG_IMPEXP) -# define JPEG_IMPEXP -# endif -# if !defined(JPEG_API) -# define JPEG_API __cdecl -# endif -#endif - -/* Ensure our magic doesn't hurt other platforms */ -#if !defined(JPEG_IMPEXP) -# define JPEG_IMPEXP -#endif -#if !defined(JPEG_API) -# define JPEG_API -#endif - -/* a function called through method pointers: */ -#define METHODDEF(type) static type -/* a function used only in its module: */ -#define LOCAL(type) static type -/* a function referenced thru EXTERNs: */ -#define GLOBAL(type) type JPEG_API -/* a reference to a GLOBAL function: */ -#ifndef EXTERN -# define EXTERN(type) extern JPEG_IMPEXP type JPEG_API -/* a reference to a "GLOBAL" function exported by sourcefiles of utility progs */ -#endif /* EXTERN */ -#define EXTERN_1(type) extern type JPEG_API - - -/* This macro is used to declare a "method", that is, a function pointer. - * We want to supply prototype parameters if the compiler can cope. - * Note that the arglist parameter must be parenthesized! - * Again, you can customize this if you need special linkage keywords. - */ - -#ifdef HAVE_PROTOTYPES -#define JMETHOD(type,methodname,arglist) type (*methodname) arglist -#else -#define JMETHOD(type,methodname,arglist) type (*methodname) () -#endif - - -/* Here is the pseudo-keyword for declaring pointers that must be "far" - * on 80x86 machines. Most of the specialized coding for 80x86 is handled - * by just saying "FAR *" where such a pointer is needed. In a few places - * explicit coding is needed; see uses of the NEED_FAR_POINTERS symbol. - */ - -/* jmorecfg.h line 220 */ -/* HJH modification: several of the windows header files already define FAR - because of this, the code below was changed so that it only tinkers with - the FAR define if FAR is still undefined */ -#ifndef FAR - #ifdef NEED_FAR_POINTERS - #define FAR far - #else - #define FAR - #endif -#endif - - -/* - * On a few systems, type boolean and/or its values FALSE, TRUE may appear - * in standard header files. Or you may have conflicts with application- - * specific header files that you want to include together with these files. - * Defining HAVE_BOOLEAN before including jpeglib.h should make it work. - */ - -#ifndef HAVE_BOOLEAN -typedef int boolean; -#endif -#ifndef FALSE /* in case these macros already exist */ -#define FALSE 0 /* values of boolean */ -#endif -#ifndef TRUE -#define TRUE 1 -#endif - - -/* - * The remaining options affect code selection within the JPEG library, - * but they don't need to be visible to most applications using the library. - * To minimize application namespace pollution, the symbols won't be - * defined unless JPEG_INTERNALS or JPEG_INTERNAL_OPTIONS has been defined. - */ - -#ifdef JPEG_INTERNALS -#define JPEG_INTERNAL_OPTIONS -#endif - -#ifdef JPEG_INTERNAL_OPTIONS - - -/* - * These defines indicate whether to include various optional functions. - * Undefining some of these symbols will produce a smaller but less capable - * library. Note that you can leave certain source files out of the - * compilation/linking process if you've #undef'd the corresponding symbols. - * (You may HAVE to do that if your compiler doesn't like null source files.) - */ - -/* Arithmetic coding is unsupported for legal reasons. Complaints to IBM. */ - -/* Capability options common to encoder and decoder: */ - -#define DCT_ISLOW_SUPPORTED /* slow but accurate integer algorithm */ -#define DCT_IFAST_SUPPORTED /* faster, less accurate integer method */ -#define DCT_FLOAT_SUPPORTED /* floating-point: accurate, fast on fast HW */ - -/* Encoder capability options: */ - -#undef C_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define C_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ -/* Note: if you selected 12-bit data precision, it is dangerous to turn off - * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit - * precision, so jchuff.c normally uses entropy optimization to compute - * usable tables for higher precision. If you don't want to do optimization, - * you'll have to supply different default Huffman tables. - * The exact same statements apply for progressive JPEG: the default tables - * don't work for progressive mode. (This may get fixed, however.) - */ -#define INPUT_SMOOTHING_SUPPORTED /* Input image smoothing option? */ - -/* Decoder capability options: */ - -#undef D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ -#define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ -#define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ -#define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ -#define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ -#define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ -#undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ -#define UPSAMPLE_MERGING_SUPPORTED /* Fast path for sloppy upsampling? */ -#define QUANT_1PASS_SUPPORTED /* 1-pass color quantization? */ -#define QUANT_2PASS_SUPPORTED /* 2-pass color quantization? */ - -/* more capability options later, no doubt */ - - -/* - * Ordering of RGB data in scanlines passed to or from the application. - * If your application wants to deal with data in the order B,G,R, just - * change these macros. You can also deal with formats such as R,G,B,X - * (one extra byte per pixel) by changing RGB_PIXELSIZE. Note that changing - * the offsets will also change the order in which colormap data is organized. - * RESTRICTIONS: - * 1. The sample applications cjpeg,djpeg do NOT support modified RGB formats. - * 2. These macros only affect RGB<=>YCbCr color conversion, so they are not - * useful if you are using JPEG color spaces other than YCbCr or grayscale. - * 3. The color quantizer modules will not behave desirably if RGB_PIXELSIZE - * is not 3 (they don't understand about dummy color components!). So you - * can't use color quantization if you change that value. - */ - -#define RGB_RED 0 /* Offset of Red in an RGB scanline element */ -#define RGB_GREEN 1 /* Offset of Green */ -#define RGB_BLUE 2 /* Offset of Blue */ -#define RGB_PIXELSIZE 3 /* JSAMPLEs per RGB scanline element */ - - -/* Definitions for speed-related optimizations. */ - - -/* If your compiler supports inline functions, define INLINE - * as the inline keyword; otherwise define it as empty. - */ - -#ifndef INLINE -#ifdef __GNUC__ /* for instance, GNU C knows about inline */ -#define INLINE __inline__ -#endif -#ifndef INLINE -#define INLINE /* default is to define it as empty */ -#endif -#endif - - -/* On some machines (notably 68000 series) "int" is 32 bits, but multiplying - * two 16-bit shorts is faster than multiplying two ints. Define MULTIPLIER - * as short on such a machine. MULTIPLIER must be at least 16 bits wide. - */ - -#ifndef MULTIPLIER -#define MULTIPLIER int /* type for fastest integer multiply */ -#endif - - -/* FAST_FLOAT should be either float or double, whichever is done faster - * by your compiler. (Note that this type is only used in the floating point - * DCT routines, so it only matters if you've defined DCT_FLOAT_SUPPORTED.) - * Typically, float is faster in ANSI C compilers, while double is faster in - * pre-ANSI compilers (because they insist on converting to double anyway). - * The code below therefore chooses float if we have ANSI-style prototypes. - */ - -#ifndef FAST_FLOAT -#ifdef HAVE_PROTOTYPES -#define FAST_FLOAT float -#else -#define FAST_FLOAT double -#endif -#endif - -#endif /* JPEG_INTERNAL_OPTIONS */ diff --git a/extern/gnuwin32/include/jpeglib.h b/extern/gnuwin32/include/jpeglib.h deleted file mode 100644 index 498c6f9..0000000 --- a/extern/gnuwin32/include/jpeglib.h +++ /dev/null @@ -1,1110 +0,0 @@ -/* - * jpeglib.h - * - * Copyright (C) 1991-1998, Thomas G. Lane. - * This file is part of the Independent JPEG Group's software. - * For conditions of distribution and use, see the accompanying README file. - * - * This file defines the application interface for the JPEG library. - * Most applications using the library need only include this file, - * and perhaps jerror.h if they want to know the exact error codes. - */ - -#ifndef JPEGLIB_H -#define JPEGLIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * First we include the configuration files that record how this - * installation of the JPEG library is set up. jconfig.h can be - * generated automatically for many systems. jmorecfg.h contains - * manual configuration options that most people need not worry about. - */ - -#ifndef JCONFIG_INCLUDED /* in case jinclude.h already did */ -#include "jconfig.h" /* widely used configuration options */ -#endif -#include "jmorecfg.h" /* seldom changed options */ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* Version ID for the JPEG library. - * Might be useful for tests like "#if JPEG_LIB_VERSION >= 60". - */ - -#define JPEG_LIB_VERSION 62 /* Version 6b */ - - -/* Various constants determining the sizes of things. - * All of these are specified by the JPEG standard, so don't change them - * if you want to be compatible. - */ - -#define DCTSIZE 8 /* The basic DCT block is 8x8 samples */ -#define DCTSIZE2 64 /* DCTSIZE squared; # of elements in a block */ -#define NUM_QUANT_TBLS 4 /* Quantization tables are numbered 0..3 */ -#define NUM_HUFF_TBLS 4 /* Huffman tables are numbered 0..3 */ -#define NUM_ARITH_TBLS 16 /* Arith-coding tables are numbered 0..15 */ -#define MAX_COMPS_IN_SCAN 4 /* JPEG limit on # of components in one scan */ -#define MAX_SAMP_FACTOR 4 /* JPEG limit on sampling factors */ -/* Unfortunately, some bozo at Adobe saw no reason to be bound by the standard; - * the PostScript DCT filter can emit files with many more than 10 blocks/MCU. - * If you happen to run across such a file, you can up D_MAX_BLOCKS_IN_MCU - * to handle it. We even let you do this from the jconfig.h file. However, - * we strongly discourage changing C_MAX_BLOCKS_IN_MCU; just because Adobe - * sometimes emits noncompliant files doesn't mean you should too. - */ -#define C_MAX_BLOCKS_IN_MCU 10 /* compressor's limit on blocks per MCU */ -#ifndef D_MAX_BLOCKS_IN_MCU -#define D_MAX_BLOCKS_IN_MCU 10 /* decompressor's limit on blocks per MCU */ -#endif - - -/* Data structures for images (arrays of samples and of DCT coefficients). - * On 80x86 machines, the image arrays are too big for near pointers, - * but the pointer arrays can fit in near memory. - */ - -typedef JSAMPLE FAR *JSAMPROW; /* ptr to one image row of pixel samples. */ -typedef JSAMPROW *JSAMPARRAY; /* ptr to some rows (a 2-D sample array) */ -typedef JSAMPARRAY *JSAMPIMAGE; /* a 3-D sample array: top index is color */ - -typedef JCOEF JBLOCK[DCTSIZE2]; /* one block of coefficients */ -typedef JBLOCK FAR *JBLOCKROW; /* pointer to one row of coefficient blocks */ -typedef JBLOCKROW *JBLOCKARRAY; /* a 2-D array of coefficient blocks */ -typedef JBLOCKARRAY *JBLOCKIMAGE; /* a 3-D array of coefficient blocks */ - -typedef JCOEF FAR *JCOEFPTR; /* useful in a couple of places */ - - -/* Types for JPEG compression parameters and working tables. */ - - -/* DCT coefficient quantization tables. */ - -typedef struct { - /* This array gives the coefficient quantizers in natural array order - * (not the zigzag order in which they are stored in a JPEG DQT marker). - * CAUTION: IJG versions prior to v6a kept this array in zigzag order. - */ - UINT16 quantval[DCTSIZE2]; /* quantization step for each coefficient */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JQUANT_TBL; - - -/* Huffman coding tables. */ - -typedef struct { - /* These two fields directly represent the contents of a JPEG DHT marker */ - UINT8 bits[17]; /* bits[k] = # of symbols with codes of */ - /* length k bits; bits[0] is unused */ - UINT8 huffval[256]; /* The symbols, in order of incr code length */ - /* This field is used only during compression. It's initialized FALSE when - * the table is created, and set TRUE when it's been output to the file. - * You could suppress output of a table by setting this to TRUE. - * (See jpeg_suppress_tables for an example.) - */ - boolean sent_table; /* TRUE when table has been output */ -} JHUFF_TBL; - - -/* Basic info about one component (color channel). */ - -typedef struct { - /* These values are fixed over the whole image. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOF marker. */ - int component_id; /* identifier for this component (0..255) */ - int component_index; /* its index in SOF or cinfo->comp_info[] */ - int h_samp_factor; /* horizontal sampling factor (1..4) */ - int v_samp_factor; /* vertical sampling factor (1..4) */ - int quant_tbl_no; /* quantization table selector (0..3) */ - /* These values may vary between scans. */ - /* For compression, they must be supplied by parameter setup; */ - /* for decompression, they are read from the SOS marker. */ - /* The decompressor output side may not use these variables. */ - int dc_tbl_no; /* DC entropy table selector (0..3) */ - int ac_tbl_no; /* AC entropy table selector (0..3) */ - - /* Remaining fields should be treated as private by applications. */ - - /* These values are computed during compression or decompression startup: */ - /* Component's size in DCT blocks. - * Any dummy blocks added to complete an MCU are not counted; therefore - * these values do not depend on whether a scan is interleaved or not. - */ - JDIMENSION width_in_blocks; - JDIMENSION height_in_blocks; - /* Size of a DCT block in samples. Always DCTSIZE for compression. - * For decompression this is the size of the output from one DCT block, - * reflecting any scaling we choose to apply during the IDCT step. - * Values of 1,2,4,8 are likely to be supported. Note that different - * components may receive different IDCT scalings. - */ - int DCT_scaled_size; - /* The downsampled dimensions are the component's actual, unpadded number - * of samples at the main buffer (preprocessing/compression interface), thus - * downsampled_width = ceil(image_width * Hi/Hmax) - * and similarly for height. For decompression, IDCT scaling is included, so - * downsampled_width = ceil(image_width * Hi/Hmax * DCT_scaled_size/DCTSIZE) - */ - JDIMENSION downsampled_width; /* actual width in samples */ - JDIMENSION downsampled_height; /* actual height in samples */ - /* This flag is used only for decompression. In cases where some of the - * components will be ignored (eg grayscale output from YCbCr image), - * we can skip most computations for the unused components. - */ - boolean component_needed; /* do we need the value of this component? */ - - /* These values are computed before starting a scan of the component. */ - /* The decompressor output side may not use these variables. */ - int MCU_width; /* number of blocks per MCU, horizontally */ - int MCU_height; /* number of blocks per MCU, vertically */ - int MCU_blocks; /* MCU_width * MCU_height */ - int MCU_sample_width; /* MCU width in samples, MCU_width*DCT_scaled_size */ - int last_col_width; /* # of non-dummy blocks across in last MCU */ - int last_row_height; /* # of non-dummy blocks down in last MCU */ - - /* Saved quantization table for component; NULL if none yet saved. - * See jdinput.c comments about the need for this information. - * This field is currently used only for decompression. - */ - JQUANT_TBL * quant_table; - - /* Private per-component storage for DCT or IDCT subsystem. */ - void * dct_table; -} jpeg_component_info; - - -/* The script for encoding a multiple-scan file is an array of these: */ - -typedef struct { - int comps_in_scan; /* number of components encoded in this scan */ - int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */ - int Ss, Se; /* progressive JPEG spectral selection parms */ - int Ah, Al; /* progressive JPEG successive approx. parms */ -} jpeg_scan_info; - -/* The decompressor can save APPn and COM markers in a list of these: */ - -typedef struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr; - -struct jpeg_marker_struct { - jpeg_saved_marker_ptr next; /* next in list, or NULL */ - UINT8 marker; /* marker code: JPEG_COM, or JPEG_APP0+n */ - unsigned int original_length; /* # bytes of data in the file */ - unsigned int data_length; /* # bytes of data saved at data[] */ - JOCTET FAR * data; /* the data contained in the marker */ - /* the marker length word is not counted in data_length or original_length */ -}; - -/* Known color spaces. */ - -typedef enum { - JCS_UNKNOWN, /* error/unspecified */ - JCS_GRAYSCALE, /* monochrome */ - JCS_RGB, /* red/green/blue */ - JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ - JCS_CMYK, /* C/M/Y/K */ - JCS_YCCK /* Y/Cb/Cr/K */ -} J_COLOR_SPACE; - -/* DCT/IDCT algorithm options. */ - -typedef enum { - JDCT_ISLOW, /* slow but accurate integer algorithm */ - JDCT_IFAST, /* faster, less accurate integer method */ - JDCT_FLOAT /* floating-point: accurate, fast on fast HW */ -} J_DCT_METHOD; - -#ifndef JDCT_DEFAULT /* may be overridden in jconfig.h */ -#define JDCT_DEFAULT JDCT_ISLOW -#endif -#ifndef JDCT_FASTEST /* may be overridden in jconfig.h */ -#define JDCT_FASTEST JDCT_IFAST -#endif - -/* Dithering options for decompression. */ - -typedef enum { - JDITHER_NONE, /* no dithering */ - JDITHER_ORDERED, /* simple ordered dither */ - JDITHER_FS /* Floyd-Steinberg error diffusion dither */ -} J_DITHER_MODE; - - -/* Common fields between JPEG compression and decompression master structs. */ - -#define jpeg_common_fields \ - struct jpeg_error_mgr * err; /* Error handler module */\ - struct jpeg_memory_mgr * mem; /* Memory manager module */\ - struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\ - void * client_data; /* Available for use by application */\ - boolean is_decompressor; /* So common code can tell which is which */\ - int global_state /* For checking call sequence validity */ - -/* Routines that are to be used by both halves of the library are declared - * to receive a pointer to this structure. There are no actual instances of - * jpeg_common_struct, only of jpeg_compress_struct and jpeg_decompress_struct. - */ -struct jpeg_common_struct { - jpeg_common_fields; /* Fields common to both master struct types */ - /* Additional fields follow in an actual jpeg_compress_struct or - * jpeg_decompress_struct. All three structs must agree on these - * initial fields! (This would be a lot cleaner in C++.) - */ -}; - -typedef struct jpeg_common_struct * j_common_ptr; -typedef struct jpeg_compress_struct * j_compress_ptr; -typedef struct jpeg_decompress_struct * j_decompress_ptr; - - -/* Master record for a compression instance */ - -struct jpeg_compress_struct { - jpeg_common_fields; /* Fields shared with jpeg_decompress_struct */ - - /* Destination for compressed data */ - struct jpeg_destination_mgr * dest; - - /* Description of source image --- these fields must be filled in by - * outer application before starting compression. in_color_space must - * be correct before you can even call jpeg_set_defaults(). - */ - - JDIMENSION image_width; /* input image width */ - JDIMENSION image_height; /* input image height */ - int input_components; /* # of color components in input image */ - J_COLOR_SPACE in_color_space; /* colorspace of input image */ - - double input_gamma; /* image gamma of input image */ - - /* Compression parameters --- these fields must be set before calling - * jpeg_start_compress(). We recommend calling jpeg_set_defaults() to - * initialize everything to reasonable defaults, then changing anything - * the application specifically wants to change. That way you won't get - * burnt when new parameters are added. Also note that there are several - * helper routines to simplify changing parameters. - */ - - int data_precision; /* bits of precision in image data */ - - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - int num_scans; /* # of entries in scan_info array */ - const jpeg_scan_info * scan_info; /* script for multi-scan file, or NULL */ - /* The default value of scan_info is NULL, which causes a single-scan - * sequential JPEG file to be emitted. To create a multi-scan file, - * set num_scans and scan_info to point to an array of scan definitions. - */ - - boolean raw_data_in; /* TRUE=caller supplies downsampled data */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - boolean optimize_coding; /* TRUE=optimize entropy encoding parms */ - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - int smoothing_factor; /* 1..100, or 0 for no input smoothing */ - J_DCT_METHOD dct_method; /* DCT algorithm selector */ - - /* The restart interval can be specified in absolute MCUs by setting - * restart_interval, or in MCU rows by setting restart_in_rows - * (in which case the correct restart_interval will be figured - * for each scan). - */ - unsigned int restart_interval; /* MCUs per restart, or 0 for no restart */ - int restart_in_rows; /* if > 0, MCU rows per restart interval */ - - /* Parameters controlling emission of special markers. */ - - boolean write_JFIF_header; /* should a JFIF marker be written? */ - UINT8 JFIF_major_version; /* What to write for the JFIF version number */ - UINT8 JFIF_minor_version; - /* These three values are not used by the JPEG code, merely copied */ - /* into the JFIF APP0 marker. density_unit can be 0 for unknown, */ - /* 1 for dots/inch, or 2 for dots/cm. Note that the pixel aspect */ - /* ratio is defined by X_density/Y_density even when density_unit=0. */ - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean write_Adobe_marker; /* should an Adobe marker be written? */ - - /* State variable: index of next scanline to be written to - * jpeg_write_scanlines(). Application may use this to control its - * processing loop, e.g., "while (next_scanline < image_height)". - */ - - JDIMENSION next_scanline; /* 0 .. image_height-1 */ - - /* Remaining fields are known throughout compressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during compression startup - */ - boolean progressive_mode; /* TRUE if scan script uses progressive mode */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows to be input to coef ctlr */ - /* The coefficient controller receives data in units of MCU rows as defined - * for fully interleaved scans (whether the JPEG file is interleaved or not). - * There are v_samp_factor * DCTSIZE sample rows of each component in an - * "iMCU" (interleaved MCU) row. - */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[C_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* - * Links to compression subobjects (methods and private variables of modules) - */ - struct jpeg_comp_master * master; - struct jpeg_c_main_controller * main; - struct jpeg_c_prep_controller * prep; - struct jpeg_c_coef_controller * coef; - struct jpeg_marker_writer * marker; - struct jpeg_color_converter * cconvert; - struct jpeg_downsampler * downsample; - struct jpeg_forward_dct * fdct; - struct jpeg_entropy_encoder * entropy; - jpeg_scan_info * script_space; /* workspace for jpeg_simple_progression */ - int script_space_size; -}; - - -/* Master record for a decompression instance */ - -struct jpeg_decompress_struct { - jpeg_common_fields; /* Fields shared with jpeg_compress_struct */ - - /* Source of compressed data */ - struct jpeg_source_mgr * src; - - /* Basic description of image --- filled in by jpeg_read_header(). */ - /* Application may inspect these values to decide how to process image. */ - - JDIMENSION image_width; /* nominal image width (from SOF marker) */ - JDIMENSION image_height; /* nominal image height */ - int num_components; /* # of color components in JPEG image */ - J_COLOR_SPACE jpeg_color_space; /* colorspace of JPEG image */ - - /* Decompression processing parameters --- these fields must be set before - * calling jpeg_start_decompress(). Note that jpeg_read_header() initializes - * them to default values. - */ - - J_COLOR_SPACE out_color_space; /* colorspace for output */ - - unsigned int scale_num, scale_denom; /* fraction by which to scale image */ - - double output_gamma; /* image gamma wanted in output */ - - boolean buffered_image; /* TRUE=multiple output passes */ - boolean raw_data_out; /* TRUE=downsampled data wanted */ - - J_DCT_METHOD dct_method; /* IDCT algorithm selector */ - boolean do_fancy_upsampling; /* TRUE=apply fancy upsampling */ - boolean do_block_smoothing; /* TRUE=apply interblock smoothing */ - - boolean quantize_colors; /* TRUE=colormapped output wanted */ - /* the following are ignored if not quantize_colors: */ - J_DITHER_MODE dither_mode; /* type of color dithering to use */ - boolean two_pass_quantize; /* TRUE=use two-pass color quantization */ - int desired_number_of_colors; /* max # colors to use in created colormap */ - /* these are significant only in buffered-image mode: */ - boolean enable_1pass_quant; /* enable future use of 1-pass quantizer */ - boolean enable_external_quant;/* enable future use of external colormap */ - boolean enable_2pass_quant; /* enable future use of 2-pass quantizer */ - - /* Description of actual output image that will be returned to application. - * These fields are computed by jpeg_start_decompress(). - * You can also use jpeg_calc_output_dimensions() to determine these values - * in advance of calling jpeg_start_decompress(). - */ - - JDIMENSION output_width; /* scaled image width */ - JDIMENSION output_height; /* scaled image height */ - int out_color_components; /* # of color components in out_color_space */ - int output_components; /* # of color components returned */ - /* output_components is 1 (a colormap index) when quantizing colors; - * otherwise it equals out_color_components. - */ - int rec_outbuf_height; /* min recommended height of scanline buffer */ - /* If the buffer passed to jpeg_read_scanlines() is less than this many rows - * high, space and time will be wasted due to unnecessary data copying. - * Usually rec_outbuf_height will be 1 or 2, at most 4. - */ - - /* When quantizing colors, the output colormap is described by these fields. - * The application can supply a colormap by setting colormap non-NULL before - * calling jpeg_start_decompress; otherwise a colormap is created during - * jpeg_start_decompress or jpeg_start_output. - * The map has out_color_components rows and actual_number_of_colors columns. - */ - int actual_number_of_colors; /* number of entries in use */ - JSAMPARRAY colormap; /* The color map as a 2-D pixel array */ - - /* State variables: these variables indicate the progress of decompression. - * The application may examine these but must not modify them. - */ - - /* Row index of next scanline to be read from jpeg_read_scanlines(). - * Application may use this to control its processing loop, e.g., - * "while (output_scanline < output_height)". - */ - JDIMENSION output_scanline; /* 0 .. output_height-1 */ - - /* Current input scan number and number of iMCU rows completed in scan. - * These indicate the progress of the decompressor input side. - */ - int input_scan_number; /* Number of SOS markers seen so far */ - JDIMENSION input_iMCU_row; /* Number of iMCU rows completed */ - - /* The "output scan number" is the notional scan being displayed by the - * output side. The decompressor will not allow output scan/row number - * to get ahead of input scan/row, but it can fall arbitrarily far behind. - */ - int output_scan_number; /* Nominal scan number being displayed */ - JDIMENSION output_iMCU_row; /* Number of iMCU rows read */ - - /* Current progression status. coef_bits[c][i] indicates the precision - * with which component c's DCT coefficient i (in zigzag order) is known. - * It is -1 when no data has yet been received, otherwise it is the point - * transform (shift) value for the most recent scan of the coefficient - * (thus, 0 at completion of the progression). - * This pointer is NULL when reading a non-progressive file. - */ - int (*coef_bits)[DCTSIZE2]; /* -1 or current Al value for each coef */ - - /* Internal JPEG parameters --- the application usually need not look at - * these fields. Note that the decompressor output side may not use - * any parameters that can change between scans. - */ - - /* Quantization and Huffman tables are carried forward across input - * datastreams when processing abbreviated JPEG datastreams. - */ - - JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]; - /* ptrs to coefficient quantization tables, or NULL if not defined */ - - JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]; - JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]; - /* ptrs to Huffman coding tables, or NULL if not defined */ - - /* These parameters are never carried across datastreams, since they - * are given in SOF/SOS markers or defined to be reset by SOI. - */ - - int data_precision; /* bits of precision in image data */ - - jpeg_component_info * comp_info; - /* comp_info[i] describes component that appears i'th in SOF */ - - boolean progressive_mode; /* TRUE if SOFn specifies progressive mode */ - boolean arith_code; /* TRUE=arithmetic coding, FALSE=Huffman */ - - UINT8 arith_dc_L[NUM_ARITH_TBLS]; /* L values for DC arith-coding tables */ - UINT8 arith_dc_U[NUM_ARITH_TBLS]; /* U values for DC arith-coding tables */ - UINT8 arith_ac_K[NUM_ARITH_TBLS]; /* Kx values for AC arith-coding tables */ - - unsigned int restart_interval; /* MCUs per restart interval, or 0 for no restart */ - - /* These fields record data obtained from optional markers recognized by - * the JPEG library. - */ - boolean saw_JFIF_marker; /* TRUE iff a JFIF APP0 marker was found */ - /* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */ - UINT8 JFIF_major_version; /* JFIF version number */ - UINT8 JFIF_minor_version; - UINT8 density_unit; /* JFIF code for pixel size units */ - UINT16 X_density; /* Horizontal pixel density */ - UINT16 Y_density; /* Vertical pixel density */ - boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ - UINT8 Adobe_transform; /* Color transform code from Adobe marker */ - - boolean CCIR601_sampling; /* TRUE=first samples are cosited */ - - /* Aside from the specific data retained from APPn markers known to the - * library, the uninterpreted contents of any or all APPn and COM markers - * can be saved in a list for examination by the application. - */ - jpeg_saved_marker_ptr marker_list; /* Head of list of saved markers */ - - /* Remaining fields are known throughout decompressor, but generally - * should not be touched by a surrounding application. - */ - - /* - * These fields are computed during decompression startup - */ - int max_h_samp_factor; /* largest h_samp_factor */ - int max_v_samp_factor; /* largest v_samp_factor */ - - int min_DCT_scaled_size; /* smallest DCT_scaled_size of any component */ - - JDIMENSION total_iMCU_rows; /* # of iMCU rows in image */ - /* The coefficient controller's input and output progress is measured in - * units of "iMCU" (interleaved MCU) rows. These are the same as MCU rows - * in fully interleaved JPEG scans, but are used whether the scan is - * interleaved or not. We define an iMCU row as v_samp_factor DCT block - * rows of each component. Therefore, the IDCT output contains - * v_samp_factor*DCT_scaled_size sample rows of a component per iMCU row. - */ - - JSAMPLE * sample_range_limit; /* table for fast range-limiting */ - - /* - * These fields are valid during any one scan. - * They describe the components and MCUs actually appearing in the scan. - * Note that the decompressor output side must not use these fields. - */ - int comps_in_scan; /* # of JPEG components in this scan */ - jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]; - /* *cur_comp_info[i] describes component that appears i'th in SOS */ - - JDIMENSION MCUs_per_row; /* # of MCUs across the image */ - JDIMENSION MCU_rows_in_scan; /* # of MCU rows in the image */ - - int blocks_in_MCU; /* # of DCT blocks per MCU */ - int MCU_membership[D_MAX_BLOCKS_IN_MCU]; - /* MCU_membership[i] is index in cur_comp_info of component owning */ - /* i'th block in an MCU */ - - int Ss, Se, Ah, Al; /* progressive JPEG parameters for scan */ - - /* This field is shared between entropy decoder and marker parser. - * It is either zero or the code of a JPEG marker that has been - * read from the data source, but has not yet been processed. - */ - int unread_marker; - - /* - * Links to decompression subobjects (methods, private variables of modules) - */ - struct jpeg_decomp_master * master; - struct jpeg_d_main_controller * main; - struct jpeg_d_coef_controller * coef; - struct jpeg_d_post_controller * post; - struct jpeg_input_controller * inputctl; - struct jpeg_marker_reader * marker; - struct jpeg_entropy_decoder * entropy; - struct jpeg_inverse_dct * idct; - struct jpeg_upsampler * upsample; - struct jpeg_color_deconverter * cconvert; - struct jpeg_color_quantizer * cquantize; -}; - - -/* "Object" declarations for JPEG modules that may be supplied or called - * directly by the surrounding application. - * As with all objects in the JPEG library, these structs only define the - * publicly visible methods and state variables of a module. Additional - * private fields may exist after the public ones. - */ - - -/* Error handler object */ - -struct jpeg_error_mgr { - /* Error exit handler: does not return to caller */ - JMETHOD(void, error_exit, (j_common_ptr cinfo)); - /* Conditionally emit a trace or warning message */ - JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); - /* Routine that actually outputs a trace or error message */ - JMETHOD(void, output_message, (j_common_ptr cinfo)); - /* Format a message string for the most recent JPEG error or message */ - JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer)); -#define JMSG_LENGTH_MAX 200 /* recommended size of format_message buffer */ - /* Reset error state variables at start of a new image */ - JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo)); - - /* The message ID code and any parameters are saved here. - * A message can have one string parameter or up to 8 int parameters. - */ - int msg_code; -#define JMSG_STR_PARM_MAX 80 - union { - int i[8]; - char s[JMSG_STR_PARM_MAX]; - } msg_parm; - - /* Standard state variables for error facility */ - - int trace_level; /* max msg_level that will be displayed */ - - /* For recoverable corrupt-data errors, we emit a warning message, - * but keep going unless emit_message chooses to abort. emit_message - * should count warnings in num_warnings. The surrounding application - * can check for bad data by seeing if num_warnings is nonzero at the - * end of processing. - */ - long num_warnings; /* number of corrupt-data warnings */ - - /* These fields point to the table(s) of error message strings. - * An application can change the table pointer to switch to a different - * message list (typically, to change the language in which errors are - * reported). Some applications may wish to add additional error codes - * that will be handled by the JPEG library error mechanism; the second - * table pointer is used for this purpose. - * - * First table includes all errors generated by JPEG library itself. - * Error code 0 is reserved for a "no such error string" message. - */ - const char * const * jpeg_message_table; /* Library errors */ - int last_jpeg_message; /* Table contains strings 0..last_jpeg_message */ - /* Second table can be added by application (see cjpeg/djpeg for example). - * It contains strings numbered first_addon_message..last_addon_message. - */ - const char * const * addon_message_table; /* Non-library errors */ - int first_addon_message; /* code for first string in addon table */ - int last_addon_message; /* code for last string in addon table */ -}; - - -/* Progress monitor object */ - -struct jpeg_progress_mgr { - JMETHOD(void, progress_monitor, (j_common_ptr cinfo)); - - long pass_counter; /* work units completed in this pass */ - long pass_limit; /* total number of work units in this pass */ - int completed_passes; /* passes completed so far */ - int total_passes; /* total number of passes expected */ -}; - - -/* Data destination object for compression */ - -struct jpeg_destination_mgr { - JOCTET * next_output_byte; /* => next byte to write in buffer */ - size_t free_in_buffer; /* # of byte spaces remaining in buffer */ - - JMETHOD(void, init_destination, (j_compress_ptr cinfo)); - JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo)); - JMETHOD(void, term_destination, (j_compress_ptr cinfo)); -}; - - -/* Data source object for decompression */ - -struct jpeg_source_mgr { - const JOCTET * next_input_byte; /* => next byte to read from buffer */ - size_t bytes_in_buffer; /* # of bytes remaining in buffer */ - - JMETHOD(void, init_source, (j_decompress_ptr cinfo)); - JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo)); - JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes)); - JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired)); - JMETHOD(void, term_source, (j_decompress_ptr cinfo)); -}; - - -/* Memory manager object. - * Allocates "small" objects (a few K total), "large" objects (tens of K), - * and "really big" objects (virtual arrays with backing store if needed). - * The memory manager does not allow individual objects to be freed; rather, - * each created object is assigned to a pool, and whole pools can be freed - * at once. This is faster and more convenient than remembering exactly what - * to free, especially where malloc()/free() are not too speedy. - * NB: alloc routines never return NULL. They exit to error_exit if not - * successful. - */ - -#define JPOOL_PERMANENT 0 /* lasts until master record is destroyed */ -#define JPOOL_IMAGE 1 /* lasts until done with image/datastream */ -#define JPOOL_NUMPOOLS 2 - -typedef struct jvirt_sarray_control * jvirt_sarray_ptr; -typedef struct jvirt_barray_control * jvirt_barray_ptr; - - -struct jpeg_memory_mgr { - /* Method pointers */ - JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id, - size_t sizeofobject)); - JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id, - JDIMENSION samplesperrow, - JDIMENSION numrows)); - JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id, - JDIMENSION blocksperrow, - JDIMENSION numrows)); - JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION samplesperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo, - int pool_id, - boolean pre_zero, - JDIMENSION blocksperrow, - JDIMENSION numrows, - JDIMENSION maxaccess)); - JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo)); - JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo, - jvirt_sarray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo, - jvirt_barray_ptr ptr, - JDIMENSION start_row, - JDIMENSION num_rows, - boolean writable)); - JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id)); - JMETHOD(void, self_destruct, (j_common_ptr cinfo)); - - /* Limit on memory allocation for this JPEG object. (Note that this is - * merely advisory, not a guaranteed maximum; it only affects the space - * used for virtual-array buffers.) May be changed by outer application - * after creating the JPEG object. - */ - long max_memory_to_use; - - /* Maximum allocation request accepted by alloc_large. */ - long max_alloc_chunk; -}; - - -/* Routine signature for application-supplied marker processing methods. - * Need not pass marker code since it is stored in cinfo->unread_marker. - */ -typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo)); - - -/* Declarations for routines called by application. - * The JPP macro hides prototype parameters from compilers that can't cope. - * Note JPP requires double parentheses. - */ - -#ifdef HAVE_PROTOTYPES -#define JPP(arglist) arglist -#else -#define JPP(arglist) () -#endif - - -/* Short forms of external names for systems with brain-damaged linkers. - * We shorten external names to be unique in the first six letters, which - * is good enough for all known systems. - * (If your compiler itself needs names to be unique in less than 15 - * characters, you are out of luck. Get a better compiler.) - */ - -#ifdef NEED_SHORT_EXTERNAL_NAMES -#define jpeg_std_error jStdError -#define jpeg_CreateCompress jCreaCompress -#define jpeg_CreateDecompress jCreaDecompress -#define jpeg_destroy_compress jDestCompress -#define jpeg_destroy_decompress jDestDecompress -#define jpeg_stdio_dest jStdDest -#define jpeg_stdio_src jStdSrc -#define jpeg_set_defaults jSetDefaults -#define jpeg_set_colorspace jSetColorspace -#define jpeg_default_colorspace jDefColorspace -#define jpeg_set_quality jSetQuality -#define jpeg_set_linear_quality jSetLQuality -#define jpeg_add_quant_table jAddQuantTable -#define jpeg_quality_scaling jQualityScaling -#define jpeg_simple_progression jSimProgress -#define jpeg_suppress_tables jSuppressTables -#define jpeg_alloc_quant_table jAlcQTable -#define jpeg_alloc_huff_table jAlcHTable -#define jpeg_start_compress jStrtCompress -#define jpeg_write_scanlines jWrtScanlines -#define jpeg_finish_compress jFinCompress -#define jpeg_write_raw_data jWrtRawData -#define jpeg_write_marker jWrtMarker -#define jpeg_write_m_header jWrtMHeader -#define jpeg_write_m_byte jWrtMByte -#define jpeg_write_tables jWrtTables -#define jpeg_read_header jReadHeader -#define jpeg_start_decompress jStrtDecompress -#define jpeg_read_scanlines jReadScanlines -#define jpeg_finish_decompress jFinDecompress -#define jpeg_read_raw_data jReadRawData -#define jpeg_has_multiple_scans jHasMultScn -#define jpeg_start_output jStrtOutput -#define jpeg_finish_output jFinOutput -#define jpeg_input_complete jInComplete -#define jpeg_new_colormap jNewCMap -#define jpeg_consume_input jConsumeInput -#define jpeg_calc_output_dimensions jCalcDimensions -#define jpeg_save_markers jSaveMarkers -#define jpeg_set_marker_processor jSetMarker -#define jpeg_read_coefficients jReadCoefs -#define jpeg_write_coefficients jWrtCoefs -#define jpeg_copy_critical_parameters jCopyCrit -#define jpeg_abort_compress jAbrtCompress -#define jpeg_abort_decompress jAbrtDecompress -#define jpeg_abort jAbort -#define jpeg_destroy jDestroy -#define jpeg_resync_to_restart jResyncRestart -#endif /* NEED_SHORT_EXTERNAL_NAMES */ - - -/* Default error-management setup */ -EXTERN(struct jpeg_error_mgr *) jpeg_std_error - JPP((struct jpeg_error_mgr * err)); - -/* Initialization of JPEG compression objects. - * jpeg_create_compress() and jpeg_create_decompress() are the exported - * names that applications should call. These expand to calls on - * jpeg_CreateCompress and jpeg_CreateDecompress with additional information - * passed for version mismatch checking. - * NB: you must set up the error-manager BEFORE calling jpeg_create_xxx. - */ -#define jpeg_create_compress(cinfo) \ - jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_compress_struct)) -#define jpeg_create_decompress(cinfo) \ - jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \ - (size_t) sizeof(struct jpeg_decompress_struct)) -EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo, - int version, size_t structsize)); -EXTERN(void) jpeg_CreateDecompress JPP((j_decompress_ptr cinfo, - int version, size_t structsize)); -/* Destruction of JPEG compression objects */ -EXTERN(void) jpeg_destroy_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_destroy_decompress JPP((j_decompress_ptr cinfo)); - -/* Standard data source and destination managers: stdio streams. */ -/* Caller is responsible for opening the file before and closing after. */ -EXTERN(void) jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile)); -EXTERN(void) jpeg_stdio_src JPP((j_decompress_ptr cinfo, FILE * infile)); - -/* Default parameter setup for compression */ -EXTERN(void) jpeg_set_defaults JPP((j_compress_ptr cinfo)); -/* Compression parameter setup aids */ -EXTERN(void) jpeg_set_colorspace JPP((j_compress_ptr cinfo, - J_COLOR_SPACE colorspace)); -EXTERN(void) jpeg_default_colorspace JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_set_quality JPP((j_compress_ptr cinfo, int quality, - boolean force_baseline)); -EXTERN(void) jpeg_set_linear_quality JPP((j_compress_ptr cinfo, - int scale_factor, - boolean force_baseline)); -EXTERN(void) jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl, - const unsigned int *basic_table, - int scale_factor, - boolean force_baseline)); -EXTERN(int) jpeg_quality_scaling JPP((int quality)); -EXTERN(void) jpeg_simple_progression JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_suppress_tables JPP((j_compress_ptr cinfo, - boolean suppress)); -EXTERN(JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo)); -EXTERN(JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo)); - -/* Main entry points for compression */ -EXTERN(void) jpeg_start_compress JPP((j_compress_ptr cinfo, - boolean write_all_tables)); -EXTERN(JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION num_lines)); -EXTERN(void) jpeg_finish_compress JPP((j_compress_ptr cinfo)); - -/* Replaces jpeg_write_scanlines when writing raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_write_raw_data JPP((j_compress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION num_lines)); - -/* Write a special marker. See libjpeg.doc concerning safe usage. */ -EXTERN(void) jpeg_write_marker - JPP((j_compress_ptr cinfo, int marker, - const JOCTET * dataptr, unsigned int datalen)); -/* Same, but piecemeal. */ -EXTERN(void) jpeg_write_m_header - JPP((j_compress_ptr cinfo, int marker, unsigned int datalen)); -EXTERN(void) jpeg_write_m_byte - JPP((j_compress_ptr cinfo, int val)); - -/* Alternate compression function: just write an abbreviated table file */ -EXTERN(void) jpeg_write_tables JPP((j_compress_ptr cinfo)); - -/* Decompression startup: read start of JPEG datastream to see what's there */ -EXTERN(int) jpeg_read_header JPP((j_decompress_ptr cinfo, - boolean require_image)); -/* Return value is one of: */ -#define JPEG_SUSPENDED 0 /* Suspended due to lack of input data */ -#define JPEG_HEADER_OK 1 /* Found valid image datastream */ -#define JPEG_HEADER_TABLES_ONLY 2 /* Found valid table-specs-only datastream */ -/* If you pass require_image = TRUE (normal case), you need not check for - * a TABLES_ONLY return code; an abbreviated file will cause an error exit. - * JPEG_SUSPENDED is only possible if you use a data source module that can - * give a suspension return (the stdio source module doesn't). - */ - -/* Main entry points for decompression */ -EXTERN(boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo)); -EXTERN(JDIMENSION) jpeg_read_scanlines JPP((j_decompress_ptr cinfo, - JSAMPARRAY scanlines, - JDIMENSION max_lines)); -EXTERN(boolean) jpeg_finish_decompress JPP((j_decompress_ptr cinfo)); - -/* Replaces jpeg_read_scanlines when reading raw downsampled data. */ -EXTERN(JDIMENSION) jpeg_read_raw_data JPP((j_decompress_ptr cinfo, - JSAMPIMAGE data, - JDIMENSION max_lines)); - -/* Additional entry points for buffered-image mode. */ -EXTERN(boolean) jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_start_output JPP((j_decompress_ptr cinfo, - int scan_number)); -EXTERN(boolean) jpeg_finish_output JPP((j_decompress_ptr cinfo)); -EXTERN(boolean) jpeg_input_complete JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_new_colormap JPP((j_decompress_ptr cinfo)); -EXTERN(int) jpeg_consume_input JPP((j_decompress_ptr cinfo)); -/* Return value is one of: */ -/* #define JPEG_SUSPENDED 0 Suspended due to lack of input data */ -#define JPEG_REACHED_SOS 1 /* Reached start of new scan */ -#define JPEG_REACHED_EOI 2 /* Reached end of image */ -#define JPEG_ROW_COMPLETED 3 /* Completed one iMCU row */ -#define JPEG_SCAN_COMPLETED 4 /* Completed last iMCU row of a scan */ - -/* Precalculate output dimensions for current decompression parameters. */ -EXTERN(void) jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo)); - -/* Control saving of COM and APPn markers into marker_list. */ -EXTERN(void) jpeg_save_markers - JPP((j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit)); - -/* Install a special processing method for COM or APPn markers. */ -EXTERN(void) jpeg_set_marker_processor - JPP((j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine)); - -/* Read or write raw DCT coefficients --- useful for lossless transcoding. */ -EXTERN(jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo)); -EXTERN(void) jpeg_write_coefficients JPP((j_compress_ptr cinfo, - jvirt_barray_ptr * coef_arrays)); -EXTERN(void) jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo, - j_compress_ptr dstinfo)); - -/* If you choose to abort compression or decompression before completing - * jpeg_finish_(de)compress, then you need to clean up to release memory, - * temporary files, etc. You can just call jpeg_destroy_(de)compress - * if you're done with the JPEG object, but if you want to clean it up and - * reuse it, call this: - */ -EXTERN(void) jpeg_abort_compress JPP((j_compress_ptr cinfo)); -EXTERN(void) jpeg_abort_decompress JPP((j_decompress_ptr cinfo)); - -/* Generic versions of jpeg_abort and jpeg_destroy that work on either - * flavor of JPEG object. These may be more convenient in some places. - */ -EXTERN(void) jpeg_abort JPP((j_common_ptr cinfo)); -EXTERN(void) jpeg_destroy JPP((j_common_ptr cinfo)); - -/* Default restart-marker-resync procedure for use by data source modules */ -EXTERN(boolean) jpeg_resync_to_restart JPP((j_decompress_ptr cinfo, - int desired)); - - -/* These marker codes are exported since applications and data source modules - * are likely to want to use them. - */ - -#define JPEG_RST0 0xD0 /* RST0 marker code */ -#define JPEG_EOI 0xD9 /* EOI marker code */ -#define JPEG_APP0 0xE0 /* APP0 marker code */ -#define JPEG_COM 0xFE /* COM marker code */ - - -/* If we have a brain-damaged compiler that emits warnings (or worse, errors) - * for structure definitions that are never filled in, keep it quiet by - * supplying dummy definitions for the various substructures. - */ - -#ifdef INCOMPLETE_TYPES_BROKEN -#ifndef JPEG_INTERNALS /* will be defined in jpegint.h */ -struct jvirt_sarray_control { long dummy; }; -struct jvirt_barray_control { long dummy; }; -struct jpeg_comp_master { long dummy; }; -struct jpeg_c_main_controller { long dummy; }; -struct jpeg_c_prep_controller { long dummy; }; -struct jpeg_c_coef_controller { long dummy; }; -struct jpeg_marker_writer { long dummy; }; -struct jpeg_color_converter { long dummy; }; -struct jpeg_downsampler { long dummy; }; -struct jpeg_forward_dct { long dummy; }; -struct jpeg_entropy_encoder { long dummy; }; -struct jpeg_decomp_master { long dummy; }; -struct jpeg_d_main_controller { long dummy; }; -struct jpeg_d_coef_controller { long dummy; }; -struct jpeg_d_post_controller { long dummy; }; -struct jpeg_input_controller { long dummy; }; -struct jpeg_marker_reader { long dummy; }; -struct jpeg_entropy_decoder { long dummy; }; -struct jpeg_inverse_dct { long dummy; }; -struct jpeg_upsampler { long dummy; }; -struct jpeg_color_deconverter { long dummy; }; -struct jpeg_color_quantizer { long dummy; }; -#endif /* JPEG_INTERNALS */ -#endif /* INCOMPLETE_TYPES_BROKEN */ - -#ifdef __cplusplus -} -#endif - -/* - * The JPEG library modules define JPEG_INTERNALS before including this file. - * The internal structure declarations are read only when that is true. - * Applications using the library should not include jpegint.h, but may wish - * to include jerror.h. - */ - -#ifdef JPEG_INTERNALS -#include "jpegint.h" /* fetch private declarations */ -#include "jerror.h" /* fetch error codes too */ -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* JPEGLIB_H */ diff --git a/extern/gnuwin32/include/png.h b/extern/gnuwin32/include/png.h deleted file mode 100644 index d5ed651..0000000 --- a/extern/gnuwin32/include/png.h +++ /dev/null @@ -1,3551 +0,0 @@ - -/* png.h - header file for PNG reference library - * - * libpng version 1.2.24 - December 14, 2007 - * Copyright (c) 1998-2007 Glenn Randers-Pehrson - * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) - * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) - * - * Authors and maintainers: - * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat - * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.2.24 - December 14, 2007: Glenn - * See also "Contributing Authors", below. - * - * Note about libpng version numbers: - * - * Due to various miscommunications, unforeseen code incompatibilities - * and occasional factors outside the authors' control, version numbering - * on the library has not always been consistent and straightforward. - * The following table summarizes matters since version 0.89c, which was - * the first widely used release: - * - * source png.h png.h shared-lib - * version string int version - * ------- ------ ----- ---------- - * 0.89c "1.0 beta 3" 0.89 89 1.0.89 - * 0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90] - * 0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95] - * 0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96] - * 0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97] - * 0.97c 0.97 97 2.0.97 - * 0.98 0.98 98 2.0.98 - * 0.99 0.99 98 2.0.99 - * 0.99a-m 0.99 99 2.0.99 - * 1.00 1.00 100 2.1.0 [100 should be 10000] - * 1.0.0 (from here on, the 100 2.1.0 [100 should be 10000] - * 1.0.1 png.h string is 10001 2.1.0 - * 1.0.1a-e identical to the 10002 from here on, the shared library - * 1.0.2 source version) 10002 is 2.V where V is the source code - * 1.0.2a-b 10003 version, except as noted. - * 1.0.3 10003 - * 1.0.3a-d 10004 - * 1.0.4 10004 - * 1.0.4a-f 10005 - * 1.0.5 (+ 2 patches) 10005 - * 1.0.5a-d 10006 - * 1.0.5e-r 10100 (not source compatible) - * 1.0.5s-v 10006 (not binary compatible) - * 1.0.6 (+ 3 patches) 10006 (still binary incompatible) - * 1.0.6d-f 10007 (still binary incompatible) - * 1.0.6g 10007 - * 1.0.6h 10007 10.6h (testing xy.z so-numbering) - * 1.0.6i 10007 10.6i - * 1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0) - * 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible) - * 1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible) - * 1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible) - * 1.0.7 1 10007 (still compatible) - * 1.0.8beta1-4 1 10008 2.1.0.8beta1-4 - * 1.0.8rc1 1 10008 2.1.0.8rc1 - * 1.0.8 1 10008 2.1.0.8 - * 1.0.9beta1-6 1 10009 2.1.0.9beta1-6 - * 1.0.9rc1 1 10009 2.1.0.9rc1 - * 1.0.9beta7-10 1 10009 2.1.0.9beta7-10 - * 1.0.9rc2 1 10009 2.1.0.9rc2 - * 1.0.9 1 10009 2.1.0.9 - * 1.0.10beta1 1 10010 2.1.0.10beta1 - * 1.0.10rc1 1 10010 2.1.0.10rc1 - * 1.0.10 1 10010 2.1.0.10 - * 1.0.11beta1-3 1 10011 2.1.0.11beta1-3 - * 1.0.11rc1 1 10011 2.1.0.11rc1 - * 1.0.11 1 10011 2.1.0.11 - * 1.0.12beta1-2 2 10012 2.1.0.12beta1-2 - * 1.0.12rc1 2 10012 2.1.0.12rc1 - * 1.0.12 2 10012 2.1.0.12 - * 1.1.0a-f - 10100 2.1.1.0a-f (branch abandoned) - * 1.2.0beta1-2 2 10200 2.1.2.0beta1-2 - * 1.2.0beta3-5 3 10200 3.1.2.0beta3-5 - * 1.2.0rc1 3 10200 3.1.2.0rc1 - * 1.2.0 3 10200 3.1.2.0 - * 1.2.1beta1-4 3 10201 3.1.2.1beta1-4 - * 1.2.1rc1-2 3 10201 3.1.2.1rc1-2 - * 1.2.1 3 10201 3.1.2.1 - * 1.2.2beta1-6 12 10202 12.so.0.1.2.2beta1-6 - * 1.0.13beta1 10 10013 10.so.0.1.0.13beta1 - * 1.0.13rc1 10 10013 10.so.0.1.0.13rc1 - * 1.2.2rc1 12 10202 12.so.0.1.2.2rc1 - * 1.0.13 10 10013 10.so.0.1.0.13 - * 1.2.2 12 10202 12.so.0.1.2.2 - * 1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6 - * 1.2.3 12 10203 12.so.0.1.2.3 - * 1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3 - * 1.0.14rc1 13 10014 10.so.0.1.0.14rc1 - * 1.2.4rc1 13 10204 12.so.0.1.2.4rc1 - * 1.0.14 10 10014 10.so.0.1.0.14 - * 1.2.4 13 10204 12.so.0.1.2.4 - * 1.2.5beta1-2 13 10205 12.so.0.1.2.5beta1-2 - * 1.0.15rc1-3 10 10015 10.so.0.1.0.15rc1-3 - * 1.2.5rc1-3 13 10205 12.so.0.1.2.5rc1-3 - * 1.0.15 10 10015 10.so.0.1.0.15 - * 1.2.5 13 10205 12.so.0.1.2.5 - * 1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4 - * 1.0.16 10 10016 10.so.0.1.0.16 - * 1.2.6 13 10206 12.so.0.1.2.6 - * 1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2 - * 1.0.17rc1 10 10017 10.so.0.1.0.17rc1 - * 1.2.7rc1 13 10207 12.so.0.1.2.7rc1 - * 1.0.17 10 10017 10.so.0.1.0.17 - * 1.2.7 13 10207 12.so.0.1.2.7 - * 1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5 - * 1.0.18rc1-5 10 10018 10.so.0.1.0.18rc1-5 - * 1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5 - * 1.0.18 10 10018 10.so.0.1.0.18 - * 1.2.8 13 10208 12.so.0.1.2.8 - * 1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3 - * 1.2.9beta4-11 13 10209 12.so.0.9[.0] - * 1.2.9rc1 13 10209 12.so.0.9[.0] - * 1.2.9 13 10209 12.so.0.9[.0] - * 1.2.10beta1-8 13 10210 12.so.0.10[.0] - * 1.2.10rc1-3 13 10210 12.so.0.10[.0] - * 1.2.10 13 10210 12.so.0.10[.0] - * 1.2.11beta1-4 13 10211 12.so.0.11[.0] - * 1.0.19rc1-5 10 10019 10.so.0.19[.0] - * 1.2.11rc1-5 13 10211 12.so.0.11[.0] - * 1.0.19 10 10019 10.so.0.19[.0] - * 1.2.11 13 10211 12.so.0.11[.0] - * 1.0.20 10 10020 10.so.0.20[.0] - * 1.2.12 13 10212 12.so.0.12[.0] - * 1.2.13beta1 13 10213 12.so.0.13[.0] - * 1.0.21 10 10021 10.so.0.21[.0] - * 1.2.13 13 10213 12.so.0.13[.0] - * 1.2.14beta1-2 13 10214 12.so.0.14[.0] - * 1.0.22rc1 10 10022 10.so.0.22[.0] - * 1.2.14rc1 13 10214 12.so.0.14[.0] - * 1.0.22 10 10022 10.so.0.22[.0] - * 1.2.14 13 10214 12.so.0.14[.0] - * 1.2.15beta1-6 13 10215 12.so.0.15[.0] - * 1.0.23rc1-5 10 10023 10.so.0.23[.0] - * 1.2.15rc1-5 13 10215 12.so.0.15[.0] - * 1.0.23 10 10023 10.so.0.23[.0] - * 1.2.15 13 10215 12.so.0.15[.0] - * 1.2.16beta1-2 13 10216 12.so.0.16[.0] - * 1.2.16rc1 13 10216 12.so.0.16[.0] - * 1.0.24 10 10024 10.so.0.24[.0] - * 1.2.16 13 10216 12.so.0.16[.0] - * 1.2.17beta1-2 13 10217 12.so.0.17[.0] - * 1.0.25rc1 10 10025 10.so.0.25[.0] - * 1.2.17rc1-3 13 10217 12.so.0.17[.0] - * 1.0.25 10 10025 10.so.0.25[.0] - * 1.2.17 13 10217 12.so.0.17[.0] - * 1.0.26 10 10026 10.so.0.26[.0] - * 1.2.18 13 10218 12.so.0.18[.0] - * 1.2.19beta1-31 13 10219 12.so.0.19[.0] - * 1.0.27rc1-6 10 10027 10.so.0.27[.0] - * 1.2.19rc1-6 13 10219 12.so.0.19[.0] - * 1.0.27 10 10027 10.so.0.27[.0] - * 1.2.19 13 10219 12.so.0.19[.0] - * 1.2.20beta01-04 13 10220 12.so.0.20[.0] - * 1.0.28rc1-6 10 10028 10.so.0.28[.0] - * 1.2.20rc1-6 13 10220 12.so.0.20[.0] - * 1.0.28 10 10028 10.so.0.28[.0] - * 1.2.20 13 10220 12.so.0.20[.0] - * 1.2.21beta1-2 13 10221 12.so.0.21[.0] - * 1.2.21rc1-3 13 10221 12.so.0.21[.0] - * 1.0.29 10 10029 10.so.0.29[.0] - * 1.2.21 13 10221 12.so.0.21[.0] - * 1.2.22beta1-4 13 10222 12.so.0.22[.0] - * 1.0.30rc1 10 10030 10.so.0.30[.0] - * 1.2.22rc1 13 10222 12.so.0.22[.0] - * 1.0.30 10 10030 10.so.0.30[.0] - * 1.2.22 13 10222 12.so.0.22[.0] - * 1.2.23beta01-05 13 10223 12.so.0.23[.0] - * 1.2.23rc01 13 10223 12.so.0.23[.0] - * 1.2.23 13 10223 12.so.0.23[.0] - * 1.2.24beta01-02 13 10224 12.so.0.24[.0] - * 1.2.24rc01 13 10224 12.so.0.24[.0] - * 1.2.24 13 10224 12.so.0.24[.0] - * - * Henceforth the source version will match the shared-library major - * and minor numbers; the shared-library major version number will be - * used for changes in backward compatibility, as it is intended. The - * PNG_LIBPNG_VER macro, which is not used within libpng but is available - * for applications, is an unsigned integer of the form xyyzz corresponding - * to the source version x.y.z (leading zeros in y and z). Beta versions - * were given the previous public release number plus a letter, until - * version 1.0.6j; from then on they were given the upcoming public - * release number plus "betaNN" or "rcN". - * - * Binary incompatibility exists only when applications make direct access - * to the info_ptr or png_ptr members through png.h, and the compiled - * application is loaded with a different version of the library. - * - * DLLNUM will change each time there are forward or backward changes - * in binary compatibility (e.g., when a new feature is added). - * - * See libpng.txt or libpng.3 for more information. The PNG specification - * is available as a W3C Recommendation and as an ISO Specification, - * defines should NOT be changed. - */ -#define PNG_INFO_gAMA 0x0001 -#define PNG_INFO_sBIT 0x0002 -#define PNG_INFO_cHRM 0x0004 -#define PNG_INFO_PLTE 0x0008 -#define PNG_INFO_tRNS 0x0010 -#define PNG_INFO_bKGD 0x0020 -#define PNG_INFO_hIST 0x0040 -#define PNG_INFO_pHYs 0x0080 -#define PNG_INFO_oFFs 0x0100 -#define PNG_INFO_tIME 0x0200 -#define PNG_INFO_pCAL 0x0400 -#define PNG_INFO_sRGB 0x0800 /* GR-P, 0.96a */ -#define PNG_INFO_iCCP 0x1000 /* ESR, 1.0.6 */ -#define PNG_INFO_sPLT 0x2000 /* ESR, 1.0.6 */ -#define PNG_INFO_sCAL 0x4000 /* ESR, 1.0.6 */ -#define PNG_INFO_IDAT 0x8000L /* ESR, 1.0.6 */ - -/* This is used for the transformation routines, as some of them - * change these values for the row. It also should enable using - * the routines for other purposes. - */ -typedef struct png_row_info_struct -{ - png_uint_32 width; /* width of row */ - png_uint_32 rowbytes; /* number of bytes in row */ - png_byte color_type; /* color type of row */ - png_byte bit_depth; /* bit depth of row */ - png_byte channels; /* number of channels (1, 2, 3, or 4) */ - png_byte pixel_depth; /* bits per pixel (depth * channels) */ -} png_row_info; - -typedef png_row_info FAR * png_row_infop; -typedef png_row_info FAR * FAR * png_row_infopp; - -/* These are the function types for the I/O functions and for the functions - * that allow the user to override the default I/O functions with his or her - * own. The png_error_ptr type should match that of user-supplied warning - * and error functions, while the png_rw_ptr type should match that of the - * user read/write data functions. - */ -typedef struct png_struct_def png_struct; -typedef png_struct FAR * png_structp; - -typedef void (PNGAPI *png_error_ptr) PNGARG((png_structp, png_const_charp)); -typedef void (PNGAPI *png_rw_ptr) PNGARG((png_structp, png_bytep, png_size_t)); -typedef void (PNGAPI *png_flush_ptr) PNGARG((png_structp)); -typedef void (PNGAPI *png_read_status_ptr) PNGARG((png_structp, png_uint_32, - int)); -typedef void (PNGAPI *png_write_status_ptr) PNGARG((png_structp, png_uint_32, - int)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -typedef void (PNGAPI *png_progressive_info_ptr) PNGARG((png_structp, png_infop)); -typedef void (PNGAPI *png_progressive_end_ptr) PNGARG((png_structp, png_infop)); -typedef void (PNGAPI *png_progressive_row_ptr) PNGARG((png_structp, png_bytep, - png_uint_32, int)); -#endif - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -typedef void (PNGAPI *png_user_transform_ptr) PNGARG((png_structp, - png_row_infop, png_bytep)); -#endif - -#if defined(PNG_USER_CHUNKS_SUPPORTED) -typedef int (PNGAPI *png_user_chunk_ptr) PNGARG((png_structp, png_unknown_chunkp)); -#endif -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) -typedef void (PNGAPI *png_unknown_chunk_ptr) PNGARG((png_structp)); -#endif - -/* Transform masks for the high-level interface */ -#define PNG_TRANSFORM_IDENTITY 0x0000 /* read and write */ -#define PNG_TRANSFORM_STRIP_16 0x0001 /* read only */ -#define PNG_TRANSFORM_STRIP_ALPHA 0x0002 /* read only */ -#define PNG_TRANSFORM_PACKING 0x0004 /* read and write */ -#define PNG_TRANSFORM_PACKSWAP 0x0008 /* read and write */ -#define PNG_TRANSFORM_EXPAND 0x0010 /* read only */ -#define PNG_TRANSFORM_INVERT_MONO 0x0020 /* read and write */ -#define PNG_TRANSFORM_SHIFT 0x0040 /* read and write */ -#define PNG_TRANSFORM_BGR 0x0080 /* read and write */ -#define PNG_TRANSFORM_SWAP_ALPHA 0x0100 /* read and write */ -#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200 /* read and write */ -#define PNG_TRANSFORM_INVERT_ALPHA 0x0400 /* read and write */ -#define PNG_TRANSFORM_STRIP_FILLER 0x0800 /* WRITE only */ - -/* Flags for MNG supported features */ -#define PNG_FLAG_MNG_EMPTY_PLTE 0x01 -#define PNG_FLAG_MNG_FILTER_64 0x04 -#define PNG_ALL_MNG_FEATURES 0x05 - -typedef png_voidp (*png_malloc_ptr) PNGARG((png_structp, png_size_t)); -typedef void (*png_free_ptr) PNGARG((png_structp, png_voidp)); - -/* The structure that holds the information to read and write PNG files. - * The only people who need to care about what is inside of this are the - * people who will be modifying the library for their own special needs. - * It should NOT be accessed directly by an application, except to store - * the jmp_buf. - */ - -struct png_struct_def -{ -#ifdef PNG_SETJMP_SUPPORTED - jmp_buf jmpbuf; /* used in png_error */ -#endif - png_error_ptr error_fn; /* function for printing errors and aborting */ - png_error_ptr warning_fn; /* function for printing warnings */ - png_voidp error_ptr; /* user supplied struct for error functions */ - png_rw_ptr write_data_fn; /* function for writing output data */ - png_rw_ptr read_data_fn; /* function for reading input data */ - png_voidp io_ptr; /* ptr to application struct for I/O functions */ - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) - png_user_transform_ptr read_user_transform_fn; /* user read transform */ -#endif - -#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) - png_user_transform_ptr write_user_transform_fn; /* user write transform */ -#endif - -/* These were added in libpng-1.0.2 */ -#if defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) - png_voidp user_transform_ptr; /* user supplied struct for user transform */ - png_byte user_transform_depth; /* bit depth of user transformed pixels */ - png_byte user_transform_channels; /* channels in user transformed pixels */ -#endif -#endif - - png_uint_32 mode; /* tells us where we are in the PNG file */ - png_uint_32 flags; /* flags indicating various things to libpng */ - png_uint_32 transformations; /* which transformations to perform */ - - z_stream zstream; /* pointer to decompression structure (below) */ - png_bytep zbuf; /* buffer for zlib */ - png_size_t zbuf_size; /* size of zbuf */ - int zlib_level; /* holds zlib compression level */ - int zlib_method; /* holds zlib compression method */ - int zlib_window_bits; /* holds zlib compression window bits */ - int zlib_mem_level; /* holds zlib compression memory level */ - int zlib_strategy; /* holds zlib compression strategy */ - - png_uint_32 width; /* width of image in pixels */ - png_uint_32 height; /* height of image in pixels */ - png_uint_32 num_rows; /* number of rows in current pass */ - png_uint_32 usr_width; /* width of row at start of write */ - png_uint_32 rowbytes; /* size of row in bytes */ - png_uint_32 irowbytes; /* size of current interlaced row in bytes */ - png_uint_32 iwidth; /* width of current interlaced row in pixels */ - png_uint_32 row_number; /* current row in interlace pass */ - png_bytep prev_row; /* buffer to save previous (unfiltered) row */ - png_bytep row_buf; /* buffer to save current (unfiltered) row */ -#ifndef PNG_NO_WRITE_FILTERING - png_bytep sub_row; /* buffer to save "sub" row when filtering */ - png_bytep up_row; /* buffer to save "up" row when filtering */ - png_bytep avg_row; /* buffer to save "avg" row when filtering */ - png_bytep paeth_row; /* buffer to save "Paeth" row when filtering */ -#endif - png_row_info row_info; /* used for transformation routines */ - - png_uint_32 idat_size; /* current IDAT size for read */ - png_uint_32 crc; /* current chunk CRC value */ - png_colorp palette; /* palette from the input file */ - png_uint_16 num_palette; /* number of color entries in palette */ - png_uint_16 num_trans; /* number of transparency values */ - png_byte chunk_name[5]; /* null-terminated name of current chunk */ - png_byte compression; /* file compression type (always 0) */ - png_byte filter; /* file filter type (always 0) */ - png_byte interlaced; /* PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7 */ - png_byte pass; /* current interlace pass (0 - 6) */ - png_byte do_filter; /* row filter flags (see PNG_FILTER_ below ) */ - png_byte color_type; /* color type of file */ - png_byte bit_depth; /* bit depth of file */ - png_byte usr_bit_depth; /* bit depth of users row */ - png_byte pixel_depth; /* number of bits per pixel */ - png_byte channels; /* number of channels in file */ - png_byte usr_channels; /* channels at start of write */ - png_byte sig_bytes; /* magic bytes read/written from start of file */ - -#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) -#ifdef PNG_LEGACY_SUPPORTED - png_byte filler; /* filler byte for pixel expansion */ -#else - png_uint_16 filler; /* filler bytes for pixel expansion */ -#endif -#endif - -#if defined(PNG_bKGD_SUPPORTED) - png_byte background_gamma_type; -# ifdef PNG_FLOATING_POINT_SUPPORTED - float background_gamma; -# endif - png_color_16 background; /* background color in screen gamma space */ -#if defined(PNG_READ_GAMMA_SUPPORTED) - png_color_16 background_1; /* background normalized to gamma 1.0 */ -#endif -#endif /* PNG_bKGD_SUPPORTED */ - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) - png_flush_ptr output_flush_fn;/* Function for flushing output */ - png_uint_32 flush_dist; /* how many rows apart to flush, 0 - no flush */ - png_uint_32 flush_rows; /* number of rows written since last flush */ -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - int gamma_shift; /* number of "insignificant" bits 16-bit gamma */ -#ifdef PNG_FLOATING_POINT_SUPPORTED - float gamma; /* file gamma value */ - float screen_gamma; /* screen gamma value (display_exponent) */ -#endif -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_bytep gamma_table; /* gamma table for 8-bit depth files */ - png_bytep gamma_from_1; /* converts from 1.0 to screen */ - png_bytep gamma_to_1; /* converts from file to 1.0 */ - png_uint_16pp gamma_16_table; /* gamma table for 16-bit depth files */ - png_uint_16pp gamma_16_from_1; /* converts from 1.0 to screen */ - png_uint_16pp gamma_16_to_1; /* converts from file to 1.0 */ -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED) - png_color_8 sig_bit; /* significant bits in each available channel */ -#endif - -#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) - png_color_8 shift; /* shift for significant bit tranformation */ -#endif - -#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \ - || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_bytep trans; /* transparency values for paletted files */ - png_color_16 trans_values; /* transparency values for non-paletted files */ -#endif - - png_read_status_ptr read_row_fn; /* called after each row is decoded */ - png_write_status_ptr write_row_fn; /* called after each row is encoded */ -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED - png_progressive_info_ptr info_fn; /* called after header data fully read */ - png_progressive_row_ptr row_fn; /* called after each prog. row is decoded */ - png_progressive_end_ptr end_fn; /* called after image is complete */ - png_bytep save_buffer_ptr; /* current location in save_buffer */ - png_bytep save_buffer; /* buffer for previously read data */ - png_bytep current_buffer_ptr; /* current location in current_buffer */ - png_bytep current_buffer; /* buffer for recently used data */ - png_uint_32 push_length; /* size of current input chunk */ - png_uint_32 skip_length; /* bytes to skip in input data */ - png_size_t save_buffer_size; /* amount of data now in save_buffer */ - png_size_t save_buffer_max; /* total size of save_buffer */ - png_size_t buffer_size; /* total amount of available input data */ - png_size_t current_buffer_size; /* amount of data now in current_buffer */ - int process_mode; /* what push library is currently doing */ - int cur_palette; /* current push library palette index */ - -# if defined(PNG_TEXT_SUPPORTED) - png_size_t current_text_size; /* current size of text input data */ - png_size_t current_text_left; /* how much text left to read in input */ - png_charp current_text; /* current text chunk buffer */ - png_charp current_text_ptr; /* current location in current_text */ -# endif /* PNG_TEXT_SUPPORTED */ -#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ - -#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__) -/* for the Borland special 64K segment handler */ - png_bytepp offset_table_ptr; - png_bytep offset_table; - png_uint_16 offset_table_number; - png_uint_16 offset_table_count; - png_uint_16 offset_table_count_free; -#endif - -#if defined(PNG_READ_DITHER_SUPPORTED) - png_bytep palette_lookup; /* lookup table for dithering */ - png_bytep dither_index; /* index translation for palette files */ -#endif - -#if defined(PNG_READ_DITHER_SUPPORTED) || defined(PNG_hIST_SUPPORTED) - png_uint_16p hist; /* histogram */ -#endif - -#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) - png_byte heuristic_method; /* heuristic for row filter selection */ - png_byte num_prev_filters; /* number of weights for previous rows */ - png_bytep prev_filters; /* filter type(s) of previous row(s) */ - png_uint_16p filter_weights; /* weight(s) for previous line(s) */ - png_uint_16p inv_filter_weights; /* 1/weight(s) for previous line(s) */ - png_uint_16p filter_costs; /* relative filter calculation cost */ - png_uint_16p inv_filter_costs; /* 1/relative filter calculation cost */ -#endif - -#if defined(PNG_TIME_RFC1123_SUPPORTED) - png_charp time_buffer; /* String to hold RFC 1123 time text */ -#endif - -/* New members added in libpng-1.0.6 */ - -#ifdef PNG_FREE_ME_SUPPORTED - png_uint_32 free_me; /* flags items libpng is responsible for freeing */ -#endif - -#if defined(PNG_USER_CHUNKS_SUPPORTED) - png_voidp user_chunk_ptr; - png_user_chunk_ptr read_user_chunk_fn; /* user read chunk handler */ -#endif - -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - int num_chunk_list; - png_bytep chunk_list; -#endif - -/* New members added in libpng-1.0.3 */ -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) - png_byte rgb_to_gray_status; - /* These were changed from png_byte in libpng-1.0.6 */ - png_uint_16 rgb_to_gray_red_coeff; - png_uint_16 rgb_to_gray_green_coeff; - png_uint_16 rgb_to_gray_blue_coeff; -#endif - -/* New member added in libpng-1.0.4 (renamed in 1.0.9) */ -#if defined(PNG_MNG_FEATURES_SUPPORTED) || \ - defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \ - defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED) -/* changed from png_byte to png_uint_32 at version 1.2.0 */ -#ifdef PNG_1_0_X - png_byte mng_features_permitted; -#else - png_uint_32 mng_features_permitted; -#endif /* PNG_1_0_X */ -#endif - -/* New member added in libpng-1.0.7 */ -#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) - png_fixed_point int_gamma; -#endif - -/* New member added in libpng-1.0.9, ifdef'ed out in 1.0.12, enabled in 1.2.0 */ -#if defined(PNG_MNG_FEATURES_SUPPORTED) - png_byte filter_type; -#endif - -#if defined(PNG_1_0_X) -/* New member added in libpng-1.0.10, ifdef'ed out in 1.2.0 */ - png_uint_32 row_buf_size; -#endif - -/* New members added in libpng-1.2.0 */ -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -# if !defined(PNG_1_0_X) -# if defined(PNG_MMX_CODE_SUPPORTED) - png_byte mmx_bitdepth_threshold; - png_uint_32 mmx_rowbytes_threshold; -# endif - png_uint_32 asm_flags; -# endif -#endif - -/* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */ -#ifdef PNG_USER_MEM_SUPPORTED - png_voidp mem_ptr; /* user supplied struct for mem functions */ - png_malloc_ptr malloc_fn; /* function for allocating memory */ - png_free_ptr free_fn; /* function for freeing memory */ -#endif - -/* New member added in libpng-1.0.13 and 1.2.0 */ - png_bytep big_row_buf; /* buffer to save current (unfiltered) row */ - -#if defined(PNG_READ_DITHER_SUPPORTED) -/* The following three members were added at version 1.0.14 and 1.2.4 */ - png_bytep dither_sort; /* working sort array */ - png_bytep index_to_palette; /* where the original index currently is */ - /* in the palette */ - png_bytep palette_to_index; /* which original index points to this */ - /* palette color */ -#endif - -/* New members added in libpng-1.0.16 and 1.2.6 */ - png_byte compression_type; - -#ifdef PNG_SET_USER_LIMITS_SUPPORTED - png_uint_32 user_width_max; - png_uint_32 user_height_max; -#endif - -/* New member added in libpng-1.0.25 and 1.2.17 */ -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) - /* storage for unknown chunk that the library doesn't recognize. */ - png_unknown_chunk unknown_chunk; -#endif -}; - - -/* This triggers a compiler error in png.c, if png.c and png.h - * do not agree upon the version number. - */ -typedef png_structp version_1_2_24; - -typedef png_struct FAR * FAR * png_structpp; - -/* Here are the function definitions most commonly used. This is not - * the place to find out how to use libpng. See libpng.txt for the - * full explanation, see example.c for the summary. This just provides - * a simple one line description of the use of each function. - */ - -/* Returns the version number of the library */ -extern PNG_EXPORT(png_uint_32,png_access_version_number) PNGARG((void)); - -/* Tell lib we have already handled the first magic bytes. - * Handling more than 8 bytes from the beginning of the file is an error. - */ -extern PNG_EXPORT(void,png_set_sig_bytes) PNGARG((png_structp png_ptr, - int num_bytes)); - -/* Check sig[start] through sig[start + num_to_check - 1] to see if it's a - * PNG file. Returns zero if the supplied bytes match the 8-byte PNG - * signature, and non-zero otherwise. Having num_to_check == 0 or - * start > 7 will always fail (ie return non-zero). - */ -extern PNG_EXPORT(int,png_sig_cmp) PNGARG((png_bytep sig, png_size_t start, - png_size_t num_to_check)); - -/* Simple signature checking function. This is the same as calling - * png_check_sig(sig, n) := !png_sig_cmp(sig, 0, n). - */ -extern PNG_EXPORT(int,png_check_sig) PNGARG((png_bytep sig, int num)); - -/* Allocate and initialize png_ptr struct for reading, and any other memory. */ -extern PNG_EXPORT(png_structp,png_create_read_struct) - PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn)); - -/* Allocate and initialize png_ptr struct for writing, and any other memory */ -extern PNG_EXPORT(png_structp,png_create_write_struct) - PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn)); - -#ifdef PNG_WRITE_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_compression_buffer_size) - PNGARG((png_structp png_ptr)); -#endif - -#ifdef PNG_WRITE_SUPPORTED -extern PNG_EXPORT(void,png_set_compression_buffer_size) - PNGARG((png_structp png_ptr, png_uint_32 size)); -#endif - -/* Reset the compression stream */ -extern PNG_EXPORT(int,png_reset_zstream) PNGARG((png_structp png_ptr)); - -/* New functions added in libpng-1.0.2 (not enabled by default until 1.2.0) */ -#ifdef PNG_USER_MEM_SUPPORTED -extern PNG_EXPORT(png_structp,png_create_read_struct_2) - PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, - png_malloc_ptr malloc_fn, png_free_ptr free_fn)); -extern PNG_EXPORT(png_structp,png_create_write_struct_2) - PNGARG((png_const_charp user_png_ver, png_voidp error_ptr, - png_error_ptr error_fn, png_error_ptr warn_fn, png_voidp mem_ptr, - png_malloc_ptr malloc_fn, png_free_ptr free_fn)); -#endif - -/* Write a PNG chunk - size, type, (optional) data, CRC. */ -extern PNG_EXPORT(void,png_write_chunk) PNGARG((png_structp png_ptr, - png_bytep chunk_name, png_bytep data, png_size_t length)); - -/* Write the start of a PNG chunk - length and chunk name. */ -extern PNG_EXPORT(void,png_write_chunk_start) PNGARG((png_structp png_ptr, - png_bytep chunk_name, png_uint_32 length)); - -/* Write the data of a PNG chunk started with png_write_chunk_start(). */ -extern PNG_EXPORT(void,png_write_chunk_data) PNGARG((png_structp png_ptr, - png_bytep data, png_size_t length)); - -/* Finish a chunk started with png_write_chunk_start() (includes CRC). */ -extern PNG_EXPORT(void,png_write_chunk_end) PNGARG((png_structp png_ptr)); - -/* Allocate and initialize the info structure */ -extern PNG_EXPORT(png_infop,png_create_info_struct) - PNGARG((png_structp png_ptr)); - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize the info structure (old interface - DEPRECATED) */ -extern PNG_EXPORT(void,png_info_init) PNGARG((png_infop info_ptr)); -#undef png_info_init -#define png_info_init(info_ptr) png_info_init_3(&info_ptr,\ - png_sizeof(png_info)); -#endif - -extern PNG_EXPORT(void,png_info_init_3) PNGARG((png_infopp info_ptr, - png_size_t png_info_struct_size)); - -/* Writes all the PNG information before the image. */ -extern PNG_EXPORT(void,png_write_info_before_PLTE) PNGARG((png_structp png_ptr, - png_infop info_ptr)); -extern PNG_EXPORT(void,png_write_info) PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the information before the actual image data. */ -extern PNG_EXPORT(void,png_read_info) PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif - -#if defined(PNG_TIME_RFC1123_SUPPORTED) -extern PNG_EXPORT(png_charp,png_convert_to_rfc1123) - PNGARG((png_structp png_ptr, png_timep ptime)); -#endif - -#if !defined(_WIN32_WCE) -/* "time.h" functions are not supported on WindowsCE */ -#if defined(PNG_WRITE_tIME_SUPPORTED) -/* convert from a struct tm to png_time */ -extern PNG_EXPORT(void,png_convert_from_struct_tm) PNGARG((png_timep ptime, - struct tm FAR * ttime)); - -/* convert from time_t to png_time. Uses gmtime() */ -extern PNG_EXPORT(void,png_convert_from_time_t) PNGARG((png_timep ptime, - time_t ttime)); -#endif /* PNG_WRITE_tIME_SUPPORTED */ -#endif /* _WIN32_WCE */ - -#if defined(PNG_READ_EXPAND_SUPPORTED) -/* Expand data to 24-bit RGB, or 8-bit grayscale, with alpha if available. */ -extern PNG_EXPORT(void,png_set_expand) PNGARG((png_structp png_ptr)); -#if !defined(PNG_1_0_X) -extern PNG_EXPORT(void,png_set_expand_gray_1_2_4_to_8) PNGARG((png_structp - png_ptr)); -#endif -extern PNG_EXPORT(void,png_set_palette_to_rgb) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(void,png_set_tRNS_to_alpha) PNGARG((png_structp png_ptr)); -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated */ -extern PNG_EXPORT(void,png_set_gray_1_2_4_to_8) PNGARG((png_structp png_ptr)); -#endif -#endif - -#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) -/* Use blue, green, red order for pixels. */ -extern PNG_EXPORT(void,png_set_bgr) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) -/* Expand the grayscale to 24-bit RGB if necessary. */ -extern PNG_EXPORT(void,png_set_gray_to_rgb) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) -/* Reduce RGB to grayscale. */ -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_rgb_to_gray) PNGARG((png_structp png_ptr, - int error_action, double red, double green )); -#endif -extern PNG_EXPORT(void,png_set_rgb_to_gray_fixed) PNGARG((png_structp png_ptr, - int error_action, png_fixed_point red, png_fixed_point green )); -extern PNG_EXPORT(png_byte,png_get_rgb_to_gray_status) PNGARG((png_structp - png_ptr)); -#endif - -extern PNG_EXPORT(void,png_build_grayscale_palette) PNGARG((int bit_depth, - png_colorp palette)); - -#if defined(PNG_READ_STRIP_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_strip_alpha) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) || \ - defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_swap_alpha) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) || \ - defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) -extern PNG_EXPORT(void,png_set_invert_alpha) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) -/* Add a filler byte to 8-bit Gray or 24-bit RGB images. */ -extern PNG_EXPORT(void,png_set_filler) PNGARG((png_structp png_ptr, - png_uint_32 filler, int flags)); -/* The values of the PNG_FILLER_ defines should NOT be changed */ -#define PNG_FILLER_BEFORE 0 -#define PNG_FILLER_AFTER 1 -/* Add an alpha byte to 8-bit Gray or 24-bit RGB images. */ -#if !defined(PNG_1_0_X) -extern PNG_EXPORT(void,png_set_add_alpha) PNGARG((png_structp png_ptr, - png_uint_32 filler, int flags)); -#endif -#endif /* PNG_READ_FILLER_SUPPORTED || PNG_WRITE_FILLER_SUPPORTED */ - -#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) -/* Swap bytes in 16-bit depth files. */ -extern PNG_EXPORT(void,png_set_swap) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED) -/* Use 1 byte per pixel in 1, 2, or 4-bit depth files. */ -extern PNG_EXPORT(void,png_set_packing) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED) -/* Swap packing order of pixels in bytes. */ -extern PNG_EXPORT(void,png_set_packswap) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED) -/* Converts files to legal bit depths. */ -extern PNG_EXPORT(void,png_set_shift) PNGARG((png_structp png_ptr, - png_color_8p true_bits)); -#endif - -#if defined(PNG_READ_INTERLACING_SUPPORTED) || \ - defined(PNG_WRITE_INTERLACING_SUPPORTED) -/* Have the code handle the interlacing. Returns the number of passes. */ -extern PNG_EXPORT(int,png_set_interlace_handling) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) -/* Invert monochrome files */ -extern PNG_EXPORT(void,png_set_invert_mono) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_BACKGROUND_SUPPORTED) -/* Handle alpha and tRNS by replacing with a background color. */ -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_background) PNGARG((png_structp png_ptr, - png_color_16p background_color, int background_gamma_code, - int need_expand, double background_gamma)); -#endif -#define PNG_BACKGROUND_GAMMA_UNKNOWN 0 -#define PNG_BACKGROUND_GAMMA_SCREEN 1 -#define PNG_BACKGROUND_GAMMA_FILE 2 -#define PNG_BACKGROUND_GAMMA_UNIQUE 3 -#endif - -#if defined(PNG_READ_16_TO_8_SUPPORTED) -/* strip the second byte of information from a 16-bit depth file. */ -extern PNG_EXPORT(void,png_set_strip_16) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_DITHER_SUPPORTED) -/* Turn on dithering, and reduce the palette to the number of colors available. */ -extern PNG_EXPORT(void,png_set_dither) PNGARG((png_structp png_ptr, - png_colorp palette, int num_palette, int maximum_colors, - png_uint_16p histogram, int full_dither)); -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) -/* Handle gamma correction. Screen_gamma=(display_exponent) */ -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_gamma) PNGARG((png_structp png_ptr, - double screen_gamma, double default_file_gamma)); -#endif -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -#if defined(PNG_READ_EMPTY_PLTE_SUPPORTED) || \ - defined(PNG_WRITE_EMPTY_PLTE_SUPPORTED) -/* Permit or disallow empty PLTE (0: not permitted, 1: permitted) */ -/* Deprecated and will be removed. Use png_permit_mng_features() instead. */ -extern PNG_EXPORT(void,png_permit_empty_plte) PNGARG((png_structp png_ptr, - int empty_plte_permitted)); -#endif -#endif - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) -/* Set how many lines between output flushes - 0 for no flushing */ -extern PNG_EXPORT(void,png_set_flush) PNGARG((png_structp png_ptr, int nrows)); -/* Flush the current PNG output buffer */ -extern PNG_EXPORT(void,png_write_flush) PNGARG((png_structp png_ptr)); -#endif - -/* optional update palette with requested transformations */ -extern PNG_EXPORT(void,png_start_read_image) PNGARG((png_structp png_ptr)); - -/* optional call to update the users info structure */ -extern PNG_EXPORT(void,png_read_update_info) PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read one or more rows of image data. */ -extern PNG_EXPORT(void,png_read_rows) PNGARG((png_structp png_ptr, - png_bytepp row, png_bytepp display_row, png_uint_32 num_rows)); -#endif - -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read a row of data. */ -extern PNG_EXPORT(void,png_read_row) PNGARG((png_structp png_ptr, - png_bytep row, - png_bytep display_row)); -#endif - -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the whole image into memory at once. */ -extern PNG_EXPORT(void,png_read_image) PNGARG((png_structp png_ptr, - png_bytepp image)); -#endif - -/* write a row of image data */ -extern PNG_EXPORT(void,png_write_row) PNGARG((png_structp png_ptr, - png_bytep row)); - -/* write a few rows of image data */ -extern PNG_EXPORT(void,png_write_rows) PNGARG((png_structp png_ptr, - png_bytepp row, png_uint_32 num_rows)); - -/* write the image data */ -extern PNG_EXPORT(void,png_write_image) PNGARG((png_structp png_ptr, - png_bytepp image)); - -/* writes the end of the PNG file. */ -extern PNG_EXPORT(void,png_write_end) PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -#ifndef PNG_NO_SEQUENTIAL_READ_SUPPORTED -/* read the end of the PNG file. */ -extern PNG_EXPORT(void,png_read_end) PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif - -/* free any memory associated with the png_info_struct */ -extern PNG_EXPORT(void,png_destroy_info_struct) PNGARG((png_structp png_ptr, - png_infopp info_ptr_ptr)); - -/* free any memory associated with the png_struct and the png_info_structs */ -extern PNG_EXPORT(void,png_destroy_read_struct) PNGARG((png_structpp - png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr)); - -/* free all memory used by the read (old method - NOT DLL EXPORTED) */ -/* Debian note: exporting as it is required by legacy applications */ -extern PNG_EXPORT(void,png_read_destroy) PNGARG((png_structp png_ptr, png_infop info_ptr, - png_infop end_info_ptr)); - -/* free any memory associated with the png_struct and the png_info_structs */ -extern PNG_EXPORT(void,png_destroy_write_struct) - PNGARG((png_structpp png_ptr_ptr, png_infopp info_ptr_ptr)); - -/* free any memory used in png_ptr struct (old method - NOT DLL EXPORTED) */ -/* Debian note: exporting as it is required by legacy applications */ -extern PNG_EXPORT(void,png_write_destroy) PNGARG((png_structp png_ptr)); - -/* set the libpng method of handling chunk CRC errors */ -extern PNG_EXPORT(void,png_set_crc_action) PNGARG((png_structp png_ptr, - int crit_action, int ancil_action)); - -/* Values for png_set_crc_action() to say how to handle CRC errors in - * ancillary and critical chunks, and whether to use the data contained - * therein. Note that it is impossible to "discard" data in a critical - * chunk. For versions prior to 0.90, the action was always error/quit, - * whereas in version 0.90 and later, the action for CRC errors in ancillary - * chunks is warn/discard. These values should NOT be changed. - * - * value action:critical action:ancillary - */ -#define PNG_CRC_DEFAULT 0 /* error/quit warn/discard data */ -#define PNG_CRC_ERROR_QUIT 1 /* error/quit error/quit */ -#define PNG_CRC_WARN_DISCARD 2 /* (INVALID) warn/discard data */ -#define PNG_CRC_WARN_USE 3 /* warn/use data warn/use data */ -#define PNG_CRC_QUIET_USE 4 /* quiet/use data quiet/use data */ -#define PNG_CRC_NO_CHANGE 5 /* use current value use current value */ - -/* These functions give the user control over the scan-line filtering in - * libpng and the compression methods used by zlib. These functions are - * mainly useful for testing, as the defaults should work with most users. - * Those users who are tight on memory or want faster performance at the - * expense of compression can modify them. See the compression library - * header file (zlib.h) for an explination of the compression functions. - */ - -/* set the filtering method(s) used by libpng. Currently, the only valid - * value for "method" is 0. - */ -extern PNG_EXPORT(void,png_set_filter) PNGARG((png_structp png_ptr, int method, - int filters)); - -/* Flags for png_set_filter() to say which filters to use. The flags - * are chosen so that they don't conflict with real filter types - * below, in case they are supplied instead of the #defined constants. - * These values should NOT be changed. - */ -#define PNG_NO_FILTERS 0x00 -#define PNG_FILTER_NONE 0x08 -#define PNG_FILTER_SUB 0x10 -#define PNG_FILTER_UP 0x20 -#define PNG_FILTER_AVG 0x40 -#define PNG_FILTER_PAETH 0x80 -#define PNG_ALL_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | \ - PNG_FILTER_AVG | PNG_FILTER_PAETH) - -/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now. - * These defines should NOT be changed. - */ -#define PNG_FILTER_VALUE_NONE 0 -#define PNG_FILTER_VALUE_SUB 1 -#define PNG_FILTER_VALUE_UP 2 -#define PNG_FILTER_VALUE_AVG 3 -#define PNG_FILTER_VALUE_PAETH 4 -#define PNG_FILTER_VALUE_LAST 5 - -#if defined(PNG_WRITE_WEIGHTED_FILTER_SUPPORTED) /* EXPERIMENTAL */ -/* The "heuristic_method" is given by one of the PNG_FILTER_HEURISTIC_ - * defines, either the default (minimum-sum-of-absolute-differences), or - * the experimental method (weighted-minimum-sum-of-absolute-differences). - * - * Weights are factors >= 1.0, indicating how important it is to keep the - * filter type consistent between rows. Larger numbers mean the current - * filter is that many times as likely to be the same as the "num_weights" - * previous filters. This is cumulative for each previous row with a weight. - * There needs to be "num_weights" values in "filter_weights", or it can be - * NULL if the weights aren't being specified. Weights have no influence on - * the selection of the first row filter. Well chosen weights can (in theory) - * improve the compression for a given image. - * - * Costs are factors >= 1.0 indicating the relative decoding costs of a - * filter type. Higher costs indicate more decoding expense, and are - * therefore less likely to be selected over a filter with lower computational - * costs. There needs to be a value in "filter_costs" for each valid filter - * type (given by PNG_FILTER_VALUE_LAST), or it can be NULL if you aren't - * setting the costs. Costs try to improve the speed of decompression without - * unduly increasing the compressed image size. - * - * A negative weight or cost indicates the default value is to be used, and - * values in the range [0.0, 1.0) indicate the value is to remain unchanged. - * The default values for both weights and costs are currently 1.0, but may - * change if good general weighting/cost heuristics can be found. If both - * the weights and costs are set to 1.0, this degenerates the WEIGHTED method - * to the UNWEIGHTED method, but with added encoding time/computation. - */ -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_filter_heuristics) PNGARG((png_structp png_ptr, - int heuristic_method, int num_weights, png_doublep filter_weights, - png_doublep filter_costs)); -#endif -#endif /* PNG_WRITE_WEIGHTED_FILTER_SUPPORTED */ - -/* Heuristic used for row filter selection. These defines should NOT be - * changed. - */ -#define PNG_FILTER_HEURISTIC_DEFAULT 0 /* Currently "UNWEIGHTED" */ -#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1 /* Used by libpng < 0.95 */ -#define PNG_FILTER_HEURISTIC_WEIGHTED 2 /* Experimental feature */ -#define PNG_FILTER_HEURISTIC_LAST 3 /* Not a valid value */ - -/* Set the library compression level. Currently, valid values range from - * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 - * (0 - no compression, 9 - "maximal" compression). Note that tests have - * shown that zlib compression levels 3-6 usually perform as well as level 9 - * for PNG images, and do considerably fewer caclulations. In the future, - * these values may not correspond directly to the zlib compression levels. - */ -extern PNG_EXPORT(void,png_set_compression_level) PNGARG((png_structp png_ptr, - int level)); - -extern PNG_EXPORT(void,png_set_compression_mem_level) - PNGARG((png_structp png_ptr, int mem_level)); - -extern PNG_EXPORT(void,png_set_compression_strategy) - PNGARG((png_structp png_ptr, int strategy)); - -extern PNG_EXPORT(void,png_set_compression_window_bits) - PNGARG((png_structp png_ptr, int window_bits)); - -extern PNG_EXPORT(void,png_set_compression_method) PNGARG((png_structp png_ptr, - int method)); - -/* These next functions are called for input/output, memory, and error - * handling. They are in the file pngrio.c, pngwio.c, and pngerror.c, - * and call standard C I/O routines such as fread(), fwrite(), and - * fprintf(). These functions can be made to use other I/O routines - * at run time for those applications that need to handle I/O in a - * different manner by calling png_set_???_fn(). See libpng.txt for - * more information. - */ - -#if !defined(PNG_NO_STDIO) -/* Initialize the input/output for the PNG file to the default functions. */ -extern PNG_EXPORT(void,png_init_io) PNGARG((png_structp png_ptr, png_FILE_p fp)); -#endif - -/* Replace the (error and abort), and warning functions with user - * supplied functions. If no messages are to be printed you must still - * write and use replacement functions. The replacement error_fn should - * still do a longjmp to the last setjmp location if you are using this - * method of error handling. If error_fn or warning_fn is NULL, the - * default function will be used. - */ - -extern PNG_EXPORT(void,png_set_error_fn) PNGARG((png_structp png_ptr, - png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warning_fn)); - -/* Return the user pointer associated with the error functions */ -extern PNG_EXPORT(png_voidp,png_get_error_ptr) PNGARG((png_structp png_ptr)); - -/* Replace the default data output functions with a user supplied one(s). - * If buffered output is not used, then output_flush_fn can be set to NULL. - * If PNG_WRITE_FLUSH_SUPPORTED is not defined at libpng compile time - * output_flush_fn will be ignored (and thus can be NULL). - */ -extern PNG_EXPORT(void,png_set_write_fn) PNGARG((png_structp png_ptr, - png_voidp io_ptr, png_rw_ptr write_data_fn, png_flush_ptr output_flush_fn)); - -/* Replace the default data input function with a user supplied one. */ -extern PNG_EXPORT(void,png_set_read_fn) PNGARG((png_structp png_ptr, - png_voidp io_ptr, png_rw_ptr read_data_fn)); - -/* Return the user pointer associated with the I/O functions */ -extern PNG_EXPORT(png_voidp,png_get_io_ptr) PNGARG((png_structp png_ptr)); - -extern PNG_EXPORT(void,png_set_read_status_fn) PNGARG((png_structp png_ptr, - png_read_status_ptr read_row_fn)); - -extern PNG_EXPORT(void,png_set_write_status_fn) PNGARG((png_structp png_ptr, - png_write_status_ptr write_row_fn)); - -#ifdef PNG_USER_MEM_SUPPORTED -/* Replace the default memory allocation functions with user supplied one(s). */ -extern PNG_EXPORT(void,png_set_mem_fn) PNGARG((png_structp png_ptr, - png_voidp mem_ptr, png_malloc_ptr malloc_fn, png_free_ptr free_fn)); -/* Return the user pointer associated with the memory functions */ -extern PNG_EXPORT(png_voidp,png_get_mem_ptr) PNGARG((png_structp png_ptr)); -#endif - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_read_user_transform_fn) PNGARG((png_structp - png_ptr, png_user_transform_ptr read_user_transform_fn)); -#endif - -#if defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_write_user_transform_fn) PNGARG((png_structp - png_ptr, png_user_transform_ptr write_user_transform_fn)); -#endif - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_LEGACY_SUPPORTED) -extern PNG_EXPORT(void,png_set_user_transform_info) PNGARG((png_structp - png_ptr, png_voidp user_transform_ptr, int user_transform_depth, - int user_transform_channels)); -/* Return the user pointer associated with the user transform functions */ -extern PNG_EXPORT(png_voidp,png_get_user_transform_ptr) - PNGARG((png_structp png_ptr)); -#endif - -#ifdef PNG_USER_CHUNKS_SUPPORTED -extern PNG_EXPORT(void,png_set_read_user_chunk_fn) PNGARG((png_structp png_ptr, - png_voidp user_chunk_ptr, png_user_chunk_ptr read_user_chunk_fn)); -extern PNG_EXPORT(png_voidp,png_get_user_chunk_ptr) PNGARG((png_structp - png_ptr)); -#endif - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -/* Sets the function callbacks for the push reader, and a pointer to a - * user-defined structure available to the callback functions. - */ -extern PNG_EXPORT(void,png_set_progressive_read_fn) PNGARG((png_structp png_ptr, - png_voidp progressive_ptr, - png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn, - png_progressive_end_ptr end_fn)); - -/* returns the user pointer associated with the push read functions */ -extern PNG_EXPORT(png_voidp,png_get_progressive_ptr) - PNGARG((png_structp png_ptr)); - -/* function to be called when data becomes available */ -extern PNG_EXPORT(void,png_process_data) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytep buffer, png_size_t buffer_size)); - -/* function that combines rows. Not very much different than the - * png_combine_row() call. Is this even used????? - */ -extern PNG_EXPORT(void,png_progressive_combine_row) PNGARG((png_structp png_ptr, - png_bytep old_row, png_bytep new_row)); -#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ - -extern PNG_EXPORT(png_voidp,png_malloc) PNGARG((png_structp png_ptr, - png_uint_32 size)); - -#if defined(PNG_1_0_X) -# define png_malloc_warn png_malloc -#else -/* Added at libpng version 1.2.4 */ -extern PNG_EXPORT(png_voidp,png_malloc_warn) PNGARG((png_structp png_ptr, - png_uint_32 size)); -#endif - -/* frees a pointer allocated by png_malloc() */ -extern PNG_EXPORT(void,png_free) PNGARG((png_structp png_ptr, png_voidp ptr)); - -#if defined(PNG_1_0_X) -/* Function to allocate memory for zlib. */ -extern PNG_EXPORT(voidpf,png_zalloc) PNGARG((voidpf png_ptr, uInt items, - uInt size)); - -/* Function to free memory for zlib */ -extern PNG_EXPORT(void,png_zfree) PNGARG((voidpf png_ptr, voidpf ptr)); -#endif - -/* Free data that was allocated internally */ -extern PNG_EXPORT(void,png_free_data) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 free_me, int num)); -#ifdef PNG_FREE_ME_SUPPORTED -/* Reassign responsibility for freeing existing data, whether allocated - * by libpng or by the application */ -extern PNG_EXPORT(void,png_data_freer) PNGARG((png_structp png_ptr, - png_infop info_ptr, int freer, png_uint_32 mask)); -#endif -/* assignments for png_data_freer */ -#define PNG_DESTROY_WILL_FREE_DATA 1 -#define PNG_SET_WILL_FREE_DATA 1 -#define PNG_USER_WILL_FREE_DATA 2 -/* Flags for png_ptr->free_me and info_ptr->free_me */ -#define PNG_FREE_HIST 0x0008 -#define PNG_FREE_ICCP 0x0010 -#define PNG_FREE_SPLT 0x0020 -#define PNG_FREE_ROWS 0x0040 -#define PNG_FREE_PCAL 0x0080 -#define PNG_FREE_SCAL 0x0100 -#define PNG_FREE_UNKN 0x0200 -#define PNG_FREE_LIST 0x0400 -#define PNG_FREE_PLTE 0x1000 -#define PNG_FREE_TRNS 0x2000 -#define PNG_FREE_TEXT 0x4000 -#define PNG_FREE_ALL 0x7fff -#define PNG_FREE_MUL 0x4220 /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */ - -#ifdef PNG_USER_MEM_SUPPORTED -extern PNG_EXPORT(png_voidp,png_malloc_default) PNGARG((png_structp png_ptr, - png_uint_32 size)); -extern PNG_EXPORT(void,png_free_default) PNGARG((png_structp png_ptr, - png_voidp ptr)); -#endif - -extern PNG_EXPORT(png_voidp,png_memcpy_check) PNGARG((png_structp png_ptr, - png_voidp s1, png_voidp s2, png_uint_32 size)); - -extern PNG_EXPORT(png_voidp,png_memset_check) PNGARG((png_structp png_ptr, - png_voidp s1, int value, png_uint_32 size)); - -#if defined(USE_FAR_KEYWORD) /* memory model conversion function */ -extern void *png_far_to_near PNGARG((png_structp png_ptr,png_voidp ptr, - int check)); -#endif /* USE_FAR_KEYWORD */ - -#ifndef PNG_NO_ERROR_TEXT -/* Fatal error in PNG image of libpng - can't continue */ -extern PNG_EXPORT(void,png_error) PNGARG((png_structp png_ptr, - png_const_charp error_message)); - -/* The same, but the chunk name is prepended to the error string. */ -extern PNG_EXPORT(void,png_chunk_error) PNGARG((png_structp png_ptr, - png_const_charp error_message)); -#else -/* Fatal error in PNG image of libpng - can't continue */ -extern PNG_EXPORT(void,png_err) PNGARG((png_structp png_ptr)); -#endif - -#ifndef PNG_NO_WARNINGS -/* Non-fatal error in libpng. Can continue, but may have a problem. */ -extern PNG_EXPORT(void,png_warning) PNGARG((png_structp png_ptr, - png_const_charp warning_message)); - -#ifdef PNG_READ_SUPPORTED -/* Non-fatal error in libpng, chunk name is prepended to message. */ -extern PNG_EXPORT(void,png_chunk_warning) PNGARG((png_structp png_ptr, - png_const_charp warning_message)); -#endif /* PNG_READ_SUPPORTED */ -#endif /* PNG_NO_WARNINGS */ - -/* The png_set_ functions are for storing values in the png_info_struct. - * Similarly, the png_get_ calls are used to read values from the - * png_info_struct, either storing the parameters in the passed variables, or - * setting pointers into the png_info_struct where the data is stored. The - * png_get_ functions return a non-zero value if the data was available - * in info_ptr, or return zero and do not change any of the parameters if the - * data was not available. - * - * These functions should be used instead of directly accessing png_info - * to avoid problems with future changes in the size and internal layout of - * png_info_struct. - */ -/* Returns "flag" if chunk data is valid in info_ptr. */ -extern PNG_EXPORT(png_uint_32,png_get_valid) PNGARG((png_structp png_ptr, -png_infop info_ptr, png_uint_32 flag)); - -/* Returns number of bytes needed to hold a transformed row. */ -extern PNG_EXPORT(png_uint_32,png_get_rowbytes) PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -#if defined(PNG_INFO_IMAGE_SUPPORTED) -/* Returns row_pointers, which is an array of pointers to scanlines that was -returned from png_read_png(). */ -extern PNG_EXPORT(png_bytepp,png_get_rows) PNGARG((png_structp png_ptr, -png_infop info_ptr)); -/* Set row_pointers, which is an array of pointers to scanlines for use -by png_write_png(). */ -extern PNG_EXPORT(void,png_set_rows) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytepp row_pointers)); -#endif - -/* Returns number of color channels in image. */ -extern PNG_EXPORT(png_byte,png_get_channels) PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -#ifdef PNG_EASY_ACCESS_SUPPORTED -/* Returns image width in pixels. */ -extern PNG_EXPORT(png_uint_32, png_get_image_width) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image height in pixels. */ -extern PNG_EXPORT(png_uint_32, png_get_image_height) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image bit_depth. */ -extern PNG_EXPORT(png_byte, png_get_bit_depth) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image color_type. */ -extern PNG_EXPORT(png_byte, png_get_color_type) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image filter_type. */ -extern PNG_EXPORT(png_byte, png_get_filter_type) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image interlace_type. */ -extern PNG_EXPORT(png_byte, png_get_interlace_type) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image compression_type. */ -extern PNG_EXPORT(png_byte, png_get_compression_type) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns image resolution in pixels per meter, from pHYs chunk data. */ -extern PNG_EXPORT(png_uint_32, png_get_pixels_per_meter) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_uint_32, png_get_x_pixels_per_meter) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_uint_32, png_get_y_pixels_per_meter) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -/* Returns pixel aspect ratio, computed from pHYs chunk data. */ -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(float, png_get_pixel_aspect_ratio) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -#endif - -/* Returns image x, y offset in pixels or microns, from oFFs chunk data. */ -extern PNG_EXPORT(png_int_32, png_get_x_offset_pixels) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_y_offset_pixels) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_x_offset_microns) PNGARG((png_structp -png_ptr, png_infop info_ptr)); -extern PNG_EXPORT(png_int_32, png_get_y_offset_microns) PNGARG((png_structp -png_ptr, png_infop info_ptr)); - -#endif /* PNG_EASY_ACCESS_SUPPORTED */ - -/* Returns pointer to signature string read from PNG header */ -extern PNG_EXPORT(png_bytep,png_get_signature) PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -#if defined(PNG_bKGD_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_bKGD) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_color_16p *background)); -#endif - -#if defined(PNG_bKGD_SUPPORTED) -extern PNG_EXPORT(void,png_set_bKGD) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_color_16p background)); -#endif - -#if defined(PNG_cHRM_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_cHRM) PNGARG((png_structp png_ptr, - png_infop info_ptr, double *white_x, double *white_y, double *red_x, - double *red_y, double *green_x, double *green_y, double *blue_x, - double *blue_y)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_cHRM_fixed) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_fixed_point *int_white_x, png_fixed_point - *int_white_y, png_fixed_point *int_red_x, png_fixed_point *int_red_y, - png_fixed_point *int_green_x, png_fixed_point *int_green_y, png_fixed_point - *int_blue_x, png_fixed_point *int_blue_y)); -#endif -#endif - -#if defined(PNG_cHRM_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_cHRM) PNGARG((png_structp png_ptr, - png_infop info_ptr, double white_x, double white_y, double red_x, - double red_y, double green_x, double green_y, double blue_x, double blue_y)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_cHRM_fixed) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_fixed_point int_white_x, png_fixed_point int_white_y, - png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point - int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, - png_fixed_point int_blue_y)); -#endif -#endif - -#if defined(PNG_gAMA_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_gAMA) PNGARG((png_structp png_ptr, - png_infop info_ptr, double *file_gamma)); -#endif -extern PNG_EXPORT(png_uint_32,png_get_gAMA_fixed) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_fixed_point *int_file_gamma)); -#endif - -#if defined(PNG_gAMA_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_gAMA) PNGARG((png_structp png_ptr, - png_infop info_ptr, double file_gamma)); -#endif -extern PNG_EXPORT(void,png_set_gAMA_fixed) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_fixed_point int_file_gamma)); -#endif - -#if defined(PNG_hIST_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_hIST) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_16p *hist)); -#endif - -#if defined(PNG_hIST_SUPPORTED) -extern PNG_EXPORT(void,png_set_hIST) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_16p hist)); -#endif - -extern PNG_EXPORT(png_uint_32,png_get_IHDR) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, - int *bit_depth, int *color_type, int *interlace_method, - int *compression_method, int *filter_method)); - -extern PNG_EXPORT(void,png_set_IHDR) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 width, png_uint_32 height, int bit_depth, - int color_type, int interlace_method, int compression_method, - int filter_method)); - -#if defined(PNG_oFFs_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_oFFs) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_int_32 *offset_x, png_int_32 *offset_y, - int *unit_type)); -#endif - -#if defined(PNG_oFFs_SUPPORTED) -extern PNG_EXPORT(void,png_set_oFFs) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_int_32 offset_x, png_int_32 offset_y, - int unit_type)); -#endif - -#if defined(PNG_pCAL_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_pCAL) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_charp *purpose, png_int_32 *X0, png_int_32 *X1, - int *type, int *nparams, png_charp *units, png_charpp *params)); -#endif - -#if defined(PNG_pCAL_SUPPORTED) -extern PNG_EXPORT(void,png_set_pCAL) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_charp purpose, png_int_32 X0, png_int_32 X1, - int type, int nparams, png_charp units, png_charpp params)); -#endif - -#if defined(PNG_pHYs_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_pHYs) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); -#endif - -#if defined(PNG_pHYs_SUPPORTED) -extern PNG_EXPORT(void,png_set_pHYs) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 res_x, png_uint_32 res_y, int unit_type)); -#endif - -extern PNG_EXPORT(png_uint_32,png_get_PLTE) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_colorp *palette, int *num_palette)); - -extern PNG_EXPORT(void,png_set_PLTE) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_colorp palette, int num_palette)); - -#if defined(PNG_sBIT_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sBIT) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_color_8p *sig_bit)); -#endif - -#if defined(PNG_sBIT_SUPPORTED) -extern PNG_EXPORT(void,png_set_sBIT) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_color_8p sig_bit)); -#endif - -#if defined(PNG_sRGB_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sRGB) PNGARG((png_structp png_ptr, - png_infop info_ptr, int *intent)); -#endif - -#if defined(PNG_sRGB_SUPPORTED) -extern PNG_EXPORT(void,png_set_sRGB) PNGARG((png_structp png_ptr, - png_infop info_ptr, int intent)); -extern PNG_EXPORT(void,png_set_sRGB_gAMA_and_cHRM) PNGARG((png_structp png_ptr, - png_infop info_ptr, int intent)); -#endif - -#if defined(PNG_iCCP_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_iCCP) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_charpp name, int *compression_type, - png_charpp profile, png_uint_32 *proflen)); - /* Note to maintainer: profile should be png_bytepp */ -#endif - -#if defined(PNG_iCCP_SUPPORTED) -extern PNG_EXPORT(void,png_set_iCCP) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_charp name, int compression_type, - png_charp profile, png_uint_32 proflen)); - /* Note to maintainer: profile should be png_bytep */ -#endif - -#if defined(PNG_sPLT_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_sPLT) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_sPLT_tpp entries)); -#endif - -#if defined(PNG_sPLT_SUPPORTED) -extern PNG_EXPORT(void,png_set_sPLT) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_sPLT_tp entries, int nentries)); -#endif - -#if defined(PNG_TEXT_SUPPORTED) -/* png_get_text also returns the number of text chunks in *num_text */ -extern PNG_EXPORT(png_uint_32,png_get_text) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_textp *text_ptr, int *num_text)); -#endif - -/* - * Note while png_set_text() will accept a structure whose text, - * language, and translated keywords are NULL pointers, the structure - * returned by png_get_text will always contain regular - * zero-terminated C strings. They might be empty strings but - * they will never be NULL pointers. - */ - -#if defined(PNG_TEXT_SUPPORTED) -extern PNG_EXPORT(void,png_set_text) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_textp text_ptr, int num_text)); -#endif - -#if defined(PNG_tIME_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_tIME) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_timep *mod_time)); -#endif - -#if defined(PNG_tIME_SUPPORTED) -extern PNG_EXPORT(void,png_set_tIME) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_timep mod_time)); -#endif - -#if defined(PNG_tRNS_SUPPORTED) -extern PNG_EXPORT(png_uint_32,png_get_tRNS) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytep *trans, int *num_trans, - png_color_16p *trans_values)); -#endif - -#if defined(PNG_tRNS_SUPPORTED) -extern PNG_EXPORT(void,png_set_tRNS) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_bytep trans, int num_trans, - png_color_16p trans_values)); -#endif - -#if defined(PNG_tRNS_SUPPORTED) -#endif - -#if defined(PNG_sCAL_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_sCAL) PNGARG((png_structp png_ptr, - png_infop info_ptr, int *unit, double *width, double *height)); -#else -#ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_get_sCAL_s) PNGARG((png_structp png_ptr, - png_infop info_ptr, int *unit, png_charpp swidth, png_charpp sheight)); -#endif -#endif -#endif /* PNG_sCAL_SUPPORTED */ - -#if defined(PNG_sCAL_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_sCAL) PNGARG((png_structp png_ptr, - png_infop info_ptr, int unit, double width, double height)); -#else -#ifdef PNG_FIXED_POINT_SUPPORTED -extern PNG_EXPORT(void,png_set_sCAL_s) PNGARG((png_structp png_ptr, - png_infop info_ptr, int unit, png_charp swidth, png_charp sheight)); -#endif -#endif -#endif /* PNG_sCAL_SUPPORTED || PNG_WRITE_sCAL_SUPPORTED */ - -#if defined(PNG_UNKNOWN_CHUNKS_SUPPORTED) -/* provide a list of chunks and how they are to be handled, if the built-in - handling or default unknown chunk handling is not desired. Any chunks not - listed will be handled in the default manner. The IHDR and IEND chunks - must not be listed. - keep = 0: follow default behaviour - = 1: do not keep - = 2: keep only if safe-to-copy - = 3: keep even if unsafe-to-copy -*/ -extern PNG_EXPORT(void, png_set_keep_unknown_chunks) PNGARG((png_structp - png_ptr, int keep, png_bytep chunk_list, int num_chunks)); -extern PNG_EXPORT(void, png_set_unknown_chunks) PNGARG((png_structp png_ptr, - png_infop info_ptr, png_unknown_chunkp unknowns, int num_unknowns)); -extern PNG_EXPORT(void, png_set_unknown_chunk_location) - PNGARG((png_structp png_ptr, png_infop info_ptr, int chunk, int location)); -extern PNG_EXPORT(png_uint_32,png_get_unknown_chunks) PNGARG((png_structp - png_ptr, png_infop info_ptr, png_unknown_chunkpp entries)); -#endif -#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED -PNG_EXPORT(int,png_handle_as_unknown) PNGARG((png_structp png_ptr, png_bytep - chunk_name)); -#endif - -/* Png_free_data() will turn off the "valid" flag for anything it frees. - If you need to turn it off for a chunk that your application has freed, - you can use png_set_invalid(png_ptr, info_ptr, PNG_INFO_CHNK); */ -extern PNG_EXPORT(void, png_set_invalid) PNGARG((png_structp png_ptr, - png_infop info_ptr, int mask)); - -#if defined(PNG_INFO_IMAGE_SUPPORTED) -/* The "params" pointer is currently not used and is for future expansion. */ -extern PNG_EXPORT(void, png_read_png) PNGARG((png_structp png_ptr, - png_infop info_ptr, - int transforms, - png_voidp params)); -extern PNG_EXPORT(void, png_write_png) PNGARG((png_structp png_ptr, - png_infop info_ptr, - int transforms, - png_voidp params)); -#endif - -/* Define PNG_DEBUG at compile time for debugging information. Higher - * numbers for PNG_DEBUG mean more debugging information. This has - * only been added since version 0.95 so it is not implemented throughout - * libpng yet, but more support will be added as needed. - */ -#ifdef PNG_DEBUG -#if (PNG_DEBUG > 0) -#if !defined(PNG_DEBUG_FILE) && defined(_MSC_VER) -#include -#if (PNG_DEBUG > 1) -#define png_debug(l,m) _RPT0(_CRT_WARN,m) -#define png_debug1(l,m,p1) _RPT1(_CRT_WARN,m,p1) -#define png_debug2(l,m,p1,p2) _RPT2(_CRT_WARN,m,p1,p2) -#endif -#else /* PNG_DEBUG_FILE || !_MSC_VER */ -#ifndef PNG_DEBUG_FILE -#define PNG_DEBUG_FILE stderr -#endif /* PNG_DEBUG_FILE */ -#if (PNG_DEBUG > 1) -#define png_debug(l,m) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \ -} -#define png_debug1(l,m,p1) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \ -} -#define png_debug2(l,m,p1,p2) \ -{ \ - int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m,(num_tabs==1 ? "\t" : \ - (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \ -} -#endif /* (PNG_DEBUG > 1) */ -#endif /* _MSC_VER */ -#endif /* (PNG_DEBUG > 0) */ -#endif /* PNG_DEBUG */ -#ifndef png_debug -#define png_debug(l, m) -#endif -#ifndef png_debug1 -#define png_debug1(l, m, p1) -#endif -#ifndef png_debug2 -#define png_debug2(l, m, p1, p2) -#endif - -extern PNG_EXPORT(png_charp,png_get_copyright) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_header_ver) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_header_version) PNGARG((png_structp png_ptr)); -extern PNG_EXPORT(png_charp,png_get_libpng_ver) PNGARG((png_structp png_ptr)); - -#ifdef PNG_MNG_FEATURES_SUPPORTED -extern PNG_EXPORT(png_uint_32,png_permit_mng_features) PNGARG((png_structp - png_ptr, png_uint_32 mng_features_permitted)); -#endif - -/* For use in png_set_keep_unknown, added to version 1.2.6 */ -#define PNG_HANDLE_CHUNK_AS_DEFAULT 0 -#define PNG_HANDLE_CHUNK_NEVER 1 -#define PNG_HANDLE_CHUNK_IF_SAFE 2 -#define PNG_HANDLE_CHUNK_ALWAYS 3 - -/* Added to version 1.2.0 */ -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -#if defined(PNG_MMX_CODE_SUPPORTED) -#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01 /* not user-settable */ -#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02 /* not user-settable */ -#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04 -#define PNG_ASM_FLAG_MMX_READ_INTERLACE 0x08 -#define PNG_ASM_FLAG_MMX_READ_FILTER_SUB 0x10 -#define PNG_ASM_FLAG_MMX_READ_FILTER_UP 0x20 -#define PNG_ASM_FLAG_MMX_READ_FILTER_AVG 0x40 -#define PNG_ASM_FLAG_MMX_READ_FILTER_PAETH 0x80 -#define PNG_ASM_FLAGS_INITIALIZED 0x80000000 /* not user-settable */ - -#define PNG_MMX_READ_FLAGS ( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW \ - | PNG_ASM_FLAG_MMX_READ_INTERLACE \ - | PNG_ASM_FLAG_MMX_READ_FILTER_SUB \ - | PNG_ASM_FLAG_MMX_READ_FILTER_UP \ - | PNG_ASM_FLAG_MMX_READ_FILTER_AVG \ - | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH ) -#define PNG_MMX_WRITE_FLAGS ( 0 ) - -#define PNG_MMX_FLAGS ( PNG_ASM_FLAG_MMX_SUPPORT_COMPILED \ - | PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU \ - | PNG_MMX_READ_FLAGS \ - | PNG_MMX_WRITE_FLAGS ) - -#define PNG_SELECT_READ 1 -#define PNG_SELECT_WRITE 2 -#endif /* PNG_MMX_CODE_SUPPORTED */ - -#if !defined(PNG_1_0_X) -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_mmx_flagmask) - PNGARG((int flag_select, int *compilerID)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_asm_flagmask) - PNGARG((int flag_select)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_asm_flags) - PNGARG((png_structp png_ptr)); - -/* pngget.c */ -extern PNG_EXPORT(png_byte,png_get_mmx_bitdepth_threshold) - PNGARG((png_structp png_ptr)); - -/* pngget.c */ -extern PNG_EXPORT(png_uint_32,png_get_mmx_rowbytes_threshold) - PNGARG((png_structp png_ptr)); - -/* pngset.c */ -extern PNG_EXPORT(void,png_set_asm_flags) - PNGARG((png_structp png_ptr, png_uint_32 asm_flags)); - -/* pngset.c */ -extern PNG_EXPORT(void,png_set_mmx_thresholds) - PNGARG((png_structp png_ptr, png_byte mmx_bitdepth_threshold, - png_uint_32 mmx_rowbytes_threshold)); - -#endif /* PNG_1_0_X */ - -#if !defined(PNG_1_0_X) -/* png.c, pnggccrd.c, or pngvcrd.c */ -extern PNG_EXPORT(int,png_mmx_support) PNGARG((void)); -#endif /* PNG_ASSEMBLER_CODE_SUPPORTED */ - -/* Strip the prepended error numbers ("#nnn ") from error and warning - * messages before passing them to the error or warning handler. */ -#ifdef PNG_ERROR_NUMBERS_SUPPORTED -extern PNG_EXPORT(void,png_set_strip_error_numbers) PNGARG((png_structp - png_ptr, png_uint_32 strip_mode)); -#endif - -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.2.6 */ -#ifdef PNG_SET_USER_LIMITS_SUPPORTED -extern PNG_EXPORT(void,png_set_user_limits) PNGARG((png_structp - png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max)); -extern PNG_EXPORT(png_uint_32,png_get_user_width_max) PNGARG((png_structp - png_ptr)); -extern PNG_EXPORT(png_uint_32,png_get_user_height_max) PNGARG((png_structp - png_ptr)); -#endif - -/* Maintainer: Put new public prototypes here ^, in libpng.3, and project defs */ - -#ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED -/* With these routines we avoid an integer divide, which will be slower on - * most machines. However, it does take more operations than the corresponding - * divide method, so it may be slower on a few RISC systems. There are two - * shifts (by 8 or 16 bits) and an addition, versus a single integer divide. - * - * Note that the rounding factors are NOT supposed to be the same! 128 and - * 32768 are correct for the NODIV code; 127 and 32767 are correct for the - * standard method. - * - * [Optimized code by Greg Roelofs and Mark Adler...blame us for bugs. :-) ] - */ - - /* fg and bg should be in `gamma 1.0' space; alpha is the opacity */ - -# define png_composite(composite, fg, alpha, bg) \ - { png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * (png_uint_16)(alpha) \ - + (png_uint_16)(bg)*(png_uint_16)(255 - \ - (png_uint_16)(alpha)) + (png_uint_16)128); \ - (composite) = (png_byte)((temp + (temp >> 8)) >> 8); } - -# define png_composite_16(composite, fg, alpha, bg) \ - { png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * (png_uint_32)(alpha) \ - + (png_uint_32)(bg)*(png_uint_32)(65535L - \ - (png_uint_32)(alpha)) + (png_uint_32)32768L); \ - (composite) = (png_uint_16)((temp + (temp >> 16)) >> 16); } - -#else /* standard method using integer division */ - -# define png_composite(composite, fg, alpha, bg) \ - (composite) = (png_byte)(((png_uint_16)(fg) * (png_uint_16)(alpha) + \ - (png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \ - (png_uint_16)127) / 255) - -# define png_composite_16(composite, fg, alpha, bg) \ - (composite) = (png_uint_16)(((png_uint_32)(fg) * (png_uint_32)(alpha) + \ - (png_uint_32)(bg)*(png_uint_32)(65535L - (png_uint_32)(alpha)) + \ - (png_uint_32)32767) / (png_uint_32)65535L) - -#endif /* PNG_READ_COMPOSITE_NODIV_SUPPORTED */ - -/* Inline macros to do direct reads of bytes from the input buffer. These - * require that you are using an architecture that uses PNG byte ordering - * (MSB first) and supports unaligned data storage. I think that PowerPC - * in big-endian mode and 680x0 are the only ones that will support this. - * The x86 line of processors definitely do not. The png_get_int_32() - * routine also assumes we are using two's complement format for negative - * values, which is almost certainly true. - */ -#if defined(PNG_READ_BIG_ENDIAN_SUPPORTED) -# define png_get_uint_32(buf) ( *((png_uint_32p) (buf))) -# define png_get_uint_16(buf) ( *((png_uint_16p) (buf))) -# define png_get_int_32(buf) ( *((png_int_32p) (buf))) -#else -extern PNG_EXPORT(png_uint_32,png_get_uint_32) PNGARG((png_bytep buf)); -extern PNG_EXPORT(png_uint_16,png_get_uint_16) PNGARG((png_bytep buf)); -extern PNG_EXPORT(png_int_32,png_get_int_32) PNGARG((png_bytep buf)); -#endif /* !PNG_READ_BIG_ENDIAN_SUPPORTED */ -extern PNG_EXPORT(png_uint_32,png_get_uint_31) - PNGARG((png_structp png_ptr, png_bytep buf)); -/* No png_get_int_16 -- may be added if there's a real need for it. */ - -/* Place a 32-bit number into a buffer in PNG byte order (big-endian). - */ -extern PNG_EXPORT(void,png_save_uint_32) - PNGARG((png_bytep buf, png_uint_32 i)); -extern PNG_EXPORT(void,png_save_int_32) - PNGARG((png_bytep buf, png_int_32 i)); - -/* Place a 16-bit number into a buffer in PNG byte order. - * The parameter is declared unsigned int, not png_uint_16, - * just to avoid potential problems on pre-ANSI C compilers. - */ -extern PNG_EXPORT(void,png_save_uint_16) - PNGARG((png_bytep buf, unsigned int i)); -/* No png_save_int_16 -- may be added if there's a real need for it. */ - -/* ************************************************************************* */ - -/* These next functions are used internally in the code. They generally - * shouldn't be used unless you are writing code to add or replace some - * functionality in libpng. More information about most functions can - * be found in the files where the functions are located. - */ - - -/* Various modes of operation, that are visible to applications because - * they are used for unknown chunk location. - */ -#define PNG_HAVE_IHDR 0x01 -#define PNG_HAVE_PLTE 0x02 -#define PNG_HAVE_IDAT 0x04 -#define PNG_AFTER_IDAT 0x08 /* Have complete zlib datastream */ -#define PNG_HAVE_IEND 0x10 - -#if defined(PNG_INTERNAL) - -/* More modes of operation. Note that after an init, mode is set to - * zero automatically when the structure is created. - */ -#define PNG_HAVE_gAMA 0x20 -#define PNG_HAVE_cHRM 0x40 -#define PNG_HAVE_sRGB 0x80 -#define PNG_HAVE_CHUNK_HEADER 0x100 -#define PNG_WROTE_tIME 0x200 -#define PNG_WROTE_INFO_BEFORE_PLTE 0x400 -#define PNG_BACKGROUND_IS_GRAY 0x800 -#define PNG_HAVE_PNG_SIGNATURE 0x1000 -#define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000 /* Have another chunk after IDAT */ - -/* flags for the transformations the PNG library does on the image data */ -#define PNG_BGR 0x0001 -#define PNG_INTERLACE 0x0002 -#define PNG_PACK 0x0004 -#define PNG_SHIFT 0x0008 -#define PNG_SWAP_BYTES 0x0010 -#define PNG_INVERT_MONO 0x0020 -#define PNG_DITHER 0x0040 -#define PNG_BACKGROUND 0x0080 -#define PNG_BACKGROUND_EXPAND 0x0100 - /* 0x0200 unused */ -#define PNG_16_TO_8 0x0400 -#define PNG_RGBA 0x0800 -#define PNG_EXPAND 0x1000 -#define PNG_GAMMA 0x2000 -#define PNG_GRAY_TO_RGB 0x4000 -#define PNG_FILLER 0x8000L -#define PNG_PACKSWAP 0x10000L -#define PNG_SWAP_ALPHA 0x20000L -#define PNG_STRIP_ALPHA 0x40000L -#define PNG_INVERT_ALPHA 0x80000L -#define PNG_USER_TRANSFORM 0x100000L -#define PNG_RGB_TO_GRAY_ERR 0x200000L -#define PNG_RGB_TO_GRAY_WARN 0x400000L -#define PNG_RGB_TO_GRAY 0x600000L /* two bits, RGB_TO_GRAY_ERR|WARN */ - /* 0x800000L Unused */ -#define PNG_ADD_ALPHA 0x1000000L /* Added to libpng-1.2.7 */ -#define PNG_EXPAND_tRNS 0x2000000L /* Added to libpng-1.2.9 */ - /* 0x4000000L unused */ - /* 0x8000000L unused */ - /* 0x10000000L unused */ - /* 0x20000000L unused */ - /* 0x40000000L unused */ - -/* flags for png_create_struct */ -#define PNG_STRUCT_PNG 0x0001 -#define PNG_STRUCT_INFO 0x0002 - -/* Scaling factor for filter heuristic weighting calculations */ -#define PNG_WEIGHT_SHIFT 8 -#define PNG_WEIGHT_FACTOR (1<<(PNG_WEIGHT_SHIFT)) -#define PNG_COST_SHIFT 3 -#define PNG_COST_FACTOR (1<<(PNG_COST_SHIFT)) - -/* flags for the png_ptr->flags rather than declaring a byte for each one */ -#define PNG_FLAG_ZLIB_CUSTOM_STRATEGY 0x0001 -#define PNG_FLAG_ZLIB_CUSTOM_LEVEL 0x0002 -#define PNG_FLAG_ZLIB_CUSTOM_MEM_LEVEL 0x0004 -#define PNG_FLAG_ZLIB_CUSTOM_WINDOW_BITS 0x0008 -#define PNG_FLAG_ZLIB_CUSTOM_METHOD 0x0010 -#define PNG_FLAG_ZLIB_FINISHED 0x0020 -#define PNG_FLAG_ROW_INIT 0x0040 -#define PNG_FLAG_FILLER_AFTER 0x0080 -#define PNG_FLAG_CRC_ANCILLARY_USE 0x0100 -#define PNG_FLAG_CRC_ANCILLARY_NOWARN 0x0200 -#define PNG_FLAG_CRC_CRITICAL_USE 0x0400 -#define PNG_FLAG_CRC_CRITICAL_IGNORE 0x0800 -#define PNG_FLAG_FREE_PLTE 0x1000 -#define PNG_FLAG_FREE_TRNS 0x2000 -#define PNG_FLAG_FREE_HIST 0x4000 -#define PNG_FLAG_KEEP_UNKNOWN_CHUNKS 0x8000L -#define PNG_FLAG_KEEP_UNSAFE_CHUNKS 0x10000L -#define PNG_FLAG_LIBRARY_MISMATCH 0x20000L -#define PNG_FLAG_STRIP_ERROR_NUMBERS 0x40000L -#define PNG_FLAG_STRIP_ERROR_TEXT 0x80000L -#define PNG_FLAG_MALLOC_NULL_MEM_OK 0x100000L -#define PNG_FLAG_ADD_ALPHA 0x200000L /* Added to libpng-1.2.8 */ -#define PNG_FLAG_STRIP_ALPHA 0x400000L /* Added to libpng-1.2.8 */ - /* 0x800000L unused */ - /* 0x1000000L unused */ - /* 0x2000000L unused */ - /* 0x4000000L unused */ - /* 0x8000000L unused */ - /* 0x10000000L unused */ - /* 0x20000000L unused */ - /* 0x40000000L unused */ - -#define PNG_FLAG_CRC_ANCILLARY_MASK (PNG_FLAG_CRC_ANCILLARY_USE | \ - PNG_FLAG_CRC_ANCILLARY_NOWARN) - -#define PNG_FLAG_CRC_CRITICAL_MASK (PNG_FLAG_CRC_CRITICAL_USE | \ - PNG_FLAG_CRC_CRITICAL_IGNORE) - -#define PNG_FLAG_CRC_MASK (PNG_FLAG_CRC_ANCILLARY_MASK | \ - PNG_FLAG_CRC_CRITICAL_MASK) - -/* save typing and make code easier to understand */ - -#define PNG_COLOR_DIST(c1, c2) (abs((int)((c1).red) - (int)((c2).red)) + \ - abs((int)((c1).green) - (int)((c2).green)) + \ - abs((int)((c1).blue) - (int)((c2).blue))) - -/* Added to libpng-1.2.6 JB */ -#define PNG_ROWBYTES(pixel_bits, width) \ - ((pixel_bits) >= 8 ? \ - ((width) * (((png_uint_32)(pixel_bits)) >> 3)) : \ - (( ((width) * ((png_uint_32)(pixel_bits))) + 7) >> 3) ) - -/* PNG_OUT_OF_RANGE returns true if value is outside the range - ideal-delta..ideal+delta. Each argument is evaluated twice. - "ideal" and "delta" should be constants, normally simple - integers, "value" a variable. Added to libpng-1.2.6 JB */ -#define PNG_OUT_OF_RANGE(value, ideal, delta) \ - ( (value) < (ideal)-(delta) || (value) > (ideal)+(delta) ) - -/* variables declared in png.c - only it needs to define PNG_NO_EXTERN */ -#if !defined(PNG_NO_EXTERN) || defined(PNG_ALWAYS_EXTERN) -/* place to hold the signature string for a PNG file. */ -#ifdef PNG_USE_GLOBAL_ARRAYS - PNG_EXPORT_VAR (PNG_CONST png_byte FARDATA) png_sig[8]; -#else -#endif -#endif /* PNG_NO_EXTERN */ - -/* Constant strings for known chunk types. If you need to add a chunk, - * define the name here, and add an invocation of the macro in png.c and - * wherever it's needed. - */ -#define PNG_IHDR png_byte png_IHDR[5] = { 73, 72, 68, 82, '\0'} -#define PNG_IDAT png_byte png_IDAT[5] = { 73, 68, 65, 84, '\0'} -#define PNG_IEND png_byte png_IEND[5] = { 73, 69, 78, 68, '\0'} -#define PNG_PLTE png_byte png_PLTE[5] = { 80, 76, 84, 69, '\0'} -#define PNG_bKGD png_byte png_bKGD[5] = { 98, 75, 71, 68, '\0'} -#define PNG_cHRM png_byte png_cHRM[5] = { 99, 72, 82, 77, '\0'} -#define PNG_gAMA png_byte png_gAMA[5] = {103, 65, 77, 65, '\0'} -#define PNG_hIST png_byte png_hIST[5] = {104, 73, 83, 84, '\0'} -#define PNG_iCCP png_byte png_iCCP[5] = {105, 67, 67, 80, '\0'} -#define PNG_iTXt png_byte png_iTXt[5] = {105, 84, 88, 116, '\0'} -#define PNG_oFFs png_byte png_oFFs[5] = {111, 70, 70, 115, '\0'} -#define PNG_pCAL png_byte png_pCAL[5] = {112, 67, 65, 76, '\0'} -#define PNG_sCAL png_byte png_sCAL[5] = {115, 67, 65, 76, '\0'} -#define PNG_pHYs png_byte png_pHYs[5] = {112, 72, 89, 115, '\0'} -#define PNG_sBIT png_byte png_sBIT[5] = {115, 66, 73, 84, '\0'} -#define PNG_sPLT png_byte png_sPLT[5] = {115, 80, 76, 84, '\0'} -#define PNG_sRGB png_byte png_sRGB[5] = {115, 82, 71, 66, '\0'} -#define PNG_tEXt png_byte png_tEXt[5] = {116, 69, 88, 116, '\0'} -#define PNG_tIME png_byte png_tIME[5] = {116, 73, 77, 69, '\0'} -#define PNG_tRNS png_byte png_tRNS[5] = {116, 82, 78, 83, '\0'} -#define PNG_zTXt png_byte png_zTXt[5] = {122, 84, 88, 116, '\0'} - -#ifdef PNG_USE_GLOBAL_ARRAYS -PNG_EXPORT_VAR (png_byte FARDATA) png_IHDR[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_IDAT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_IEND[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_PLTE[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_bKGD[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_cHRM[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_gAMA[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_hIST[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_iCCP[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_iTXt[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_oFFs[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_pCAL[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sCAL[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_pHYs[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sBIT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sPLT[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_sRGB[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tEXt[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tIME[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_tRNS[5]; -PNG_EXPORT_VAR (png_byte FARDATA) png_zTXt[5]; -#endif /* PNG_USE_GLOBAL_ARRAYS */ - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize png_ptr struct for reading, and allocate any other memory. - * (old interface - DEPRECATED - use png_create_read_struct instead). - */ -extern PNG_EXPORT(void,png_read_init) PNGARG((png_structp png_ptr)); -#undef png_read_init -#define png_read_init(png_ptr) png_read_init_3(&png_ptr, \ - PNG_LIBPNG_VER_STRING, png_sizeof(png_struct)); -#endif - -extern PNG_EXPORT(void,png_read_init_3) PNGARG((png_structpp ptr_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size)); -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -extern PNG_EXPORT(void,png_read_init_2) PNGARG((png_structp png_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t - png_info_size)); -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Initialize png_ptr struct for writing, and allocate any other memory. - * (old interface - DEPRECATED - use png_create_write_struct instead). - */ -extern PNG_EXPORT(void,png_write_init) PNGARG((png_structp png_ptr)); -#undef png_write_init -#define png_write_init(png_ptr) png_write_init_3(&png_ptr, \ - PNG_LIBPNG_VER_STRING, png_sizeof(png_struct)); -#endif - -extern PNG_EXPORT(void,png_write_init_3) PNGARG((png_structpp ptr_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size)); -extern PNG_EXPORT(void,png_write_init_2) PNGARG((png_structp png_ptr, - png_const_charp user_png_ver, png_size_t png_struct_size, png_size_t - png_info_size)); - -/* Allocate memory for an internal libpng struct */ -PNG_EXTERN png_voidp png_create_struct PNGARG((int type)); - -/* Free memory from internal libpng struct */ -PNG_EXTERN void png_destroy_struct PNGARG((png_voidp struct_ptr)); - -PNG_EXTERN png_voidp png_create_struct_2 PNGARG((int type, png_malloc_ptr - malloc_fn, png_voidp mem_ptr)); -PNG_EXTERN void png_destroy_struct_2 PNGARG((png_voidp struct_ptr, - png_free_ptr free_fn, png_voidp mem_ptr)); - -/* Free any memory that info_ptr points to and reset struct. */ -PNG_EXTERN void png_info_destroy PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -#ifndef PNG_1_0_X -/* Function to allocate memory for zlib. */ -PNG_EXTERN voidpf png_zalloc PNGARG((voidpf png_ptr, uInt items, uInt size)); - -/* Function to free memory for zlib */ -PNG_EXTERN void png_zfree PNGARG((voidpf png_ptr, voidpf ptr)); - -#ifdef PNG_SIZE_T -/* Function to convert a sizeof an item to png_sizeof item */ - PNG_EXTERN png_size_t PNGAPI png_convert_size PNGARG((size_t size)); -#endif - -/* Next four functions are used internally as callbacks. PNGAPI is required - * but not PNG_EXPORT. PNGAPI added at libpng version 1.2.3. */ - -PNG_EXTERN void PNGAPI png_default_read_data PNGARG((png_structp png_ptr, - png_bytep data, png_size_t length)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void PNGAPI png_push_fill_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t length)); -#endif - -PNG_EXTERN void PNGAPI png_default_write_data PNGARG((png_structp png_ptr, - png_bytep data, png_size_t length)); - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) -#if !defined(PNG_NO_STDIO) -PNG_EXTERN void PNGAPI png_default_flush PNGARG((png_structp png_ptr)); -#endif -#endif -#else /* PNG_1_0_X */ -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void png_push_fill_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t length)); -#endif -#endif /* PNG_1_0_X */ - -/* Reset the CRC variable */ -PNG_EXTERN void png_reset_crc PNGARG((png_structp png_ptr)); - -/* Write the "data" buffer to whatever output you are using. */ -PNG_EXTERN void png_write_data PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -/* Read data from whatever input you are using into the "data" buffer */ -PNG_EXTERN void png_read_data PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -/* Read bytes into buf, and update png_ptr->crc */ -PNG_EXTERN void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf, - png_size_t length)); - -/* Decompress data in a chunk that uses compression */ -#if defined(PNG_zTXt_SUPPORTED) || defined(PNG_iTXt_SUPPORTED) || \ - defined(PNG_iCCP_SUPPORTED) || defined(PNG_sPLT_SUPPORTED) -PNG_EXTERN png_charp png_decompress_chunk PNGARG((png_structp png_ptr, - int comp_type, png_charp chunkdata, png_size_t chunklength, - png_size_t prefix_length, png_size_t *data_length)); -#endif - -/* Read "skip" bytes, read the file crc, and (optionally) verify png_ptr->crc */ -PNG_EXTERN int png_crc_finish PNGARG((png_structp png_ptr, png_uint_32 skip)); - -/* Read the CRC from the file and compare it to the libpng calculated CRC */ -PNG_EXTERN int png_crc_error PNGARG((png_structp png_ptr)); - -/* Calculate the CRC over a section of data. Note that we are only - * passing a maximum of 64K on systems that have this as a memory limit, - * since this is the maximum buffer size we can specify. - */ -PNG_EXTERN void png_calculate_crc PNGARG((png_structp png_ptr, png_bytep ptr, - png_size_t length)); - -#if defined(PNG_WRITE_FLUSH_SUPPORTED) -PNG_EXTERN void png_flush PNGARG((png_structp png_ptr)); -#endif - -/* simple function to write the signature */ -PNG_EXTERN void png_write_sig PNGARG((png_structp png_ptr)); - -/* write various chunks */ - -/* Write the IHDR chunk, and update the png_struct with the necessary - * information. - */ -PNG_EXTERN void png_write_IHDR PNGARG((png_structp png_ptr, png_uint_32 width, - png_uint_32 height, - int bit_depth, int color_type, int compression_method, int filter_method, - int interlace_method)); - -PNG_EXTERN void png_write_PLTE PNGARG((png_structp png_ptr, png_colorp palette, - png_uint_32 num_pal)); - -PNG_EXTERN void png_write_IDAT PNGARG((png_structp png_ptr, png_bytep data, - png_size_t length)); - -PNG_EXTERN void png_write_IEND PNGARG((png_structp png_ptr)); - -#if defined(PNG_WRITE_gAMA_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -PNG_EXTERN void png_write_gAMA PNGARG((png_structp png_ptr, double file_gamma)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_gAMA_fixed PNGARG((png_structp png_ptr, png_fixed_point - file_gamma)); -#endif -#endif - -#if defined(PNG_WRITE_sBIT_SUPPORTED) -PNG_EXTERN void png_write_sBIT PNGARG((png_structp png_ptr, png_color_8p sbit, - int color_type)); -#endif - -#if defined(PNG_WRITE_cHRM_SUPPORTED) -#ifdef PNG_FLOATING_POINT_SUPPORTED -PNG_EXTERN void png_write_cHRM PNGARG((png_structp png_ptr, - double white_x, double white_y, - double red_x, double red_y, double green_x, double green_y, - double blue_x, double blue_y)); -#endif -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_cHRM_fixed PNGARG((png_structp png_ptr, - png_fixed_point int_white_x, png_fixed_point int_white_y, - png_fixed_point int_red_x, png_fixed_point int_red_y, png_fixed_point - int_green_x, png_fixed_point int_green_y, png_fixed_point int_blue_x, - png_fixed_point int_blue_y)); -#endif -#endif - -#if defined(PNG_WRITE_sRGB_SUPPORTED) -PNG_EXTERN void png_write_sRGB PNGARG((png_structp png_ptr, - int intent)); -#endif - -#if defined(PNG_WRITE_iCCP_SUPPORTED) -PNG_EXTERN void png_write_iCCP PNGARG((png_structp png_ptr, - png_charp name, int compression_type, - png_charp profile, int proflen)); - /* Note to maintainer: profile should be png_bytep */ -#endif - -#if defined(PNG_WRITE_sPLT_SUPPORTED) -PNG_EXTERN void png_write_sPLT PNGARG((png_structp png_ptr, - png_sPLT_tp palette)); -#endif - -#if defined(PNG_WRITE_tRNS_SUPPORTED) -PNG_EXTERN void png_write_tRNS PNGARG((png_structp png_ptr, png_bytep trans, - png_color_16p values, int number, int color_type)); -#endif - -#if defined(PNG_WRITE_bKGD_SUPPORTED) -PNG_EXTERN void png_write_bKGD PNGARG((png_structp png_ptr, - png_color_16p values, int color_type)); -#endif - -#if defined(PNG_WRITE_hIST_SUPPORTED) -PNG_EXTERN void png_write_hIST PNGARG((png_structp png_ptr, png_uint_16p hist, - int num_hist)); -#endif - -#if defined(PNG_WRITE_TEXT_SUPPORTED) || defined(PNG_WRITE_pCAL_SUPPORTED) || \ - defined(PNG_WRITE_iCCP_SUPPORTED) || defined(PNG_WRITE_sPLT_SUPPORTED) -PNG_EXTERN png_size_t png_check_keyword PNGARG((png_structp png_ptr, - png_charp key, png_charpp new_key)); -#endif - -#if defined(PNG_WRITE_tEXt_SUPPORTED) -PNG_EXTERN void png_write_tEXt PNGARG((png_structp png_ptr, png_charp key, - png_charp text, png_size_t text_len)); -#endif - -#if defined(PNG_WRITE_zTXt_SUPPORTED) -PNG_EXTERN void png_write_zTXt PNGARG((png_structp png_ptr, png_charp key, - png_charp text, png_size_t text_len, int compression)); -#endif - -#if defined(PNG_WRITE_iTXt_SUPPORTED) -PNG_EXTERN void png_write_iTXt PNGARG((png_structp png_ptr, - int compression, png_charp key, png_charp lang, png_charp lang_key, - png_charp text)); -#endif - -#if defined(PNG_TEXT_SUPPORTED) /* Added at version 1.0.14 and 1.2.4 */ -PNG_EXTERN int png_set_text_2 PNGARG((png_structp png_ptr, - png_infop info_ptr, png_textp text_ptr, int num_text)); -#endif - -#if defined(PNG_WRITE_oFFs_SUPPORTED) -PNG_EXTERN void png_write_oFFs PNGARG((png_structp png_ptr, - png_int_32 x_offset, png_int_32 y_offset, int unit_type)); -#endif - -#if defined(PNG_WRITE_pCAL_SUPPORTED) -PNG_EXTERN void png_write_pCAL PNGARG((png_structp png_ptr, png_charp purpose, - png_int_32 X0, png_int_32 X1, int type, int nparams, - png_charp units, png_charpp params)); -#endif - -#if defined(PNG_WRITE_pHYs_SUPPORTED) -PNG_EXTERN void png_write_pHYs PNGARG((png_structp png_ptr, - png_uint_32 x_pixels_per_unit, png_uint_32 y_pixels_per_unit, - int unit_type)); -#endif - -#if defined(PNG_WRITE_tIME_SUPPORTED) -PNG_EXTERN void png_write_tIME PNGARG((png_structp png_ptr, - png_timep mod_time)); -#endif - -#if defined(PNG_WRITE_sCAL_SUPPORTED) -#if defined(PNG_FLOATING_POINT_SUPPORTED) && !defined(PNG_NO_STDIO) -PNG_EXTERN void png_write_sCAL PNGARG((png_structp png_ptr, - int unit, double width, double height)); -#else -#ifdef PNG_FIXED_POINT_SUPPORTED -PNG_EXTERN void png_write_sCAL_s PNGARG((png_structp png_ptr, - int unit, png_charp width, png_charp height)); -#endif -#endif -#endif - -/* Called when finished processing a row of data */ -PNG_EXTERN void png_write_finish_row PNGARG((png_structp png_ptr)); - -/* Internal use only. Called before first row of data */ -PNG_EXTERN void png_write_start_row PNGARG((png_structp png_ptr)); - -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_build_gamma_table PNGARG((png_structp png_ptr)); -#endif - -/* combine a row of data, dealing with alpha, etc. if requested */ -PNG_EXTERN void png_combine_row PNGARG((png_structp png_ptr, png_bytep row, - int mask)); - -#if defined(PNG_READ_INTERLACING_SUPPORTED) -/* expand an interlaced row */ -/* OLD pre-1.0.9 interface: -PNG_EXTERN void png_do_read_interlace PNGARG((png_row_infop row_info, - png_bytep row, int pass, png_uint_32 transformations)); - */ -PNG_EXTERN void png_do_read_interlace PNGARG((png_structp png_ptr)); -#endif - -/* GRR TO DO (2.0 or whenever): simplify other internal calling interfaces */ - -#if defined(PNG_WRITE_INTERLACING_SUPPORTED) -/* grab pixels out of a row for an interlaced pass */ -PNG_EXTERN void png_do_write_interlace PNGARG((png_row_infop row_info, - png_bytep row, int pass)); -#endif - -/* unfilter a row */ -PNG_EXTERN void png_read_filter_row PNGARG((png_structp png_ptr, - png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter)); - -/* Choose the best filter to use and filter the row data */ -PNG_EXTERN void png_write_find_filter PNGARG((png_structp png_ptr, - png_row_infop row_info)); - -/* Write out the filtered row. */ -PNG_EXTERN void png_write_filtered_row PNGARG((png_structp png_ptr, - png_bytep filtered_row)); -/* finish a row while reading, dealing with interlacing passes, etc. */ -PNG_EXTERN void png_read_finish_row PNGARG((png_structp png_ptr)); - -/* initialize the row buffers, etc. */ -PNG_EXTERN void png_read_start_row PNGARG((png_structp png_ptr)); -/* optional call to update the users info structure */ -PNG_EXTERN void png_read_transform_info PNGARG((png_structp png_ptr, - png_infop info_ptr)); - -/* these are the functions that do the transformations */ -#if defined(PNG_READ_FILLER_SUPPORTED) -PNG_EXTERN void png_do_read_filler PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 filler, png_uint_32 flags)); -#endif - -#if defined(PNG_READ_SWAP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_read_swap_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_SWAP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_write_swap_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_READ_INVERT_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_read_invert_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_INVERT_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_write_invert_alpha PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_WRITE_FILLER_SUPPORTED) || \ - defined(PNG_READ_STRIP_ALPHA_SUPPORTED) -PNG_EXTERN void png_do_strip_filler PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 flags)); -#endif - -#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED) -PNG_EXTERN void png_do_swap PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_PACKSWAP_SUPPORTED) || defined(PNG_WRITE_PACKSWAP_SUPPORTED) -PNG_EXTERN void png_do_packswap PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_RGB_TO_GRAY_SUPPORTED) -PNG_EXTERN int png_do_rgb_to_gray PNGARG((png_structp png_ptr, png_row_infop - row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED) -PNG_EXTERN void png_do_gray_to_rgb PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_READ_PACK_SUPPORTED) -PNG_EXTERN void png_do_unpack PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_SHIFT_SUPPORTED) -PNG_EXTERN void png_do_unshift PNGARG((png_row_infop row_info, png_bytep row, - png_color_8p sig_bits)); -#endif - -#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED) -PNG_EXTERN void png_do_invert PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_16_TO_8_SUPPORTED) -PNG_EXTERN void png_do_chop PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_READ_DITHER_SUPPORTED) -PNG_EXTERN void png_do_dither PNGARG((png_row_infop row_info, - png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup)); - -# if defined(PNG_CORRECT_PALETTE_SUPPORTED) -PNG_EXTERN void png_correct_palette PNGARG((png_structp png_ptr, - png_colorp palette, int num_palette)); -# endif -#endif - -#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED) -PNG_EXTERN void png_do_bgr PNGARG((png_row_infop row_info, png_bytep row)); -#endif - -#if defined(PNG_WRITE_PACK_SUPPORTED) -PNG_EXTERN void png_do_pack PNGARG((png_row_infop row_info, - png_bytep row, png_uint_32 bit_depth)); -#endif - -#if defined(PNG_WRITE_SHIFT_SUPPORTED) -PNG_EXTERN void png_do_shift PNGARG((png_row_infop row_info, png_bytep row, - png_color_8p bit_depth)); -#endif - -#if defined(PNG_READ_BACKGROUND_SUPPORTED) -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background, - png_color_16p background_1, - png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1, - png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1, - png_uint_16pp gamma_16_to_1, int gamma_shift)); -#else -PNG_EXTERN void png_do_background PNGARG((png_row_infop row_info, png_bytep row, - png_color_16p trans_values, png_color_16p background)); -#endif -#endif - -#if defined(PNG_READ_GAMMA_SUPPORTED) -PNG_EXTERN void png_do_gamma PNGARG((png_row_infop row_info, png_bytep row, - png_bytep gamma_table, png_uint_16pp gamma_16_table, - int gamma_shift)); -#endif - -#if defined(PNG_READ_EXPAND_SUPPORTED) -PNG_EXTERN void png_do_expand_palette PNGARG((png_row_infop row_info, - png_bytep row, png_colorp palette, png_bytep trans, int num_trans)); -PNG_EXTERN void png_do_expand PNGARG((png_row_infop row_info, - png_bytep row, png_color_16p trans_value)); -#endif - -/* The following decodes the appropriate chunks, and does error correction, - * then calls the appropriate callback for the chunk if it is valid. - */ - -/* decode the IHDR chunk */ -PNG_EXTERN void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -PNG_EXTERN void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -PNG_EXTERN void png_handle_IEND PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); - -#if defined(PNG_READ_bKGD_SUPPORTED) -PNG_EXTERN void png_handle_bKGD PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_cHRM_SUPPORTED) -PNG_EXTERN void png_handle_cHRM PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_gAMA_SUPPORTED) -PNG_EXTERN void png_handle_gAMA PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_hIST_SUPPORTED) -PNG_EXTERN void png_handle_hIST PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_iCCP_SUPPORTED) -extern void png_handle_iCCP PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif /* PNG_READ_iCCP_SUPPORTED */ - -#if defined(PNG_READ_iTXt_SUPPORTED) -PNG_EXTERN void png_handle_iTXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_oFFs_SUPPORTED) -PNG_EXTERN void png_handle_oFFs PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_pCAL_SUPPORTED) -PNG_EXTERN void png_handle_pCAL PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_pHYs_SUPPORTED) -PNG_EXTERN void png_handle_pHYs PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sBIT_SUPPORTED) -PNG_EXTERN void png_handle_sBIT PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sCAL_SUPPORTED) -PNG_EXTERN void png_handle_sCAL PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_sPLT_SUPPORTED) -extern void png_handle_sPLT PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif /* PNG_READ_sPLT_SUPPORTED */ - -#if defined(PNG_READ_sRGB_SUPPORTED) -PNG_EXTERN void png_handle_sRGB PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tEXt_SUPPORTED) -PNG_EXTERN void png_handle_tEXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tIME_SUPPORTED) -PNG_EXTERN void png_handle_tIME PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_tRNS_SUPPORTED) -PNG_EXTERN void png_handle_tRNS PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -#if defined(PNG_READ_zTXt_SUPPORTED) -PNG_EXTERN void png_handle_zTXt PNGARG((png_structp png_ptr, png_infop info_ptr, - png_uint_32 length)); -#endif - -PNG_EXTERN void png_handle_unknown PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); - -PNG_EXTERN void png_check_chunk_name PNGARG((png_structp png_ptr, - png_bytep chunk_name)); - -/* handle the transformations for reading and writing */ -PNG_EXTERN void png_do_read_transformations PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_do_write_transformations PNGARG((png_structp png_ptr)); - -PNG_EXTERN void png_init_read_transformations PNGARG((png_structp png_ptr)); - -#ifdef PNG_PROGRESSIVE_READ_SUPPORTED -PNG_EXTERN void png_push_read_chunk PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_read_sig PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_check_crc PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_crc_skip PNGARG((png_structp png_ptr, - png_uint_32 length)); -PNG_EXTERN void png_push_crc_finish PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_save_buffer PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_restore_buffer PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t buffer_length)); -PNG_EXTERN void png_push_read_IDAT PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_process_IDAT_data PNGARG((png_structp png_ptr, - png_bytep buffer, png_size_t buffer_length)); -PNG_EXTERN void png_push_process_row PNGARG((png_structp png_ptr)); -PNG_EXTERN void png_push_handle_unknown PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_have_info PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_have_end PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_push_have_row PNGARG((png_structp png_ptr, png_bytep row)); -PNG_EXTERN void png_push_read_end PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_process_some_data PNGARG((png_structp png_ptr, - png_infop info_ptr)); -PNG_EXTERN void png_read_push_finish_row PNGARG((png_structp png_ptr)); -#if defined(PNG_READ_tEXt_SUPPORTED) -PNG_EXTERN void png_push_handle_tEXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_tEXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif -#if defined(PNG_READ_zTXt_SUPPORTED) -PNG_EXTERN void png_push_handle_zTXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_zTXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif -#if defined(PNG_READ_iTXt_SUPPORTED) -PNG_EXTERN void png_push_handle_iTXt PNGARG((png_structp png_ptr, - png_infop info_ptr, png_uint_32 length)); -PNG_EXTERN void png_push_read_iTXt PNGARG((png_structp png_ptr, - png_infop info_ptr)); -#endif - -#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */ - -#ifdef PNG_MNG_FEATURES_SUPPORTED -PNG_EXTERN void png_do_read_intrapixel PNGARG((png_row_infop row_info, - png_bytep row)); -PNG_EXTERN void png_do_write_intrapixel PNGARG((png_row_infop row_info, - png_bytep row)); -#endif - -#if defined(PNG_ASSEMBLER_CODE_SUPPORTED) -#if defined(PNG_MMX_CODE_SUPPORTED) -/* png.c */ /* PRIVATE */ -PNG_EXTERN void png_init_mmx_flags PNGARG((png_structp png_ptr)); -#endif -#endif - -#if defined(PNG_INCH_CONVERSIONS) && defined(PNG_FLOATING_POINT_SUPPORTED) -PNG_EXTERN png_uint_32 png_get_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN png_uint_32 png_get_x_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN png_uint_32 png_get_y_pixels_per_inch PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN float png_get_x_offset_inches PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -PNG_EXTERN float png_get_y_offset_inches PNGARG((png_structp png_ptr, -png_infop info_ptr)); - -#if defined(PNG_pHYs_SUPPORTED) -PNG_EXTERN png_uint_32 png_get_pHYs_dpi PNGARG((png_structp png_ptr, -png_infop info_ptr, png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)); -#endif /* PNG_pHYs_SUPPORTED */ -#endif /* PNG_INCH_CONVERSIONS && PNG_FLOATING_POINT_SUPPORTED */ - -/* Maintainer: Put new private prototypes here ^ and in libpngpf.3 */ - -#endif /* PNG_INTERNAL */ - -#ifdef __cplusplus -} -#endif - -#endif /* PNG_VERSION_INFO_ONLY */ -/* do not put anything past this line */ -#endif /* PNG_H */ diff --git a/extern/gnuwin32/include/pngconf.h b/extern/gnuwin32/include/pngconf.h deleted file mode 100644 index 0848dcb..0000000 --- a/extern/gnuwin32/include/pngconf.h +++ /dev/null @@ -1,1481 +0,0 @@ - -/* pngconf.h - machine configurable file for libpng - * - * libpng version 1.2.24 - December 14, 2007 - * For conditions of distribution and use, see copyright notice in png.h - * Copyright (c) 1998-2007 Glenn Randers-Pehrson - * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) - * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) - */ - -/* Any machine specific code is near the front of this file, so if you - * are configuring libpng for a machine, you may want to read the section - * starting here down to where it starts to typedef png_color, png_text, - * and png_info. - */ - -#ifndef PNGCONF_H -#define PNGCONF_H - -#define PNG_1_2_X - -/* - * PNG_USER_CONFIG has to be defined on the compiler command line. This - * includes the resource compiler for Windows DLL configurations. - */ -#ifdef PNG_USER_CONFIG -# ifndef PNG_USER_PRIVATEBUILD -# define PNG_USER_PRIVATEBUILD -# endif -#include "pngusr.h" -#endif - -/* PNG_CONFIGURE_LIBPNG is set by the "configure" script. */ -#ifdef PNG_CONFIGURE_LIBPNG -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#endif - -/* - * Added at libpng-1.2.8 - * - * If you create a private DLL you need to define in "pngusr.h" the followings: - * #define PNG_USER_PRIVATEBUILD - * e.g. #define PNG_USER_PRIVATEBUILD "Build by MyCompany for xyz reasons." - * #define PNG_USER_DLLFNAME_POSTFIX - * e.g. // private DLL "libpng13gx.dll" - * #define PNG_USER_DLLFNAME_POSTFIX "gx" - * - * The following macros are also at your disposal if you want to complete the - * DLL VERSIONINFO structure. - * - PNG_USER_VERSIONINFO_COMMENTS - * - PNG_USER_VERSIONINFO_COMPANYNAME - * - PNG_USER_VERSIONINFO_LEGALTRADEMARKS - */ - -#ifdef __STDC__ -#ifdef SPECIALBUILD -# pragma message("PNG_LIBPNG_SPECIALBUILD (and deprecated SPECIALBUILD)\ - are now LIBPNG reserved macros. Use PNG_USER_PRIVATEBUILD instead.") -#endif - -#ifdef PRIVATEBUILD -# pragma message("PRIVATEBUILD is deprecated.\ - Use PNG_USER_PRIVATEBUILD instead.") -# define PNG_USER_PRIVATEBUILD PRIVATEBUILD -#endif -#endif /* __STDC__ */ - -#ifndef PNG_VERSION_INFO_ONLY - -/* End of material added to libpng-1.2.8 */ - -/* Added at libpng-1.2.19, removed at libpng-1.2.20 because it caused trouble - Restored at libpng-1.2.21 */ -#if !defined(PNG_NO_WARN_UNINITIALIZED_ROW) && \ - !defined(PNG_WARN_UNINITIALIZED_ROW) -# define PNG_WARN_UNINITIALIZED_ROW 1 -#endif -/* End of material added at libpng-1.2.19/1.2.21 */ - -/* This is the size of the compression buffer, and thus the size of - * an IDAT chunk. Make this whatever size you feel is best for your - * machine. One of these will be allocated per png_struct. When this - * is full, it writes the data to the disk, and does some other - * calculations. Making this an extremely small size will slow - * the library down, but you may want to experiment to determine - * where it becomes significant, if you are concerned with memory - * usage. Note that zlib allocates at least 32Kb also. For readers, - * this describes the size of the buffer available to read the data in. - * Unless this gets smaller than the size of a row (compressed), - * it should not make much difference how big this is. - */ - -#ifndef PNG_ZBUF_SIZE -# define PNG_ZBUF_SIZE 8192 -#endif - -/* Enable if you want a write-only libpng */ - -#ifndef PNG_NO_READ_SUPPORTED -# define PNG_READ_SUPPORTED -#endif - -/* Enable if you want a read-only libpng */ - -#ifndef PNG_NO_WRITE_SUPPORTED -# define PNG_WRITE_SUPPORTED -#endif - -/* Enabled by default in 1.2.0. You can disable this if you don't need to - support PNGs that are embedded in MNG datastreams */ -#if !defined(PNG_1_0_X) && !defined(PNG_NO_MNG_FEATURES) -# ifndef PNG_MNG_FEATURES_SUPPORTED -# define PNG_MNG_FEATURES_SUPPORTED -# endif -#endif - -#ifndef PNG_NO_FLOATING_POINT_SUPPORTED -# ifndef PNG_FLOATING_POINT_SUPPORTED -# define PNG_FLOATING_POINT_SUPPORTED -# endif -#endif - -/* If you are running on a machine where you cannot allocate more - * than 64K of memory at once, uncomment this. While libpng will not - * normally need that much memory in a chunk (unless you load up a very - * large file), zlib needs to know how big of a chunk it can use, and - * libpng thus makes sure to check any memory allocation to verify it - * will fit into memory. -#define PNG_MAX_MALLOC_64K - */ -#if defined(MAXSEG_64K) && !defined(PNG_MAX_MALLOC_64K) -# define PNG_MAX_MALLOC_64K -#endif - -/* Special munging to support doing things the 'cygwin' way: - * 'Normal' png-on-win32 defines/defaults: - * PNG_BUILD_DLL -- building dll - * PNG_USE_DLL -- building an application, linking to dll - * (no define) -- building static library, or building an - * application and linking to the static lib - * 'Cygwin' defines/defaults: - * PNG_BUILD_DLL -- (ignored) building the dll - * (no define) -- (ignored) building an application, linking to the dll - * PNG_STATIC -- (ignored) building the static lib, or building an - * application that links to the static lib. - * ALL_STATIC -- (ignored) building various static libs, or building an - * application that links to the static libs. - * Thus, - * a cygwin user should define either PNG_BUILD_DLL or PNG_STATIC, and - * this bit of #ifdefs will define the 'correct' config variables based on - * that. If a cygwin user *wants* to define 'PNG_USE_DLL' that's okay, but - * unnecessary. - * - * Also, the precedence order is: - * ALL_STATIC (since we can't #undef something outside our namespace) - * PNG_BUILD_DLL - * PNG_STATIC - * (nothing) == PNG_USE_DLL - * - * CYGWIN (2002-01-20): The preceding is now obsolete. With the advent - * of auto-import in binutils, we no longer need to worry about - * __declspec(dllexport) / __declspec(dllimport) and friends. Therefore, - * we don't need to worry about PNG_STATIC or ALL_STATIC when it comes - * to __declspec() stuff. However, we DO need to worry about - * PNG_BUILD_DLL and PNG_STATIC because those change some defaults - * such as CONSOLE_IO and whether GLOBAL_ARRAYS are allowed. - */ -#if defined(__CYGWIN__) -# if defined(ALL_STATIC) -# if defined(PNG_BUILD_DLL) -# undef PNG_BUILD_DLL -# endif -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if defined(PNG_DLL) -# undef PNG_DLL -# endif -# if !defined(PNG_STATIC) -# define PNG_STATIC -# endif -# else -# if defined (PNG_BUILD_DLL) -# if defined(PNG_STATIC) -# undef PNG_STATIC -# endif -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if !defined(PNG_DLL) -# define PNG_DLL -# endif -# else -# if defined(PNG_STATIC) -# if defined(PNG_USE_DLL) -# undef PNG_USE_DLL -# endif -# if defined(PNG_DLL) -# undef PNG_DLL -# endif -# else -# if !defined(PNG_USE_DLL) -# define PNG_USE_DLL -# endif -# if !defined(PNG_DLL) -# define PNG_DLL -# endif -# endif -# endif -# endif -#endif - -/* This protects us against compilers that run on a windowing system - * and thus don't have or would rather us not use the stdio types: - * stdin, stdout, and stderr. The only one currently used is stderr - * in png_error() and png_warning(). #defining PNG_NO_CONSOLE_IO will - * prevent these from being compiled and used. #defining PNG_NO_STDIO - * will also prevent these, plus will prevent the entire set of stdio - * macros and functions (FILE *, printf, etc.) from being compiled and used, - * unless (PNG_DEBUG > 0) has been #defined. - * - * #define PNG_NO_CONSOLE_IO - * #define PNG_NO_STDIO - */ - -#if defined(_WIN32_WCE) -# include - /* Console I/O functions are not supported on WindowsCE */ -# define PNG_NO_CONSOLE_IO -# ifdef PNG_DEBUG -# undef PNG_DEBUG -# endif -#endif - -#ifdef PNG_BUILD_DLL -# ifndef PNG_CONSOLE_IO_SUPPORTED -# ifndef PNG_NO_CONSOLE_IO -# define PNG_NO_CONSOLE_IO -# endif -# endif -#endif - -# ifdef PNG_NO_STDIO -# ifndef PNG_NO_CONSOLE_IO -# define PNG_NO_CONSOLE_IO -# endif -# ifdef PNG_DEBUG -# if (PNG_DEBUG > 0) -# include -# endif -# endif -# else -# if !defined(_WIN32_WCE) -/* "stdio.h" functions are not supported on WindowsCE */ -# include -# endif -# endif - -/* This macro protects us against machines that don't have function - * prototypes (ie K&R style headers). If your compiler does not handle - * function prototypes, define this macro and use the included ansi2knr. - * I've always been able to use _NO_PROTO as the indicator, but you may - * need to drag the empty declaration out in front of here, or change the - * ifdef to suit your own needs. - */ -#ifndef PNGARG - -#ifdef OF /* zlib prototype munger */ -# define PNGARG(arglist) OF(arglist) -#else - -#ifdef _NO_PROTO -# define PNGARG(arglist) () -# ifndef PNG_TYPECAST_NULL -# define PNG_TYPECAST_NULL -# endif -#else -# define PNGARG(arglist) arglist -#endif /* _NO_PROTO */ - - -#endif /* OF */ - -#endif /* PNGARG */ - -/* Try to determine if we are compiling on a Mac. Note that testing for - * just __MWERKS__ is not good enough, because the Codewarrior is now used - * on non-Mac platforms. - */ -#ifndef MACOS -# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \ - defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC) -# define MACOS -# endif -#endif - -/* enough people need this for various reasons to include it here */ -#if !defined(MACOS) && !defined(RISCOS) && !defined(_WIN32_WCE) -# include -#endif - -#if !defined(PNG_SETJMP_NOT_SUPPORTED) && !defined(PNG_NO_SETJMP_SUPPORTED) -# define PNG_SETJMP_SUPPORTED -#endif - -#ifdef PNG_SETJMP_SUPPORTED -/* This is an attempt to force a single setjmp behaviour on Linux. If - * the X config stuff didn't define _BSD_SOURCE we wouldn't need this. - */ - -# ifdef __linux__ -# ifdef _BSD_SOURCE -# define PNG_SAVE_BSD_SOURCE -# undef _BSD_SOURCE -# endif -# ifdef _SETJMP_H - /* If you encounter a compiler error here, see the explanation - * near the end of INSTALL. - */ - __pngconf.h__ already includes setjmp.h; - __dont__ include it again.; -# endif -# endif /* __linux__ */ - - /* include setjmp.h for error handling */ -# include - -# ifdef __linux__ -# ifdef PNG_SAVE_BSD_SOURCE -# ifndef _BSD_SOURCE -# define _BSD_SOURCE -# endif -# undef PNG_SAVE_BSD_SOURCE -# endif -# endif /* __linux__ */ -#endif /* PNG_SETJMP_SUPPORTED */ - -#ifdef BSD -# include -#else -# include -#endif - -/* Other defines for things like memory and the like can go here. */ -#ifdef PNG_INTERNAL - -#include - -/* The functions exported by PNG_EXTERN are PNG_INTERNAL functions, which - * aren't usually used outside the library (as far as I know), so it is - * debatable if they should be exported at all. In the future, when it is - * possible to have run-time registry of chunk-handling functions, some of - * these will be made available again. -#define PNG_EXTERN extern - */ -#define PNG_EXTERN - -/* Other defines specific to compilers can go here. Try to keep - * them inside an appropriate ifdef/endif pair for portability. - */ - -#if defined(PNG_FLOATING_POINT_SUPPORTED) -# if defined(MACOS) - /* We need to check that hasn't already been included earlier - * as it seems it doesn't agree with , yet we should really use - * if possible. - */ -# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__) -# include -# endif -# else -# include -# endif -# if defined(_AMIGA) && defined(__SASC) && defined(_M68881) - /* Amiga SAS/C: We must include builtin FPU functions when compiling using - * MATH=68881 - */ -# include -# endif -#endif - -/* Codewarrior on NT has linking problems without this. */ -#if (defined(__MWERKS__) && defined(WIN32)) || defined(__STDC__) -# define PNG_ALWAYS_EXTERN -#endif - -/* This provides the non-ANSI (far) memory allocation routines. */ -#if defined(__TURBOC__) && defined(__MSDOS__) -# include -# include -#endif - -/* I have no idea why is this necessary... */ -#if defined(_MSC_VER) && (defined(WIN32) || defined(_Windows) || \ - defined(_WINDOWS) || defined(_WIN32) || defined(__WIN32__)) -# include -#endif - -/* This controls how fine the dithering gets. As this allocates - * a largish chunk of memory (32K), those who are not as concerned - * with dithering quality can decrease some or all of these. - */ -#ifndef PNG_DITHER_RED_BITS -# define PNG_DITHER_RED_BITS 5 -#endif -#ifndef PNG_DITHER_GREEN_BITS -# define PNG_DITHER_GREEN_BITS 5 -#endif -#ifndef PNG_DITHER_BLUE_BITS -# define PNG_DITHER_BLUE_BITS 5 -#endif - -/* This controls how fine the gamma correction becomes when you - * are only interested in 8 bits anyway. Increasing this value - * results in more memory being used, and more pow() functions - * being called to fill in the gamma tables. Don't set this value - * less then 8, and even that may not work (I haven't tested it). - */ - -#ifndef PNG_MAX_GAMMA_8 -# define PNG_MAX_GAMMA_8 11 -#endif - -/* This controls how much a difference in gamma we can tolerate before - * we actually start doing gamma conversion. - */ -#ifndef PNG_GAMMA_THRESHOLD -# define PNG_GAMMA_THRESHOLD 0.05 -#endif - -#endif /* PNG_INTERNAL */ - -/* The following uses const char * instead of char * for error - * and warning message functions, so some compilers won't complain. - * If you do not want to use const, define PNG_NO_CONST here. - */ - -#ifndef PNG_NO_CONST -# define PNG_CONST const -#else -# define PNG_CONST -#endif - -/* The following defines give you the ability to remove code from the - * library that you will not be using. I wish I could figure out how to - * automate this, but I can't do that without making it seriously hard - * on the users. So if you are not using an ability, change the #define - * to and #undef, and that part of the library will not be compiled. If - * your linker can't find a function, you may want to make sure the - * ability is defined here. Some of these depend upon some others being - * defined. I haven't figured out all the interactions here, so you may - * have to experiment awhile to get everything to compile. If you are - * creating or using a shared library, you probably shouldn't touch this, - * as it will affect the size of the structures, and this will cause bad - * things to happen if the library and/or application ever change. - */ - -/* Any features you will not be using can be undef'ed here */ - -/* GR-P, 0.96a: Set "*TRANSFORMS_SUPPORTED as default but allow user - * to turn it off with "*TRANSFORMS_NOT_SUPPORTED" or *PNG_NO_*_TRANSFORMS - * on the compile line, then pick and choose which ones to define without - * having to edit this file. It is safe to use the *TRANSFORMS_NOT_SUPPORTED - * if you only want to have a png-compliant reader/writer but don't need - * any of the extra transformations. This saves about 80 kbytes in a - * typical installation of the library. (PNG_NO_* form added in version - * 1.0.1c, for consistency) - */ - -/* The size of the png_text structure changed in libpng-1.0.6 when - * iTXt support was added. iTXt support was turned off by default through - * libpng-1.2.x, to support old apps that malloc the png_text structure - * instead of calling png_set_text() and letting libpng malloc it. It - * was turned on by default in libpng-1.3.0. - */ - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -# ifndef PNG_NO_iTXt_SUPPORTED -# define PNG_NO_iTXt_SUPPORTED -# endif -# ifndef PNG_NO_READ_iTXt -# define PNG_NO_READ_iTXt -# endif -# ifndef PNG_NO_WRITE_iTXt -# define PNG_NO_WRITE_iTXt -# endif -#endif - -#if !defined(PNG_NO_iTXt_SUPPORTED) -# if !defined(PNG_READ_iTXt_SUPPORTED) && !defined(PNG_NO_READ_iTXt) -# define PNG_READ_iTXt -# endif -# if !defined(PNG_WRITE_iTXt_SUPPORTED) && !defined(PNG_NO_WRITE_iTXt) -# define PNG_WRITE_iTXt -# endif -#endif - -/* The following support, added after version 1.0.0, can be turned off here en - * masse by defining PNG_LEGACY_SUPPORTED in case you need binary compatibility - * with old applications that require the length of png_struct and png_info - * to remain unchanged. - */ - -#ifdef PNG_LEGACY_SUPPORTED -# define PNG_NO_FREE_ME -# define PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_NO_READ_USER_CHUNKS -# define PNG_NO_READ_iCCP -# define PNG_NO_WRITE_iCCP -# define PNG_NO_READ_iTXt -# define PNG_NO_WRITE_iTXt -# define PNG_NO_READ_sCAL -# define PNG_NO_WRITE_sCAL -# define PNG_NO_READ_sPLT -# define PNG_NO_WRITE_sPLT -# define PNG_NO_INFO_IMAGE -# define PNG_NO_READ_RGB_TO_GRAY -# define PNG_NO_READ_USER_TRANSFORM -# define PNG_NO_WRITE_USER_TRANSFORM -# define PNG_NO_USER_MEM -# define PNG_NO_READ_EMPTY_PLTE -# define PNG_NO_MNG_FEATURES -# define PNG_NO_FIXED_POINT_SUPPORTED -#endif - -/* Ignore attempt to turn off both floating and fixed point support */ -#if !defined(PNG_FLOATING_POINT_SUPPORTED) || \ - !defined(PNG_NO_FIXED_POINT_SUPPORTED) -# define PNG_FIXED_POINT_SUPPORTED -#endif - -#ifndef PNG_NO_FREE_ME -# define PNG_FREE_ME_SUPPORTED -#endif - -#if defined(PNG_READ_SUPPORTED) - -#if !defined(PNG_READ_TRANSFORMS_NOT_SUPPORTED) && \ - !defined(PNG_NO_READ_TRANSFORMS) -# define PNG_READ_TRANSFORMS_SUPPORTED -#endif - -#ifdef PNG_READ_TRANSFORMS_SUPPORTED -# ifndef PNG_NO_READ_EXPAND -# define PNG_READ_EXPAND_SUPPORTED -# endif -# ifndef PNG_NO_READ_SHIFT -# define PNG_READ_SHIFT_SUPPORTED -# endif -# ifndef PNG_NO_READ_PACK -# define PNG_READ_PACK_SUPPORTED -# endif -# ifndef PNG_NO_READ_BGR -# define PNG_READ_BGR_SUPPORTED -# endif -# ifndef PNG_NO_READ_SWAP -# define PNG_READ_SWAP_SUPPORTED -# endif -# ifndef PNG_NO_READ_PACKSWAP -# define PNG_READ_PACKSWAP_SUPPORTED -# endif -# ifndef PNG_NO_READ_INVERT -# define PNG_READ_INVERT_SUPPORTED -# endif -# ifndef PNG_NO_READ_DITHER -# define PNG_READ_DITHER_SUPPORTED -# endif -# ifndef PNG_NO_READ_BACKGROUND -# define PNG_READ_BACKGROUND_SUPPORTED -# endif -# ifndef PNG_NO_READ_16_TO_8 -# define PNG_READ_16_TO_8_SUPPORTED -# endif -# ifndef PNG_NO_READ_FILLER -# define PNG_READ_FILLER_SUPPORTED -# endif -# ifndef PNG_NO_READ_GAMMA -# define PNG_READ_GAMMA_SUPPORTED -# endif -# ifndef PNG_NO_READ_GRAY_TO_RGB -# define PNG_READ_GRAY_TO_RGB_SUPPORTED -# endif -# ifndef PNG_NO_READ_SWAP_ALPHA -# define PNG_READ_SWAP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_INVERT_ALPHA -# define PNG_READ_INVERT_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_STRIP_ALPHA -# define PNG_READ_STRIP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_READ_USER_TRANSFORM -# define PNG_READ_USER_TRANSFORM_SUPPORTED -# endif -# ifndef PNG_NO_READ_RGB_TO_GRAY -# define PNG_READ_RGB_TO_GRAY_SUPPORTED -# endif -#endif /* PNG_READ_TRANSFORMS_SUPPORTED */ - -#if !defined(PNG_NO_PROGRESSIVE_READ) && \ - !defined(PNG_PROGRESSIVE_READ_SUPPORTED) /* if you don't do progressive */ -# define PNG_PROGRESSIVE_READ_SUPPORTED /* reading. This is not talking */ -#endif /* about interlacing capability! You'll */ - /* still have interlacing unless you change the following line: */ - -#define PNG_READ_INTERLACING_SUPPORTED /* required in PNG-compliant decoders */ - -#ifndef PNG_NO_READ_COMPOSITE_NODIV -# ifndef PNG_NO_READ_COMPOSITED_NODIV /* libpng-1.0.x misspelling */ -# define PNG_READ_COMPOSITE_NODIV_SUPPORTED /* well tested on Intel, SGI */ -# endif -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, will be removed from version 2.0.0. - Use PNG_MNG_FEATURES_SUPPORTED instead. */ -#ifndef PNG_NO_READ_EMPTY_PLTE -# define PNG_READ_EMPTY_PLTE_SUPPORTED -#endif -#endif - -#endif /* PNG_READ_SUPPORTED */ - -#if defined(PNG_WRITE_SUPPORTED) - -# if !defined(PNG_WRITE_TRANSFORMS_NOT_SUPPORTED) && \ - !defined(PNG_NO_WRITE_TRANSFORMS) -# define PNG_WRITE_TRANSFORMS_SUPPORTED -#endif - -#ifdef PNG_WRITE_TRANSFORMS_SUPPORTED -# ifndef PNG_NO_WRITE_SHIFT -# define PNG_WRITE_SHIFT_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_PACK -# define PNG_WRITE_PACK_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_BGR -# define PNG_WRITE_BGR_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_SWAP -# define PNG_WRITE_SWAP_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_PACKSWAP -# define PNG_WRITE_PACKSWAP_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_INVERT -# define PNG_WRITE_INVERT_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_FILLER -# define PNG_WRITE_FILLER_SUPPORTED /* same as WRITE_STRIP_ALPHA */ -# endif -# ifndef PNG_NO_WRITE_SWAP_ALPHA -# define PNG_WRITE_SWAP_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_INVERT_ALPHA -# define PNG_WRITE_INVERT_ALPHA_SUPPORTED -# endif -# ifndef PNG_NO_WRITE_USER_TRANSFORM -# define PNG_WRITE_USER_TRANSFORM_SUPPORTED -# endif -#endif /* PNG_WRITE_TRANSFORMS_SUPPORTED */ - -#if !defined(PNG_NO_WRITE_INTERLACING_SUPPORTED) && \ - !defined(PNG_WRITE_INTERLACING_SUPPORTED) -#define PNG_WRITE_INTERLACING_SUPPORTED /* not required for PNG-compliant - encoders, but can cause trouble - if left undefined */ -#endif - -#if !defined(PNG_NO_WRITE_WEIGHTED_FILTER) && \ - !defined(PNG_WRITE_WEIGHTED_FILTER) && \ - defined(PNG_FLOATING_POINT_SUPPORTED) -# define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED -#endif - -#ifndef PNG_NO_WRITE_FLUSH -# define PNG_WRITE_FLUSH_SUPPORTED -#endif - -#if defined(PNG_1_0_X) || defined (PNG_1_2_X) -/* Deprecated, see PNG_MNG_FEATURES_SUPPORTED, above */ -#ifndef PNG_NO_WRITE_EMPTY_PLTE -# define PNG_WRITE_EMPTY_PLTE_SUPPORTED -#endif -#endif - -#endif /* PNG_WRITE_SUPPORTED */ - -#ifndef PNG_1_0_X -# ifndef PNG_NO_ERROR_NUMBERS -# define PNG_ERROR_NUMBERS_SUPPORTED -# endif -#endif /* PNG_1_0_X */ - -#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ - defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) -# ifndef PNG_NO_USER_TRANSFORM_PTR -# define PNG_USER_TRANSFORM_PTR_SUPPORTED -# endif -#endif - -#ifndef PNG_NO_STDIO -# define PNG_TIME_RFC1123_SUPPORTED -#endif - -/* This adds extra functions in pngget.c for accessing data from the - * info pointer (added in version 0.99) - * png_get_image_width() - * png_get_image_height() - * png_get_bit_depth() - * png_get_color_type() - * png_get_compression_type() - * png_get_filter_type() - * png_get_interlace_type() - * png_get_pixel_aspect_ratio() - * png_get_pixels_per_meter() - * png_get_x_offset_pixels() - * png_get_y_offset_pixels() - * png_get_x_offset_microns() - * png_get_y_offset_microns() - */ -#if !defined(PNG_NO_EASY_ACCESS) && !defined(PNG_EASY_ACCESS_SUPPORTED) -# define PNG_EASY_ACCESS_SUPPORTED -#endif - -/* PNG_ASSEMBLER_CODE was enabled by default in version 1.2.0 - * and removed from version 1.2.20. The following will be removed - * from libpng-1.4.0 -*/ - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_OPTIMIZED_CODE) -# ifndef PNG_OPTIMIZED_CODE_SUPPORTED -# define PNG_OPTIMIZED_CODE_SUPPORTED -# endif -#endif - -#if defined(PNG_READ_SUPPORTED) && !defined(PNG_NO_ASSEMBLER_CODE) && defined(__i386__) -# ifndef PNG_ASSEMBLER_CODE_SUPPORTED -# define PNG_ASSEMBLER_CODE_SUPPORTED -# endif - -# if defined(__GNUC__) && defined(__x86_64__) && (__GNUC__ < 4) - /* work around 64-bit gcc compiler bugs in gcc-3.x */ -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if defined(__APPLE__) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if (defined(__MWERKS__) && ((__MWERKS__ < 0x0900) || macintosh)) -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_NO_MMX_CODE -# endif -# endif - -# if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE) -# define PNG_MMX_CODE_SUPPORTED -# endif - -#endif -/* end of obsolete code to be removed from libpng-1.4.0 */ - -#if !defined(PNG_1_0_X) -#if !defined(PNG_NO_USER_MEM) && !defined(PNG_USER_MEM_SUPPORTED) -# define PNG_USER_MEM_SUPPORTED -#endif -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.2.6 */ -#if !defined(PNG_1_0_X) -#ifndef PNG_SET_USER_LIMITS_SUPPORTED -#if !defined(PNG_NO_SET_USER_LIMITS) && !defined(PNG_SET_USER_LIMITS_SUPPORTED) -# define PNG_SET_USER_LIMITS_SUPPORTED -#endif -#endif -#endif /* PNG_1_0_X */ - -/* Added at libpng-1.0.16 and 1.2.6. To accept all valid PNGS no matter - * how large, set these limits to 0x7fffffffL - */ -#ifndef PNG_USER_WIDTH_MAX -# define PNG_USER_WIDTH_MAX 1000000L -#endif -#ifndef PNG_USER_HEIGHT_MAX -# define PNG_USER_HEIGHT_MAX 1000000L -#endif - -/* These are currently experimental features, define them if you want */ - -/* very little testing */ -/* -#ifdef PNG_READ_SUPPORTED -# ifndef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED -# define PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED -# endif -#endif -*/ - -/* This is only for PowerPC big-endian and 680x0 systems */ -/* some testing */ -/* -#ifndef PNG_READ_BIG_ENDIAN_SUPPORTED -# define PNG_READ_BIG_ENDIAN_SUPPORTED -#endif -*/ - -/* Buggy compilers (e.g., gcc 2.7.2.2) need this */ -/* -#define PNG_NO_POINTER_INDEXING -*/ - -/* These functions are turned off by default, as they will be phased out. */ -/* -#define PNG_USELESS_TESTS_SUPPORTED -#define PNG_CORRECT_PALETTE_SUPPORTED -*/ - -/* Any chunks you are not interested in, you can undef here. The - * ones that allocate memory may be expecially important (hIST, - * tEXt, zTXt, tRNS, pCAL). Others will just save time and make png_info - * a bit smaller. - */ - -#if defined(PNG_READ_SUPPORTED) && \ - !defined(PNG_READ_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ - !defined(PNG_NO_READ_ANCILLARY_CHUNKS) -# define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED -#endif - -#if defined(PNG_WRITE_SUPPORTED) && \ - !defined(PNG_WRITE_ANCILLARY_CHUNKS_NOT_SUPPORTED) && \ - !defined(PNG_NO_WRITE_ANCILLARY_CHUNKS) -# define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED -#endif - -#ifdef PNG_READ_ANCILLARY_CHUNKS_SUPPORTED - -#ifdef PNG_NO_READ_TEXT -# define PNG_NO_READ_iTXt -# define PNG_NO_READ_tEXt -# define PNG_NO_READ_zTXt -#endif -#ifndef PNG_NO_READ_bKGD -# define PNG_READ_bKGD_SUPPORTED -# define PNG_bKGD_SUPPORTED -#endif -#ifndef PNG_NO_READ_cHRM -# define PNG_READ_cHRM_SUPPORTED -# define PNG_cHRM_SUPPORTED -#endif -#ifndef PNG_NO_READ_gAMA -# define PNG_READ_gAMA_SUPPORTED -# define PNG_gAMA_SUPPORTED -#endif -#ifndef PNG_NO_READ_hIST -# define PNG_READ_hIST_SUPPORTED -# define PNG_hIST_SUPPORTED -#endif -#ifndef PNG_NO_READ_iCCP -# define PNG_READ_iCCP_SUPPORTED -# define PNG_iCCP_SUPPORTED -#endif -#ifndef PNG_NO_READ_iTXt -# ifndef PNG_READ_iTXt_SUPPORTED -# define PNG_READ_iTXt_SUPPORTED -# endif -# ifndef PNG_iTXt_SUPPORTED -# define PNG_iTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_READ_oFFs -# define PNG_READ_oFFs_SUPPORTED -# define PNG_oFFs_SUPPORTED -#endif -#ifndef PNG_NO_READ_pCAL -# define PNG_READ_pCAL_SUPPORTED -# define PNG_pCAL_SUPPORTED -#endif -#ifndef PNG_NO_READ_sCAL -# define PNG_READ_sCAL_SUPPORTED -# define PNG_sCAL_SUPPORTED -#endif -#ifndef PNG_NO_READ_pHYs -# define PNG_READ_pHYs_SUPPORTED -# define PNG_pHYs_SUPPORTED -#endif -#ifndef PNG_NO_READ_sBIT -# define PNG_READ_sBIT_SUPPORTED -# define PNG_sBIT_SUPPORTED -#endif -#ifndef PNG_NO_READ_sPLT -# define PNG_READ_sPLT_SUPPORTED -# define PNG_sPLT_SUPPORTED -#endif -#ifndef PNG_NO_READ_sRGB -# define PNG_READ_sRGB_SUPPORTED -# define PNG_sRGB_SUPPORTED -#endif -#ifndef PNG_NO_READ_tEXt -# define PNG_READ_tEXt_SUPPORTED -# define PNG_tEXt_SUPPORTED -#endif -#ifndef PNG_NO_READ_tIME -# define PNG_READ_tIME_SUPPORTED -# define PNG_tIME_SUPPORTED -#endif -#ifndef PNG_NO_READ_tRNS -# define PNG_READ_tRNS_SUPPORTED -# define PNG_tRNS_SUPPORTED -#endif -#ifndef PNG_NO_READ_zTXt -# define PNG_READ_zTXt_SUPPORTED -# define PNG_zTXt_SUPPORTED -#endif -#ifndef PNG_NO_READ_UNKNOWN_CHUNKS -# define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -#endif -#if !defined(PNG_NO_READ_USER_CHUNKS) && \ - defined(PNG_READ_UNKNOWN_CHUNKS_SUPPORTED) -# define PNG_READ_USER_CHUNKS_SUPPORTED -# define PNG_USER_CHUNKS_SUPPORTED -# ifdef PNG_NO_READ_UNKNOWN_CHUNKS -# undef PNG_NO_READ_UNKNOWN_CHUNKS -# endif -# ifdef PNG_NO_HANDLE_AS_UNKNOWN -# undef PNG_NO_HANDLE_AS_UNKNOWN -# endif -#endif -#ifndef PNG_NO_READ_OPT_PLTE -# define PNG_READ_OPT_PLTE_SUPPORTED /* only affects support of the */ -#endif /* optional PLTE chunk in RGB and RGBA images */ -#if defined(PNG_READ_iTXt_SUPPORTED) || defined(PNG_READ_tEXt_SUPPORTED) || \ - defined(PNG_READ_zTXt_SUPPORTED) -# define PNG_READ_TEXT_SUPPORTED -# define PNG_TEXT_SUPPORTED -#endif - -#endif /* PNG_READ_ANCILLARY_CHUNKS_SUPPORTED */ - -#ifdef PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED - -#ifdef PNG_NO_WRITE_TEXT -# define PNG_NO_WRITE_iTXt -# define PNG_NO_WRITE_tEXt -# define PNG_NO_WRITE_zTXt -#endif -#ifndef PNG_NO_WRITE_bKGD -# define PNG_WRITE_bKGD_SUPPORTED -# ifndef PNG_bKGD_SUPPORTED -# define PNG_bKGD_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_cHRM -# define PNG_WRITE_cHRM_SUPPORTED -# ifndef PNG_cHRM_SUPPORTED -# define PNG_cHRM_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_gAMA -# define PNG_WRITE_gAMA_SUPPORTED -# ifndef PNG_gAMA_SUPPORTED -# define PNG_gAMA_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_hIST -# define PNG_WRITE_hIST_SUPPORTED -# ifndef PNG_hIST_SUPPORTED -# define PNG_hIST_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_iCCP -# define PNG_WRITE_iCCP_SUPPORTED -# ifndef PNG_iCCP_SUPPORTED -# define PNG_iCCP_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_iTXt -# ifndef PNG_WRITE_iTXt_SUPPORTED -# define PNG_WRITE_iTXt_SUPPORTED -# endif -# ifndef PNG_iTXt_SUPPORTED -# define PNG_iTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_oFFs -# define PNG_WRITE_oFFs_SUPPORTED -# ifndef PNG_oFFs_SUPPORTED -# define PNG_oFFs_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_pCAL -# define PNG_WRITE_pCAL_SUPPORTED -# ifndef PNG_pCAL_SUPPORTED -# define PNG_pCAL_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sCAL -# define PNG_WRITE_sCAL_SUPPORTED -# ifndef PNG_sCAL_SUPPORTED -# define PNG_sCAL_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_pHYs -# define PNG_WRITE_pHYs_SUPPORTED -# ifndef PNG_pHYs_SUPPORTED -# define PNG_pHYs_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sBIT -# define PNG_WRITE_sBIT_SUPPORTED -# ifndef PNG_sBIT_SUPPORTED -# define PNG_sBIT_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sPLT -# define PNG_WRITE_sPLT_SUPPORTED -# ifndef PNG_sPLT_SUPPORTED -# define PNG_sPLT_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_sRGB -# define PNG_WRITE_sRGB_SUPPORTED -# ifndef PNG_sRGB_SUPPORTED -# define PNG_sRGB_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tEXt -# define PNG_WRITE_tEXt_SUPPORTED -# ifndef PNG_tEXt_SUPPORTED -# define PNG_tEXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tIME -# define PNG_WRITE_tIME_SUPPORTED -# ifndef PNG_tIME_SUPPORTED -# define PNG_tIME_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_tRNS -# define PNG_WRITE_tRNS_SUPPORTED -# ifndef PNG_tRNS_SUPPORTED -# define PNG_tRNS_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_zTXt -# define PNG_WRITE_zTXt_SUPPORTED -# ifndef PNG_zTXt_SUPPORTED -# define PNG_zTXt_SUPPORTED -# endif -#endif -#ifndef PNG_NO_WRITE_UNKNOWN_CHUNKS -# define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED -# ifndef PNG_UNKNOWN_CHUNKS_SUPPORTED -# define PNG_UNKNOWN_CHUNKS_SUPPORTED -# endif -# ifndef PNG_NO_HANDLE_AS_UNKNOWN -# ifndef PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# define PNG_HANDLE_AS_UNKNOWN_SUPPORTED -# endif -# endif -#endif -#if defined(PNG_WRITE_iTXt_SUPPORTED) || defined(PNG_WRITE_tEXt_SUPPORTED) || \ - defined(PNG_WRITE_zTXt_SUPPORTED) -# define PNG_WRITE_TEXT_SUPPORTED -# ifndef PNG_TEXT_SUPPORTED -# define PNG_TEXT_SUPPORTED -# endif -#endif - -#endif /* PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED */ - -/* Turn this off to disable png_read_png() and - * png_write_png() and leave the row_pointers member - * out of the info structure. - */ -#ifndef PNG_NO_INFO_IMAGE -# define PNG_INFO_IMAGE_SUPPORTED -#endif - -/* need the time information for reading tIME chunks */ -#if defined(PNG_tIME_SUPPORTED) -# if !defined(_WIN32_WCE) - /* "time.h" functions are not supported on WindowsCE */ -# include -# endif -#endif - -/* Some typedefs to get us started. These should be safe on most of the - * common platforms. The typedefs should be at least as large as the - * numbers suggest (a png_uint_32 must be at least 32 bits long), but they - * don't have to be exactly that size. Some compilers dislike passing - * unsigned shorts as function parameters, so you may be better off using - * unsigned int for png_uint_16. Likewise, for 64-bit systems, you may - * want to have unsigned int for png_uint_32 instead of unsigned long. - */ - -typedef unsigned long png_uint_32; -typedef long png_int_32; -typedef unsigned short png_uint_16; -typedef short png_int_16; -typedef unsigned char png_byte; - -/* This is usually size_t. It is typedef'ed just in case you need it to - change (I'm not sure if you will or not, so I thought I'd be safe) */ -#ifdef PNG_SIZE_T - typedef PNG_SIZE_T png_size_t; -# define png_sizeof(x) png_convert_size(sizeof (x)) -#else - typedef size_t png_size_t; -# define png_sizeof(x) sizeof (x) -#endif - -/* The following is needed for medium model support. It cannot be in the - * PNG_INTERNAL section. Needs modification for other compilers besides - * MSC. Model independent support declares all arrays and pointers to be - * large using the far keyword. The zlib version used must also support - * model independent data. As of version zlib 1.0.4, the necessary changes - * have been made in zlib. The USE_FAR_KEYWORD define triggers other - * changes that are needed. (Tim Wegner) - */ - -/* Separate compiler dependencies (problem here is that zlib.h always - defines FAR. (SJT) */ -#ifdef __BORLANDC__ -# if defined(__LARGE__) || defined(__HUGE__) || defined(__COMPACT__) -# define LDATA 1 -# else -# define LDATA 0 -# endif - /* GRR: why is Cygwin in here? Cygwin is not Borland C... */ -# if !defined(__WIN32__) && !defined(__FLAT__) && !defined(__CYGWIN__) -# define PNG_MAX_MALLOC_64K -# if (LDATA != 1) -# ifndef FAR -# define FAR __far -# endif -# define USE_FAR_KEYWORD -# endif /* LDATA != 1 */ - /* Possibly useful for moving data out of default segment. - * Uncomment it if you want. Could also define FARDATA as - * const if your compiler supports it. (SJT) -# define FARDATA FAR - */ -# endif /* __WIN32__, __FLAT__, __CYGWIN__ */ -#endif /* __BORLANDC__ */ - - -/* Suggest testing for specific compiler first before testing for - * FAR. The Watcom compiler defines both __MEDIUM__ and M_I86MM, - * making reliance oncertain keywords suspect. (SJT) - */ - -/* MSC Medium model */ -#if defined(FAR) -# if defined(M_I86MM) -# define USE_FAR_KEYWORD -# define FARDATA FAR -# include -# endif -#endif - -/* SJT: default case */ -#ifndef FAR -# define FAR -#endif - -/* At this point FAR is always defined */ -#ifndef FARDATA -# define FARDATA -#endif - -/* Typedef for floating-point numbers that are converted - to fixed-point with a multiple of 100,000, e.g., int_gamma */ -typedef png_int_32 png_fixed_point; - -/* Add typedefs for pointers */ -typedef void FAR * png_voidp; -typedef png_byte FAR * png_bytep; -typedef png_uint_32 FAR * png_uint_32p; -typedef png_int_32 FAR * png_int_32p; -typedef png_uint_16 FAR * png_uint_16p; -typedef png_int_16 FAR * png_int_16p; -typedef PNG_CONST char FAR * png_const_charp; -typedef char FAR * png_charp; -typedef png_fixed_point FAR * png_fixed_point_p; - -#ifndef PNG_NO_STDIO -#if defined(_WIN32_WCE) -typedef HANDLE png_FILE_p; -#else -typedef FILE * png_FILE_p; -#endif -#endif - -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double FAR * png_doublep; -#endif - -/* Pointers to pointers; i.e. arrays */ -typedef png_byte FAR * FAR * png_bytepp; -typedef png_uint_32 FAR * FAR * png_uint_32pp; -typedef png_int_32 FAR * FAR * png_int_32pp; -typedef png_uint_16 FAR * FAR * png_uint_16pp; -typedef png_int_16 FAR * FAR * png_int_16pp; -typedef PNG_CONST char FAR * FAR * png_const_charpp; -typedef char FAR * FAR * png_charpp; -typedef png_fixed_point FAR * FAR * png_fixed_point_pp; -#ifdef PNG_FLOATING_POINT_SUPPORTED -typedef double FAR * FAR * png_doublepp; -#endif - -/* Pointers to pointers to pointers; i.e., pointer to array */ -typedef char FAR * FAR * FAR * png_charppp; - -#if defined(PNG_1_0_X) || defined(PNG_1_2_X) -/* SPC - Is this stuff deprecated? */ -/* It'll be removed as of libpng-1.3.0 - GR-P */ -/* libpng typedefs for types in zlib. If zlib changes - * or another compression library is used, then change these. - * Eliminates need to change all the source files. - */ -typedef charf * png_zcharp; -typedef charf * FAR * png_zcharpp; -typedef z_stream FAR * png_zstreamp; -#endif /* (PNG_1_0_X) || defined(PNG_1_2_X) */ - -/* - * Define PNG_BUILD_DLL if the module being built is a Windows - * LIBPNG DLL. - * - * Define PNG_USE_DLL if you want to *link* to the Windows LIBPNG DLL. - * It is equivalent to Microsoft predefined macro _DLL that is - * automatically defined when you compile using the share - * version of the CRT (C Run-Time library) - * - * The cygwin mods make this behavior a little different: - * Define PNG_BUILD_DLL if you are building a dll for use with cygwin - * Define PNG_STATIC if you are building a static library for use with cygwin, - * -or- if you are building an application that you want to link to the - * static library. - * PNG_USE_DLL is defined by default (no user action needed) unless one of - * the other flags is defined. - */ - -#if !defined(PNG_DLL) && (defined(PNG_BUILD_DLL) || defined(PNG_USE_DLL)) -# define PNG_DLL -#endif -/* If CYGWIN, then disallow GLOBAL ARRAYS unless building a static lib. - * When building a static lib, default to no GLOBAL ARRAYS, but allow - * command-line override - */ -#if defined(__CYGWIN__) -# if !defined(PNG_STATIC) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -# else -# if defined(PNG_USE_LOCAL_ARRAYS) || defined(PNG_NO_GLOBAL_ARRAYS) -# if defined(PNG_USE_GLOBAL_ARRAYS) -# undef PNG_USE_GLOBAL_ARRAYS -# endif -# endif -# endif -# if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# define PNG_USE_LOCAL_ARRAYS -# endif -#endif - -/* Do not use global arrays (helps with building DLL's) - * They are no longer used in libpng itself, since version 1.0.5c, - * but might be required for some pre-1.0.5c applications. - */ -#if !defined(PNG_USE_LOCAL_ARRAYS) && !defined(PNG_USE_GLOBAL_ARRAYS) -# if defined(PNG_NO_GLOBAL_ARRAYS) || \ - (defined(__GNUC__) && defined(PNG_DLL)) || defined(_MSC_VER) -# define PNG_USE_LOCAL_ARRAYS -# else -# define PNG_USE_GLOBAL_ARRAYS -# endif -#endif - -#if defined(__CYGWIN__) -# undef PNGAPI -# define PNGAPI __cdecl -# undef PNG_IMPEXP -# define PNG_IMPEXP -#endif - -/* If you define PNGAPI, e.g., with compiler option "-DPNGAPI=__stdcall", - * you may get warnings regarding the linkage of png_zalloc and png_zfree. - * Don't ignore those warnings; you must also reset the default calling - * convention in your compiler to match your PNGAPI, and you must build - * zlib and your applications the same way you build libpng. - */ - -#if defined(__MINGW32__) && !defined(PNG_MODULEDEF) -# ifndef PNG_NO_MODULEDEF -# define PNG_NO_MODULEDEF -# endif -#endif - -#if !defined(PNG_IMPEXP) && defined(PNG_BUILD_DLL) && !defined(PNG_NO_MODULEDEF) -# define PNG_IMPEXP -#endif - -#if defined(PNG_DLL) || defined(_DLL) || defined(__DLL__ ) || \ - (( defined(_Windows) || defined(_WINDOWS) || \ - defined(WIN32) || defined(_WIN32) || defined(__WIN32__) )) - -# ifndef PNGAPI -# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800)) -# define PNGAPI __cdecl -# else -# define PNGAPI _cdecl -# endif -# endif - -# if !defined(PNG_IMPEXP) && (!defined(PNG_DLL) || \ - 0 /* WINCOMPILER_WITH_NO_SUPPORT_FOR_DECLIMPEXP */) -# define PNG_IMPEXP -# endif - -# if !defined(PNG_IMPEXP) - -# define PNG_EXPORT_TYPE1(type,symbol) PNG_IMPEXP type PNGAPI symbol -# define PNG_EXPORT_TYPE2(type,symbol) type PNG_IMPEXP PNGAPI symbol - - /* Borland/Microsoft */ -# if defined(_MSC_VER) || defined(__BORLANDC__) -# if (_MSC_VER >= 800) || (__BORLANDC__ >= 0x500) -# define PNG_EXPORT PNG_EXPORT_TYPE1 -# else -# define PNG_EXPORT PNG_EXPORT_TYPE2 -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __export -# else -# define PNG_IMPEXP /*__import */ /* doesn't exist AFAIK in - VC++ */ -# endif /* Exists in Borland C++ for - C++ classes (== huge) */ -# endif -# endif - -# if !defined(PNG_IMPEXP) -# if defined(PNG_BUILD_DLL) -# define PNG_IMPEXP __declspec(dllexport) -# else -# define PNG_IMPEXP __declspec(dllimport) -# endif -# endif -# endif /* PNG_IMPEXP */ -#else /* !(DLL || non-cygwin WINDOWS) */ -# if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__) -# ifndef PNGAPI -# define PNGAPI _System -# endif -# else -# if 0 /* ... other platforms, with other meanings */ -# endif -# endif -#endif - -#ifndef PNGAPI -# define PNGAPI -#endif -#ifndef PNG_IMPEXP -# define PNG_IMPEXP -#endif - -#ifdef PNG_BUILDSYMS -# ifndef PNG_EXPORT -# define PNG_EXPORT(type,symbol) PNG_FUNCTION_EXPORT symbol END -# endif -# ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) PNG_DATA_EXPORT -# endif -# endif -#endif - -#ifndef PNG_EXPORT -# define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol -#endif - -#ifdef PNG_USE_GLOBAL_ARRAYS -# ifndef PNG_EXPORT_VAR -# define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type -# endif -#endif - -/* User may want to use these so they are not in PNG_INTERNAL. Any library - * functions that are passed far data must be model independent. - */ - -#ifndef PNG_ABORT -# define PNG_ABORT() abort() -#endif - -#ifdef PNG_SETJMP_SUPPORTED -# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) -#else -# define png_jmpbuf(png_ptr) \ - (LIBPNG_WAS_COMPILED_WITH__PNG_SETJMP_NOT_SUPPORTED) -#endif - -#if defined(USE_FAR_KEYWORD) /* memory model independent fns */ -/* use this to make far-to-near assignments */ -# define CHECK 1 -# define NOCHECK 0 -# define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) -# define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) -# define png_snprintf _fsnprintf /* Added to v 1.2.19 */ -# define png_strlen _fstrlen -# define png_memcmp _fmemcmp /* SJT: added */ -# define png_memcpy _fmemcpy -# define png_memset _fmemset -#else /* use the usual functions */ -# define CVT_PTR(ptr) (ptr) -# define CVT_PTR_NOCHECK(ptr) (ptr) -# ifndef PNG_NO_SNPRINTF -# ifdef _MSC_VER -# define png_snprintf _snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 _snprintf -# define png_snprintf6 _snprintf -# else -# define png_snprintf snprintf /* Added to v 1.2.19 */ -# define png_snprintf2 snprintf -# define png_snprintf6 snprintf -# endif -# else - /* You don't have or don't want to use snprintf(). Caution: Using - * sprintf instead of snprintf exposes your application to accidental - * or malevolent buffer overflows. If you don't have snprintf() - * as a general rule you should provide one (you can get one from - * Portable OpenSSH). */ -# define png_snprintf(s1,n,fmt,x1) sprintf(s1,fmt,x1) -# define png_snprintf2(s1,n,fmt,x1,x2) sprintf(s1,fmt,x1,x2) -# define png_snprintf6(s1,n,fmt,x1,x2,x3,x4,x5,x6) \ - sprintf(s1,fmt,x1,x2,x3,x4,x5,x6) -# endif -# define png_strlen strlen -# define png_memcmp memcmp /* SJT: added */ -# define png_memcpy memcpy -# define png_memset memset -#endif -/* End of memory model independent support */ - -/* Just a little check that someone hasn't tried to define something - * contradictory. - */ -#if (PNG_ZBUF_SIZE > 65536L) && defined(PNG_MAX_MALLOC_64K) -# undef PNG_ZBUF_SIZE -# define PNG_ZBUF_SIZE 65536L -#endif - -/* Added at libpng-1.2.8 */ -#endif /* PNG_VERSION_INFO_ONLY */ - -#endif /* PNGCONF_H */ diff --git a/extern/gnuwin32/include/tiff.h b/extern/gnuwin32/include/tiff.h deleted file mode 100644 index 6330795..0000000 --- a/extern/gnuwin32/include/tiff.h +++ /dev/null @@ -1,647 +0,0 @@ -/* $Id: tiff.h,v 1.42 2005/12/23 15:10:45 dron Exp $ */ - -/* - * Copyright (c) 1988-1997 Sam Leffler - * Copyright (c) 1991-1997 Silicon Graphics, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation for any purpose is hereby granted without fee, provided - * that (i) the above copyright notices and this permission notice appear in - * all copies of the software and related documentation, and (ii) the names of - * Sam Leffler and Silicon Graphics may not be used in any advertising or - * publicity relating to the software without the specific, prior written - * permission of Sam Leffler and Silicon Graphics. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR - * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#ifndef _TIFF_ -#define _TIFF_ - -#include "tiffconf.h" - -/* - * Tag Image File Format (TIFF) - * - * Based on Rev 6.0 from: - * Developer's Desk - * Aldus Corporation - * 411 First Ave. South - * Suite 200 - * Seattle, WA 98104 - * 206-622-5500 - * - * (http://partners.adobe.com/asn/developer/PDFS/TN/TIFF6.pdf) - * - * For Big TIFF design notes see the following link - * http://gdal.maptools.org/twiki/bin/view/libtiff/BigTIFFDesign - */ -#define TIFF_VERSION 42 -#define TIFF_BIGTIFF_VERSION 43 - -#define TIFF_BIGENDIAN 0x4d4d -#define TIFF_LITTLEENDIAN 0x4949 -#define MDI_LITTLEENDIAN 0x5045 -#define MDI_BIGENDIAN 0x4550 -/* - * Intrinsic data types required by the file format: - * - * 8-bit quantities int8/uint8 - * 16-bit quantities int16/uint16 - * 32-bit quantities int32/uint32 - * strings unsigned char* - */ - -#ifndef HAVE_INT8 -typedef signed char int8; /* NB: non-ANSI compilers may not grok */ -#endif -typedef unsigned char uint8; -#ifndef HAVE_INT16 -typedef short int16; -#endif -typedef unsigned short uint16; /* sizeof (uint16) must == 2 */ -#if SIZEOF_INT == 4 -#ifndef HAVE_INT32 -typedef int int32; -#endif -typedef unsigned int uint32; /* sizeof (uint32) must == 4 */ -#elif SIZEOF_LONG == 4 -#ifndef HAVE_INT32 -typedef long int32; -#endif -typedef unsigned long uint32; /* sizeof (uint32) must == 4 */ -#endif - -/* For TIFFReassignTagToIgnore */ -enum TIFFIgnoreSense /* IGNORE tag table */ -{ - TIS_STORE, - TIS_EXTRACT, - TIS_EMPTY -}; - -/* - * TIFF header. - */ -typedef struct { - uint16 tiff_magic; /* magic number (defines byte order) */ -#define TIFF_MAGIC_SIZE 2 - uint16 tiff_version; /* TIFF version number */ -#define TIFF_VERSION_SIZE 2 - uint32 tiff_diroff; /* byte offset to first directory */ -#define TIFF_DIROFFSET_SIZE 4 -} TIFFHeader; - - -/* - * TIFF Image File Directories are comprised of a table of field - * descriptors of the form shown below. The table is sorted in - * ascending order by tag. The values associated with each entry are - * disjoint and may appear anywhere in the file (so long as they are - * placed on a word boundary). - * - * If the value is 4 bytes or less, then it is placed in the offset - * field to save space. If the value is less than 4 bytes, it is - * left-justified in the offset field. - */ -typedef struct { - uint16 tdir_tag; /* see below */ - uint16 tdir_type; /* data type; see below */ - uint32 tdir_count; /* number of items; length in spec */ - uint32 tdir_offset; /* byte offset to field data */ -} TIFFDirEntry; - -/* - * NB: In the comments below, - * - items marked with a + are obsoleted by revision 5.0, - * - items marked with a ! are introduced in revision 6.0. - * - items marked with a % are introduced post revision 6.0. - * - items marked with a $ are obsoleted by revision 6.0. - * - items marked with a & are introduced by Adobe DNG specification. - */ - -/* - * Tag data type information. - * - * Note: RATIONALs are the ratio of two 32-bit integer values. - */ -typedef enum { - TIFF_NOTYPE = 0, /* placeholder */ - TIFF_BYTE = 1, /* 8-bit unsigned integer */ - TIFF_ASCII = 2, /* 8-bit bytes w/ last byte null */ - TIFF_SHORT = 3, /* 16-bit unsigned integer */ - TIFF_LONG = 4, /* 32-bit unsigned integer */ - TIFF_RATIONAL = 5, /* 64-bit unsigned fraction */ - TIFF_SBYTE = 6, /* !8-bit signed integer */ - TIFF_UNDEFINED = 7, /* !8-bit untyped data */ - TIFF_SSHORT = 8, /* !16-bit signed integer */ - TIFF_SLONG = 9, /* !32-bit signed integer */ - TIFF_SRATIONAL = 10, /* !64-bit signed fraction */ - TIFF_FLOAT = 11, /* !32-bit IEEE floating point */ - TIFF_DOUBLE = 12, /* !64-bit IEEE floating point */ - TIFF_IFD = 13 /* %32-bit unsigned integer (offset) */ -} TIFFDataType; - -/* - * TIFF Tag Definitions. - */ -#define TIFFTAG_SUBFILETYPE 254 /* subfile data descriptor */ -#define FILETYPE_REDUCEDIMAGE 0x1 /* reduced resolution version */ -#define FILETYPE_PAGE 0x2 /* one page of many */ -#define FILETYPE_MASK 0x4 /* transparency mask */ -#define TIFFTAG_OSUBFILETYPE 255 /* +kind of data in subfile */ -#define OFILETYPE_IMAGE 1 /* full resolution image data */ -#define OFILETYPE_REDUCEDIMAGE 2 /* reduced size image data */ -#define OFILETYPE_PAGE 3 /* one page of many */ -#define TIFFTAG_IMAGEWIDTH 256 /* image width in pixels */ -#define TIFFTAG_IMAGELENGTH 257 /* image height in pixels */ -#define TIFFTAG_BITSPERSAMPLE 258 /* bits per channel (sample) */ -#define TIFFTAG_COMPRESSION 259 /* data compression technique */ -#define COMPRESSION_NONE 1 /* dump mode */ -#define COMPRESSION_CCITTRLE 2 /* CCITT modified Huffman RLE */ -#define COMPRESSION_CCITTFAX3 3 /* CCITT Group 3 fax encoding */ -#define COMPRESSION_CCITT_T4 3 /* CCITT T.4 (TIFF 6 name) */ -#define COMPRESSION_CCITTFAX4 4 /* CCITT Group 4 fax encoding */ -#define COMPRESSION_CCITT_T6 4 /* CCITT T.6 (TIFF 6 name) */ -#define COMPRESSION_LZW 5 /* Lempel-Ziv & Welch */ -#define COMPRESSION_OJPEG 6 /* !6.0 JPEG */ -#define COMPRESSION_JPEG 7 /* %JPEG DCT compression */ -#define COMPRESSION_NEXT 32766 /* NeXT 2-bit RLE */ -#define COMPRESSION_CCITTRLEW 32771 /* #1 w/ word alignment */ -#define COMPRESSION_PACKBITS 32773 /* Macintosh RLE */ -#define COMPRESSION_THUNDERSCAN 32809 /* ThunderScan RLE */ -/* codes 32895-32898 are reserved for ANSI IT8 TIFF/IT */ -#define COMPRESSION_DCS 32947 /* Kodak DCS encoding */ -#define COMPRESSION_JBIG 34661 /* ISO JBIG */ -#define COMPRESSION_SGILOG 34676 /* SGI Log Luminance RLE */ -#define COMPRESSION_SGILOG24 34677 /* SGI Log 24-bit packed */ -#define COMPRESSION_JP2000 34712 /* Leadtools JPEG2000 */ -#define TIFFTAG_PHOTOMETRIC 262 /* photometric interpretation */ -#define PHOTOMETRIC_MINISWHITE 0 /* min value is white */ -#define PHOTOMETRIC_MINISBLACK 1 /* min value is black */ -#define PHOTOMETRIC_RGB 2 /* RGB color model */ -#define PHOTOMETRIC_PALETTE 3 /* color map indexed */ -#define PHOTOMETRIC_MASK 4 /* $holdout mask */ -#define PHOTOMETRIC_SEPARATED 5 /* !color separations */ -#define PHOTOMETRIC_YCBCR 6 /* !CCIR 601 */ -#define PHOTOMETRIC_CIELAB 8 /* !1976 CIE L*a*b* */ -#define PHOTOMETRIC_ICCLAB 9 /* ICC L*a*b* [Adobe TIFF Technote 4] */ -#define PHOTOMETRIC_ITULAB 10 /* ITU L*a*b* */ -#define PHOTOMETRIC_LOGL 32844 /* CIE Log2(L) */ -#define PHOTOMETRIC_LOGLUV 32845 /* CIE Log2(L) (u',v') */ -#define TIFFTAG_THRESHHOLDING 263 /* +thresholding used on data */ -#define THRESHHOLD_BILEVEL 1 /* b&w art scan */ -#define THRESHHOLD_HALFTONE 2 /* or dithered scan */ -#define THRESHHOLD_ERRORDIFFUSE 3 /* usually floyd-steinberg */ -#define TIFFTAG_CELLWIDTH 264 /* +dithering matrix width */ -#define TIFFTAG_CELLLENGTH 265 /* +dithering matrix height */ -#define TIFFTAG_FILLORDER 266 /* data order within a byte */ -#define FILLORDER_MSB2LSB 1 /* most significant -> least */ -#define FILLORDER_LSB2MSB 2 /* least significant -> most */ -#define TIFFTAG_DOCUMENTNAME 269 /* name of doc. image is from */ -#define TIFFTAG_IMAGEDESCRIPTION 270 /* info about image */ -#define TIFFTAG_MAKE 271 /* scanner manufacturer name */ -#define TIFFTAG_MODEL 272 /* scanner model name/number */ -#define TIFFTAG_STRIPOFFSETS 273 /* offsets to data strips */ -#define TIFFTAG_ORIENTATION 274 /* +image orientation */ -#define ORIENTATION_TOPLEFT 1 /* row 0 top, col 0 lhs */ -#define ORIENTATION_TOPRIGHT 2 /* row 0 top, col 0 rhs */ -#define ORIENTATION_BOTRIGHT 3 /* row 0 bottom, col 0 rhs */ -#define ORIENTATION_BOTLEFT 4 /* row 0 bottom, col 0 lhs */ -#define ORIENTATION_LEFTTOP 5 /* row 0 lhs, col 0 top */ -#define ORIENTATION_RIGHTTOP 6 /* row 0 rhs, col 0 top */ -#define ORIENTATION_RIGHTBOT 7 /* row 0 rhs, col 0 bottom */ -#define ORIENTATION_LEFTBOT 8 /* row 0 lhs, col 0 bottom */ -#define TIFFTAG_SAMPLESPERPIXEL 277 /* samples per pixel */ -#define TIFFTAG_ROWSPERSTRIP 278 /* rows per strip of data */ -#define TIFFTAG_STRIPBYTECOUNTS 279 /* bytes counts for strips */ -#define TIFFTAG_MINSAMPLEVALUE 280 /* +minimum sample value */ -#define TIFFTAG_MAXSAMPLEVALUE 281 /* +maximum sample value */ -#define TIFFTAG_XRESOLUTION 282 /* pixels/resolution in x */ -#define TIFFTAG_YRESOLUTION 283 /* pixels/resolution in y */ -#define TIFFTAG_PLANARCONFIG 284 /* storage organization */ -#define PLANARCONFIG_CONTIG 1 /* single image plane */ -#define PLANARCONFIG_SEPARATE 2 /* separate planes of data */ -#define TIFFTAG_PAGENAME 285 /* page name image is from */ -#define TIFFTAG_XPOSITION 286 /* x page offset of image lhs */ -#define TIFFTAG_YPOSITION 287 /* y page offset of image lhs */ -#define TIFFTAG_FREEOFFSETS 288 /* +byte offset to free block */ -#define TIFFTAG_FREEBYTECOUNTS 289 /* +sizes of free blocks */ -#define TIFFTAG_GRAYRESPONSEUNIT 290 /* $gray scale curve accuracy */ -#define GRAYRESPONSEUNIT_10S 1 /* tenths of a unit */ -#define GRAYRESPONSEUNIT_100S 2 /* hundredths of a unit */ -#define GRAYRESPONSEUNIT_1000S 3 /* thousandths of a unit */ -#define GRAYRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ -#define GRAYRESPONSEUNIT_100000S 5 /* hundred-thousandths */ -#define TIFFTAG_GRAYRESPONSECURVE 291 /* $gray scale response curve */ -#define TIFFTAG_GROUP3OPTIONS 292 /* 32 flag bits */ -#define TIFFTAG_T4OPTIONS 292 /* TIFF 6.0 proper name alias */ -#define GROUP3OPT_2DENCODING 0x1 /* 2-dimensional coding */ -#define GROUP3OPT_UNCOMPRESSED 0x2 /* data not compressed */ -#define GROUP3OPT_FILLBITS 0x4 /* fill to byte boundary */ -#define TIFFTAG_GROUP4OPTIONS 293 /* 32 flag bits */ -#define TIFFTAG_T6OPTIONS 293 /* TIFF 6.0 proper name */ -#define GROUP4OPT_UNCOMPRESSED 0x2 /* data not compressed */ -#define TIFFTAG_RESOLUTIONUNIT 296 /* units of resolutions */ -#define RESUNIT_NONE 1 /* no meaningful units */ -#define RESUNIT_INCH 2 /* english */ -#define RESUNIT_CENTIMETER 3 /* metric */ -#define TIFFTAG_PAGENUMBER 297 /* page numbers of multi-page */ -#define TIFFTAG_COLORRESPONSEUNIT 300 /* $color curve accuracy */ -#define COLORRESPONSEUNIT_10S 1 /* tenths of a unit */ -#define COLORRESPONSEUNIT_100S 2 /* hundredths of a unit */ -#define COLORRESPONSEUNIT_1000S 3 /* thousandths of a unit */ -#define COLORRESPONSEUNIT_10000S 4 /* ten-thousandths of a unit */ -#define COLORRESPONSEUNIT_100000S 5 /* hundred-thousandths */ -#define TIFFTAG_TRANSFERFUNCTION 301 /* !colorimetry info */ -#define TIFFTAG_SOFTWARE 305 /* name & release */ -#define TIFFTAG_DATETIME 306 /* creation date and time */ -#define TIFFTAG_ARTIST 315 /* creator of image */ -#define TIFFTAG_HOSTCOMPUTER 316 /* machine where created */ -#define TIFFTAG_PREDICTOR 317 /* prediction scheme w/ LZW */ -#define PREDICTOR_NONE 1 /* no prediction scheme used */ -#define PREDICTOR_HORIZONTAL 2 /* horizontal differencing */ -#define PREDICTOR_FLOATINGPOINT 3 /* floating point predictor */ -#define TIFFTAG_WHITEPOINT 318 /* image white point */ -#define TIFFTAG_PRIMARYCHROMATICITIES 319 /* !primary chromaticities */ -#define TIFFTAG_COLORMAP 320 /* RGB map for pallette image */ -#define TIFFTAG_HALFTONEHINTS 321 /* !highlight+shadow info */ -#define TIFFTAG_TILEWIDTH 322 /* !tile width in pixels */ -#define TIFFTAG_TILELENGTH 323 /* !tile height in pixels */ -#define TIFFTAG_TILEOFFSETS 324 /* !offsets to data tiles */ -#define TIFFTAG_TILEBYTECOUNTS 325 /* !byte counts for tiles */ -#define TIFFTAG_BADFAXLINES 326 /* lines w/ wrong pixel count */ -#define TIFFTAG_CLEANFAXDATA 327 /* regenerated line info */ -#define CLEANFAXDATA_CLEAN 0 /* no errors detected */ -#define CLEANFAXDATA_REGENERATED 1 /* receiver regenerated lines */ -#define CLEANFAXDATA_UNCLEAN 2 /* uncorrected errors exist */ -#define TIFFTAG_CONSECUTIVEBADFAXLINES 328 /* max consecutive bad lines */ -#define TIFFTAG_SUBIFD 330 /* subimage descriptors */ -#define TIFFTAG_INKSET 332 /* !inks in separated image */ -#define INKSET_CMYK 1 /* !cyan-magenta-yellow-black color */ -#define INKSET_MULTIINK 2 /* !multi-ink or hi-fi color */ -#define TIFFTAG_INKNAMES 333 /* !ascii names of inks */ -#define TIFFTAG_NUMBEROFINKS 334 /* !number of inks */ -#define TIFFTAG_DOTRANGE 336 /* !0% and 100% dot codes */ -#define TIFFTAG_TARGETPRINTER 337 /* !separation target */ -#define TIFFTAG_EXTRASAMPLES 338 /* !info about extra samples */ -#define EXTRASAMPLE_UNSPECIFIED 0 /* !unspecified data */ -#define EXTRASAMPLE_ASSOCALPHA 1 /* !associated alpha data */ -#define EXTRASAMPLE_UNASSALPHA 2 /* !unassociated alpha data */ -#define TIFFTAG_SAMPLEFORMAT 339 /* !data sample format */ -#define SAMPLEFORMAT_UINT 1 /* !unsigned integer data */ -#define SAMPLEFORMAT_INT 2 /* !signed integer data */ -#define SAMPLEFORMAT_IEEEFP 3 /* !IEEE floating point data */ -#define SAMPLEFORMAT_VOID 4 /* !untyped data */ -#define SAMPLEFORMAT_COMPLEXINT 5 /* !complex signed int */ -#define SAMPLEFORMAT_COMPLEXIEEEFP 6 /* !complex ieee floating */ -#define TIFFTAG_SMINSAMPLEVALUE 340 /* !variable MinSampleValue */ -#define TIFFTAG_SMAXSAMPLEVALUE 341 /* !variable MaxSampleValue */ -#define TIFFTAG_CLIPPATH 343 /* %ClipPath - [Adobe TIFF technote 2] */ -#define TIFFTAG_XCLIPPATHUNITS 344 /* %XClipPathUnits - [Adobe TIFF technote 2] */ -#define TIFFTAG_YCLIPPATHUNITS 345 /* %YClipPathUnits - [Adobe TIFF technote 2] */ -#define TIFFTAG_INDEXED 346 /* %Indexed - [Adobe TIFF Technote 3] */ -#define TIFFTAG_JPEGTABLES 347 /* %JPEG table stream */ -#define TIFFTAG_OPIPROXY 351 /* %OPI Proxy [Adobe TIFF technote] */ -/* - * Tags 512-521 are obsoleted by Technical Note #2 which specifies a - * revised JPEG-in-TIFF scheme. - */ -#define TIFFTAG_JPEGPROC 512 /* !JPEG processing algorithm */ -#define JPEGPROC_BASELINE 1 /* !baseline sequential */ -#define JPEGPROC_LOSSLESS 14 /* !Huffman coded lossless */ -#define TIFFTAG_JPEGIFOFFSET 513 /* !pointer to SOI marker */ -#define TIFFTAG_JPEGIFBYTECOUNT 514 /* !JFIF stream length */ -#define TIFFTAG_JPEGRESTARTINTERVAL 515 /* !restart interval length */ -#define TIFFTAG_JPEGLOSSLESSPREDICTORS 517 /* !lossless proc predictor */ -#define TIFFTAG_JPEGPOINTTRANSFORM 518 /* !lossless point transform */ -#define TIFFTAG_JPEGQTABLES 519 /* !Q matrice offsets */ -#define TIFFTAG_JPEGDCTABLES 520 /* !DCT table offsets */ -#define TIFFTAG_JPEGACTABLES 521 /* !AC coefficient offsets */ -#define TIFFTAG_YCBCRCOEFFICIENTS 529 /* !RGB -> YCbCr transform */ -#define TIFFTAG_YCBCRSUBSAMPLING 530 /* !YCbCr subsampling factors */ -#define TIFFTAG_YCBCRPOSITIONING 531 /* !subsample positioning */ -#define YCBCRPOSITION_CENTERED 1 /* !as in PostScript Level 2 */ -#define YCBCRPOSITION_COSITED 2 /* !as in CCIR 601-1 */ -#define TIFFTAG_REFERENCEBLACKWHITE 532 /* !colorimetry info */ -#define TIFFTAG_XMLPACKET 700 /* %XML packet - [Adobe XMP Specification, - January 2004 */ -#define TIFFTAG_OPIIMAGEID 32781 /* %OPI ImageID - [Adobe TIFF technote] */ -/* tags 32952-32956 are private tags registered to Island Graphics */ -#define TIFFTAG_REFPTS 32953 /* image reference points */ -#define TIFFTAG_REGIONTACKPOINT 32954 /* region-xform tack point */ -#define TIFFTAG_REGIONWARPCORNERS 32955 /* warp quadrilateral */ -#define TIFFTAG_REGIONAFFINE 32956 /* affine transformation mat */ -/* tags 32995-32999 are private tags registered to SGI */ -#define TIFFTAG_MATTEING 32995 /* $use ExtraSamples */ -#define TIFFTAG_DATATYPE 32996 /* $use SampleFormat */ -#define TIFFTAG_IMAGEDEPTH 32997 /* z depth of image */ -#define TIFFTAG_TILEDEPTH 32998 /* z depth/data tile */ -/* tags 33300-33309 are private tags registered to Pixar */ -/* - * TIFFTAG_PIXAR_IMAGEFULLWIDTH and TIFFTAG_PIXAR_IMAGEFULLLENGTH - * are set when an image has been cropped out of a larger image. - * They reflect the size of the original uncropped image. - * The TIFFTAG_XPOSITION and TIFFTAG_YPOSITION can be used - * to determine the position of the smaller image in the larger one. - */ -#define TIFFTAG_PIXAR_IMAGEFULLWIDTH 33300 /* full image size in x */ -#define TIFFTAG_PIXAR_IMAGEFULLLENGTH 33301 /* full image size in y */ - /* Tags 33302-33306 are used to identify special image modes and data - * used by Pixar's texture formats. - */ -#define TIFFTAG_PIXAR_TEXTUREFORMAT 33302 /* texture map format */ -#define TIFFTAG_PIXAR_WRAPMODES 33303 /* s & t wrap modes */ -#define TIFFTAG_PIXAR_FOVCOT 33304 /* cotan(fov) for env. maps */ -#define TIFFTAG_PIXAR_MATRIX_WORLDTOSCREEN 33305 -#define TIFFTAG_PIXAR_MATRIX_WORLDTOCAMERA 33306 -/* tag 33405 is a private tag registered to Eastman Kodak */ -#define TIFFTAG_WRITERSERIALNUMBER 33405 /* device serial number */ -/* tag 33432 is listed in the 6.0 spec w/ unknown ownership */ -#define TIFFTAG_COPYRIGHT 33432 /* copyright string */ -/* IPTC TAG from RichTIFF specifications */ -#define TIFFTAG_RICHTIFFIPTC 33723 -/* 34016-34029 are reserved for ANSI IT8 TIFF/IT */ -#define TIFFTAG_STONITS 37439 /* Sample value to Nits */ -/* tag 34929 is a private tag registered to FedEx */ -#define TIFFTAG_FEDEX_EDR 34929 /* unknown use */ -#define TIFFTAG_INTEROPERABILITYIFD 40965 /* Pointer to Interoperability private directory */ -/* Adobe Digital Negative (DNG) format tags */ -#define TIFFTAG_DNGVERSION 50706 /* &DNG version number */ -#define TIFFTAG_DNGBACKWARDVERSION 50707 /* &DNG compatibility version */ -#define TIFFTAG_UNIQUECAMERAMODEL 50708 /* &name for the camera model */ -#define TIFFTAG_LOCALIZEDCAMERAMODEL 50709 /* &localized camera model - name */ -#define TIFFTAG_CFAPLANECOLOR 50710 /* &CFAPattern->LinearRaw space - mapping */ -#define TIFFTAG_CFALAYOUT 50711 /* &spatial layout of the CFA */ -#define TIFFTAG_LINEARIZATIONTABLE 50712 /* &lookup table description */ -#define TIFFTAG_BLACKLEVELREPEATDIM 50713 /* &repeat pattern size for - the BlackLevel tag */ -#define TIFFTAG_BLACKLEVEL 50714 /* &zero light encoding level */ -#define TIFFTAG_BLACKLEVELDELTAH 50715 /* &zero light encoding level - differences (columns) */ -#define TIFFTAG_BLACKLEVELDELTAV 50716 /* &zero light encoding level - differences (rows) */ -#define TIFFTAG_WHITELEVEL 50717 /* &fully saturated encoding - level */ -#define TIFFTAG_DEFAULTSCALE 50718 /* &default scale factors */ -#define TIFFTAG_DEFAULTCROPORIGIN 50719 /* &origin of the final image - area */ -#define TIFFTAG_DEFAULTCROPSIZE 50720 /* &size of the final image - area */ -#define TIFFTAG_COLORMATRIX1 50721 /* &XYZ->reference color space - transformation matrix 1 */ -#define TIFFTAG_COLORMATRIX2 50722 /* &XYZ->reference color space - transformation matrix 2 */ -#define TIFFTAG_CAMERACALIBRATION1 50723 /* &calibration matrix 1 */ -#define TIFFTAG_CAMERACALIBRATION2 50724 /* &calibration matrix 2 */ -#define TIFFTAG_REDUCTIONMATRIX1 50725 /* &dimensionality reduction - matrix 1 */ -#define TIFFTAG_REDUCTIONMATRIX2 50726 /* &dimensionality reduction - matrix 2 */ -#define TIFFTAG_ANALOGBALANCE 50727 /* &gain applied the stored raw - values*/ -#define TIFFTAG_ASSHOTNEUTRAL 50728 /* &selected white balance in - linear reference space */ -#define TIFFTAG_ASSHOTWHITEXY 50729 /* &selected white balance in - x-y chromaticity - coordinates */ -#define TIFFTAG_BASELINEEXPOSURE 50730 /* &how much to move the zero - point */ -#define TIFFTAG_BASELINENOISE 50731 /* &relative noise level */ -#define TIFFTAG_BASELINESHARPNESS 50732 /* &relative amount of - sharpening */ -#define TIFFTAG_BAYERGREENSPLIT 50733 /* &how closely the values of - the green pixels in the - blue/green rows track the - values of the green pixels - in the red/green rows */ -#define TIFFTAG_LINEARRESPONSELIMIT 50734 /* &non-linear encoding range */ -#define TIFFTAG_CAMERASERIALNUMBER 50735 /* &camera's serial number */ -#define TIFFTAG_LENSINFO 50736 /* info about the lens */ -#define TIFFTAG_CHROMABLURRADIUS 50737 /* &chroma blur radius */ -#define TIFFTAG_ANTIALIASSTRENGTH 50738 /* &relative strength of the - camera's anti-alias filter */ -#define TIFFTAG_SHADOWSCALE 50739 /* &used by Adobe Camera Raw */ -#define TIFFTAG_DNGPRIVATEDATA 50740 /* &manufacturer's private data */ -#define TIFFTAG_MAKERNOTESAFETY 50741 /* &whether the EXIF MakerNote - tag is safe to preserve - along with the rest of the - EXIF data */ -#define TIFFTAG_CALIBRATIONILLUMINANT1 50778 /* &illuminant 1 */ -#define TIFFTAG_CALIBRATIONILLUMINANT2 50779 /* &illuminant 2 */ -#define TIFFTAG_BESTQUALITYSCALE 50780 /* &best quality multiplier */ -#define TIFFTAG_RAWDATAUNIQUEID 50781 /* &unique identifier for - the raw image data */ -#define TIFFTAG_ORIGINALRAWFILENAME 50827 /* &file name of the original - raw file */ -#define TIFFTAG_ORIGINALRAWFILEDATA 50828 /* &contents of the original - raw file */ -#define TIFFTAG_ACTIVEAREA 50829 /* &active (non-masked) pixels - of the sensor */ -#define TIFFTAG_MASKEDAREAS 50830 /* &list of coordinates - of fully masked pixels */ -#define TIFFTAG_ASSHOTICCPROFILE 50831 /* &these two tags used to */ -#define TIFFTAG_ASSHOTPREPROFILEMATRIX 50832 /* map cameras's color space - into ICC profile space */ -#define TIFFTAG_CURRENTICCPROFILE 50833 /* & */ -#define TIFFTAG_CURRENTPREPROFILEMATRIX 50834 /* & */ -/* tag 65535 is an undefined tag used by Eastman Kodak */ -#define TIFFTAG_DCSHUESHIFTVALUES 65535 /* hue shift correction data */ - -/* - * The following are ``pseudo tags'' that can be used to control - * codec-specific functionality. These tags are not written to file. - * Note that these values start at 0xffff+1 so that they'll never - * collide with Aldus-assigned tags. - * - * If you want your private pseudo tags ``registered'' (i.e. added to - * this file), please post a bug report via the tracking system at - * http://www.remotesensing.org/libtiff/bugs.html with the appropriate - * C definitions to add. - */ -#define TIFFTAG_FAXMODE 65536 /* Group 3/4 format control */ -#define FAXMODE_CLASSIC 0x0000 /* default, include RTC */ -#define FAXMODE_NORTC 0x0001 /* no RTC at end of data */ -#define FAXMODE_NOEOL 0x0002 /* no EOL code at end of row */ -#define FAXMODE_BYTEALIGN 0x0004 /* byte align row */ -#define FAXMODE_WORDALIGN 0x0008 /* word align row */ -#define FAXMODE_CLASSF FAXMODE_NORTC /* TIFF Class F */ -#define TIFFTAG_JPEGQUALITY 65537 /* Compression quality level */ -/* Note: quality level is on the IJG 0-100 scale. Default value is 75 */ -#define TIFFTAG_JPEGCOLORMODE 65538 /* Auto RGB<=>YCbCr convert? */ -#define JPEGCOLORMODE_RAW 0x0000 /* no conversion (default) */ -#define JPEGCOLORMODE_RGB 0x0001 /* do auto conversion */ -#define TIFFTAG_JPEGTABLESMODE 65539 /* What to put in JPEGTables */ -#define JPEGTABLESMODE_QUANT 0x0001 /* include quantization tbls */ -#define JPEGTABLESMODE_HUFF 0x0002 /* include Huffman tbls */ -/* Note: default is JPEGTABLESMODE_QUANT | JPEGTABLESMODE_HUFF */ -#define TIFFTAG_FAXFILLFUNC 65540 /* G3/G4 fill function */ -#define TIFFTAG_PIXARLOGDATAFMT 65549 /* PixarLogCodec I/O data sz */ -#define PIXARLOGDATAFMT_8BIT 0 /* regular u_char samples */ -#define PIXARLOGDATAFMT_8BITABGR 1 /* ABGR-order u_chars */ -#define PIXARLOGDATAFMT_11BITLOG 2 /* 11-bit log-encoded (raw) */ -#define PIXARLOGDATAFMT_12BITPICIO 3 /* as per PICIO (1.0==2048) */ -#define PIXARLOGDATAFMT_16BIT 4 /* signed short samples */ -#define PIXARLOGDATAFMT_FLOAT 5 /* IEEE float samples */ -/* 65550-65556 are allocated to Oceana Matrix */ -#define TIFFTAG_DCSIMAGERTYPE 65550 /* imager model & filter */ -#define DCSIMAGERMODEL_M3 0 /* M3 chip (1280 x 1024) */ -#define DCSIMAGERMODEL_M5 1 /* M5 chip (1536 x 1024) */ -#define DCSIMAGERMODEL_M6 2 /* M6 chip (3072 x 2048) */ -#define DCSIMAGERFILTER_IR 0 /* infrared filter */ -#define DCSIMAGERFILTER_MONO 1 /* monochrome filter */ -#define DCSIMAGERFILTER_CFA 2 /* color filter array */ -#define DCSIMAGERFILTER_OTHER 3 /* other filter */ -#define TIFFTAG_DCSINTERPMODE 65551 /* interpolation mode */ -#define DCSINTERPMODE_NORMAL 0x0 /* whole image, default */ -#define DCSINTERPMODE_PREVIEW 0x1 /* preview of image (384x256) */ -#define TIFFTAG_DCSBALANCEARRAY 65552 /* color balance values */ -#define TIFFTAG_DCSCORRECTMATRIX 65553 /* color correction values */ -#define TIFFTAG_DCSGAMMA 65554 /* gamma value */ -#define TIFFTAG_DCSTOESHOULDERPTS 65555 /* toe & shoulder points */ -#define TIFFTAG_DCSCALIBRATIONFD 65556 /* calibration file desc */ -/* Note: quality level is on the ZLIB 1-9 scale. Default value is -1 */ -#define TIFFTAG_ZIPQUALITY 65557 /* compression quality level */ -#define TIFFTAG_PIXARLOGQUALITY 65558 /* PixarLog uses same scale */ -/* 65559 is allocated to Oceana Matrix */ -#define TIFFTAG_DCSCLIPRECTANGLE 65559 /* area of image to acquire */ -#define TIFFTAG_SGILOGDATAFMT 65560 /* SGILog user data format */ -#define SGILOGDATAFMT_FLOAT 0 /* IEEE float samples */ -#define SGILOGDATAFMT_16BIT 1 /* 16-bit samples */ -#define SGILOGDATAFMT_RAW 2 /* uninterpreted data */ -#define SGILOGDATAFMT_8BIT 3 /* 8-bit RGB monitor values */ -#define TIFFTAG_SGILOGENCODE 65561 /* SGILog data encoding control*/ -#define SGILOGENCODE_NODITHER 0 /* do not dither encoded values*/ -#define SGILOGENCODE_RANDITHER 1 /* randomly dither encd values */ - -/* - * EXIF tags - */ -#define EXIFTAG_EXPOSURETIME 33434 /* Exposure time */ -#define EXIFTAG_FNUMBER 33437 /* F number */ -#define EXIFTAG_EXPOSUREPROGRAM 34850 /* Exposure program */ -#define EXIFTAG_SPECTRALSENSITIVITY 34852 /* Spectral sensitivity */ -#define EXIFTAG_ISOSPEEDRATINGS 34855 /* ISO speed rating */ -#define EXIFTAG_OECF 34856 /* Optoelectric conversion - factor */ -#define EXIFTAG_EXIFVERSION 36864 /* Exif version */ -#define EXIFTAG_DATETIMEORIGINAL 36867 /* Date and time of original - data generation */ -#define EXIFTAG_DATETIMEDIGITIZED 36868 /* Date and time of digital - data generation */ -#define EXIFTAG_COMPONENTSCONFIGURATION 37121 /* Meaning of each component */ -#define EXIFTAG_COMPRESSEDBITSPERPIXEL 37122 /* Image compression mode */ -#define EXIFTAG_SHUTTERSPEEDVALUE 37377 /* Shutter speed */ -#define EXIFTAG_APERTUREVALUE 37378 /* Aperture */ -#define EXIFTAG_BRIGHTNESSVALUE 37379 /* Brightness */ -#define EXIFTAG_EXPOSUREBIASVALUE 37380 /* Exposure bias */ -#define EXIFTAG_MAXAPERTUREVALUE 37381 /* Maximum lens aperture */ -#define EXIFTAG_SUBJECTDISTANCE 37382 /* Subject distance */ -#define EXIFTAG_METERINGMODE 37383 /* Metering mode */ -#define EXIFTAG_LIGHTSOURCE 37384 /* Light source */ -#define EXIFTAG_FLASH 37385 /* Flash */ -#define EXIFTAG_FOCALLENGTH 37386 /* Lens focal length */ -#define EXIFTAG_SUBJECTAREA 37396 /* Subject area */ -#define EXIFTAG_MAKERNOTE 37500 /* Manufacturer notes */ -#define EXIFTAG_USERCOMMENT 37510 /* User comments */ -#define EXIFTAG_SUBSECTIME 37520 /* DateTime subseconds */ -#define EXIFTAG_SUBSECTIMEORIGINAL 37521 /* DateTimeOriginal subseconds */ -#define EXIFTAG_SUBSECTIMEDIGITIZED 37522 /* DateTimeDigitized subseconds */ -#define EXIFTAG_FLASHPIXVERSION 40960 /* Supported Flashpix version */ -#define EXIFTAG_COLORSPACE 40961 /* Color space information */ -#define EXIFTAG_PIXELXDIMENSION 40962 /* Valid image width */ -#define EXIFTAG_PIXELYDIMENSION 40963 /* Valid image height */ -#define EXIFTAG_RELATEDSOUNDFILE 40964 /* Related audio file */ -#define EXIFTAG_FLASHENERGY 41483 /* Flash energy */ -#define EXIFTAG_SPATIALFREQUENCYRESPONSE 41484 /* Spatial frequency response */ -#define EXIFTAG_FOCALPLANEXRESOLUTION 41486 /* Focal plane X resolution */ -#define EXIFTAG_FOCALPLANEYRESOLUTION 41487 /* Focal plane Y resolution */ -#define EXIFTAG_FOCALPLANERESOLUTIONUNIT 41488 /* Focal plane resolution unit */ -#define EXIFTAG_SUBJECTLOCATION 41492 /* Subject location */ -#define EXIFTAG_EXPOSUREINDEX 41493 /* Exposure index */ -#define EXIFTAG_SENSINGMETHOD 41495 /* Sensing method */ -#define EXIFTAG_FILESOURCE 41728 /* File source */ -#define EXIFTAG_SCENETYPE 41729 /* Scene type */ -#define EXIFTAG_CFAPATTERN 41730 /* CFA pattern */ -#define EXIFTAG_CUSTOMRENDERED 41985 /* Custom image processing */ -#define EXIFTAG_EXPOSUREMODE 41986 /* Exposure mode */ -#define EXIFTAG_WHITEBALANCE 41987 /* White balance */ -#define EXIFTAG_DIGITALZOOMRATIO 41988 /* Digital zoom ratio */ -#define EXIFTAG_FOCALLENGTHIN35MMFILM 41989 /* Focal length in 35 mm film */ -#define EXIFTAG_SCENECAPTURETYPE 41990 /* Scene capture type */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_CONTRAST 41992 /* Contrast */ -#define EXIFTAG_SATURATION 41993 /* Saturation */ -#define EXIFTAG_SHARPNESS 41994 /* Sharpness */ -#define EXIFTAG_DEVICESETTINGDESCRIPTION 41995 /* Device settings description */ -#define EXIFTAG_SUBJECTDISTANCERANGE 41996 /* Subject distance range */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_GAINCONTROL 41991 /* Gain control */ -#define EXIFTAG_IMAGEUNIQUEID 42016 /* Unique image ID */ - -#endif /* _TIFF_ */ - -/* vim: set ts=8 sts=8 sw=8 noet: */ diff --git a/extern/gnuwin32/include/tiffconf.h b/extern/gnuwin32/include/tiffconf.h deleted file mode 100644 index bf88938..0000000 --- a/extern/gnuwin32/include/tiffconf.h +++ /dev/null @@ -1,101 +0,0 @@ -/* libtiff/tiffconf.h. Generated by configure. */ -/* - Configuration defines for installed libtiff. - This file maintained for backward compatibility. Do not use definitions - from this file in your programs. -*/ - -#ifndef _TIFFCONF_ -#define _TIFFCONF_ - -/* Define to 1 if the system has the type `int16'. */ -/* #undef HAVE_INT16 */ - -/* Define to 1 if the system has the type `int32'. */ -/* #undef HAVE_INT32 */ - -/* Define to 1 if the system has the type `int8'. */ -/* #undef HAVE_INT8 */ - -/* The size of a `int', as computed by sizeof. */ -#define SIZEOF_INT 4 - -/* The size of a `long', as computed by sizeof. */ -#define SIZEOF_LONG 4 - -/* Compatibility stuff. */ - -/* Define as 0 or 1 according to the floating point format suported by the - machine */ -#define HAVE_IEEEFP 1 - -/* Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB) */ -#define HOST_FILLORDER FILLORDER_LSB2MSB - -/* Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian - (Intel) */ -#define HOST_BIGENDIAN 0 - -/* Support CCITT Group 3 & 4 algorithms */ -#define CCITT_SUPPORT 1 - -/* Support JPEG compression (requires IJG JPEG library) */ -#define JPEG_SUPPORT 1 - -/* Support LogLuv high dynamic range encoding */ -#define LOGLUV_SUPPORT 1 - -/* Support LZW algorithm */ -#define LZW_SUPPORT 1 - -/* Support NeXT 2-bit RLE algorithm */ -#define NEXT_SUPPORT 1 - -/* Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation - fails with unpatched IJG JPEG library) */ -/* #undef OJPEG_SUPPORT */ - -/* Support Macintosh PackBits algorithm */ -#define PACKBITS_SUPPORT 1 - -/* Support Pixar log-format algorithm (requires Zlib) */ -#define PIXARLOG_SUPPORT 1 - -/* Support ThunderScan 4-bit RLE algorithm */ -#define THUNDER_SUPPORT 1 - -/* Support Deflate compression */ -#define ZIP_SUPPORT 1 - -/* Support strip chopping (whether or not to convert single-strip uncompressed - images to mutiple strips of ~8Kb to reduce memory usage) */ -#define STRIPCHOP_DEFAULT TIFF_STRIPCHOP - -/* Enable SubIFD tag (330) support */ -#define SUBIFD_SUPPORT 1 - -/* Treat extra sample as alpha (default enabled). The RGBA interface will - treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many - packages produce RGBA files but don't mark the alpha properly. */ -#define DEFAULT_EXTRASAMPLE_AS_ALPHA 1 - -/* Pick up YCbCr subsampling info from the JPEG data stream to support files - lacking the tag (default enabled). */ -#define CHECK_JPEG_YCBCR_SUBSAMPLING 1 - -/* Support MS MDI magic number files as TIFF */ -#define MDI_SUPPORT 1 - -/* - * Feature support definitions. - * XXX: These macros are obsoleted. Don't use them in your apps! - * Macros stays here for backward compatibility and should be always defined. - */ -#define COLORIMETRY_SUPPORT -#define YCBCR_SUPPORT -#define CMYK_SUPPORT -#define ICC_SUPPORT -#define PHOTOSHOP_SUPPORT -#define IPTC_SUPPORT - -#endif /* _TIFFCONF_ */ diff --git a/extern/gnuwin32/include/tiffio.h b/extern/gnuwin32/include/tiffio.h deleted file mode 100644 index 52654b5..0000000 --- a/extern/gnuwin32/include/tiffio.h +++ /dev/null @@ -1,549 +0,0 @@ -/* $Id: tiffio.h,v 1.50 2006/03/21 16:37:51 dron Exp $ */ - -/* - * Copyright (c) 1988-1997 Sam Leffler - * Copyright (c) 1991-1997 Silicon Graphics, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and - * its documentation for any purpose is hereby granted without fee, provided - * that (i) the above copyright notices and this permission notice appear in - * all copies of the software and related documentation, and (ii) the names of - * Sam Leffler and Silicon Graphics may not be used in any advertising or - * publicity relating to the software without the specific, prior written - * permission of Sam Leffler and Silicon Graphics. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR - * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - */ - -#ifndef _TIFFIO_ -#define _TIFFIO_ - -#ifndef __GNUC__ -# define __DLL_IMPORT__ __declspec(dllimport) -# define __DLL_EXPORT__ __declspec(dllexport) -#else -# define __DLL_IMPORT__ __attribute__((dllimport)) extern -# define __DLL_EXPORT__ __attribute__((dllexport)) extern -#endif - -#if (defined __WIN32__) || (defined _WIN32) -# ifdef BUILD_LIBTIFF_DLL -# define LIBTIFF_DLL_IMPEXP __DLL_EXPORT__ -# elif defined(LIBTIFF_STATIC) -# define LIBTIFF_DLL_IMPEXP -# elif defined (USE_LIBTIFF_DLL) -# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__ -# elif defined (USE_LIBTIFF_STATIC) -# define LIBTIFF_DLL_IMPEXP -# else /* assume USE_LIBTIFF_DLL */ -# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__ -# endif -#else /* __WIN32__ */ -# define LIBTIFF_DLL_IMPEXP -#endif - -/* - * TIFF I/O Library Definitions. - */ -#include "tiff.h" -#include "tiffvers.h" - -/* - * TIFF is defined as an incomplete type to hide the - * library's internal data structures from clients. - */ -typedef struct tiff TIFF; - -/* - * The following typedefs define the intrinsic size of - * data types used in the *exported* interfaces. These - * definitions depend on the proper definition of types - * in tiff.h. Note also that the varargs interface used - * to pass tag types and values uses the types defined in - * tiff.h directly. - * - * NB: ttag_t is unsigned int and not unsigned short because - * ANSI C requires that the type before the ellipsis be a - * promoted type (i.e. one of int, unsigned int, pointer, - * or double) and because we defined pseudo-tags that are - * outside the range of legal Aldus-assigned tags. - * NB: tsize_t is int32 and not uint32 because some functions - * return -1. - * NB: toff_t is not off_t for many reasons; TIFFs max out at - * 32-bit file offsets being the most important, and to ensure - * that it is unsigned, rather than signed. - */ -typedef uint32 ttag_t; /* directory tag */ -typedef uint16 tdir_t; /* directory index */ -typedef uint16 tsample_t; /* sample number */ -typedef uint32 tstrip_t; /* strip number */ -typedef uint32 ttile_t; /* tile number */ -typedef int32 tsize_t; /* i/o size in bytes */ -typedef void* tdata_t; /* image data ref */ -typedef uint32 toff_t; /* file offset */ - -#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32)) -#define __WIN32__ -#endif - -/* - * On windows you should define USE_WIN32_FILEIO if you are using tif_win32.c - * or AVOID_WIN32_FILEIO if you are using something else (like tif_unix.c). - * - * By default tif_unix.c is assumed. - */ - -#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows) -# define BINMODE "b" -# if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO) -# define AVOID_WIN32_FILEIO -# endif -# include -# include -# ifdef SET_BINARY -# undef SET_BINARY -# endif /* SET_BINARY */ -# define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0) -#else /* Windows */ -# define BINMODE -# define SET_BINARY(f) (void)0 -#endif /* Windows */ - -#if defined(USE_WIN32_FILEIO) -# define VC_EXTRALEAN -# include -# ifdef __WIN32__ -DECLARE_HANDLE(thandle_t); /* Win32 file handle */ -# else -typedef HFILE thandle_t; /* client data handle */ -# endif /* __WIN32__ */ -#else -typedef void* thandle_t; /* client data handle */ -#endif /* USE_WIN32_FILEIO */ - -#ifndef NULL -# define NULL (void *)0 -#endif - -/* - * Flags to pass to TIFFPrintDirectory to control - * printing of data structures that are potentially - * very large. Bit-or these flags to enable printing - * multiple items. - */ -#define TIFFPRINT_NONE 0x0 /* no extra info */ -#define TIFFPRINT_STRIPS 0x1 /* strips/tiles info */ -#define TIFFPRINT_CURVES 0x2 /* color/gray response curves */ -#define TIFFPRINT_COLORMAP 0x4 /* colormap */ -#define TIFFPRINT_JPEGQTABLES 0x100 /* JPEG Q matrices */ -#define TIFFPRINT_JPEGACTABLES 0x200 /* JPEG AC tables */ -#define TIFFPRINT_JPEGDCTABLES 0x200 /* JPEG DC tables */ - -/* - * Colour conversion stuff - */ - -/* reference white */ -#define D65_X0 (95.0470F) -#define D65_Y0 (100.0F) -#define D65_Z0 (108.8827F) - -#define D50_X0 (96.4250F) -#define D50_Y0 (100.0F) -#define D50_Z0 (82.4680F) - -/* Structure for holding information about a display device. */ - -typedef unsigned char TIFFRGBValue; /* 8-bit samples */ - -typedef struct { - float d_mat[3][3]; /* XYZ -> luminance matrix */ - float d_YCR; /* Light o/p for reference white */ - float d_YCG; - float d_YCB; - uint32 d_Vrwr; /* Pixel values for ref. white */ - uint32 d_Vrwg; - uint32 d_Vrwb; - float d_Y0R; /* Residual light for black pixel */ - float d_Y0G; - float d_Y0B; - float d_gammaR; /* Gamma values for the three guns */ - float d_gammaG; - float d_gammaB; -} TIFFDisplay; - -typedef struct { /* YCbCr->RGB support */ - TIFFRGBValue* clamptab; /* range clamping table */ - int* Cr_r_tab; - int* Cb_b_tab; - int32* Cr_g_tab; - int32* Cb_g_tab; - int32* Y_tab; -} TIFFYCbCrToRGB; - -typedef struct { /* CIE Lab 1976->RGB support */ - int range; /* Size of conversion table */ -#define CIELABTORGB_TABLE_RANGE 1500 - float rstep, gstep, bstep; - float X0, Y0, Z0; /* Reference white point */ - TIFFDisplay display; - float Yr2r[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yr to r */ - float Yg2g[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yg to g */ - float Yb2b[CIELABTORGB_TABLE_RANGE + 1]; /* Conversion of Yb to b */ -} TIFFCIELabToRGB; - -/* - * RGBA-style image support. - */ -typedef struct _TIFFRGBAImage TIFFRGBAImage; -/* - * The image reading and conversion routines invoke - * ``put routines'' to copy/image/whatever tiles of - * raw image data. A default set of routines are - * provided to convert/copy raw image data to 8-bit - * packed ABGR format rasters. Applications can supply - * alternate routines that unpack the data into a - * different format or, for example, unpack the data - * and draw the unpacked raster on the display. - */ -typedef void (*tileContigRoutine) - (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32, - unsigned char*); -typedef void (*tileSeparateRoutine) - (TIFFRGBAImage*, uint32*, uint32, uint32, uint32, uint32, int32, int32, - unsigned char*, unsigned char*, unsigned char*, unsigned char*); -/* - * RGBA-reader state. - */ -struct _TIFFRGBAImage { - TIFF* tif; /* image handle */ - int stoponerr; /* stop on read error */ - int isContig; /* data is packed/separate */ - int alpha; /* type of alpha data present */ - uint32 width; /* image width */ - uint32 height; /* image height */ - uint16 bitspersample; /* image bits/sample */ - uint16 samplesperpixel; /* image samples/pixel */ - uint16 orientation; /* image orientation */ - uint16 req_orientation; /* requested orientation */ - uint16 photometric; /* image photometric interp */ - uint16* redcmap; /* colormap pallete */ - uint16* greencmap; - uint16* bluecmap; - /* get image data routine */ - int (*get)(TIFFRGBAImage*, uint32*, uint32, uint32); - union { - void (*any)(TIFFRGBAImage*); - tileContigRoutine contig; - tileSeparateRoutine separate; - } put; /* put decoded strip/tile */ - TIFFRGBValue* Map; /* sample mapping array */ - uint32** BWmap; /* black&white map */ - uint32** PALmap; /* palette image map */ - TIFFYCbCrToRGB* ycbcr; /* YCbCr conversion state */ - TIFFCIELabToRGB* cielab; /* CIE L*a*b conversion state */ - - int row_offset; - int col_offset; -}; - -/* - * Macros for extracting components from the - * packed ABGR form returned by TIFFReadRGBAImage. - */ -#define TIFFGetR(abgr) ((abgr) & 0xff) -#define TIFFGetG(abgr) (((abgr) >> 8) & 0xff) -#define TIFFGetB(abgr) (((abgr) >> 16) & 0xff) -#define TIFFGetA(abgr) (((abgr) >> 24) & 0xff) - -/* - * A CODEC is a software package that implements decoding, - * encoding, or decoding+encoding of a compression algorithm. - * The library provides a collection of builtin codecs. - * More codecs may be registered through calls to the library - * and/or the builtin implementations may be overridden. - */ -typedef int (*TIFFInitMethod)(TIFF*, int); -typedef struct { - char* name; - uint16 scheme; - TIFFInitMethod init; -} TIFFCodec; - -#include -#include - -/* share internal LogLuv conversion routines? */ -#ifndef LOGLUV_PUBLIC -#define LOGLUV_PUBLIC 1 -#endif - -#if defined(c_plusplus) || defined(__cplusplus) -extern "C" { -#endif -typedef void (*TIFFErrorHandler)(const char*, const char*, va_list); -typedef void (*TIFFErrorHandlerExt)(thandle_t, const char*, const char*, va_list); -typedef tsize_t (*TIFFReadWriteProc)(thandle_t, tdata_t, tsize_t); -typedef toff_t (*TIFFSeekProc)(thandle_t, toff_t, int); -typedef int (*TIFFCloseProc)(thandle_t); -typedef toff_t (*TIFFSizeProc)(thandle_t); -typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*); -typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t); -typedef void (*TIFFExtendProc)(TIFF*); - -LIBTIFF_DLL_IMPEXP const char* TIFFGetVersion(void); - -LIBTIFF_DLL_IMPEXP const TIFFCodec* TIFFFindCODEC(uint16); -LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod); -LIBTIFF_DLL_IMPEXP void TIFFUnRegisterCODEC(TIFFCodec*); -LIBTIFF_DLL_IMPEXP int TIFFIsCODECConfigured(uint16); -LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFGetConfiguredCODECs(void); - -/* - * Auxiliary functions. - */ - -LIBTIFF_DLL_IMPEXP tdata_t _TIFFmalloc(tsize_t); -LIBTIFF_DLL_IMPEXP tdata_t _TIFFrealloc(tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP void _TIFFmemset(tdata_t, int, tsize_t); -LIBTIFF_DLL_IMPEXP void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP void _TIFFfree(tdata_t); - -/* -** Stuff, related to tag handling and creating custom tags. -*/ -LIBTIFF_DLL_IMPEXP int TIFFGetTagListCount( TIFF * ); -LIBTIFF_DLL_IMPEXP ttag_t TIFFGetTagListEntry( TIFF *, int tag_index ); - -#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */ -#define TIFF_VARIABLE -1 /* marker for variable length tags */ -#define TIFF_SPP -2 /* marker for SamplesPerPixel tags */ -#define TIFF_VARIABLE2 -3 /* marker for uint32 var-length tags */ - -#define FIELD_CUSTOM 65 - -typedef struct { - ttag_t field_tag; /* field's tag */ - short field_readcount; /* read count/TIFF_VARIABLE/TIFF_SPP */ - short field_writecount; /* write count/TIFF_VARIABLE */ - TIFFDataType field_type; /* type of associated data */ - unsigned short field_bit; /* bit in fieldsset bit vector */ - unsigned char field_oktochange; /* if true, can change while writing */ - unsigned char field_passcount; /* if true, pass dir count on set */ - char *field_name; /* ASCII name */ -} TIFFFieldInfo; - -typedef struct _TIFFTagValue { - const TIFFFieldInfo *info; - int count; - void *value; -} TIFFTagValue; - -LIBTIFF_DLL_IMPEXP void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int); -LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType); -LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *, - TIFFDataType); -LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t); -LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *); - -typedef int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list); -typedef int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list); -typedef void (*TIFFPrintMethod)(TIFF*, FILE*, long); - -typedef struct { - TIFFVSetMethod vsetfield; /* tag set routine */ - TIFFVGetMethod vgetfield; /* tag get routine */ - TIFFPrintMethod printdir; /* directory print routine */ -} TIFFTagMethods; - -LIBTIFF_DLL_IMPEXP TIFFTagMethods *TIFFAccessTagMethods( TIFF * ); -LIBTIFF_DLL_IMPEXP void *TIFFGetClientInfo( TIFF *, const char * ); -LIBTIFF_DLL_IMPEXP void TIFFSetClientInfo( TIFF *, void *, const char * ); - -LIBTIFF_DLL_IMPEXP void TIFFCleanup(TIFF*); -LIBTIFF_DLL_IMPEXP void TIFFClose(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFFlush(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFFlushData(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFGetField(TIFF*, ttag_t, ...); -LIBTIFF_DLL_IMPEXP int TIFFVGetField(TIFF*, ttag_t, va_list); -LIBTIFF_DLL_IMPEXP int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...); -LIBTIFF_DLL_IMPEXP int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list); -LIBTIFF_DLL_IMPEXP int TIFFReadDirectory(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[], - size_t); -LIBTIFF_DLL_IMPEXP int TIFFReadEXIFDirectory(TIFF*, toff_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFScanlineSize(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFRasterScanlineSize(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFStripSize(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFRawStripSize(TIFF*, tstrip_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFVStripSize(TIFF*, uint32); -LIBTIFF_DLL_IMPEXP tsize_t TIFFTileRowSize(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFTileSize(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFVTileSize(TIFF*, uint32); -LIBTIFF_DLL_IMPEXP uint32 TIFFDefaultStripSize(TIFF*, uint32); -LIBTIFF_DLL_IMPEXP void TIFFDefaultTileSize(TIFF*, uint32*, uint32*); -LIBTIFF_DLL_IMPEXP int TIFFFileno(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFSetFileno(TIFF*, int); -LIBTIFF_DLL_IMPEXP thandle_t TIFFClientdata(TIFF*); -LIBTIFF_DLL_IMPEXP thandle_t TIFFSetClientdata(TIFF*, thandle_t); -LIBTIFF_DLL_IMPEXP int TIFFGetMode(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFSetMode(TIFF*, int); -LIBTIFF_DLL_IMPEXP int TIFFIsTiled(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFIsByteSwapped(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFIsUpSampled(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFIsMSB2LSB(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFIsBigEndian(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetReadProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetWriteProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFSeekProc TIFFGetSeekProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFCloseProc TIFFGetCloseProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFSizeProc TIFFGetSizeProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFMapFileProc TIFFGetMapFileProc(TIFF*); -LIBTIFF_DLL_IMPEXP TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*); -LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentRow(TIFF*); -LIBTIFF_DLL_IMPEXP tdir_t TIFFCurrentDirectory(TIFF*); -LIBTIFF_DLL_IMPEXP tdir_t TIFFNumberOfDirectories(TIFF*); -LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentDirOffset(TIFF*); -LIBTIFF_DLL_IMPEXP tstrip_t TIFFCurrentStrip(TIFF*); -LIBTIFF_DLL_IMPEXP ttile_t TIFFCurrentTile(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP int TIFFSetupStrips(TIFF *); -LIBTIFF_DLL_IMPEXP int TIFFWriteCheck(TIFF*, int, const char *); -LIBTIFF_DLL_IMPEXP void TIFFFreeDirectory(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFCreateDirectory(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFLastDirectory(TIFF*); -LIBTIFF_DLL_IMPEXP int TIFFSetDirectory(TIFF*, tdir_t); -LIBTIFF_DLL_IMPEXP int TIFFSetSubDirectory(TIFF*, uint32); -LIBTIFF_DLL_IMPEXP int TIFFUnlinkDirectory(TIFF*, tdir_t); -LIBTIFF_DLL_IMPEXP int TIFFSetField(TIFF*, ttag_t, ...); -LIBTIFF_DLL_IMPEXP int TIFFVSetField(TIFF*, ttag_t, va_list); -LIBTIFF_DLL_IMPEXP int TIFFWriteDirectory(TIFF *); -LIBTIFF_DLL_IMPEXP int TIFFCheckpointDirectory(TIFF *); -LIBTIFF_DLL_IMPEXP int TIFFRewriteDirectory(TIFF *); -LIBTIFF_DLL_IMPEXP int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int); - -#if defined(c_plusplus) || defined(__cplusplus) -LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long = 0); -LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0); -LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0); -LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0); -LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, - int = ORIENTATION_BOTLEFT, int = 0); -#else -LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long); -LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int); -LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int); -#endif - -LIBTIFF_DLL_IMPEXP int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * ); -LIBTIFF_DLL_IMPEXP int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * ); -LIBTIFF_DLL_IMPEXP int TIFFRGBAImageOK(TIFF*, char [1024]); -LIBTIFF_DLL_IMPEXP int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]); -LIBTIFF_DLL_IMPEXP int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32); -LIBTIFF_DLL_IMPEXP void TIFFRGBAImageEnd(TIFFRGBAImage*); -LIBTIFF_DLL_IMPEXP TIFF* TIFFOpen(const char*, const char*); -# ifdef __WIN32__ -LIBTIFF_DLL_IMPEXP TIFF* TIFFOpenW(const wchar_t*, const char*); -# endif /* __WIN32__ */ -LIBTIFF_DLL_IMPEXP TIFF* TIFFFdOpen(int, const char*, const char*); -LIBTIFF_DLL_IMPEXP TIFF* TIFFClientOpen(const char*, const char*, - thandle_t, - TIFFReadWriteProc, TIFFReadWriteProc, - TIFFSeekProc, TIFFCloseProc, - TIFFSizeProc, - TIFFMapFileProc, TIFFUnmapFileProc); -LIBTIFF_DLL_IMPEXP const char* TIFFFileName(TIFF*); -LIBTIFF_DLL_IMPEXP const char* TIFFSetFileName(TIFF*, const char *); -LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...); -LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...); -LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...); -LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...); -LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler); -LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt); -LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler); -LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt); -LIBTIFF_DLL_IMPEXP TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc); -LIBTIFF_DLL_IMPEXP ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP ttile_t TIFFNumberOfTiles(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFReadTile(TIFF*, - tdata_t, uint32, uint32, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteTile(TIFF*, - tdata_t, uint32, uint32, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t); -LIBTIFF_DLL_IMPEXP tstrip_t TIFFNumberOfStrips(TIFF*); -LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t); -LIBTIFF_DLL_IMPEXP int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */ -LIBTIFF_DLL_IMPEXP void TIFFSetWriteOffset(TIFF*, toff_t); -LIBTIFF_DLL_IMPEXP void TIFFSwabShort(uint16*); -LIBTIFF_DLL_IMPEXP void TIFFSwabLong(uint32*); -LIBTIFF_DLL_IMPEXP void TIFFSwabDouble(double*); -LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfShort(uint16*, unsigned long); -LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfTriples(uint8*, unsigned long); -LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfLong(uint32*, unsigned long); -LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfDouble(double*, unsigned long); -LIBTIFF_DLL_IMPEXP void TIFFReverseBits(unsigned char *, unsigned long); -LIBTIFF_DLL_IMPEXP const unsigned char* TIFFGetBitRevTable(int); - -#ifdef LOGLUV_PUBLIC -#define U_NEU 0.210526316 -#define V_NEU 0.473684211 -#define UVSCALE 410. -LIBTIFF_DLL_IMPEXP double LogL16toY(int); -LIBTIFF_DLL_IMPEXP double LogL10toY(int); -LIBTIFF_DLL_IMPEXP void XYZtoRGB24(float*, uint8*); -LIBTIFF_DLL_IMPEXP int uv_decode(double*, double*, int); -LIBTIFF_DLL_IMPEXP void LogLuv24toXYZ(uint32, float*); -LIBTIFF_DLL_IMPEXP void LogLuv32toXYZ(uint32, float*); -#if defined(c_plusplus) || defined(__cplusplus) -LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int = SGILOGENCODE_NODITHER); -LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int = SGILOGENCODE_NODITHER); -LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int = SGILOGENCODE_NODITHER); -LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER); -LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER); -#else -LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int); -LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int); -LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int); -LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int); -LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int); -#endif -#endif /* LOGLUV_PUBLIC */ - -LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*); -LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32, - float *, float *, float *); -LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float, - uint32 *, uint32 *, uint32 *); - -LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*); -LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32, - uint32 *, uint32 *, uint32 *); - -#if defined(c_plusplus) || defined(__cplusplus) -} -#endif - -#endif /* _TIFFIO_ */ - -/* vim: set ts=8 sts=8 sw=8 noet: */ diff --git a/extern/gnuwin32/include/tiffvers.h b/extern/gnuwin32/include/tiffvers.h deleted file mode 100644 index 9744f8d..0000000 --- a/extern/gnuwin32/include/tiffvers.h +++ /dev/null @@ -1,9 +0,0 @@ -#define TIFFLIB_VERSION_STR "LIBTIFF, Version 3.8.2\nCopyright (c) 1988-1996 Sam Leffler\nCopyright (c) 1991-1996 Silicon Graphics, Inc." -/* - * This define can be used in code that requires - * compilation-related definitions specific to a - * version or versions of the library. Runtime - * version checking should be done based on the - * string returned by TIFFGetVersion. - */ -#define TIFFLIB_VERSION 20060323 diff --git a/extern/gnuwin32/include/zconf.h b/extern/gnuwin32/include/zconf.h deleted file mode 100644 index e3b0c96..0000000 --- a/extern/gnuwin32/include/zconf.h +++ /dev/null @@ -1,332 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2005 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - */ -#ifdef Z_PREFIX -# define deflateInit_ z_deflateInit_ -# define deflate z_deflate -# define deflateEnd z_deflateEnd -# define inflateInit_ z_inflateInit_ -# define inflate z_inflate -# define inflateEnd z_inflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateSetDictionary z_deflateSetDictionary -# define deflateCopy z_deflateCopy -# define deflateReset z_deflateReset -# define deflateParams z_deflateParams -# define deflateBound z_deflateBound -# define deflatePrime z_deflatePrime -# define inflateInit2_ z_inflateInit2_ -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateCopy z_inflateCopy -# define inflateReset z_inflateReset -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# define uncompress z_uncompress -# define adler32 z_adler32 -# define crc32 z_crc32 -# define get_crc_table z_get_crc_table -# define zError z_zError - -# define alloc_func z_alloc_func -# define free_func z_free_func -# define in_func z_in_func -# define out_func z_out_func -# define Byte z_Byte -# define uInt z_uInt -# define uLong z_uLong -# define Bytef z_Bytef -# define charf z_charf -# define intf z_intf -# define uIntf z_uIntf -# define uLongf z_uLongf -# define voidpf z_voidpf -# define voidp z_voidp -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ -# include /* for off_t */ -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# define z_off_t off_t -#endif -#ifndef SEEK_SET -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif -#ifndef z_off_t -# define z_off_t long -#endif - -#if defined(__OS400__) -# define NO_vsnprintf -#endif - -#if defined(__MVS__) -# define NO_vsnprintf -# ifdef FAR -# undef FAR -# endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) -# pragma map(deflateInit_,"DEIN") -# pragma map(deflateInit2_,"DEIN2") -# pragma map(deflateEnd,"DEEND") -# pragma map(deflateBound,"DEBND") -# pragma map(inflateInit_,"ININ") -# pragma map(inflateInit2_,"ININ2") -# pragma map(inflateEnd,"INEND") -# pragma map(inflateSync,"INSY") -# pragma map(inflateSetDictionary,"INSEDI") -# pragma map(compressBound,"CMBND") -# pragma map(inflate_table,"INTABL") -# pragma map(inflate_fast,"INFA") -# pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/extern/gnuwin32/include/zlib.h b/extern/gnuwin32/include/zlib.h deleted file mode 100644 index 62d0e46..0000000 --- a/extern/gnuwin32/include/zlib.h +++ /dev/null @@ -1,1357 +0,0 @@ -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.3, July 18th, 2005 - - Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - - The data format used by the zlib library is described by RFCs (Request for - Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt - (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). -*/ - -#ifndef ZLIB_H -#define ZLIB_H - -#include "zconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define ZLIB_VERSION "1.2.3" -#define ZLIB_VERNUM 0x1230 - -/* - The 'zlib' compression library provides in-memory compression and - decompression functions, including integrity checks of the uncompressed - data. This version of the library supports only one compression method - (deflation) but other algorithms will be added later and will have the same - stream interface. - - Compression can be done in a single step if the buffers are large - enough (for example if an input file is mmap'ed), or can be done by - repeated calls of the compression function. In the latter case, the - application must provide more input and/or consume the output - (providing more output space) before each call. - - The compressed data format used by default by the in-memory functions is - the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped - around a deflate stream, which is itself documented in RFC 1951. - - The library also supports reading and writing files in gzip (.gz) format - with an interface similar to that of stdio using the functions that start - with "gz". The gzip format is different from the zlib format. gzip is a - gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. - - This library can optionally read and write gzip streams in memory as well. - - The zlib format was designed to be compact and fast for use in memory - and on communications channels. The gzip format was designed for single- - file compression on file systems, has a larger header than zlib to maintain - directory information, and uses a different, slower check method than zlib. - - The library does not install any signal handler. The decoder checks - the consistency of the compressed data, so the library should never - crash even in case of corrupted input. -*/ - -typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); -typedef void (*free_func) OF((voidpf opaque, voidpf address)); - -struct internal_state; - -typedef struct z_stream_s { - Bytef *next_in; /* next input byte */ - uInt avail_in; /* number of bytes available at next_in */ - uLong total_in; /* total nb of input bytes read so far */ - - Bytef *next_out; /* next output byte should be put there */ - uInt avail_out; /* remaining free space at next_out */ - uLong total_out; /* total nb of bytes output so far */ - - char *msg; /* last error message, NULL if no error */ - struct internal_state FAR *state; /* not visible by applications */ - - alloc_func zalloc; /* used to allocate the internal state */ - free_func zfree; /* used to free the internal state */ - voidpf opaque; /* private data object passed to zalloc and zfree */ - - int data_type; /* best guess about the data type: binary or text */ - uLong adler; /* adler32 value of the uncompressed data */ - uLong reserved; /* reserved for future use */ -} z_stream; - -typedef z_stream FAR *z_streamp; - -/* - gzip header information passed to and from zlib routines. See RFC 1952 - for more details on the meanings of these fields. -*/ -typedef struct gz_header_s { - int text; /* true if compressed data believed to be text */ - uLong time; /* modification time */ - int xflags; /* extra flags (not used when writing a gzip file) */ - int os; /* operating system */ - Bytef *extra; /* pointer to extra field or Z_NULL if none */ - uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ - uInt extra_max; /* space at extra (only when reading header) */ - Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ - uInt name_max; /* space at name (only when reading header) */ - Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ - uInt comm_max; /* space at comment (only when reading header) */ - int hcrc; /* true if there was or will be a header crc */ - int done; /* true when done reading gzip header (not used - when writing a gzip file) */ -} gz_header; - -typedef gz_header FAR *gz_headerp; - -/* - The application must update next_in and avail_in when avail_in has - dropped to zero. It must update next_out and avail_out when avail_out - has dropped to zero. The application must initialize zalloc, zfree and - opaque before calling the init function. All other fields are set by the - compression library and must not be updated by the application. - - The opaque value provided by the application will be passed as the first - parameter for calls of zalloc and zfree. This can be useful for custom - memory management. The compression library attaches no meaning to the - opaque value. - - zalloc must return Z_NULL if there is not enough memory for the object. - If zlib is used in a multi-threaded application, zalloc and zfree must be - thread safe. - - On 16-bit systems, the functions zalloc and zfree must be able to allocate - exactly 65536 bytes, but will not be required to allocate more than this - if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, - pointers returned by zalloc for objects of exactly 65536 bytes *must* - have their offset normalized to zero. The default allocation function - provided by this library ensures this (see zutil.c). To reduce memory - requirements and avoid any allocation of 64K objects, at the expense of - compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h). - - The fields total_in and total_out can be used for statistics or - progress reports. After compression, total_in holds the total size of - the uncompressed data and may be saved for use in the decompressor - (particularly if the decompressor wants to decompress everything in - a single step). -*/ - - /* constants */ - -#define Z_NO_FLUSH 0 -#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */ -#define Z_SYNC_FLUSH 2 -#define Z_FULL_FLUSH 3 -#define Z_FINISH 4 -#define Z_BLOCK 5 -/* Allowed flush values; see deflate() and inflate() below for details */ - -#define Z_OK 0 -#define Z_STREAM_END 1 -#define Z_NEED_DICT 2 -#define Z_ERRNO (-1) -#define Z_STREAM_ERROR (-2) -#define Z_DATA_ERROR (-3) -#define Z_MEM_ERROR (-4) -#define Z_BUF_ERROR (-5) -#define Z_VERSION_ERROR (-6) -/* Return codes for the compression/decompression functions. Negative - * values are errors, positive values are used for special but normal events. - */ - -#define Z_NO_COMPRESSION 0 -#define Z_BEST_SPEED 1 -#define Z_BEST_COMPRESSION 9 -#define Z_DEFAULT_COMPRESSION (-1) -/* compression levels */ - -#define Z_FILTERED 1 -#define Z_HUFFMAN_ONLY 2 -#define Z_RLE 3 -#define Z_FIXED 4 -#define Z_DEFAULT_STRATEGY 0 -/* compression strategy; see deflateInit2() below for details */ - -#define Z_BINARY 0 -#define Z_TEXT 1 -#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ -#define Z_UNKNOWN 2 -/* Possible values of the data_type field (though see inflate()) */ - -#define Z_DEFLATED 8 -/* The deflate compression method (the only one supported in this version) */ - -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define zlib_version zlibVersion() -/* for compatibility with versions < 1.0.2 */ - - /* basic functions */ - -ZEXTERN const char * ZEXPORT zlibVersion OF((void)); -/* The application can compare zlibVersion and ZLIB_VERSION for consistency. - If the first character differs, the library code actually used is - not compatible with the zlib.h header file used by the application. - This check is automatically made by deflateInit and inflateInit. - */ - -/* -ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); - - Initializes the internal stream state for compression. The fields - zalloc, zfree and opaque must be initialized before by the caller. - If zalloc and zfree are set to Z_NULL, deflateInit updates them to - use default allocation functions. - - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: - 1 gives best speed, 9 gives best compression, 0 gives no compression at - all (the input data is simply copied a block at a time). - Z_DEFAULT_COMPRESSION requests a default compromise between speed and - compression (currently equivalent to level 6). - - deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if level is not a valid compression level, - Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible - with the version assumed by the caller (ZLIB_VERSION). - msg is set to null if there is no error message. deflateInit does not - perform any compression: this will be done by deflate(). -*/ - - -ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); -/* - deflate compresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce some - output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. deflate performs one or both of the - following actions: - - - Compress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in and avail_in are updated and - processing will resume at this point for the next call of deflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. This action is forced if the parameter flush is non zero. - Forcing flush frequently degrades the compression ratio, so this parameter - should be set only when necessary (in interactive applications). - Some output may be provided even if flush is not set. - - Before the call of deflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating avail_in or avail_out accordingly; avail_out - should never be zero before the call. The application can consume the - compressed output when it wants, for example when the output buffer is full - (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK - and with zero avail_out, it must be called again after making room in the - output buffer because there might be more output pending. - - Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to - decide how much data to accumualte before producing output, in order to - maximize compression. - - If the parameter flush is set to Z_SYNC_FLUSH, all pending output is - flushed to the output buffer and the output is aligned on a byte boundary, so - that the decompressor can get all input data available so far. (In particular - avail_in is zero after the call if enough output space has been provided - before the call.) Flushing may degrade compression for some compression - algorithms and so it should be used only when necessary. - - If flush is set to Z_FULL_FLUSH, all output is flushed as with - Z_SYNC_FLUSH, and the compression state is reset so that decompression can - restart from this point if previous compressed data has been damaged or if - random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - compression. - - If deflate returns with avail_out == 0, this function must be called again - with the same value of the flush parameter and more output space (updated - avail_out), until the flush is complete (deflate returns with non-zero - avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that - avail_out is greater than six to avoid repeated flush markers due to - avail_out == 0 on return. - - If the parameter flush is set to Z_FINISH, pending input is processed, - pending output is flushed and deflate returns with Z_STREAM_END if there - was enough output space; if deflate returns with Z_OK, this function must be - called again with Z_FINISH and more output space (updated avail_out) but no - more input data, until it returns with Z_STREAM_END or an error. After - deflate has returned Z_STREAM_END, the only possible operations on the - stream are deflateReset or deflateEnd. - - Z_FINISH can be used immediately after deflateInit if all the compression - is to be done in a single step. In this case, avail_out must be at least - the value returned by deflateBound (see below). If deflate does not return - Z_STREAM_END, then it must be called again as described above. - - deflate() sets strm->adler to the adler32 checksum of all input read - so far (that is, total_in bytes). - - deflate() may update strm->data_type if it can make a good guess about - the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered - binary. This field is only for information purposes and does not affect - the compression algorithm in any manner. - - deflate() returns Z_OK if some progress has been made (more input - processed or more output produced), Z_STREAM_END if all input has been - consumed and all output has been produced (only when flush is set to - Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example - if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible - (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not - fatal, and deflate() can be called again with more input and more output - space to continue compressing. -*/ - - -ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the - stream state was inconsistent, Z_DATA_ERROR if the stream was freed - prematurely (some input or output was discarded). In the error case, - msg may be set but then points to a static string (which must not be - deallocated). -*/ - - -/* -ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); - - Initializes the internal stream state for decompression. The fields - next_in, avail_in, zalloc, zfree and opaque must be initialized before by - the caller. If next_in is not Z_NULL and avail_in is large enough (the exact - value depends on the compression method), inflateInit determines the - compression method from the zlib header and allocates all data structures - accordingly; otherwise the allocation will be deferred to the first call of - inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to - use default allocation functions. - - inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller. msg is set to null if there is no error - message. inflateInit does not perform any decompression apart from reading - the zlib header if present: this will be done by inflate(). (So next_in and - avail_in may be modified, but next_out and avail_out are unchanged.) -*/ - - -ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); -/* - inflate decompresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. inflate performs one or both of the - following actions: - - - Decompress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in is updated and processing - will resume at this point for the next call of inflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. inflate() provides as much output as possible, until there - is no more input data or no more space in the output buffer (see below - about the flush parameter). - - Before the call of inflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming - more output, and updating the next_* and avail_* values accordingly. - The application can consume the uncompressed output when it wants, for - example when the output buffer is full (avail_out == 0), or after each - call of inflate(). If inflate returns Z_OK and with zero avail_out, it - must be called again after making room in the output buffer because there - might be more output pending. - - The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, - Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much - output as possible to the output buffer. Z_BLOCK requests that inflate() stop - if and when it gets to the next deflate block boundary. When decoding the - zlib or gzip format, this will cause inflate() to return immediately after - the header and before the first block. When doing a raw inflate, inflate() - will go ahead and process the first block, and will return when it gets to - the end of that block, or when it runs out of data. - - The Z_BLOCK option assists in appending to or combining deflate streams. - Also to assist in this, on return inflate() will set strm->data_type to the - number of unused bits in the last byte taken from strm->next_in, plus 64 - if inflate() is currently decoding the last block in the deflate stream, - plus 128 if inflate() returned immediately after decoding an end-of-block - code or decoding the complete header up to just before the first byte of the - deflate stream. The end-of-block will not be indicated until all of the - uncompressed data from that block has been written to strm->next_out. The - number of unused bits may in general be greater than seven, except when - bit 7 of data_type is set, in which case the number of unused bits will be - less than eight. - - inflate() should normally be called until it returns Z_STREAM_END or an - error. However if all decompression is to be performed in a single step - (a single call of inflate), the parameter flush should be set to - Z_FINISH. In this case all pending input is processed and all pending - output is flushed; avail_out must be large enough to hold all the - uncompressed data. (The size of the uncompressed data may have been saved - by the compressor for this purpose.) The next operation on this stream must - be inflateEnd to deallocate the decompression state. The use of Z_FINISH - is never required, but can be used to inform inflate that a faster approach - may be used for the single inflate() call. - - In this implementation, inflate() always flushes as much output as - possible to the output buffer, and always uses the faster approach on the - first call. So the only effect of the flush parameter in this implementation - is on the return value of inflate(), as noted below, or when it returns early - because Z_BLOCK is used. - - If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm->adler to the adler32 checksum of the dictionary - chosen by the compressor and returns Z_NEED_DICT; otherwise it sets - strm->adler to the adler32 checksum of all output produced so far (that is, - total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described - below. At the end of the stream, inflate() checks that its computed adler32 - checksum is equal to that saved by the compressor and returns Z_STREAM_END - only if the checksum is correct. - - inflate() will decompress and check either zlib-wrapped or gzip-wrapped - deflate data. The header type is detected automatically. Any information - contained in the gzip header is not retained, so applications that need that - information should instead use raw inflate, see inflateInit2() below, or - inflateBack() and perform their own processing of the gzip header and - trailer. - - inflate() returns Z_OK if some progress has been made (more input processed - or more output produced), Z_STREAM_END if the end of the compressed data has - been reached and all uncompressed output has been produced, Z_NEED_DICT if a - preset dictionary is needed at this point, Z_DATA_ERROR if the input data was - corrupted (input stream not conforming to the zlib format or incorrect check - value), Z_STREAM_ERROR if the stream structure was inconsistent (for example - if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory, - Z_BUF_ERROR if no progress is possible or if there was not enough room in the - output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and - inflate() can be called again with more input and more output space to - continue decompressing. If Z_DATA_ERROR is returned, the application may then - call inflateSync() to look for a good compression block if a partial recovery - of the data is desired. -*/ - - -ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any - pending output. - - inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state - was inconsistent. In the error case, msg may be set but then points to a - static string (which must not be deallocated). -*/ - - /* Advanced functions */ - -/* - The following functions are needed only in some special applications. -*/ - -/* -ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, - int level, - int method, - int windowBits, - int memLevel, - int strategy)); - - This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by - the caller. - - The method parameter is the compression method. It must be Z_DEFLATED in - this version of the library. - - The windowBits parameter is the base two logarithm of the window size - (the size of the history buffer). It should be in the range 8..15 for this - version of the library. Larger values of this parameter result in better - compression at the expense of memory usage. The default value is 15 if - deflateInit is used instead. - - windowBits can also be -8..-15 for raw deflate. In this case, -windowBits - determines the window size. deflate() will then generate raw deflate data - with no zlib header or trailer, and will not compute an adler32 check value. - - windowBits can also be greater than 15 for optional gzip encoding. Add - 16 to windowBits to write a simple gzip header and trailer around the - compressed data instead of a zlib wrapper. The gzip header will have no - file name, no extra data, no comment, no modification time (set to zero), - no header crc, and the operating system will be set to 255 (unknown). If a - gzip stream is being written, strm->adler is a crc32 instead of an adler32. - - The memLevel parameter specifies how much memory should be allocated - for the internal compression state. memLevel=1 uses minimum memory but - is slow and reduces compression ratio; memLevel=9 uses maximum memory - for optimal speed. The default value is 8. See zconf.h for total memory - usage as a function of windowBits and memLevel. - - The strategy parameter is used to tune the compression algorithm. Use the - value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a - filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no - string match), or Z_RLE to limit match distances to one (run-length - encoding). Filtered data consists mostly of small values with a somewhat - random distribution. In this case, the compression algorithm is tuned to - compress them better. The effect of Z_FILTERED is to force more Huffman - coding and less string matching; it is somewhat intermediate between - Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as - Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy - parameter only affects the compression ratio but not the correctness of the - compressed output even if it is not set appropriately. Z_FIXED prevents the - use of dynamic Huffman codes, allowing for a simpler decoder for special - applications. - - deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid - method). msg is set to null if there is no error message. deflateInit2 does - not perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the compression dictionary from the given byte sequence - without producing any compressed output. This function must be called - immediately after deflateInit, deflateInit2 or deflateReset, before any - call of deflate. The compressor and decompressor must use exactly the same - dictionary (see inflateSetDictionary). - - The dictionary should consist of strings (byte sequences) that are likely - to be encountered later in the data to be compressed, with the most commonly - used strings preferably put towards the end of the dictionary. Using a - dictionary is most useful when the data to be compressed is short and can be - predicted with good accuracy; the data can then be compressed better than - with the default empty dictionary. - - Depending on the size of the compression data structures selected by - deflateInit or deflateInit2, a part of the dictionary may in effect be - discarded, for example if the dictionary is larger than the window size in - deflate or deflate2. Thus the strings most likely to be useful should be - put at the end of the dictionary, not at the front. In addition, the - current implementation of deflate will use at most the window size minus - 262 bytes of the provided dictionary. - - Upon return of this function, strm->adler is set to the adler32 value - of the dictionary; the decompressor may later use this value to determine - which dictionary has been used by the compressor. (The adler32 value - applies to the whole dictionary even if only a subset of the dictionary is - actually used by the compressor.) If a raw deflate was requested, then the - adler32 value is not computed and strm->adler is not set. - - deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent (for example if deflate has already been called for this stream - or if the compression method is bsort). deflateSetDictionary does not - perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when several compression strategies will be - tried, for example when there are several ways of pre-processing the input - data with a filter. The streams that will be discarded should then be freed - by calling deflateEnd. Note that deflateCopy duplicates the internal - compression state which can be quite large, so this strategy is slow and - can consume lots of memory. - - deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); -/* - This function is equivalent to deflateEnd followed by deflateInit, - but does not free and reallocate all the internal compression state. - The stream will keep the same compression level and any other attributes - that may have been set by deflateInit2. - - deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, - int level, - int strategy)); -/* - Dynamically update the compression level and compression strategy. The - interpretation of level and strategy is as in deflateInit2. This can be - used to switch between compression and straight copy of the input data, or - to switch to a different kind of input data requiring a different - strategy. If the compression level is changed, the input available so far - is compressed with the old level (and may be flushed); the new level will - take effect only at the next call of deflate(). - - Before the call of deflateParams, the stream state must be set as for - a call of deflate(), since the currently available input may have to - be compressed and flushed. In particular, strm->avail_out must be non-zero. - - deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source - stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR - if strm->avail_out was zero. -*/ - -ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, - int good_length, - int max_lazy, - int nice_length, - int max_chain)); -/* - Fine tune deflate's internal compression parameters. This should only be - used by someone who understands the algorithm used by zlib's deflate for - searching for the best matching string, and even then only by the most - fanatic optimizer trying to squeeze out the last compressed bit for their - specific input data. Read the deflate.c source code for the meaning of the - max_lazy, good_length, nice_length, and max_chain parameters. - - deflateTune() can be called after deflateInit() or deflateInit2(), and - returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. - */ - -ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, - uLong sourceLen)); -/* - deflateBound() returns an upper bound on the compressed size after - deflation of sourceLen bytes. It must be called after deflateInit() - or deflateInit2(). This would be used to allocate an output buffer - for deflation in a single pass, and so would be called before deflate(). -*/ - -ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - deflatePrime() inserts bits in the deflate output stream. The intent - is that this function is used to start off the deflate output with the - bits leftover from a previous deflate stream when appending to it. As such, - this function can only be used for raw deflate, and must be used before the - first deflate() call after a deflateInit2() or deflateReset(). bits must be - less than or equal to 16, and that many of the least significant bits of - value will be inserted in the output. - - deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, - gz_headerp head)); -/* - deflateSetHeader() provides gzip header information for when a gzip - stream is requested by deflateInit2(). deflateSetHeader() may be called - after deflateInit2() or deflateReset() and before the first call of - deflate(). The text, time, os, extra field, name, and comment information - in the provided gz_header structure are written to the gzip header (xflag is - ignored -- the extra flags are set according to the compression level). The - caller must assure that, if not Z_NULL, name and comment are terminated with - a zero byte, and that if extra is not Z_NULL, that extra_len bytes are - available there. If hcrc is true, a gzip header crc is included. Note that - the current versions of the command-line version of gzip (up through version - 1.3.x) do not support header crc's, and will report that it is a "multi-part - gzip file" and give up. - - If deflateSetHeader is not used, the default gzip header has text false, - the time set to zero, and os set to 255, with no extra, name, or comment - fields. The gzip header is returned to the default state by deflateReset(). - - deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, - int windowBits)); - - This is another version of inflateInit with an extra parameter. The - fields next_in, avail_in, zalloc, zfree and opaque must be initialized - before by the caller. - - The windowBits parameter is the base two logarithm of the maximum window - size (the size of the history buffer). It should be in the range 8..15 for - this version of the library. The default value is 15 if inflateInit is used - instead. windowBits must be greater than or equal to the windowBits value - provided to deflateInit2() while compressing, or it must be equal to 15 if - deflateInit2() was not used. If a compressed stream with a larger window - size is given as input, inflate() will return with the error code - Z_DATA_ERROR instead of trying to allocate a larger window. - - windowBits can also be -8..-15 for raw inflate. In this case, -windowBits - determines the window size. inflate() will then process raw deflate data, - not looking for a zlib or gzip header, not generating a check value, and not - looking for any check values for comparison at the end of the stream. This - is for use with other formats that use the deflate compressed data format - such as zip. Those formats provide their own check values. If a custom - format is developed using the raw deflate format for compressed data, it is - recommended that a check value such as an adler32 or a crc32 be applied to - the uncompressed data as is done in the zlib, gzip, and zip formats. For - most applications, the zlib format should be used as is. Note that comments - above on the use in deflateInit2() applies to the magnitude of windowBits. - - windowBits can also be greater than 15 for optional gzip decoding. Add - 32 to windowBits to enable zlib and gzip decoding with automatic header - detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is - a crc32 instead of an adler32. - - inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg - is set to null if there is no error message. inflateInit2 does not perform - any decompression apart from reading the zlib header if present: this will - be done by inflate(). (So next_in and avail_in may be modified, but next_out - and avail_out are unchanged.) -*/ - -ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate, - if that call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by that call of inflate. - The compressor and decompressor must use exactly the same dictionary (see - deflateSetDictionary). For raw inflate, this function can be called - immediately after inflateInit2() or inflateReset() and before any call of - inflate() to set the dictionary. The application must insure that the - dictionary that was used for compression is provided. - - inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a - parameter is invalid (such as NULL dictionary) or the stream state is - inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the - expected one (incorrect adler32 value). inflateSetDictionary does not - perform any decompression: this will be done by subsequent calls of - inflate(). -*/ - -ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); -/* - Skips invalid compressed data until a full flush point (see above the - description of deflate with Z_FULL_FLUSH) can be found, or until all - available input is skipped. No output is provided. - - inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR - if no more input was provided, Z_DATA_ERROR if no flush point has been found, - or Z_STREAM_ERROR if the stream structure was inconsistent. In the success - case, the application may save the current current value of total_in which - indicates where valid compressed data was found. In the error case, the - application may repeatedly call inflateSync, providing more input each time, - until success or end of the input data. -*/ - -ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when randomly accessing a large stream. The - first pass through the stream can periodically record the inflate state, - allowing restarting inflate at those points when randomly accessing the - stream. - - inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); -/* - This function is equivalent to inflateEnd followed by inflateInit, - but does not free and reallocate all the internal decompression state. - The stream will keep attributes that may have been set by inflateInit2. - - inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being NULL). -*/ - -ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - This function inserts bits in the inflate input stream. The intent is - that this function is used to start inflating at a bit position in the - middle of a byte. The provided bits will be used before any bytes are used - from next_in. This function should only be used with raw inflate, and - should be used before the first inflate() call after inflateInit2() or - inflateReset(). bits must be less than or equal to 16, and that many of the - least significant bits of value will be inserted in the input. - - inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, - gz_headerp head)); -/* - inflateGetHeader() requests that gzip header information be stored in the - provided gz_header structure. inflateGetHeader() may be called after - inflateInit2() or inflateReset(), and before the first call of inflate(). - As inflate() processes the gzip stream, head->done is zero until the header - is completed, at which time head->done is set to one. If a zlib stream is - being decoded, then head->done is set to -1 to indicate that there will be - no gzip header information forthcoming. Note that Z_BLOCK can be used to - force inflate() to return immediately after header processing is complete - and before any actual data is decompressed. - - The text, time, xflags, and os fields are filled in with the gzip header - contents. hcrc is set to true if there is a header CRC. (The header CRC - was valid if done is set to one.) If extra is not Z_NULL, then extra_max - contains the maximum number of bytes to write to extra. Once done is true, - extra_len contains the actual extra field length, and extra contains the - extra field, or that field truncated if extra_max is less than extra_len. - If name is not Z_NULL, then up to name_max characters are written there, - terminated with a zero unless the length is greater than name_max. If - comment is not Z_NULL, then up to comm_max characters are written there, - terminated with a zero unless the length is greater than comm_max. When - any of extra, name, or comment are not Z_NULL and the respective field is - not present in the header, then that field is set to Z_NULL to signal its - absence. This allows the use of deflateSetHeader() with the returned - structure to duplicate the header. However if those fields are set to - allocated memory, then the application will need to save those pointers - elsewhere so that they can be eventually freed. - - If inflateGetHeader is not used, then the header information is simply - discarded. The header is always checked for validity, including the header - CRC if present. inflateReset() will reset the process to discard the header - information. The application would need to call inflateGetHeader() again to - retrieve the header from the next gzip stream. - - inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, - unsigned char FAR *window)); - - Initialize the internal stream state for decompression using inflateBack() - calls. The fields zalloc, zfree and opaque in strm must be initialized - before the call. If zalloc and zfree are Z_NULL, then the default library- - derived memory allocation routines are used. windowBits is the base two - logarithm of the window size, in the range 8..15. window is a caller - supplied buffer of that size. Except for special applications where it is - assured that deflate was used with small window sizes, windowBits must be 15 - and a 32K byte window must be supplied to be able to decompress general - deflate streams. - - See inflateBack() for the usage of these routines. - - inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of - the paramaters are invalid, Z_MEM_ERROR if the internal state could not - be allocated, or Z_VERSION_ERROR if the version of the library does not - match the version of the header file. -*/ - -typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); -typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); - -ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -/* - inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is more efficient than inflate() for - file i/o applications in that it avoids copying between the output and the - sliding window by simply making the window itself the output buffer. This - function trusts the application to not change the output buffer passed by - the output function, at least until inflateBack() returns. - - inflateBackInit() must be called first to allocate the internal state - and to initialize the state with the user-provided window buffer. - inflateBack() may then be used multiple times to inflate a complete, raw - deflate stream with each call. inflateBackEnd() is then called to free - the allocated state. - - A raw deflate stream is one with no zlib or gzip header or trailer. - This routine would normally be used in a utility that reads zip or gzip - files and writes out uncompressed files. The utility would decode the - header and process the trailer on its own, hence this routine expects - only the raw deflate stream to decompress. This is different from the - normal behavior of inflate(), which expects either a zlib or gzip header and - trailer around the deflate stream. - - inflateBack() uses two subroutines supplied by the caller that are then - called by inflateBack() for input and output. inflateBack() calls those - routines until it reads a complete deflate stream and writes out all of the - uncompressed data, or until it encounters an error. The function's - parameters and return types are defined above in the in_func and out_func - typedefs. inflateBack() will call in(in_desc, &buf) which should return the - number of bytes of provided input, and a pointer to that input in buf. If - there is no input available, in() must return zero--buf is ignored in that - case--and inflateBack() will return a buffer error. inflateBack() will call - out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() - should return zero on success, or non-zero on failure. If out() returns - non-zero, inflateBack() will return with an error. Neither in() nor out() - are permitted to change the contents of the window provided to - inflateBackInit(), which is also the buffer that out() uses to write from. - The length written by out() will be at most the window size. Any non-zero - amount of input may be provided by in(). - - For convenience, inflateBack() can be provided input on the first call by - setting strm->next_in and strm->avail_in. If that input is exhausted, then - in() will be called. Therefore strm->next_in must be initialized before - calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called - immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in - must also be initialized, and then if strm->avail_in is not zero, input will - initially be taken from strm->next_in[0 .. strm->avail_in - 1]. - - The in_desc and out_desc parameters of inflateBack() is passed as the - first parameter of in() and out() respectively when they are called. These - descriptors can be optionally used to pass any information that the caller- - supplied in() and out() functions need to do their job. - - On return, inflateBack() will set strm->next_in and strm->avail_in to - pass back any unused input that was provided by the last in() call. The - return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR - if in() or out() returned an error, Z_DATA_ERROR if there was a format - error in the deflate stream (in which case strm->msg is set to indicate the - nature of the error), or Z_STREAM_ERROR if the stream was not properly - initialized. In the case of Z_BUF_ERROR, an input or output error can be - distinguished using strm->next_in which will be Z_NULL only if in() returned - an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to - out() returning non-zero. (in() will always be called before out(), so - strm->next_in is assured to be defined if out() returns non-zero.) Note - that inflateBack() cannot return Z_OK. -*/ - -ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); -/* - All memory allocated by inflateBackInit() is freed. - - inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream - state was inconsistent. -*/ - -ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); -/* Return flags indicating compile-time options. - - Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: - 1.0: size of uInt - 3.2: size of uLong - 5.4: size of voidpf (pointer) - 7.6: size of z_off_t - - Compiler, assembler, and debug options: - 8: DEBUG - 9: ASMV or ASMINF -- use ASM code - 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention - 11: 0 (reserved) - - One-time table building (smaller code, but not thread-safe if true): - 12: BUILDFIXED -- build static block decoding tables when needed - 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed - 14,15: 0 (reserved) - - Library content (indicates missing functionality): - 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking - deflate code when not needed) - 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect - and decode gzip streams (to avoid linking crc code) - 18-19: 0 (reserved) - - Operation variations (changes in library functionality): - 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate - 21: FASTEST -- deflate algorithm with only one, lowest compression level - 22,23: 0 (reserved) - - The sprintf variant used by gzprintf (zero is best): - 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format - 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! - 26: 0 = returns value, 1 = void -- 1 means inferred string length returned - - Remainder: - 27-31: 0 (reserved) - */ - - - /* utility functions */ - -/* - The following utility functions are implemented on top of the - basic stream-oriented functions. To simplify the interface, some - default options are assumed (compression level and memory usage, - standard memory allocation functions). The source code of these - utility functions can easily be modified if you need special options. -*/ - -ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Compresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be at least the value returned - by compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - This function can be used to compress a whole file at once if the - input file is mmap'ed. - compress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer. -*/ - -ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen, - int level)); -/* - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ - -ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); -/* - compressBound() returns an upper bound on the compressed size after - compress() or compress2() on sourceLen bytes. It would be used before - a compress() or compress2() call to allocate the destination buffer. -*/ - -ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be large enough to hold the - entire uncompressed data. (The size of the uncompressed data must have - been saved previously by the compressor and transmitted to the decompressor - by some mechanism outside the scope of this compression library.) - Upon exit, destLen is the actual size of the compressed buffer. - This function can be used to decompress a whole file at once if the - input file is mmap'ed. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. -*/ - - -typedef voidp gzFile; - -ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); -/* - Opens a gzip (.gz) file for reading or writing. The mode parameter - is as in fopen ("rb" or "wb") but can also include a compression level - ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for - Huffman only compression as in "wb1h", or 'R' for run-length encoding - as in "wb1R". (See the description of deflateInit2 for more information - about the strategy parameter.) - - gzopen can be used to read a file which is not in gzip format; in this - case gzread will directly read from the file without decompression. - - gzopen returns NULL if the file could not be opened or if there was - insufficient memory to allocate the (de)compression state; errno - can be checked to distinguish the two cases (if errno is zero, the - zlib error is Z_MEM_ERROR). */ - -ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); -/* - gzdopen() associates a gzFile with the file descriptor fd. File - descriptors are obtained from calls like open, dup, creat, pipe or - fileno (in the file has been previously opened with fopen). - The mode parameter is as in gzopen. - The next call of gzclose on the returned gzFile will also close the - file descriptor fd, just like fclose(fdopen(fd), mode) closes the file - descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode). - gzdopen returns NULL if there was insufficient memory to allocate - the (de)compression state. -*/ - -ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); -/* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. - gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not - opened for writing. -*/ - -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); -/* - Reads the given number of uncompressed bytes from the compressed file. - If the input file was not in gzip format, gzread copies the given number - of bytes into the buffer. - gzread returns the number of uncompressed bytes actually read (0 for - end of file, -1 for error). */ - -ZEXTERN int ZEXPORT gzwrite OF((gzFile file, - voidpc buf, unsigned len)); -/* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes actually written - (0 in case of error). -*/ - -ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...)); -/* - Converts, formats, and writes the args to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written (0 in case of error). The number of - uncompressed bytes written is limited to 4095. The caller should assure that - this limit is not exceeded. If it is exceeded, then gzprintf() will return - return an error (0) with nothing written. In this case, there may also be a - buffer overflow with unpredictable consequences, which is possible only if - zlib was compiled with the insecure functions sprintf() or vsprintf() - because the secure snprintf() or vsnprintf() functions were not available. -*/ - -ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); -/* - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - gzputs returns the number of characters written, or -1 in case of error. -*/ - -ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); -/* - Reads bytes from the compressed file until len-1 characters are read, or - a newline character is read and transferred to buf, or an end-of-file - condition is encountered. The string is then terminated with a null - character. - gzgets returns buf, or Z_NULL in case of error. -*/ - -ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); -/* - Writes c, converted to an unsigned char, into the compressed file. - gzputc returns the value that was written, or -1 in case of error. -*/ - -ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); -/* - Reads one byte from the compressed file. gzgetc returns this byte - or -1 in case of end of file or error. -*/ - -ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); -/* - Push one character back onto the stream to be read again later. - Only one character of push-back is allowed. gzungetc() returns the - character pushed, or -1 on failure. gzungetc() will fail if a - character has been pushed but not read yet, or if c is -1. The pushed - character will be discarded if the stream is repositioned with gzseek() - or gzrewind(). -*/ - -ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); -/* - Flushes all pending output into the compressed file. The parameter - flush is as in the deflate() function. The return value is the zlib - error number (see function gzerror below). gzflush returns Z_OK if - the flush parameter is Z_FINISH and all output could be flushed. - gzflush should be called only when strictly necessary because it can - degrade compression. -*/ - -ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, - z_off_t offset, int whence)); -/* - Sets the starting position for the next gzread or gzwrite on the - given compressed file. The offset represents a number of bytes in the - uncompressed data stream. The whence parameter is defined as in lseek(2); - the value SEEK_END is not supported. - If the file is opened for reading, this function is emulated but can be - extremely slow. If the file is opened for writing, only forward seeks are - supported; gzseek then compresses a sequence of zeroes up to the new - starting position. - - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error, in - particular if the file is opened for writing and the new starting position - would be before the current position. -*/ - -ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); -/* - Rewinds the given file. This function is supported only for reading. - - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) -*/ - -ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); -/* - Returns the starting position for the next gzread or gzwrite on the - given compressed file. This position represents a number of bytes in the - uncompressed data stream. - - gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) -*/ - -ZEXTERN int ZEXPORT gzeof OF((gzFile file)); -/* - Returns 1 when EOF has previously been detected reading the given - input stream, otherwise zero. -*/ - -ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); -/* - Returns 1 if file is being read directly without decompression, otherwise - zero. -*/ - -ZEXTERN int ZEXPORT gzclose OF((gzFile file)); -/* - Flushes all pending output if necessary, closes the compressed file - and deallocates all the (de)compression state. The return value is the zlib - error number (see function gzerror below). -*/ - -ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); -/* - Returns the error message for the last error which occurred on the - given compressed file. errnum is set to zlib error number. If an - error occurred in the file system and not in the compression library, - errnum is set to Z_ERRNO and the application may consult errno - to get the exact error code. -*/ - -ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); -/* - Clears the error and end-of-file flags for file. This is analogous to the - clearerr() function in stdio. This is useful for continuing to read a gzip - file that is being written concurrently. -*/ - - /* checksum functions */ - -/* - These functions are not related to compression but are exported - anyway because they might be useful in applications using the - compression library. -*/ - -ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); -/* - Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is NULL, this function returns - the required initial value for the checksum. - An Adler-32 checksum is almost as reliable as a CRC32 but can be computed - much faster. Usage example: - - uLong adler = adler32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - adler = adler32(adler, buffer, length); - } - if (adler != original_adler) error(); -*/ - -ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, - z_off_t len2)); -/* - Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 - and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for - each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of - seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. -*/ - -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); -/* - Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is NULL, this function returns the required initial - value for the for the crc. Pre- and post-conditioning (one's complement) is - performed within this function so it shouldn't be done by the application. - Usage example: - - uLong crc = crc32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - crc = crc32(crc, buffer, length); - } - if (crc != original_crc) error(); -*/ - -ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); - -/* - Combine two CRC-32 check values into one. For two sequences of bytes, - seq1 and seq2 with lengths len1 and len2, CRC-32 check values were - calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 - check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. -*/ - - - /* various hacks, don't look :) */ - -/* deflateInit and inflateInit are macros to allow checking the zlib version - * and the compiler's view of z_stream: - */ -ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, - int windowBits, int memLevel, - int strategy, const char *version, - int stream_size)); -ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define deflateInit(strm, level) \ - deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit(strm) \ - inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream)) -#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ - deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ - (strategy), ZLIB_VERSION, sizeof(z_stream)) -#define inflateInit2(strm, windowBits) \ - inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream)) -#define inflateBackInit(strm, windowBits, window) \ - inflateBackInit_((strm), (windowBits), (window), \ - ZLIB_VERSION, sizeof(z_stream)) - - -#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) - struct internal_state {int dummy;}; /* hack for buggy compilers */ -#endif - -ZEXTERN const char * ZEXPORT zError OF((int)); -ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); -ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); - -#ifdef __cplusplus -} -#endif - -#endif /* ZLIB_H */ diff --git a/extern/gnuwin32/lib/jpeg.def b/extern/gnuwin32/lib/jpeg.def deleted file mode 100644 index 01d329f..0000000 --- a/extern/gnuwin32/lib/jpeg.def +++ /dev/null @@ -1,103 +0,0 @@ -; h:\mingw\3.3.1\bin\dlltool.exe --output-def=jpeg.def jcapimin.o jcapistd.o jctrans.o jcparam.o jdatadst.o jcinit.o jcmaster.o jcmarker.o jcmainct.o jcprepct.o jccoefct.o jccolor.o jcsample.o jchuff.o jcphuff.o jcdctmgr.o jfdctfst.o jfdctflt.o jfdctint.o jdapimin.o jdapistd.o jdtrans.o jdatasrc.o jdmaster.o jdinput.o jdmarker.o jdhuff.o jdphuff.o jdmainct.o jdcoefct.o jdpostct.o jddctmgr.o jidctfst.o jidctflt.o jidctint.o jidctred.o jdsample.o jdcolor.o jquant1.o jquant2.o jdmerge.o jcomapi.o jutils.o jerror.o jmemmgr.o jmemnobs.o jpeg-dllversion.o jpeg-dll-res.o -EXPORTS - jcopy_block_row @ 1 ; - jcopy_sample_rows @ 2 ; - jdiv_round_up @ 3 ; - jinit_1pass_quantizer @ 4 ; - jinit_2pass_quantizer @ 5 ; - jinit_c_coef_controller @ 6 ; - jinit_c_main_controller @ 7 ; - jinit_c_master_control @ 8 ; - jinit_c_prep_controller @ 9 ; - jinit_color_converter @ 10 ; - jinit_color_deconverter @ 11 ; - jinit_compress_master @ 12 ; - jinit_d_coef_controller @ 13 ; - jinit_d_main_controller @ 14 ; - jinit_d_post_controller @ 15 ; - jinit_downsampler @ 16 ; - jinit_forward_dct @ 17 ; - jinit_huff_decoder @ 18 ; - jinit_huff_encoder @ 19 ; - jinit_input_controller @ 20 ; - jinit_inverse_dct @ 21 ; - jinit_marker_reader @ 22 ; - jinit_marker_writer @ 23 ; - jinit_master_decompress @ 24 ; - jinit_memory_mgr @ 25 ; - jinit_merged_upsampler @ 26 ; - jinit_phuff_decoder @ 27 ; - jinit_phuff_encoder @ 28 ; - jinit_upsampler @ 29 ; - jpeg_CreateCompress @ 30 ; - jpeg_CreateDecompress @ 31 ; - jpeg_abort @ 32 ; - jpeg_abort_compress @ 33 ; - jpeg_abort_decompress @ 34 ; - jpeg_add_quant_table @ 35 ; - jpeg_alloc_huff_table @ 36 ; - jpeg_alloc_quant_table @ 37 ; - jpeg_calc_output_dimensions @ 38 ; - jpeg_consume_input @ 39 ; - jpeg_copy_critical_parameters @ 40 ; - jpeg_default_colorspace @ 41 ; - jpeg_destroy @ 42 ; - jpeg_destroy_compress @ 43 ; - jpeg_destroy_decompress @ 44 ; - jpeg_fdct_float @ 45 ; - jpeg_fdct_ifast @ 46 ; - jpeg_fdct_islow @ 47 ; - jpeg_fill_bit_buffer @ 48 ; - jpeg_finish_compress @ 49 ; - jpeg_finish_decompress @ 50 ; - jpeg_finish_output @ 51 ; - jpeg_free_large @ 52 ; - jpeg_free_small @ 53 ; - jpeg_gen_optimal_table @ 54 ; - jpeg_get_large @ 55 ; - jpeg_get_small @ 56 ; - jpeg_has_multiple_scans @ 57 ; - jpeg_huff_decode @ 58 ; - jpeg_idct_1x1 @ 59 ; - jpeg_idct_2x2 @ 60 ; - jpeg_idct_4x4 @ 61 ; - jpeg_idct_float @ 62 ; - jpeg_idct_ifast @ 63 ; - jpeg_idct_islow @ 64 ; - jpeg_input_complete @ 65 ; - jpeg_make_c_derived_tbl @ 66 ; - jpeg_make_d_derived_tbl @ 67 ; - jpeg_mem_available @ 68 ; - jpeg_mem_init @ 69 ; - jpeg_mem_term @ 70 ; - jpeg_new_colormap @ 71 ; - jpeg_open_backing_store @ 72 ; - jpeg_quality_scaling @ 73 ; - jpeg_read_coefficients @ 74 ; - jpeg_read_header @ 75 ; - jpeg_read_raw_data @ 76 ; - jpeg_read_scanlines @ 77 ; - jpeg_resync_to_restart @ 78 ; - jpeg_save_markers @ 79 ; - jpeg_set_colorspace @ 80 ; - jpeg_set_defaults @ 81 ; - jpeg_set_linear_quality @ 82 ; - jpeg_set_marker_processor @ 83 ; - jpeg_set_quality @ 84 ; - jpeg_simple_progression @ 85 ; - jpeg_start_compress @ 86 ; - jpeg_start_decompress @ 87 ; - jpeg_start_output @ 88 ; - jpeg_std_error @ 89 ; - jpeg_stdio_dest @ 90 ; - jpeg_stdio_src @ 91 ; - jpeg_suppress_tables @ 92 ; - jpeg_write_coefficients @ 93 ; - jpeg_write_m_byte @ 94 ; - jpeg_write_m_header @ 95 ; - jpeg_write_marker @ 96 ; - jpeg_write_raw_data @ 97 ; - jpeg_write_scanlines @ 98 ; - jpeg_write_tables @ 99 ; - jround_up @ 100 ; - jzero_far @ 101 ; diff --git a/extern/gnuwin32/lib/jpeg.lib b/extern/gnuwin32/lib/jpeg.lib deleted file mode 100644 index 8fc184a..0000000 Binary files a/extern/gnuwin32/lib/jpeg.lib and /dev/null differ diff --git a/extern/gnuwin32/lib/libpng.def b/extern/gnuwin32/lib/libpng.def deleted file mode 100644 index 2eee265..0000000 --- a/extern/gnuwin32/lib/libpng.def +++ /dev/null @@ -1,372 +0,0 @@ -; h:\mingw\3.3.1\bin\dlltool.exe --export-all-symbols --output-def=libpng.def png.dll.o pngset.dll.o pngget.dll.o pngrutil.dll.o pngtrans.dll.o pngwutil.dll.o pngread.dll.o pngrio.dll.o pngwio.dll.o pngwrite.dll.o pngrtran.dll.o pngwtran.dll.o pngmem.dll.o pngerror.dll.o pngpread.dll.o pnggccrd.dll.o libpng-dllversion.dll.o libpng-dll-res.o -EXPORTS - ActiveMask @ 1 DATA ; - ActiveMask2 @ 2 DATA ; - ActiveMaskEnd @ 3 DATA ; - DllGetVersion @ 4 ; - HBClearMask @ 5 DATA ; - LBCarryMask @ 6 DATA ; - ShiftBpp @ 7 DATA ; - ShiftRem @ 8 DATA ; - png_IDAT @ 9 DATA ; - png_IEND @ 10 DATA ; - png_IHDR @ 11 DATA ; - png_PLTE @ 12 DATA ; - png_access_version_number @ 13 ; - png_bKGD @ 14 DATA ; - png_build_gamma_table @ 15 ; - png_build_grayscale_palette @ 16 ; - png_cHRM @ 17 DATA ; - png_calculate_crc @ 18 ; - png_check_chunk_name @ 19 ; - png_check_keyword @ 20 ; - png_check_sig @ 21 ; - png_chunk_error @ 22 ; - png_chunk_warning @ 23 ; - png_combine_row @ 24 ; - png_convert_from_struct_tm @ 25 ; - png_convert_from_time_t @ 26 ; - png_convert_to_rfc1123 @ 27 ; - png_crc_error @ 28 ; - png_crc_finish @ 29 ; - png_crc_read @ 30 ; - png_create_info_struct @ 31 ; - png_create_read_struct @ 32 ; - png_create_read_struct_2 @ 33 ; - png_create_struct @ 34 ; - png_create_struct_2 @ 35 ; - png_create_write_struct @ 36 ; - png_create_write_struct_2 @ 37 ; - png_data_freer @ 38 ; - png_decompress_chunk @ 39 ; - png_default_flush @ 40 ; - png_default_read_data @ 41 ; - png_default_write_data @ 42 ; - png_destroy_info_struct @ 43 ; - png_destroy_read_struct @ 44 ; - png_destroy_struct @ 45 ; - png_destroy_struct_2 @ 46 ; - png_destroy_write_struct @ 47 ; - png_do_background @ 48 ; - png_do_bgr @ 49 ; - png_do_chop @ 50 ; - png_do_dither @ 51 ; - png_do_expand @ 52 ; - png_do_expand_palette @ 53 ; - png_do_gamma @ 54 ; - png_do_gray_to_rgb @ 55 ; - png_do_invert @ 56 ; - png_do_pack @ 57 ; - png_do_packswap @ 58 ; - png_do_read_filler @ 59 ; - png_do_read_interlace @ 60 ; - png_do_read_intrapixel @ 61 ; - png_do_read_invert_alpha @ 62 ; - png_do_read_swap_alpha @ 63 ; - png_do_read_transformations @ 64 ; - png_do_rgb_to_gray @ 65 ; - png_do_shift @ 66 ; - png_do_strip_filler @ 67 ; - png_do_swap @ 68 ; - png_do_unpack @ 69 ; - png_do_unshift @ 70 ; - png_do_write_interlace @ 71 ; - png_do_write_intrapixel @ 72 ; - png_do_write_invert_alpha @ 73 ; - png_do_write_swap_alpha @ 74 ; - png_do_write_transformations @ 75 ; - png_error @ 76 ; - png_flush @ 77 ; - png_free @ 78 ; - png_free_data @ 79 ; - png_free_default @ 80 ; - png_gAMA @ 81 DATA ; - png_get_IHDR @ 82 ; - png_get_PLTE @ 83 ; - png_get_asm_flagmask @ 84 ; - png_get_asm_flags @ 85 ; - png_get_bKGD @ 86 ; - png_get_bit_depth @ 87 ; - png_get_cHRM @ 88 ; - png_get_cHRM_fixed @ 89 ; - png_get_channels @ 90 ; - png_get_color_type @ 91 ; - png_get_compression_buffer_size @ 92 ; - png_get_compression_type @ 93 ; - png_get_copyright @ 94 ; - png_get_error_ptr @ 95 ; - png_get_filter_type @ 96 ; - png_get_gAMA @ 97 ; - png_get_gAMA_fixed @ 98 ; - png_get_hIST @ 99 ; - png_get_header_ver @ 100 ; - png_get_header_version @ 101 ; - png_get_iCCP @ 102 ; - png_get_image_height @ 103 ; - png_get_image_width @ 104 ; - png_get_int_32 @ 105 ; - png_get_interlace_type @ 106 ; - png_get_io_ptr @ 107 ; - png_get_libpng_ver @ 108 ; - png_get_mem_ptr @ 109 ; - png_get_mmx_bitdepth_threshold @ 110 ; - png_get_mmx_flagmask @ 111 ; - png_get_mmx_rowbytes_threshold @ 112 ; - png_get_oFFs @ 113 ; - png_get_pCAL @ 114 ; - png_get_pHYs @ 115 ; - png_get_pixel_aspect_ratio @ 116 ; - png_get_pixels_per_meter @ 117 ; - png_get_progressive_ptr @ 118 ; - png_get_rgb_to_gray_status @ 119 ; - png_get_rowbytes @ 120 ; - png_get_rows @ 121 ; - png_get_sBIT @ 122 ; - png_get_sCAL @ 123 ; - png_get_sPLT @ 124 ; - png_get_sRGB @ 125 ; - png_get_signature @ 126 ; - png_get_tIME @ 127 ; - png_get_tRNS @ 128 ; - png_get_text @ 129 ; - png_get_uint_16 @ 130 ; - png_get_uint_31 @ 131 ; - png_get_uint_32 @ 132 ; - png_get_unknown_chunks @ 133 ; - png_get_user_chunk_ptr @ 134 ; - png_get_user_height_max @ 135 ; - png_get_user_transform_ptr @ 136 ; - png_get_user_width_max @ 137 ; - png_get_valid @ 138 ; - png_get_x_offset_microns @ 139 ; - png_get_x_offset_pixels @ 140 ; - png_get_x_pixels_per_meter @ 141 ; - png_get_y_offset_microns @ 142 ; - png_get_y_offset_pixels @ 143 ; - png_get_y_pixels_per_meter @ 144 ; - png_hIST @ 145 DATA ; - png_handle_IEND @ 146 ; - png_handle_IHDR @ 147 ; - png_handle_PLTE @ 148 ; - png_handle_as_unknown @ 149 ; - png_handle_bKGD @ 150 ; - png_handle_cHRM @ 151 ; - png_handle_gAMA @ 152 ; - png_handle_hIST @ 153 ; - png_handle_iCCP @ 154 ; - png_handle_oFFs @ 155 ; - png_handle_pCAL @ 156 ; - png_handle_pHYs @ 157 ; - png_handle_sBIT @ 158 ; - png_handle_sCAL @ 159 ; - png_handle_sPLT @ 160 ; - png_handle_sRGB @ 161 ; - png_handle_tEXt @ 162 ; - png_handle_tIME @ 163 ; - png_handle_tRNS @ 164 ; - png_handle_unknown @ 165 ; - png_handle_zTXt @ 166 ; - png_iCCP @ 167 DATA ; - png_iTXt @ 168 DATA ; - png_info_destroy @ 169 ; - png_info_init @ 170 ; - png_info_init_3 @ 171 ; - png_init_io @ 172 ; - png_init_mmx_flags @ 173 ; - png_init_read_transformations @ 174 ; - png_libpng_ver @ 175 DATA ; - png_malloc @ 176 ; - png_malloc_default @ 177 ; - png_malloc_warn @ 178 ; - png_memcpy_check @ 179 ; - png_memset_check @ 180 ; - png_mmx_support @ 181 ; - png_oFFs @ 182 DATA ; - png_pCAL @ 183 DATA ; - png_pHYs @ 184 DATA ; - png_pass_dsp_mask @ 185 DATA ; - png_pass_inc @ 186 DATA ; - png_pass_mask @ 187 DATA ; - png_pass_start @ 188 DATA ; - png_pass_width @ 189 DATA ; - png_pass_yinc @ 190 DATA ; - png_pass_ystart @ 191 DATA ; - png_permit_empty_plte @ 192 ; - png_permit_mng_features @ 193 ; - png_process_IDAT_data @ 194 ; - png_process_data @ 195 ; - png_process_some_data @ 196 ; - png_progressive_combine_row @ 197 ; - png_push_crc_finish @ 198 ; - png_push_crc_skip @ 199 ; - png_push_fill_buffer @ 200 ; - png_push_handle_tEXt @ 201 ; - png_push_handle_unknown @ 202 ; - png_push_handle_zTXt @ 203 ; - png_push_have_end @ 204 ; - png_push_have_info @ 205 ; - png_push_have_row @ 206 ; - png_push_process_row @ 207 ; - png_push_read_IDAT @ 208 ; - png_push_read_chunk @ 209 ; - png_push_read_sig @ 210 ; - png_push_read_tEXt @ 211 ; - png_push_read_zTXt @ 212 ; - png_push_restore_buffer @ 213 ; - png_push_save_buffer @ 214 ; - png_read_data @ 215 ; - png_read_destroy @ 216 ; - png_read_end @ 217 ; - png_read_filter_row @ 218 ; - png_read_finish_row @ 219 ; - png_read_image @ 220 ; - png_read_info @ 221 ; - png_read_init @ 222 ; - png_read_init_2 @ 223 ; - png_read_init_3 @ 224 ; - png_read_png @ 225 ; - png_read_push_finish_row @ 226 ; - png_read_row @ 227 ; - png_read_rows @ 228 ; - png_read_start_row @ 229 ; - png_read_transform_info @ 230 ; - png_read_update_info @ 231 ; - png_reset_crc @ 232 ; - png_reset_zstream @ 233 ; - png_sBIT @ 234 DATA ; - png_sCAL @ 235 DATA ; - png_sPLT @ 236 DATA ; - png_sRGB @ 237 DATA ; - png_save_int_32 @ 238 ; - png_save_uint_16 @ 239 ; - png_save_uint_32 @ 240 ; - png_set_IHDR @ 241 ; - png_set_PLTE @ 242 ; - png_set_add_alpha @ 243 ; - png_set_asm_flags @ 244 ; - png_set_bKGD @ 245 ; - png_set_background @ 246 ; - png_set_bgr @ 247 ; - png_set_cHRM @ 248 ; - png_set_cHRM_fixed @ 249 ; - png_set_compression_buffer_size @ 250 ; - png_set_compression_level @ 251 ; - png_set_compression_mem_level @ 252 ; - png_set_compression_method @ 253 ; - png_set_compression_strategy @ 254 ; - png_set_compression_window_bits @ 255 ; - png_set_crc_action @ 256 ; - png_set_dither @ 257 ; - png_set_error_fn @ 258 ; - png_set_expand @ 259 ; - png_set_filler @ 260 ; - png_set_filter @ 261 ; - png_set_filter_heuristics @ 262 ; - png_set_flush @ 263 ; - png_set_gAMA @ 264 ; - png_set_gAMA_fixed @ 265 ; - png_set_gamma @ 266 ; - png_set_gray_1_2_4_to_8 @ 267 ; - png_set_gray_to_rgb @ 268 ; - png_set_hIST @ 269 ; - png_set_iCCP @ 270 ; - png_set_interlace_handling @ 271 ; - png_set_invalid @ 272 ; - png_set_invert_alpha @ 273 ; - png_set_invert_mono @ 274 ; - png_set_keep_unknown_chunks @ 275 ; - png_set_mem_fn @ 276 ; - png_set_mmx_thresholds @ 277 ; - png_set_oFFs @ 278 ; - png_set_pCAL @ 279 ; - png_set_pHYs @ 280 ; - png_set_packing @ 281 ; - png_set_packswap @ 282 ; - png_set_palette_to_rgb @ 283 ; - png_set_progressive_read_fn @ 284 ; - png_set_read_fn @ 285 ; - png_set_read_status_fn @ 286 ; - png_set_read_user_chunk_fn @ 287 ; - png_set_read_user_transform_fn @ 288 ; - png_set_rgb_to_gray @ 289 ; - png_set_rgb_to_gray_fixed @ 290 ; - png_set_rows @ 291 ; - png_set_sBIT @ 292 ; - png_set_sCAL @ 293 ; - png_set_sPLT @ 294 ; - png_set_sRGB @ 295 ; - png_set_sRGB_gAMA_and_cHRM @ 296 ; - png_set_shift @ 297 ; - png_set_sig_bytes @ 298 ; - png_set_strip_16 @ 299 ; - png_set_strip_alpha @ 300 ; - png_set_strip_error_numbers @ 301 ; - png_set_swap @ 302 ; - png_set_swap_alpha @ 303 ; - png_set_tIME @ 304 ; - png_set_tRNS @ 305 ; - png_set_tRNS_to_alpha @ 306 ; - png_set_text @ 307 ; - png_set_text_2 @ 308 ; - png_set_unknown_chunk_location @ 309 ; - png_set_unknown_chunks @ 310 ; - png_set_user_limits @ 311 ; - png_set_user_transform_info @ 312 ; - png_set_write_fn @ 313 ; - png_set_write_status_fn @ 314 ; - png_set_write_user_transform_fn @ 315 ; - png_sig @ 316 DATA ; - png_sig_cmp @ 317 ; - png_squelch_warnings @ 318 ; - png_start_read_image @ 319 ; - png_tEXt @ 320 DATA ; - png_tIME @ 321 DATA ; - png_tRNS @ 322 DATA ; - png_warning @ 323 ; - png_write_IDAT @ 324 ; - png_write_IEND @ 325 ; - png_write_IHDR @ 326 ; - png_write_PLTE @ 327 ; - png_write_bKGD @ 328 ; - png_write_cHRM @ 329 ; - png_write_cHRM_fixed @ 330 ; - png_write_chunk @ 331 ; - png_write_chunk_data @ 332 ; - png_write_chunk_end @ 333 ; - png_write_chunk_start @ 334 ; - png_write_data @ 335 ; - png_write_destroy @ 336 ; - png_write_end @ 337 ; - png_write_filtered_row @ 338 ; - png_write_find_filter @ 339 ; - png_write_finish_row @ 340 ; - png_write_flush @ 341 ; - png_write_gAMA @ 342 ; - png_write_gAMA_fixed @ 343 ; - png_write_hIST @ 344 ; - png_write_iCCP @ 345 ; - png_write_image @ 346 ; - png_write_info @ 347 ; - png_write_info_before_PLTE @ 348 ; - png_write_init @ 349 ; - png_write_init_2 @ 350 ; - png_write_init_3 @ 351 ; - png_write_oFFs @ 352 ; - png_write_pCAL @ 353 ; - png_write_pHYs @ 354 ; - png_write_png @ 355 ; - png_write_row @ 356 ; - png_write_rows @ 357 ; - png_write_sBIT @ 358 ; - png_write_sCAL @ 359 ; - png_write_sPLT @ 360 ; - png_write_sRGB @ 361 ; - png_write_sig @ 362 ; - png_write_start_row @ 363 ; - png_write_tEXt @ 364 ; - png_write_tIME @ 365 ; - png_write_tRNS @ 366 ; - png_write_zTXt @ 367 ; - png_zTXt @ 368 DATA ; - png_zalloc @ 369 ; - png_zfree @ 370 ; diff --git a/extern/gnuwin32/lib/libpng.lib b/extern/gnuwin32/lib/libpng.lib deleted file mode 100644 index 072162f..0000000 Binary files a/extern/gnuwin32/lib/libpng.lib and /dev/null differ diff --git a/extern/gnuwin32/lib/libpng12.def b/extern/gnuwin32/lib/libpng12.def deleted file mode 100644 index 8045a8f..0000000 --- a/extern/gnuwin32/lib/libpng12.def +++ /dev/null @@ -1,239 +0,0 @@ -LIBRARY libpng12.dll -EXPORTS -DllGetVersion -png_IDAT DATA -png_IEND DATA -png_IHDR DATA -png_PLTE DATA -png_access_version_number -png_bKGD DATA -png_build_grayscale_palette -png_cHRM DATA -png_check_sig -png_chunk_error -png_chunk_warning -png_convert_from_struct_tm -png_convert_from_time_t -png_convert_to_rfc1123 -png_create_info_struct -png_create_read_struct -png_create_read_struct_2 -png_create_write_struct -png_create_write_struct_2 -png_data_freer -png_destroy_info_struct -png_destroy_read_struct -png_destroy_write_struct -png_error -png_free -png_free_data -png_free_default -png_gAMA DATA -png_get_IHDR -png_get_PLTE -png_get_asm_flagmask -png_get_asm_flags -png_get_bKGD -png_get_bit_depth -png_get_cHRM -png_get_cHRM_fixed -png_get_channels -png_get_color_type -png_get_compression_buffer_size -png_get_compression_type -png_get_copyright -png_get_error_ptr -png_get_filter_type -png_get_gAMA -png_get_gAMA_fixed -png_get_hIST -png_get_header_ver -png_get_header_version -png_get_iCCP -png_get_image_height -png_get_image_width -png_get_int_32 -png_get_interlace_type -png_get_io_ptr -png_get_libpng_ver -png_get_mem_ptr -png_get_mmx_bitdepth_threshold -png_get_mmx_flagmask -png_get_mmx_rowbytes_threshold -png_get_oFFs -png_get_pCAL -png_get_pHYs -png_get_pixel_aspect_ratio -png_get_pixels_per_meter -png_get_progressive_ptr -png_get_rgb_to_gray_status -png_get_rowbytes -png_get_rows -png_get_sBIT -png_get_sCAL -png_get_sPLT -png_get_sRGB -png_get_signature -png_get_tIME -png_get_tRNS -png_get_text -png_get_uint_16 -png_get_uint_31 -png_get_uint_32 -png_get_unknown_chunks -png_get_user_chunk_ptr -png_get_user_height_max -png_get_user_transform_ptr -png_get_user_width_max -png_get_valid -png_get_x_offset_microns -png_get_x_offset_pixels -png_get_x_pixels_per_meter -png_get_y_offset_microns -png_get_y_offset_pixels -png_get_y_pixels_per_meter -png_hIST DATA -png_handle_as_unknown -png_iCCP DATA -png_iTXt DATA -png_info_init -png_info_init_3 -png_init_io -png_libpng_ver DATA -png_malloc -png_malloc_default -png_malloc_warn -png_memcpy_check -png_memset_check -png_mmx_support -png_oFFs DATA -png_pCAL DATA -png_pHYs DATA -png_pass_dsp_mask DATA -png_pass_inc DATA -png_pass_mask DATA -png_pass_start DATA -png_pass_yinc DATA -png_pass_ystart DATA -png_permit_empty_plte -png_permit_mng_features -png_process_data -png_progressive_combine_row -png_read_destroy -png_read_end -png_read_image -png_read_info -png_read_init -png_read_init_2 -png_read_init_3 -png_read_png -png_read_row -png_read_rows -png_read_update_info -png_reset_zstream -png_sBIT DATA -png_sCAL DATA -png_sPLT DATA -png_sRGB DATA -png_save_int_32 -png_save_uint_16 -png_save_uint_32 -png_set_IHDR -png_set_PLTE -png_set_add_alpha -png_set_asm_flags -png_set_bKGD -png_set_background -png_set_bgr -png_set_cHRM -png_set_cHRM_fixed -png_set_compression_buffer_size -png_set_compression_level -png_set_compression_mem_level -png_set_compression_method -png_set_compression_strategy -png_set_compression_window_bits -png_set_crc_action -png_set_dither -png_set_error_fn -png_set_expand -png_set_expand_gray_1_2_4_to_8 -png_set_filler -png_set_filter -png_set_filter_heuristics -png_set_flush -png_set_gAMA -png_set_gAMA_fixed -png_set_gamma -png_set_gray_1_2_4_to_8 -png_set_gray_to_rgb -png_set_hIST -png_set_iCCP -png_set_interlace_handling -png_set_invalid -png_set_invert_alpha -png_set_invert_mono -png_set_keep_unknown_chunks -png_set_mem_fn -png_set_mmx_thresholds -png_set_oFFs -png_set_pCAL -png_set_pHYs -png_set_packing -png_set_packswap -png_set_palette_to_rgb -png_set_progressive_read_fn -png_set_read_fn -png_set_read_status_fn -png_set_read_user_chunk_fn -png_set_read_user_transform_fn -png_set_rgb_to_gray -png_set_rgb_to_gray_fixed -png_set_rows -png_set_sBIT -png_set_sCAL -png_set_sPLT -png_set_sRGB -png_set_sRGB_gAMA_and_cHRM -png_set_shift -png_set_sig_bytes -png_set_strip_16 -png_set_strip_alpha -png_set_strip_error_numbers -png_set_swap -png_set_swap_alpha -png_set_tIME -png_set_tRNS -png_set_tRNS_to_alpha -png_set_text -png_set_unknown_chunk_location -png_set_unknown_chunks -png_set_user_limits -png_set_user_transform_info -png_set_write_fn -png_set_write_status_fn -png_set_write_user_transform_fn -png_sig DATA -png_sig_cmp -png_start_read_image -png_tEXt DATA -png_tIME DATA -png_tRNS DATA -png_warning -png_write_chunk -png_write_chunk_data -png_write_chunk_end -png_write_chunk_start -png_write_destroy -png_write_end -png_write_flush -png_write_image -png_write_info -png_write_info_before_PLTE -png_write_init -png_write_init_2 -png_write_init_3 -png_write_png -png_write_row -png_write_rows -png_zTXt DATA diff --git a/extern/gnuwin32/lib/libtiff.def b/extern/gnuwin32/lib/libtiff.def deleted file mode 100644 index d430edd..0000000 --- a/extern/gnuwin32/lib/libtiff.def +++ /dev/null @@ -1,154 +0,0 @@ -; g:\mingw\3.3.1\bin\dlltool.exe --output-def=libtiff.def tif_aux.o tif_close.o tif_codec.o tif_color.o tif_compress.o tif_dir.o tif_dirinfo.o tif_dirread.o tif_dirwrite.o tif_dumpmode.o tif_error.o tif_extension.o tif_fax3.o tif_fax3sm.o tif_flush.o tif_getimage.o tif_jpeg.o tif_luv.o tif_lzw.o tif_next.o tif_ojpeg.o tif_open.o tif_packbits.o tif_pixarlog.o tif_predict.o tif_print.o tif_read.o tif_strip.o tif_swab.o tif_thunder.o tif_tile.o tif_unix.o tif_version.o tif_warning.o tif_write.o tif_zip.o libtiff-dllversion.o libtiff-dll-res.o -EXPORTS - DllGetVersion @ 1 ; - LogL10fromY @ 2 ; - LogL10toY @ 3 ; - LogL16fromY @ 4 ; - LogL16toY @ 5 ; - LogLuv24fromXYZ @ 6 ; - LogLuv24toXYZ @ 7 ; - LogLuv32fromXYZ @ 8 ; - LogLuv32toXYZ @ 9 ; - TIFFAccessTagMethods @ 10 ; - TIFFCIELabToRGBInit @ 11 ; - TIFFCIELabToXYZ @ 12 ; - TIFFCheckTile @ 13 ; - TIFFCheckpointDirectory @ 14 ; - TIFFCleanup @ 15 ; - TIFFClientOpen @ 16 ; - TIFFClientdata @ 17 ; - TIFFClose @ 18 ; - TIFFComputeStrip @ 19 ; - TIFFComputeTile @ 20 ; - TIFFCreateDirectory @ 21 ; - TIFFCurrentDirOffset @ 22 ; - TIFFCurrentDirectory @ 23 ; - TIFFCurrentRow @ 24 ; - TIFFCurrentStrip @ 25 ; - TIFFCurrentTile @ 26 ; - TIFFDataWidth @ 27 ; - TIFFDefaultStripSize @ 28 ; - TIFFDefaultTileSize @ 29 ; - TIFFError @ 30 ; - TIFFErrorExt @ 31 ; - TIFFFdOpen @ 32 ; - TIFFFieldWithName @ 33 ; - TIFFFieldWithTag @ 34 ; - TIFFFileName @ 35 ; - TIFFFileno @ 36 ; - TIFFFindCODEC @ 37 ; - TIFFFindFieldInfo @ 38 ; - TIFFFindFieldInfoByName @ 39 ; - TIFFFlush @ 40 ; - TIFFFlushData @ 41 ; - TIFFFreeDirectory @ 42 ; - TIFFGetBitRevTable @ 43 ; - TIFFGetClientInfo @ 44 ; - TIFFGetCloseProc @ 45 ; - TIFFGetConfiguredCODECs @ 46 ; - TIFFGetField @ 47 ; - TIFFGetFieldDefaulted @ 48 ; - TIFFGetMapFileProc @ 49 ; - TIFFGetMode @ 50 ; - TIFFGetReadProc @ 51 ; - TIFFGetSeekProc @ 52 ; - TIFFGetSizeProc @ 53 ; - TIFFGetTagListCount @ 54 ; - TIFFGetTagListEntry @ 55 ; - TIFFGetUnmapFileProc @ 56 ; - TIFFGetVersion @ 57 ; - TIFFGetWriteProc @ 58 ; - TIFFIsBigEndian @ 59 ; - TIFFIsByteSwapped @ 60 ; - TIFFIsCODECConfigured @ 61 ; - TIFFIsMSB2LSB @ 62 ; - TIFFIsTiled @ 63 ; - TIFFIsUpSampled @ 64 ; - TIFFLastDirectory @ 65 ; - TIFFMergeFieldInfo @ 66 ; - TIFFNumberOfDirectories @ 67 ; - TIFFNumberOfStrips @ 68 ; - TIFFNumberOfTiles @ 69 ; - TIFFOpen @ 70 ; - TIFFOpenW @ 71 ; - TIFFPrintDirectory @ 72 ; - TIFFRGBAImageBegin @ 73 ; - TIFFRGBAImageEnd @ 74 ; - TIFFRGBAImageGet @ 75 ; - TIFFRGBAImageOK @ 76 ; - TIFFRasterScanlineSize @ 77 ; - TIFFRawStripSize @ 78 ; - TIFFReadBufferSetup @ 79 ; - TIFFReadCustomDirectory @ 80 ; - TIFFReadDirectory @ 81 ; - TIFFReadEXIFDirectory @ 82 ; - TIFFReadEncodedStrip @ 83 ; - TIFFReadEncodedTile @ 84 ; - TIFFReadRGBAImage @ 85 ; - TIFFReadRGBAImageOriented @ 86 ; - TIFFReadRGBAStrip @ 87 ; - TIFFReadRGBATile @ 88 ; - TIFFReadRawStrip @ 89 ; - TIFFReadRawTile @ 90 ; - TIFFReadScanline @ 91 ; - TIFFReadTile @ 92 ; - TIFFReassignTagToIgnore @ 93 ; - TIFFRegisterCODEC @ 94 ; - TIFFReverseBits @ 95 ; - TIFFRewriteDirectory @ 96 ; - TIFFScanlineSize @ 97 ; - TIFFSetClientInfo @ 98 ; - TIFFSetClientdata @ 99 ; - TIFFSetDirectory @ 100 ; - TIFFSetErrorHandler @ 101 ; - TIFFSetErrorHandlerExt @ 102 ; - TIFFSetField @ 103 ; - TIFFSetFileName @ 104 ; - TIFFSetFileno @ 105 ; - TIFFSetMode @ 106 ; - TIFFSetSubDirectory @ 107 ; - TIFFSetTagExtender @ 108 ; - TIFFSetWarningHandler @ 109 ; - TIFFSetWarningHandlerExt @ 110 ; - TIFFSetWriteOffset @ 111 ; - TIFFSetupStrips @ 112 ; - TIFFStripSize @ 113 ; - TIFFSwabArrayOfDouble @ 114 ; - TIFFSwabArrayOfLong @ 115 ; - TIFFSwabArrayOfShort @ 116 ; - TIFFSwabArrayOfTriples @ 117 ; - TIFFSwabDouble @ 118 ; - TIFFSwabLong @ 119 ; - TIFFSwabShort @ 120 ; - TIFFTileRowSize @ 121 ; - TIFFTileSize @ 122 ; - TIFFUnRegisterCODEC @ 123 ; - TIFFUnlinkDirectory @ 124 ; - TIFFVGetField @ 125 ; - TIFFVGetFieldDefaulted @ 126 ; - TIFFVSetField @ 127 ; - TIFFVStripSize @ 128 ; - TIFFVTileSize @ 129 ; - TIFFWarning @ 130 ; - TIFFWarningExt @ 131 ; - TIFFWriteBufferSetup @ 132 ; - TIFFWriteCheck @ 133 ; - TIFFWriteDirectory @ 134 ; - TIFFWriteEncodedStrip @ 135 ; - TIFFWriteEncodedTile @ 136 ; - TIFFWriteRawStrip @ 137 ; - TIFFWriteRawTile @ 138 ; - TIFFWriteScanline @ 139 ; - TIFFWriteTile @ 140 ; - TIFFXYZToRGB @ 141 ; - TIFFYCbCrToRGBInit @ 142 ; - TIFFYCbCrtoRGB @ 143 ; - XYZtoRGB24 @ 144 ; - _TIFFfree @ 145 ; - _TIFFmalloc @ 146 ; - _TIFFmemcmp @ 147 ; - _TIFFmemcpy @ 148 ; - _TIFFmemset @ 149 ; - _TIFFrealloc @ 150 ; - uv_decode @ 151 ; - uv_encode @ 152 ; diff --git a/extern/gnuwin32/lib/tiff.lib b/extern/gnuwin32/lib/tiff.lib deleted file mode 100644 index 7751967..0000000 Binary files a/extern/gnuwin32/lib/tiff.lib and /dev/null differ diff --git a/extern/gnuwin32/lib/zlib.def b/extern/gnuwin32/lib/zlib.def deleted file mode 100644 index af59b0e..0000000 --- a/extern/gnuwin32/lib/zlib.def +++ /dev/null @@ -1,75 +0,0 @@ -; h:\mingw\3.3.1\bin\dlltool.exe --export-all-symbols --output-def=zlib.def adler32.pic.o compress.pic.o crc32.pic.o gzio.pic.o uncompr.pic.o deflate.pic.o trees.pic.o zutil.pic.o inflate.pic.o infback.pic.o inftrees.pic.o inffast.pic.o zlib-dllversion.o zlib-dll-res.o -EXPORTS - DllGetVersion @ 1 ; - _dist_code @ 2 DATA ; - _length_code @ 3 DATA ; - _tr_align @ 4 ; - _tr_flush_block @ 5 ; - _tr_init @ 6 ; - _tr_stored_block @ 7 ; - _tr_tally @ 8 ; - adler32 @ 9 ; - adler32_combine @ 10 ; - compress @ 11 ; - compress2 @ 12 ; - compressBound @ 13 ; - crc32 @ 14 ; - crc32_combine @ 15 ; - deflate @ 16 ; - deflateBound @ 17 ; - deflateCopy @ 18 ; - deflateEnd @ 19 ; - deflateInit2_ @ 20 ; - deflateInit_ @ 21 ; - deflateParams @ 22 ; - deflatePrime @ 23 ; - deflateReset @ 24 ; - deflateSetDictionary @ 25 ; - deflateSetHeader @ 26 ; - deflateTune @ 27 ; - deflate_copyright @ 28 DATA ; - get_crc_table @ 29 ; - gzclearerr @ 30 ; - gzclose @ 31 ; - gzdirect @ 32 ; - gzdopen @ 33 ; - gzeof @ 34 ; - gzerror @ 35 ; - gzflush @ 36 ; - gzgetc @ 37 ; - gzgets @ 38 ; - gzopen @ 39 ; - gzprintf @ 40 ; - gzputc @ 41 ; - gzputs @ 42 ; - gzread @ 43 ; - gzrewind @ 44 ; - gzseek @ 45 ; - gzsetparams @ 46 ; - gztell @ 47 ; - gzungetc @ 48 ; - gzwrite @ 49 ; - inflate @ 50 ; - inflateBack @ 51 ; - inflateBackEnd @ 52 ; - inflateBackInit_ @ 53 ; - inflateCopy @ 54 ; - inflateEnd @ 55 ; - inflateGetHeader @ 56 ; - inflateInit2_ @ 57 ; - inflateInit_ @ 58 ; - inflatePrime @ 59 ; - inflateReset @ 60 ; - inflateSetDictionary @ 61 ; - inflateSync @ 62 ; - inflateSyncPoint @ 63 ; - inflate_copyright @ 64 DATA ; - inflate_fast @ 65 ; - inflate_table @ 66 ; - uncompress @ 67 ; - zError @ 68 ; - z_errmsg @ 69 DATA ; - zcalloc @ 70 ; - zcfree @ 71 ; - zlibCompileFlags @ 72 ; - zlibVersion @ 73 ; diff --git a/extern/gnuwin32/lib/zlib.lib b/extern/gnuwin32/lib/zlib.lib deleted file mode 100644 index d43be7f..0000000 Binary files a/extern/gnuwin32/lib/zlib.lib and /dev/null differ diff --git a/extern/skylight/ArHosekSkyModel.c b/extern/skylight/ArHosekSkyModel.c deleted file mode 100644 index 7bfb837..0000000 --- a/extern/skylight/ArHosekSkyModel.c +++ /dev/null @@ -1,376 +0,0 @@ -/* -This source is published under the following 3-clause BSD license. - -Copyright (c) 2012, Lukas Hosek and Alexander Wilkie -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * None of the names of the contributors may be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* ============================================================================ - -This file is part of a sample implementation of the analytical skylight model -presented in the SIGGRAPH 2012 paper - - - "An Analytic Model for Full Spectral Sky-Dome Radiance" - - by - - Lukas Hosek and Alexander Wilkie - Charles University in Prague, Czech Republic - - - Version: 1.0, May 11th, 2012 - - -Please visit http://cgg.mff.cuni.cz/projects/SkylightModelling/ to check if -an updated version of this code has been published! - -============================================================================ */ - -/* - -All instructions on how to use this code are to be found in the accompanying -header file. - -*/ - -#include "ArHosekSkyModel.h" -#include "ArHosekSkyModelData.h" -#include -#include -#include - -// Some macro definitions that occur elsewhere in ART, and that have to be -// replicated to make this a stand-alone module. - -#ifndef NIL -#define NIL 0 -#endif - -#ifndef MATH_PI -#define MATH_PI 3.141593 -#endif - -#ifndef ALLOC -#define ALLOC(_struct) ((_struct *)malloc(sizeof(_struct))) -#endif - -// internal definitions - -typedef double *ArHosekSkyModel_Dataset; -typedef double *ArHosekSkyModel_Radiance_Dataset; - -// internal functions - -void ArHosekSkyModel_CookConfiguration( - ArHosekSkyModel_Dataset dataset, - ArHosekSkyModelConfiguration config, - double turbidity, - double albedo, - double solar_elevation - ) -{ - double * elev_matrix; - - int int_turbidity = turbidity; - double turbidity_rem = turbidity - (double)int_turbidity; - - solar_elevation = pow(solar_elevation / (MATH_PI / 2.0), (1.0 / 3.0)); - - // alb 0 low turb - - elev_matrix = dataset + ( 9 * 6 * (int_turbidity-1) ); - - - for( unsigned int i = 0; i < 9; ++i ) - { - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - config[i] = - (1.0-albedo) * (1.0 - turbidity_rem) - * ( pow(1.0-solar_elevation, 5.0) * elev_matrix[i] + - 5.0 * pow(1.0-solar_elevation, 4.0) * solar_elevation * elev_matrix[i+9] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[i+18] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[i+27] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[i+36] + - pow(solar_elevation, 5.0) * elev_matrix[i+45]); - } - - // alb 1 low turb - elev_matrix = dataset + (9*6*10 + 9*6*(int_turbidity-1)); - for(unsigned int i = 0; i < 9; ++i) - { - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - config[i] += - (albedo) * (1.0 - turbidity_rem) - * ( pow(1.0-solar_elevation, 5.0) * elev_matrix[i] + - 5.0 * pow(1.0-solar_elevation, 4.0) * solar_elevation * elev_matrix[i+9] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[i+18] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[i+27] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[i+36] + - pow(solar_elevation, 5.0) * elev_matrix[i+45]); - } - - if(int_turbidity == 10) - return; - - // alb 0 high turb - elev_matrix = dataset + (9*6*(int_turbidity)); - for(unsigned int i = 0; i < 9; ++i) - { - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - config[i] += - (1.0-albedo) * (turbidity_rem) - * ( pow(1.0-solar_elevation, 5.0) * elev_matrix[i] + - 5.0 * pow(1.0-solar_elevation, 4.0) * solar_elevation * elev_matrix[i+9] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[i+18] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[i+27] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[i+36] + - pow(solar_elevation, 5.0) * elev_matrix[i+45]); - } - - // alb 1 high turb - elev_matrix = dataset + (9*6*10 + 9*6*(int_turbidity)); - for(unsigned int i = 0; i < 9; ++i) - { - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - config[i] += - (albedo) * (turbidity_rem) - * ( pow(1.0-solar_elevation, 5.0) * elev_matrix[i] + - 5.0 * pow(1.0-solar_elevation, 4.0) * solar_elevation * elev_matrix[i+9] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[i+18] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[i+27] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[i+36] + - pow(solar_elevation, 5.0) * elev_matrix[i+45]); - } -} - -double ArHosekSkyModel_CookRadianceConfiguration( - ArHosekSkyModel_Radiance_Dataset dataset, - double turbidity, - double albedo, - double solar_elevation - ) -{ - double* elev_matrix; - - int int_turbidity = turbidity; - double turbidity_rem = turbidity - (double)int_turbidity; - double res; - solar_elevation = pow(solar_elevation / (M_PI / 2.0), (1.0 / 3.0)); - - // alb 0 low turb - elev_matrix = dataset + (6*(int_turbidity-1)); - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - res = (1.0-albedo) * (1.0 - turbidity_rem) * - ( pow(1.0-solar_elevation, 5.0) * elev_matrix[0] + - 5.0*pow(1.0-solar_elevation, 4.0)*solar_elevation * elev_matrix[1] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[2] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[3] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[4] + - pow(solar_elevation, 5.0) * elev_matrix[5]); - - // alb 1 low turb - elev_matrix = dataset + (6*10 + 6*(int_turbidity-1)); - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - res += (albedo) * (1.0 - turbidity_rem) * - ( pow(1.0-solar_elevation, 5.0) * elev_matrix[0] + - 5.0*pow(1.0-solar_elevation, 4.0)*solar_elevation * elev_matrix[1] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[2] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[3] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[4] + - pow(solar_elevation, 5.0) * elev_matrix[5]); - if(int_turbidity == 10) - return res; - - // alb 0 high turb - elev_matrix = dataset + (6*(int_turbidity)); - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - res += (1.0-albedo) * (turbidity_rem) * - ( pow(1.0-solar_elevation, 5.0) * elev_matrix[0] + - 5.0*pow(1.0-solar_elevation, 4.0)*solar_elevation * elev_matrix[1] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[2] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[3] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[4] + - pow(solar_elevation, 5.0) * elev_matrix[5]); - - // alb 1 high turb - elev_matrix = dataset + (6*10 + 6*(int_turbidity)); - //(1-t).^3* A1 + 3*(1-t).^2.*t * A2 + 3*(1-t) .* t .^ 2 * A3 + t.^3 * A4; - res += (albedo) * (turbidity_rem) * - ( pow(1.0-solar_elevation, 5.0) * elev_matrix[0] + - 5.0*pow(1.0-solar_elevation, 4.0)*solar_elevation * elev_matrix[1] + - 10.0*pow(1.0-solar_elevation, 3.0)*pow(solar_elevation, 2.0) * elev_matrix[2] + - 10.0*pow(1.0-solar_elevation, 2.0)*pow(solar_elevation, 3.0) * elev_matrix[3] + - 5.0*(1.0-solar_elevation)*pow(solar_elevation, 4.0) * elev_matrix[4] + - pow(solar_elevation, 5.0) * elev_matrix[5]); - return res; -} - -double ArHosekSkyModel_GetRadianceInternal( - ArHosekSkyModelConfiguration configuration, - double theta, - double gamma - ) -{ - const double expM = exp(configuration[4] * gamma); - const double rayM = cos(gamma)*cos(gamma); - const double mieM = (1.0 + cos(gamma)*cos(gamma)) / pow((1.0 + configuration[8]*configuration[8] - 2.0*configuration[8]*cos(gamma)), 1.5); - const double zenith = sqrt(cos(theta)); - - return (1.0 + configuration[0] * exp(configuration[1] / (cos(theta) + 0.01))) * - (configuration[2] + configuration[3] * expM + configuration[5] * rayM + configuration[6] * mieM + configuration[7] * zenith); -} - -// spectral version - -ArHosekSkyModelState * arhosekskymodelstate_alloc_init( - const double turbidity, - const double albedo, - const double elevation - ) -{ - ArHosekSkyModelState * state = ALLOC(ArHosekSkyModelState); - - for( unsigned int wl = 0; wl < 11; ++wl ) - { - ArHosekSkyModel_CookConfiguration( - datasets[wl], - state->configs[wl], - turbidity, - albedo, - elevation - ); - - state->radiances[wl] = - ArHosekSkyModel_CookRadianceConfiguration( - datasetsRad[wl], - turbidity, - albedo, - elevation - ); - } - - return state; -} - -void arhosekskymodelstate_free( - ArHosekSkyModelState * state - ) -{ - free(state); -} - -double arhosekskymodel_radiance( - ArHosekSkyModelState * state, - double theta, - double gamma, - double wavelength - ) -{ - int low_wl = (wavelength - 320.0 ) / 40.0; - - double interp = fmod((wavelength - 320.0 ) / 40.0, 1.0); - - double val_low = - ArHosekSkyModel_GetRadianceInternal( - state->configs[low_wl], - theta, - gamma - ) - * state->radiances[low_wl]; - - if(interp < 1e-6) - return val_low; - - double result = - (1.0 - interp) - * val_low - + interp - * ArHosekSkyModel_GetRadianceInternal( - state->configs[low_wl+1], - theta, - gamma - ) - * state->radiances[low_wl+1]; - - return result; -} - - -// xyz version - -ArHosekXYZSkyModelState * arhosek_xyz_skymodelstate_alloc_init( - const double turbidity, - const double albedo, - const double elevation - ) -{ - ArHosekXYZSkyModelState * state = ALLOC(ArHosekXYZSkyModelState); - - for( unsigned int channel = 0; channel < 3; ++channel ) - { - ArHosekSkyModel_CookConfiguration( - datasetsXYZ[channel], - state->configs[channel], - turbidity, - albedo, - elevation - ); - - state->radiances[channel] = - ArHosekSkyModel_CookRadianceConfiguration( - datasetsXYZRad[channel], - turbidity, - albedo, - elevation - ); - } - - return state; -} - -void arhosek_xyz_skymodelstate_free( - ArHosekXYZSkyModelState * state - ) -{ - free(state); -} - -double arhosek_xyz_skymodel_radiance( - ArHosekXYZSkyModelState * state, - double theta, - double gamma, - int channel - ) -{ - return - ArHosekSkyModel_GetRadianceInternal( - state->configs[channel], - theta, - gamma - ) - * state->radiances[channel]; -} diff --git a/extern/skylight/ArHosekSkyModel.h b/extern/skylight/ArHosekSkyModel.h deleted file mode 100644 index 5848288..0000000 --- a/extern/skylight/ArHosekSkyModel.h +++ /dev/null @@ -1,190 +0,0 @@ -/* -This source is published under the following 3-clause BSD license. - -Copyright (c) 2012, Lukas Hosek and Alexander Wilkie -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * None of the names of the contributors may be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -/* ============================================================================ - -This file is part of a sample implementation of the analytical skylight model -presented in the SIGGRAPH 2012 paper - - - "An Analytic Model for Full Spectral Sky-Dome Radiance" - - by - - Lukas Hosek and Alexander Wilkie - Charles University in Prague, Czech Republic - - - Version: 1.0, May 11th, 2012 - - -Please visit http://cgg.mff.cuni.cz/projects/SkylightModelling/ to check if -an updated version of this code has been published! - -============================================================================ */ - - -/* - -This code is taken from ART, a rendering research system written in a -mix of C99 / Objective C. Since ART is not a small system and is intended to -be inter-operable with other libraries, and since C does not have namespaces, -the structures and functions in ART all have to have the somewhat wordy -canonical names that begin with Ar.../ar..., like those seen in this example. - -Usage information: -================== - - -Model initialisation --------------------- - -A separate ArHosekSkyModelState has to be maintained for each spectral -band you want to use the model for. So in a renderer with num_channels -bands, you would need something like - - ArHosekSkyModelState * skymodel_state[num_channels]; - -You then have to allocate these states. In the following code snippet, we -assume that "albedo" is defined as - - double albedo[num_channels]; - -with a ground albedo value between [0,1] for each channel. The solar elevation -is given in radians. - - for ( unsigned int i = 0; i < num_channels; i++ ) - skymodel_state[i] = - arhosekskymodelstate_alloc_init( - turbidity, - albedo[i], - solarElevation - ); - - -Using the model to generate skydome samples -------------------------------------------- - -Generating a skydome radiance spectrum "skydome_result" for a given location -on the skydome determined via the angles theta and gamma works as follows: - - double skydome_result[num_channels]; - - for ( unsigned int i = 0; i < num_channels; i++ ) - skydome_result[i] = - arhosekskymodel_radiance( - skymodel_state[i], - theta, - gamma, - channel_center[i] - ); - -The variable "channel_center" is assumed to hold the channel center wavelengths -for each of the num_channels samples of the spectrum we are building. - - -Cleanup after use ------------------ - -After rendering is complete, the content of the sky model states should be -disposed of via - - for ( unsigned int i = 0; i < num_channels; i++ ) - arhosekskymodelstate_free( skymodel_state[i] ); - - -CIE XYZ Version of the Model ----------------------------- - -Usage of the CIE XYZ version of the model is exactly the same, except that -num_channels is of course always 3, and that ArHosekXYZSkyModelState and -arhosek_xyz_skymodel_radiance() have to be used instead of their spectral -counterparts. - -*/ - -typedef double ArHosekSkyModelConfiguration[9]; - - -// Spectral version of the model - - -typedef struct ArHosekSkyModelState -{ - ArHosekSkyModelConfiguration configs[11]; - double radiances[11]; -} -ArHosekSkyModelState; - -ArHosekSkyModelState * arhosekskymodelstate_alloc_init( - const double turbidity, - const double albedo, - const double elevation - ); - -void arhosekskymodelstate_free( - ArHosekSkyModelState * state - ); - -double arhosekskymodel_radiance( - ArHosekSkyModelState * state, - double theta, - double gamma, - double wavelength - ); - - -// CIE XYZ version - - -typedef struct ArHosekXYZSkyModelState -{ - ArHosekSkyModelConfiguration configs[3]; - double radiances[3]; -} -ArHosekXYZSkyModelState; - -ArHosekXYZSkyModelState * arhosek_xyz_skymodelstate_alloc_init( - const double turbidity, - const double albedo, - const double elevation - ); - -void arhosek_xyz_skymodelstate_free( - ArHosekXYZSkyModelState * state - ); - -double arhosek_xyz_skymodel_radiance( - ArHosekXYZSkyModelState * state, - double theta, - double gamma, - int channel - ); \ No newline at end of file diff --git a/extern/skylight/ArHosekSkyModelData.h b/extern/skylight/ArHosekSkyModelData.h deleted file mode 100644 index 75d4abb..0000000 --- a/extern/skylight/ArHosekSkyModelData.h +++ /dev/null @@ -1,17579 +0,0 @@ -/* -This source is published under the following 3-clause BSD license. - -Copyright (c) 2012, Lukas Hosek and Alexander Wilkie -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * None of the names of the contributors may be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -/* ============================================================================ - -This file is part of a sample implementation of the analytical skylight model -presented in the SIGGRAPH 2012 paper - - - "An Analytic Model for Full Spectral Sky-Dome Radiance" - - by - - Lukas Hosek and Alexander Wilkie - Charles University in Prague, Czech Republic - - - Version: 1.0, May 11th, 2012 - - -Please visit http://cgg.mff.cuni.cz/projects/SkylightModelling/ to check if -an updated version of this code has been published! - -============================================================================ */ - - -/* - -This file contains the coefficient data for both the spectral and the colour -space version of the model. - -*/ - -double dataset320[] = -{ - // albedo 0, turbidity 1 - -1.341049e+001, - -3.742293e+000, - -5.229614e+000, - 5.307180e+000, - -2.182658e-002, - 1.497676e-001, - -8.561730e-006, - 1.733480e+000, - 8.826913e-001, - -1.426825e+001, - -3.550926e+000, - 5.719350e-002, - 3.165753e-001, - -5.870693e-002, - 1.333896e-001, - 1.779338e-005, - 1.504276e+000, - 9.750357e-001, - -2.239068e+000, - -4.290407e+000, - -7.494879e-001, - 2.864989e-001, - -6.017855e-002, - 1.325901e-001, - -1.661674e-004, - 1.732120e+000, - 6.513374e-001, - -1.336194e+000, - -2.467808e-001, - 3.961139e-001, - -6.723820e-002, - -1.817268e-001, - 1.017581e-002, - 6.096079e-004, - 1.986859e+000, - 1.415296e+000, - -1.554271e+000, - -1.811527e+000, - 7.309756e-001, - 1.766793e-003, - 5.779090e-001, - 6.186216e-001, - -1.755338e-003, - -2.701090e-002, - 2.699530e-001, - -8.449639e-001, - -5.665198e-001, - 5.525823e-001, - -2.838870e-003, - -4.555228e+000, - 2.824945e-001, - 4.002014e-003, - 1.114208e+000, - 6.637074e-001, - // albedo 0, turbidity 2 - -1.298333e+001, - -3.775577e+000, - -5.173531e+000, - 5.316518e+000, - -2.572615e-002, - 1.516601e-001, - -8.297168e-006, - 1.669649e+000, - 9.000495e-001, - -1.402639e+001, - -3.787558e+000, - 7.611941e-002, - 2.521881e-001, - -5.859973e-002, - 1.753711e-001, - 4.670097e-005, - 1.459275e+000, - 8.998629e-001, - -2.190256e+000, - -3.575495e+000, - -4.930996e-001, - 4.826321e-002, - -6.797145e-002, - 3.425922e-002, - -3.512550e-004, - 1.978419e+000, - 8.866517e-001, - -2.415991e+000, - -1.453294e+000, - 2.170671e-001, - 1.341284e-001, - -1.926330e-001, - 1.059103e-001, - 1.360739e-003, - 1.587725e+000, - 9.821154e-001, - -5.254592e-001, - -8.181026e-001, - 7.535702e-001, - -3.323364e-002, - 4.503149e-001, - 5.778285e-001, - -4.089673e-003, - 3.335089e-001, - 6.827164e-001, - -1.280108e+000, - -1.013716e+000, - 5.577676e-001, - 9.539205e-004, - -4.934956e+000, - 2.642883e-001, - 1.005169e-002, - 9.265844e-001, - 4.999698e-001, - // albedo 0, turbidity 3 - -1.292247e+001, - -3.819777e+000, - -4.478733e+000, - 4.582924e+000, - -2.364370e-002, - 1.619828e-001, - -3.053548e-006, - 1.646629e+000, - 5.103371e-001, - -1.433099e+001, - -3.766213e+000, - 4.930150e-001, - -3.081235e-002, - -6.522199e-002, - 1.564198e-001, - 3.455657e-004, - 1.428507e+000, - 4.312273e-001, - -2.539220e+000, - -3.459074e+000, - -3.774393e-001, - -3.628419e-001, - -2.124451e-001, - -1.358132e-002, - -1.812805e-003, - 2.245152e+000, - 7.247429e-001, - -2.393246e+000, - -1.937898e+000, - 1.005834e-001, - 5.867890e-001, - 2.645044e-001, - 1.413695e-001, - 6.378716e-003, - 1.140715e+000, - 1.263014e+000, - -1.185583e-001, - -1.960943e-001, - 7.212723e-001, - -1.763978e-001, - -1.000190e+000, - 6.259726e-001, - -1.783726e-002, - 7.790644e-001, - 3.244710e-001, - -1.550325e+000, - -1.333575e+000, - 5.618137e-001, - 2.563595e-002, - -5.007716e+000, - 6.522985e-002, - 4.262830e-002, - 7.371930e-001, - 5.239972e-001, - // albedo 0, turbidity 4 - -1.234358e+001, - -3.851875e+000, - -3.911206e+000, - 4.011324e+000, - -2.734425e-002, - 1.272306e-001, - -7.628210e-006, - 1.661843e+000, - 8.993903e-001, - -1.349727e+001, - -3.592681e+000, - 1.335192e+000, - -9.426446e-001, - -5.741127e-002, - 9.765267e-002, - 5.518099e-005, - 1.428554e+000, - -4.278471e-001, - -3.399618e+000, - -3.818725e+000, - -8.698171e-001, - 2.723930e-001, - -3.644369e-001, - 1.238759e-001, - -5.189179e-004, - 2.279175e+000, - 1.841076e+000, - -1.925152e+000, - -1.539333e+000, - 2.757771e-001, - -6.435980e-002, - 6.466700e-001, - 3.084382e-002, - 3.114730e-003, - 1.259818e+000, - 5.121617e-001, - -5.706832e-001, - -6.696186e-001, - 6.798158e-001, - 6.920162e-001, - -3.898854e+000, - 5.954021e-001, - -1.196667e-002, - 5.714991e-001, - 6.528481e-001, - -1.371907e+000, - -1.142330e+000, - 5.207805e-001, - -4.480298e-003, - -5.008950e+000, - 1.251549e-001, - 3.531514e-002, - 8.776759e-001, - 4.999465e-001, - // albedo 0, turbidity 5 - -1.459738e+001, - -3.833562e+000, - -4.148717e+000, - 4.203270e+000, - -2.484405e-002, - 1.189704e-001, - 4.166397e-004, - 1.748850e+000, - 4.999721e-001, - -1.223022e+001, - -3.942049e+000, - 1.183072e+000, - -9.018678e-001, - -4.644071e-002, - 1.237476e-001, - -2.359994e-003, - 1.471013e+000, - 5.298845e-001, - -4.078262e+000, - -3.261096e+000, - -5.520001e-001, - 2.174261e-001, - -3.582576e-001, - 2.000597e-002, - 9.890182e-003, - 2.199274e+000, - 2.756320e-001, - -2.499065e+000, - -2.408391e+000, - 3.391663e-002, - -6.167543e-002, - 7.555424e-001, - 2.349252e-001, - -2.443140e-002, - 1.328540e+000, - 1.348906e+000, - 5.456648e-002, - -9.221401e-002, - 7.403428e-001, - 5.565324e-001, - -5.134970e+000, - 3.021763e-001, - 3.638500e-002, - 5.560149e-001, - 1.818210e-001, - -1.590269e+000, - -1.344330e+000, - 4.805789e-001, - 5.038509e-001, - -3.370644e+000, - 3.040357e-001, - 2.418483e-003, - 8.979818e-001, - 7.477974e-001, - // albedo 0, turbidity 6 - -6.775680e+000, - -3.436745e+000, - -2.696730e+000, - 2.740681e+000, - -4.032382e-002, - 1.036486e-001, - 8.133034e-005, - 1.767160e+000, - 5.401354e-001, - -7.800595e+000, - -2.867058e+000, - 1.478909e+000, - -1.380160e+000, - -1.658909e-001, - 1.962673e-001, - -6.512798e-004, - 1.634359e+000, - 4.300704e-001, - -4.392403e+000, - -3.857979e+000, - -1.022020e+000, - 1.449394e+000, - 2.769695e-001, - -3.331834e-001, - 3.513950e-003, - 1.942113e+000, - 3.970742e-001, - -2.469701e+000, - -1.357319e+000, - 2.132600e-001, - -1.918729e+000, - -4.193060e+000, - 8.101579e-001, - -9.605279e-003, - 1.844443e+000, - 1.582310e+000, - -7.759612e-001, - -1.298076e+000, - 7.162377e-001, - 2.906682e+000, - -8.261148e-001, - -2.892123e-001, - 1.491449e-002, - 6.529387e-002, - -4.180287e-002, - -9.962340e-001, - -6.488730e-001, - 3.933344e-001, - -4.752111e-003, - -4.721793e+000, - 6.053196e-001, - 3.453563e-003, - 1.247655e+000, - 8.673379e-001, - // albedo 0, turbidity 7 - -7.552689e+000, - -3.219112e+000, - -2.730242e+000, - 2.755929e+000, - -3.925138e-002, - 8.394617e-002, - 1.514980e-004, - 1.844410e+000, - 5.389194e-001, - -8.494732e+000, - -3.138528e+000, - 1.424739e+000, - -1.269326e+000, - -1.561580e-001, - 1.767060e-001, - -1.175921e-003, - 1.659123e+000, - 3.746132e-001, - -4.672972e+000, - -4.049529e+000, - -1.027600e+000, - 1.072252e+000, - 7.908165e-002, - -2.243835e-001, - 6.190595e-003, - 1.988822e+000, - 6.684758e-001, - -2.256117e+000, - -1.258356e+000, - 2.198377e-001, - -1.296239e+000, - -3.200970e+000, - 6.407291e-001, - -1.527762e-002, - 1.735209e+000, - 1.170530e+000, - -7.790059e-001, - -1.269213e+000, - 6.315194e-001, - 2.368850e+000, - -1.199163e+000, - -1.504024e-001, - 1.733299e-002, - 2.544016e-001, - 2.756763e-001, - -1.046916e+000, - -6.991719e-001, - 3.620624e-001, - 7.364236e-002, - -5.012491e+000, - 4.240417e-001, - 3.580425e-002, - 1.202329e+000, - 6.255804e-001, - // albedo 0, turbidity 8 - -1.886851e+001, - -4.491136e+000, - -3.660440e+000, - 3.704226e+000, - -3.158478e-002, - 1.229909e-001, - 9.233613e-004, - 1.745459e+000, - 5.011929e-001, - -1.986322e+001, - -3.528401e+000, - 1.401749e+000, - -1.191377e+000, - -7.474944e-002, - -2.193835e-002, - -5.138968e-003, - 1.710181e+000, - 5.473672e-001, - 5.355660e-001, - -5.459304e+000, - -8.809226e-001, - 5.959028e-001, - -3.311339e-001, - 3.876731e-001, - 2.126070e-002, - 1.929868e+000, - 1.883429e-001, - -3.136053e+000, - -2.856938e-001, - 1.048390e-001, - -7.708877e-001, - 2.106630e-001, - -1.488471e-001, - -5.172733e-002, - 1.769302e+000, - 1.526253e+000, - 1.496752e-001, - -9.170428e-001, - 5.628226e-001, - 1.733601e+000, - -4.784033e+000, - 3.570330e-001, - 7.396580e-002, - 3.954993e-001, - 1.397727e-003, - -1.839740e+000, - -1.279260e+000, - 3.173503e-001, - 1.096266e+000, - -4.168649e+000, - 2.121881e-001, - 2.150917e-002, - 1.151497e+000, - 7.233585e-001, - // albedo 0, turbidity 9 - -1.841090e+001, - -4.803089e+000, - -4.883823e+000, - 4.962235e+000, - -2.693216e-002, - 1.089917e-001, - -6.338015e-006, - 1.725865e+000, - 8.890717e-001, - -1.947081e+001, - -2.961260e+000, - 1.963002e+000, - -1.942423e+000, - -5.550118e-002, - 7.036456e-002, - -5.990592e-004, - 1.807097e+000, - -8.871814e-003, - 9.588307e-001, - -6.379803e+000, - -1.021090e+000, - 9.560589e-001, - -2.175500e-001, - 8.613517e-002, - 1.362268e-002, - 1.953529e+000, - 7.422482e-001, - -3.609766e+000, - -1.823498e-003, - 2.516424e-002, - -8.909855e-001, - 2.207805e-001, - 1.783064e-001, - -4.293958e-002, - 1.607901e+000, - 1.131559e+000, - 6.087707e-001, - -6.744295e-001, - 4.236310e-001, - 1.505925e+000, - -4.197126e+000, - 2.046561e-001, - 6.445824e-002, - 7.793118e-001, - 3.262213e-001, - -2.148492e+000, - -1.597890e+000, - 3.166858e-001, - 2.414329e+000, - -4.201339e+000, - 1.005902e-001, - 4.687865e-002, - 9.335376e-001, - 5.289661e-001, - // albedo 0, turbidity 10 - -1.787767e+001, - -4.873485e+000, - -5.861224e+000, - 5.866336e+000, - -1.564202e-002, - 6.967640e-002, - 7.574926e-004, - 1.768065e+000, - 5.856596e-001, - -1.932995e+001, - -4.092647e+000, - 2.679531e+000, - -2.555671e+000, - -4.181418e-002, - 1.023654e-001, - -5.964172e-003, - 1.625691e+000, - 4.036808e-001, - 1.788482e+000, - -5.652582e+000, - -1.517519e+000, - 1.251535e+000, - -2.225912e-001, - -1.084716e-001, - 3.272584e-002, - 2.139078e+000, - 3.876645e-001, - -3.363801e+000, - -3.266475e-001, - 1.313912e-001, - -6.889075e-001, - 4.356523e-001, - 3.120297e-001, - -8.700131e-002, - 1.750122e+000, - 1.223546e+000, - 4.668756e-004, - -9.612337e-001, - 3.082344e-001, - 1.298938e+000, - -4.371395e+000, - 8.845524e-002, - 1.303481e-001, - 5.843720e-001, - 2.718863e-001, - -1.759172e+000, - -1.386072e+000, - 2.349661e-001, - 1.592185e+000, - -3.063267e+000, - 1.529736e-001, - 3.429185e-002, - 1.030294e+000, - 6.917018e-001, - // albedo 1, turbidity 1 - -1.341051e+001, - -3.742047e+000, - -5.229556e+000, - 5.307222e+000, - -2.094796e-002, - 1.499787e-001, - -7.023116e-006, - 1.732898e+000, - 8.826861e-001, - -1.426829e+001, - -3.550660e+000, - 5.731266e-002, - 3.166575e-001, - -5.821080e-002, - 1.335860e-001, - 2.003178e-004, - 1.503788e+000, - 9.750310e-001, - -2.239143e+000, - -4.290084e+000, - -7.493158e-001, - 2.865753e-001, - -5.993923e-002, - 1.327393e-001, - -5.399344e-004, - 1.731677e+000, - 6.513329e-001, - -1.336350e+000, - -2.463606e-001, - 3.963632e-001, - -6.721398e-002, - -1.816244e-001, - 1.021503e-002, - 8.081470e-004, - 1.986453e+000, - 1.415292e+000, - -1.554584e+000, - -1.810948e+000, - 7.313475e-001, - 1.703307e-003, - 5.779436e-001, - 6.184790e-001, - -6.832621e-004, - -2.739619e-002, - 2.699443e-001, - -8.456234e-001, - -5.656772e-001, - 5.531782e-001, - -2.975361e-003, - -4.555221e+000, - 2.821035e-001, - 4.007713e-004, - 1.113850e+000, - 6.636719e-001, - // albedo 1, turbidity 2 - -1.263311e+001, - -4.099112e+000, - -5.130792e+000, - 5.526406e+000, - -2.122841e-002, - 1.202556e-001, - -8.060670e-006, - 1.209196e+000, - 8.997967e-001, - -1.361400e+001, - -3.538236e+000, - 1.570583e-001, - 3.445259e-001, - -5.306874e-002, - 2.322893e-001, - 1.572516e-005, - 1.152750e+000, - 9.026902e-001, - -1.477014e+000, - -3.664310e+000, - -1.442116e-001, - -4.293554e-002, - -3.768326e-002, - -1.388530e-001, - -1.687893e-004, - 1.592625e+000, - 8.804841e-001, - -2.050884e+000, - -1.470536e+000, - 3.327590e-001, - 1.976143e-001, - -1.930369e-001, - 2.831960e-001, - 6.940849e-004, - 1.271203e+000, - 9.790242e-001, - -3.704793e-001, - -5.829841e-001, - 1.168589e+000, - -1.387973e-001, - 5.998426e-001, - 3.825096e-001, - -2.188637e-003, - -2.273264e-001, - 7.393514e-001, - -9.877542e-001, - -7.646946e-001, - 8.859003e-001, - 5.263145e-002, - -4.849410e+000, - 1.301905e-001, - 5.464872e-003, - 5.270984e-001, - 5.001226e-001, - // albedo 1, turbidity 3 - -1.294452e+001, - -3.858933e+000, - -4.362969e+000, - 4.657159e+000, - -2.281956e-002, - 1.371565e-001, - 3.552610e-006, - 1.354369e+000, - 5.222053e-001, - -1.425646e+001, - -3.745266e+000, - 6.901454e-001, - -5.345642e-002, - -5.238708e-002, - 1.157055e-001, - -1.961110e-005, - 1.030408e+000, - 4.036292e-001, - -2.236186e+000, - -3.560196e+000, - -1.053059e-001, - -3.002269e-001, - -1.702750e-001, - 3.290753e-002, - -7.253274e-005, - 1.846963e+000, - 6.828000e-001, - -1.991088e+000, - -2.028027e+000, - 2.747056e-001, - 5.076456e-001, - 2.056096e-001, - 1.537040e-001, - 1.010611e-003, - 8.439763e-001, - 1.286657e+000, - -2.733597e-001, - -1.938590e-001, - 1.108079e+000, - -1.668080e-001, - -8.136300e-001, - 3.962292e-001, - -4.757393e-003, - 1.536882e-001, - 4.595467e-001, - -9.782447e-001, - -8.452104e-001, - 9.149995e-001, - 2.750126e-002, - -4.996263e+000, - 1.226836e-001, - 1.533731e-002, - 3.686265e-001, - 5.004484e-001, - // albedo 1, turbidity 4 - -1.234416e+001, - -3.818503e+000, - -3.804408e+000, - 4.093838e+000, - -2.505623e-002, - 1.149315e-001, - -7.610563e-006, - 1.361584e+000, - 8.981571e-001, - -1.349621e+001, - -3.551853e+000, - 1.469377e+000, - -8.971164e-001, - -5.623731e-002, - 1.078524e-001, - 1.491378e-003, - 1.113040e+000, - -4.279059e-001, - -3.391950e+000, - -3.791028e+000, - -6.935352e-001, - 2.998175e-001, - -3.155309e-001, - 1.196041e-001, - -4.708048e-003, - 2.001973e+000, - 1.840166e+000, - -1.915114e+000, - -1.493080e+000, - 4.567342e-001, - -7.334296e-002, - 6.767060e-001, - -4.562689e-003, - 1.016838e-002, - 1.003272e+000, - 5.102018e-001, - -5.674128e-001, - -5.568719e-001, - 9.084369e-001, - 6.684870e-001, - -3.892720e+000, - 5.312866e-001, - -1.768715e-002, - 3.252051e-001, - 6.541029e-001, - -1.343751e+000, - -9.647458e-001, - 7.945561e-001, - 5.127485e-004, - -5.009873e+000, - 6.165389e-002, - 2.642926e-002, - 6.213595e-001, - 5.327376e-001, - // albedo 1, turbidity 5 - -1.450562e+001, - -4.021778e+000, - -4.181517e+000, - 4.509518e+000, - -2.369519e-002, - 6.955582e-002, - 1.149882e-004, - 1.329583e+000, - 5.260857e-001, - -1.297772e+001, - -3.655039e+000, - 2.030636e+000, - -1.537436e+000, - -4.915490e-002, - 1.511047e-001, - -9.053517e-004, - 1.156980e+000, - 4.831690e-001, - -1.991837e+000, - -3.919397e+000, - -8.466357e-001, - 5.319508e-001, - -3.165811e-001, - 1.056172e-001, - 4.836036e-003, - 1.843574e+000, - 3.084513e-001, - -2.052725e+000, - -1.606839e+000, - 5.876624e-001, - -7.464148e-002, - 7.525473e-001, - 1.590947e-003, - -1.261084e-002, - 8.587516e-001, - 1.404076e+000, - -3.737447e-001, - -4.061843e-001, - 8.985804e-001, - 5.700187e-001, - -5.422882e+000, - 4.334301e-001, - 1.759754e-002, - 2.613056e-001, - 2.062463e-001, - -1.002263e+000, - -1.006484e+000, - 9.629219e-001, - 8.528366e-002, - -4.220831e+000, - 7.848806e-002, - 1.254937e-002, - 2.140208e-001, - 6.187813e-001, - // albedo 1, turbidity 6 - -7.175451e+000, - -3.313094e+000, - -2.396914e+000, - 2.657177e+000, - -3.936959e-002, - 1.123476e-001, - 7.315860e-005, - 1.431209e+000, - 5.107145e-001, - -8.058121e+000, - -3.119458e+000, - 1.729776e+000, - -1.435370e+000, - -1.414745e-001, - 2.338787e-001, - -5.865288e-004, - 1.247225e+000, - 5.037743e-001, - -4.387785e+000, - -3.851081e+000, - -7.774273e-001, - 1.405520e+000, - 1.743075e-001, - -4.108912e-001, - 3.058571e-003, - 1.519803e+000, - 2.636805e-001, - -1.807473e+000, - -1.498491e+000, - 3.237723e-001, - -1.626737e+000, - -3.741656e+000, - 8.444519e-001, - -8.297013e-003, - 1.624861e+000, - 1.753817e+000, - -6.242455e-001, - -1.063850e+000, - 1.166897e+000, - 2.283807e+000, - -1.150947e+000, - -3.242997e-001, - 1.279340e-002, - -5.448139e-001, - -8.653106e-002, - -8.143405e-001, - -5.251732e-001, - 7.822692e-001, - -3.764280e-003, - -5.011112e+000, - 3.985065e-001, - 3.652394e-003, - 7.140115e-001, - 7.004910e-001, - // albedo 1, turbidity 7 - -7.579673e+000, - -3.495594e+000, - -2.498830e+000, - 2.771470e+000, - -3.451351e-002, - 8.186886e-002, - 1.272079e-004, - 1.390420e+000, - 5.545117e-001, - -8.524117e+000, - -3.121778e+000, - 1.680395e+000, - -1.329455e+000, - -1.395912e-001, - 1.911589e-001, - -1.027988e-003, - 1.259267e+000, - 3.356989e-001, - -4.579718e+000, - -4.086739e+000, - -8.030175e-001, - 1.103390e+000, - 1.429699e-001, - -2.211841e-001, - 5.620349e-003, - 1.693702e+000, - 7.084432e-001, - -1.946704e+000, - -1.512415e+000, - 3.559506e-001, - -1.318829e+000, - -3.063409e+000, - 6.250046e-001, - -1.490672e-002, - 1.414520e+000, - 1.317647e+000, - -7.123367e-001, - -1.133848e+000, - 1.064800e+000, - 2.217543e+000, - -1.247373e+000, - -2.105594e-001, - 2.261048e-002, - -3.648618e-001, - 1.147223e-001, - -7.979833e-001, - -5.546030e-001, - 7.765850e-001, - -4.676928e-003, - -5.014372e+000, - 3.694816e-001, - 2.373221e-003, - 6.783145e-001, - 7.862971e-001, - // albedo 1, turbidity 8 - -1.886599e+001, - -4.523457e+000, - -3.559445e+000, - 3.748747e+000, - -2.082711e-002, - 1.120505e-001, - 4.908827e-005, - 1.430333e+000, - 4.999603e-001, - -1.985552e+001, - -3.530040e+000, - 1.578922e+000, - -1.170838e+000, - -6.347814e-002, - 2.032158e-003, - -7.291357e-004, - 1.399338e+000, - 5.515394e-001, - 5.631541e-001, - -5.483754e+000, - -6.832337e-001, - 6.170499e-001, - -2.824393e-001, - 3.546810e-001, - 6.248420e-003, - 1.638520e+000, - 2.300717e-001, - -3.083195e+000, - -3.071409e-001, - 2.822360e-001, - -7.871125e-001, - 2.420642e-001, - -1.716096e-001, - -1.936307e-002, - 1.450902e+000, - 1.590291e+000, - 2.003824e-001, - -8.374106e-001, - 8.800366e-001, - 1.702679e+000, - -4.785357e+000, - 3.194078e-001, - 3.028099e-002, - 6.649245e-002, - -4.459174e-003, - -1.738851e+000, - -1.144728e+000, - 6.950894e-001, - 1.073870e+000, - -4.176611e+000, - 9.901497e-002, - 2.719362e-002, - 6.579628e-001, - 6.542088e-001, - // albedo 1, turbidity 9 - -1.842858e+001, - -4.464894e+000, - -4.876181e+000, - 4.999894e+000, - -1.680473e-002, - 9.284371e-002, - 8.631599e-005, - 1.551671e+000, - 8.637202e-001, - -1.946220e+001, - -2.928492e+000, - 1.932796e+000, - -2.009963e+000, - -2.067172e-002, - 2.760643e-001, - -1.316034e-003, - 1.910005e+000, - -2.057018e-002, - 1.012726e+000, - -6.397245e+000, - -8.570688e-001, - 9.466942e-001, - -2.428074e-001, - 4.505376e-002, - 1.159119e-002, - 1.686356e+000, - 7.885028e-001, - -3.502022e+000, - -9.795202e-002, - 3.286657e-001, - -8.318684e-001, - 1.254695e-001, - 9.600123e-002, - -3.501772e-002, - 1.161309e+000, - 1.205342e+000, - 7.024550e-001, - -6.903001e-001, - 7.519618e-001, - 1.501909e+000, - -4.224528e+000, - 1.253867e-001, - 5.829515e-002, - 2.671626e-001, - 3.030079e-001, - -2.056576e+000, - -1.583471e+000, - 7.947031e-001, - 2.224097e+000, - -4.127138e+000, - 1.885249e-001, - 1.729132e-005, - 3.336881e-001, - 5.332061e-001, - // albedo 1, turbidity 10 - -1.825745e+001, - -5.122861e+000, - -5.876715e+000, - 5.970876e+000, - -1.788919e-002, - 1.063934e-001, - 4.770037e-004, - 1.612403e+000, - 5.156506e-001, - -1.981828e+001, - -3.746331e+000, - 2.729783e+000, - -2.477317e+000, - -2.797536e-002, - -5.281985e-002, - -3.739083e-003, - 1.378246e+000, - 5.904024e-001, - 1.346751e+000, - -6.486837e+000, - -1.082622e+000, - 1.125524e+000, - -2.228944e-001, - 3.975587e-001, - 2.035973e-002, - 1.884664e+000, - 1.086023e-003, - -3.996320e+000, - -4.646476e-001, - 3.008639e-002, - -1.193861e+000, - 4.443960e-001, - -2.593178e-001, - -5.378377e-002, - 1.528777e+000, - 1.734923e+000, - 4.789259e-001, - -8.952042e-001, - 8.595191e-001, - 2.353988e+000, - -4.885398e+000, - 4.438339e-001, - 7.931163e-002, - -8.144393e-002, - 1.663921e-002, - -1.772626e+000, - -1.783205e+000, - 7.322534e-001, - 1.529827e+000, - -2.789303e+000, - -1.817210e-001, - 2.737502e-002, - 2.620216e-001, - 6.227585e-001, -}; - -double datasetRad320[] = -{ - // albedo 0, turbidity 1 - 7.512813e-003, - 2.565179e-003, - 4.253480e-002, - -1.185924e-001, - 5.817257e-001, - 4.371426e-001, - // albedo 0, turbidity 2 - 7.414562e-003, - 2.104390e-003, - 4.424958e-002, - -1.216955e-001, - 5.827775e-001, - 4.360785e-001, - // albedo 0, turbidity 3 - 7.404947e-003, - 1.752151e-003, - 4.513723e-002, - -1.244245e-001, - 5.840274e-001, - 4.355152e-001, - // albedo 0, turbidity 4 - 7.357950e-003, - 1.188061e-003, - 4.674957e-002, - -1.293810e-001, - 5.870157e-001, - 4.313968e-001, - // albedo 0, turbidity 5 - 7.205901e-003, - 9.118062e-004, - 4.812589e-002, - -1.334022e-001, - 5.844004e-001, - 4.363489e-001, - // albedo 0, turbidity 6 - 7.191812e-003, - 9.246117e-004, - 4.806915e-002, - -1.350718e-001, - 5.853059e-001, - 4.315313e-001, - // albedo 0, turbidity 7 - 7.021308e-003, - 2.838239e-004, - 4.998992e-002, - -1.401900e-001, - 5.846638e-001, - 4.304544e-001, - // albedo 0, turbidity 8 - 6.900165e-003, - -1.418081e-004, - 5.088191e-002, - -1.440144e-001, - 5.787350e-001, - 4.317369e-001, - // albedo 0, turbidity 9 - 6.663463e-003, - -1.045860e-003, - 5.378644e-002, - -1.526976e-001, - 5.708638e-001, - 4.315470e-001, - // albedo 0, turbidity 10 - 6.208056e-003, - -1.526509e-003, - 5.248712e-002, - -1.499028e-001, - 5.350711e-001, - 4.438774e-001, - // albedo 1, turbidity 1 - 8.947091e-003, - 2.068795e-004, - 6.462783e-002, - -1.742158e-001, - 6.841679e-001, - 7.788551e-001, - // albedo 1, turbidity 2 - 8.995830e-003, - -4.893647e-004, - 6.503652e-002, - -1.727869e-001, - 6.769531e-001, - 7.804054e-001, - // albedo 1, turbidity 3 - 8.932087e-003, - -6.660637e-004, - 6.613318e-002, - -1.772526e-001, - 6.802856e-001, - 7.693223e-001, - // albedo 1, turbidity 4 - 8.702033e-003, - -1.193023e-003, - 6.791705e-002, - -1.825574e-001, - 6.811457e-001, - 7.558930e-001, - // albedo 1, turbidity 5 - 8.389107e-003, - -1.075678e-003, - 6.757016e-002, - -1.826106e-001, - 6.721755e-001, - 7.497970e-001, - // albedo 1, turbidity 6 - 8.436987e-003, - -1.632254e-003, - 6.863361e-002, - -1.858794e-001, - 6.721006e-001, - 7.351320e-001, - // albedo 1, turbidity 7 - 8.209635e-003, - -1.906874e-003, - 6.921140e-002, - -1.888528e-001, - 6.684109e-001, - 7.182233e-001, - // albedo 1, turbidity 8 - 7.837639e-003, - -1.716124e-003, - 6.614409e-002, - -1.800071e-001, - 6.355591e-001, - 7.174486e-001, - // albedo 1, turbidity 9 - 7.397518e-003, - -2.176193e-003, - 6.530836e-002, - -1.800409e-001, - 6.143563e-001, - 6.851424e-001, - // albedo 1, turbidity 10 - 6.845741e-003, - -2.800399e-003, - 6.173213e-002, - -1.673516e-001, - 5.537362e-001, - 6.672731e-001, -}; - -double dataset360[] = -{ - // albedo 0, turbidity 1 - -2.974290e+000, - -1.670904e+000, - -5.183199e+000, - 5.377376e+000, - -2.904124e-002, - 2.486720e-001, - 8.045624e-005, - 1.889212e+000, - 5.188203e-001, - -2.638402e+000, - -1.651876e+000, - -1.229939e+000, - 1.776358e+000, - -6.372414e-002, - 3.767834e-001, - -6.475530e-004, - 1.373589e+000, - 4.349252e-001, - -2.449142e+000, - -1.541788e+000, - 4.629358e-001, - -1.149742e+000, - -7.317185e-002, - -2.422158e-001, - 3.667113e-003, - 3.146429e+000, - 6.725657e-001, - -8.559357e-001, - -5.054959e-001, - 4.334205e-001, - 4.254155e-001, - -2.920605e-001, - 9.303230e-001, - -1.212609e-002, - 4.498482e-001, - 2.117838e-001, - -1.098145e+000, - -5.123514e-001, - 7.773196e-001, - -1.325175e-001, - 4.648396e-001, - 1.386648e-001, - 2.427679e-002, - 1.199386e+000, - 7.988611e-001, - -1.124849e+000, - -5.693597e-001, - 7.315125e-001, - 2.986435e-002, - -4.536788e+000, - 6.650081e-001, - -9.004215e-007, - 1.006380e+000, - 4.999682e-001, - // albedo 0, turbidity 2 - -2.709497e+000, - -1.635812e+000, - -4.594177e+000, - 4.809336e+000, - -3.672907e-002, - 2.383111e-001, - 3.241989e-005, - 1.885505e+000, - 6.619619e-001, - -2.590279e+000, - -1.525236e+000, - -6.846073e-001, - 1.216080e+000, - -8.022814e-002, - 3.040074e-001, - -4.984576e-004, - 1.521429e+000, - 1.746040e-001, - -2.988403e+000, - -1.938687e+000, - 4.954649e-002, - -8.992325e-001, - -7.157111e-002, - -4.370068e-002, - 4.336645e-003, - 2.849496e+000, - 8.892788e-001, - -2.932084e-001, - -1.323910e-001, - 5.535910e-001, - 7.456284e-001, - -2.713400e-001, - 6.989175e-001, - -1.513162e-002, - 6.926848e-001, - 5.719944e-001, - -1.379400e+000, - -6.876864e-001, - 7.224534e-001, - -6.172704e-001, - 1.217500e-001, - 3.074795e-001, - 2.905167e-002, - 1.123563e+000, - 6.837510e-001, - -1.042446e+000, - -5.201193e-001, - 7.107656e-001, - 4.182566e-001, - -4.956238e+000, - 5.315425e-001, - 6.232999e-003, - 1.059015e+000, - 5.116427e-001, - // albedo 0, turbidity 3 - -2.686687e+000, - -1.615137e+000, - -3.811956e+000, - 4.018597e+000, - -3.953418e-002, - 2.171778e-001, - -7.374887e-006, - 1.875745e+000, - 8.996180e-001, - -3.049670e+000, - -1.775802e+000, - 2.577719e-002, - 5.331200e-001, - -9.424429e-002, - 3.852753e-001, - -8.678326e-005, - 1.347053e+000, - -1.078327e-001, - -2.414334e+000, - -1.637863e+000, - -3.948523e-001, - -4.867989e-001, - -1.545516e-001, - -2.045592e-001, - 2.308206e-003, - 3.257409e+000, - 1.029606e+000, - -6.821703e-001, - -3.665215e-001, - 7.496076e-001, - 5.391760e-001, - -2.903450e-001, - 8.498544e-001, - -1.388990e-002, - 2.126622e-001, - 6.857005e-001, - -1.227285e+000, - -5.958479e-001, - 5.828611e-001, - -4.050489e-001, - -2.935835e-001, - 1.410603e-001, - 4.352812e-002, - 1.406076e+000, - 4.955059e-001, - -1.080553e+000, - -5.308084e-001, - 6.980027e-001, - 2.193524e-001, - -5.007206e+000, - 5.895807e-001, - 1.122391e-002, - 1.052433e+000, - 6.643198e-001, - // albedo 0, turbidity 4 - -2.983088e+000, - -1.746025e+000, - -4.564198e+000, - 4.776145e+000, - -3.208607e-002, - 2.008358e-001, - -6.578048e-006, - 1.829880e+000, - 9.001069e-001, - -2.858023e+000, - -1.624623e+000, - 1.859497e+000, - -1.348577e+000, - -7.427284e-002, - 2.943068e-001, - -1.961205e-004, - 1.502334e+000, - -3.183648e-001, - -2.858102e+000, - -2.072804e+000, - -1.205584e+000, - 5.674135e-001, - -3.934144e-001, - -3.736288e-002, - 4.780332e-003, - 2.831298e+000, - 1.553942e+000, - -3.305766e-001, - -8.277591e-003, - 8.561917e-001, - -2.239172e-001, - 5.896697e-001, - 6.229823e-001, - -2.242577e-002, - 7.216263e-001, - 4.295956e-001, - -1.322728e+000, - -7.101315e-001, - 5.645563e-001, - 9.897384e-001, - -6.756374e+000, - 2.491515e-001, - 5.308124e-002, - 1.166258e+000, - 5.472501e-001, - -1.117086e+000, - -5.760006e-001, - 6.388217e-001, - 1.659290e-001, - -4.687099e+000, - 4.544540e-001, - 2.672063e-002, - 1.067777e+000, - 6.419825e-001, - // albedo 0, turbidity 5 - -2.943340e+000, - -1.779161e+000, - -3.715839e+000, - 3.949049e+000, - -4.499824e-002, - 2.234466e-001, - -8.091518e-006, - 1.825217e+000, - 9.000118e-001, - -3.717358e+000, - -1.850324e+000, - 2.277659e+000, - -2.027790e+000, - -1.240730e-001, - 3.029522e-001, - -2.176255e-004, - 1.585933e+000, - -2.794001e-001, - -2.439542e+000, - -2.277701e+000, - -1.702329e+000, - 2.025885e+000, - -1.142291e-001, - -2.011641e-001, - 5.563891e-003, - 2.424957e+000, - 1.399542e+000, - -1.562453e-001, - 5.099893e-001, - 1.026847e+000, - -2.516874e+000, - -2.212969e+000, - 9.252660e-001, - -2.696795e-002, - 1.443711e+000, - 7.450372e-001, - -1.579698e+000, - -1.110703e+000, - 4.743061e-001, - 4.160187e+000, - -4.597085e+000, - -2.112156e-001, - 6.791770e-002, - 6.131169e-001, - 2.291635e-001, - -9.959610e-001, - -4.119588e-001, - 5.707529e-001, - -3.505536e-003, - -4.253949e+000, - 7.498003e-001, - 8.246945e-003, - 1.397857e+000, - 8.021253e-001, - // albedo 0, turbidity 6 - -2.304734e+000, - -1.483605e+000, - -1.531059e+000, - 1.707306e+000, - -1.150367e-001, - 2.153063e-001, - -3.351533e-006, - 2.021261e+000, - 5.742842e-001, - -3.130477e+000, - -1.966839e+000, - 6.058600e-001, - -9.209976e-001, - -1.932901e-001, - 3.242645e-001, - 3.361262e-002, - 1.529938e+000, - 2.851152e-001, - -1.110129e+000, - -1.306323e+000, - -3.235833e-001, - 2.998748e+000, - -1.535927e-002, - -4.001906e-001, - -9.430492e-002, - 2.211086e+000, - 8.632200e-001, - -1.174540e+000, - 7.550161e-002, - -1.849588e-001, - -6.281432e+000, - -6.186665e+000, - 1.173048e+000, - 1.481656e-001, - 2.668578e+000, - 6.145923e-001, - -1.104583e+000, - -8.430389e-001, - 8.668416e-001, - 9.153752e+000, - -7.289540e-001, - -4.346537e-001, - -9.065784e-002, - 2.866983e-001, - 6.920973e-001, - -1.105893e+000, - -4.500399e-001, - 4.286451e-001, - 1.207864e+000, - -5.018291e+000, - 6.988292e-001, - 3.891745e-002, - 1.602324e+000, - 6.269169e-001, - // albedo 0, turbidity 7 - -3.709341e+000, - -2.038242e+000, - -3.127214e+000, - 3.287030e+000, - -4.565671e-002, - 2.427627e-001, - -7.503980e-006, - 1.817881e+000, - 9.000389e-001, - -3.393374e+000, - -1.710497e+000, - 1.661275e+000, - -1.388896e+000, - -1.012293e-001, - 1.676172e-001, - -5.719846e-004, - 1.694199e+000, - -3.140071e-001, - -2.812820e+000, - -2.678401e+000, - -1.170428e+000, - 1.560988e+000, - -4.488218e-001, - 1.088693e-001, - 1.391966e-002, - 2.144426e+000, - 1.525731e+000, - 2.547360e-001, - 8.840167e-001, - 5.469168e-001, - -2.615530e+000, - -1.048663e+000, - 4.823171e-001, - -5.958515e-002, - 1.842479e+000, - 5.322138e-001, - -1.612173e+000, - -1.055541e+000, - 4.733463e-001, - 5.083504e+000, - -5.558403e+000, - 8.029584e-002, - 1.294180e-001, - 7.807964e-001, - 3.949822e-001, - -1.098367e+000, - -5.550631e-001, - 4.221569e-001, - -1.661587e-003, - -4.970027e+000, - 3.479325e-001, - 4.503648e-002, - 1.369224e+000, - 6.753984e-001, - // albedo 0, turbidity 8 - -4.292777e+000, - -2.231300e+000, - -4.359252e+000, - 4.562131e+000, - -3.759725e-002, - 2.170783e-001, - -6.945269e-006, - 1.791630e+000, - 8.996451e-001, - -4.016595e+000, - -1.761175e+000, - 2.616213e+000, - -2.658657e+000, - -8.209207e-002, - 2.736152e-001, - -6.864170e-004, - 1.820262e+000, - -2.712707e-001, - -2.942646e+000, - -3.350329e+000, - -1.645817e+000, - 2.957424e+000, - -1.073783e-001, - -1.920050e-001, - 1.665992e-002, - 1.723144e+000, - 1.394962e+000, - 9.793627e-001, - 1.743715e+000, - 5.396545e-001, - -4.618273e+000, - -2.186669e+000, - 1.012973e+000, - -7.213786e-002, - 2.388103e+000, - 6.712519e-001, - -2.085434e+000, - -1.445755e+000, - 3.384806e-001, - 7.702938e+000, - -3.897179e+000, - -5.947697e-001, - 1.614194e-001, - 7.854754e-001, - 3.291034e-001, - -9.660466e-001, - -5.247410e-001, - 4.199048e-001, - -3.304707e-003, - -5.014144e+000, - 6.733599e-001, - 2.345161e-002, - 1.225739e+000, - 7.256834e-001, - // albedo 0, turbidity 9 - -3.950771e+000, - -2.192673e+000, - -7.263653e+000, - 7.343312e+000, - -1.840332e-002, - 1.893809e-001, - -3.583629e-006, - 1.901172e+000, - 5.902387e-001, - -6.384690e+000, - -2.515788e+000, - 3.874778e+000, - -3.776079e+000, - -3.484710e-002, - 3.311078e-001, - 8.248395e-003, - 1.612712e+000, - 3.123684e-001, - -6.207616e-001, - -2.681061e+000, - -2.005212e+000, - 2.445498e+000, - -1.935675e-001, - -1.988856e-001, - -1.553754e-002, - 2.210740e+000, - 6.507040e-001, - -1.241493e+000, - 5.908170e-001, - 3.899777e-001, - -2.344038e+000, - -1.820327e-001, - 7.889592e-001, - -1.468064e-002, - 1.586758e+000, - 1.007885e+000, - -4.395130e-001, - -3.700611e-001, - 2.452754e-001, - 3.602006e+000, - -4.692896e+000, - -8.620746e-002, - 1.418548e-001, - 1.521301e+000, - 3.989756e-001, - -1.794977e+000, - -1.190586e+000, - 3.928989e-001, - 1.946953e+000, - -1.874118e+000, - -3.292602e-002, - 2.983309e-002, - 6.737092e-001, - 7.322706e-001, - // albedo 0, turbidity 10 - -8.896186e+000, - -3.278330e+000, - -7.998349e+000, - 8.023312e+000, - -1.357555e-002, - 1.947910e-001, - -5.390226e-006, - 1.798414e+000, - 7.881395e-001, - -8.040403e+000, - -2.528514e+000, - 3.774303e+000, - -3.590457e+000, - -3.551313e-002, - 3.650761e-001, - -4.401382e-004, - 1.701545e+000, - -6.992899e-003, - -4.150010e-001, - -3.539507e+000, - -1.527733e+000, - 1.415242e+000, - -1.831476e-001, - -3.009746e-001, - 1.211955e-002, - 2.365976e+000, - 9.928240e-001, - -2.090923e+000, - 1.673638e-001, - -2.183495e-001, - -8.374584e-001, - 2.774184e-002, - 7.912769e-001, - -6.650609e-002, - 1.154446e+000, - 7.863979e-001, - 5.115239e-001, - 2.415831e-001, - 4.022318e-001, - 2.292950e+000, - -4.061496e+000, - 7.453182e-002, - 1.902451e-001, - 1.587339e+000, - 5.207620e-001, - -2.334879e+000, - -1.642495e+000, - 2.384458e-001, - 3.068363e+000, - -1.699588e+000, - -3.936924e-001, - 3.028660e-002, - 4.715374e-001, - 7.091893e-001, - // albedo 1, turbidity 1 - -2.375941e+000, - -1.508643e+000, - -5.070151e+000, - 5.509378e+000, - -2.915769e-002, - 2.122471e-001, - 8.584007e-005, - 1.517285e+000, - 5.163253e-001, - -2.605398e+000, - -1.589160e+000, - -1.137560e+000, - 1.827729e+000, - -4.939637e-002, - 3.243952e-001, - -6.464612e-004, - 1.008816e+000, - 4.568463e-001, - -2.176260e+000, - -1.601522e+000, - 7.060324e-001, - -1.060717e+000, - -5.144614e-002, - -1.938031e-001, - 3.449257e-003, - 2.641594e+000, - 5.976852e-001, - -7.365744e-001, - -3.720296e-001, - 7.315328e-001, - 3.156067e-001, - -2.739385e-001, - 8.252942e-001, - -1.055013e-002, - 7.327610e-002, - 3.218251e-001, - -1.017537e+000, - -4.631811e-001, - 1.093174e+000, - -7.215941e-002, - 5.408457e-001, - -1.848322e-002, - 1.942990e-002, - 6.882763e-001, - 7.268524e-001, - -1.025215e+000, - -3.712574e-001, - 9.661278e-001, - 7.791398e-003, - -4.508617e+000, - 4.371074e-001, - -1.241898e-006, - 1.152655e+000, - 5.008240e-001, - // albedo 1, turbidity 2 - -2.621793e+000, - -1.611544e+000, - -4.494730e+000, - 4.902741e+000, - -2.935751e-002, - 1.930048e-001, - 1.821579e-005, - 1.522018e+000, - 6.563013e-001, - -2.473330e+000, - -1.495083e+000, - -5.536781e-001, - 1.305457e+000, - -7.261347e-002, - 2.967738e-001, - -2.858526e-004, - 1.132650e+000, - 1.737068e-001, - -2.843519e+000, - -1.913751e+000, - 2.006296e-001, - -8.580922e-001, - -5.273753e-002, - -7.800250e-002, - 2.395781e-003, - 2.505017e+000, - 9.023934e-001, - -1.805184e-001, - -3.670063e-002, - 7.583717e-001, - 7.594739e-001, - -2.092951e-001, - 6.278666e-001, - -8.086828e-003, - 4.136002e-001, - 6.026937e-001, - -1.274753e+000, - -5.831501e-001, - 9.711756e-001, - -6.209175e-001, - 1.488633e-001, - 2.117108e-001, - 1.531499e-002, - 9.306008e-001, - 7.201852e-001, - -9.224434e-001, - -3.344822e-001, - 9.964647e-001, - 3.991735e-001, - -4.951439e+000, - 4.332347e-001, - -1.082832e-005, - 9.570977e-001, - 5.221054e-001, - // albedo 1, turbidity 3 - -2.648100e+000, - -1.587720e+000, - -3.738681e+000, - 4.084015e+000, - -3.301163e-002, - 1.736140e-001, - -5.598265e-006, - 1.628176e+000, - 8.967917e-001, - -3.004556e+000, - -1.702983e+000, - 1.060112e-001, - 5.816666e-001, - -8.140777e-002, - 3.584557e-001, - -7.793874e-005, - 1.090228e+000, - -1.079451e-001, - -2.337937e+000, - -1.584523e+000, - -2.912486e-001, - -4.467895e-001, - -9.195281e-002, - -2.355753e-001, - 1.887118e-003, - 3.053238e+000, - 1.043382e+000, - -5.985994e-001, - -2.846782e-001, - 8.903642e-001, - 5.578845e-001, - -2.510042e-001, - 8.033778e-001, - -9.920460e-003, - 7.388584e-002, - 7.097127e-001, - -1.155357e+000, - -4.638306e-001, - 8.041892e-001, - -4.051351e-001, - -2.819435e-001, - 8.505708e-002, - 2.749222e-002, - 1.334820e+000, - 5.216620e-001, - -1.010658e+000, - -3.816787e-001, - 9.644918e-001, - 2.144477e-001, - -5.005667e+000, - 5.475125e-001, - 3.758162e-005, - 1.033427e+000, - 6.866266e-001, - // albedo 1, turbidity 4 - -2.686681e+000, - -1.694114e+000, - -4.346908e+000, - 4.745876e+000, - -2.879846e-002, - 2.237339e-001, - -6.438656e-006, - 1.456353e+000, - 9.000340e-001, - -2.684912e+000, - -1.616888e+000, - 2.447798e+000, - -1.626883e+000, - -7.346183e-002, - 2.641722e-001, - -1.001518e-004, - 1.045501e+000, - -2.314856e-001, - -2.587652e+000, - -1.999748e+000, - -1.325810e+000, - 7.561102e-001, - -4.182131e-001, - -4.285017e-002, - 2.719759e-003, - 2.420598e+000, - 1.281981e+000, - -2.679506e-001, - 5.139740e-002, - 1.276587e+000, - -2.286956e-001, - 7.388924e-001, - 5.606395e-001, - -1.472508e-002, - 5.105614e-001, - 7.670396e-001, - -1.267160e+000, - -7.441021e-001, - 9.154665e-001, - 8.190436e-001, - -6.805266e+000, - 1.013064e-001, - 4.140297e-002, - 3.378301e-001, - 3.128860e-001, - -9.570978e-001, - -3.478847e-001, - 9.709923e-001, - -3.444499e-003, - -4.677921e+000, - 3.551546e-001, - 6.241534e-003, - 1.052060e+000, - 7.543152e-001, - // albedo 1, turbidity 5 - -3.093830e+000, - -1.859478e+000, - -4.003711e+000, - 4.391665e+000, - -3.051581e-002, - 2.180265e-001, - -7.401285e-006, - 1.448366e+000, - 9.000549e-001, - -3.121106e+000, - -1.664385e+000, - 2.868256e+000, - -2.280292e+000, - -8.456847e-002, - 2.227469e-001, - -1.681252e-004, - 1.176332e+000, - -2.605895e-001, - -2.166025e+000, - -2.172663e+000, - -1.705862e+000, - 1.960864e+000, - -2.185020e-001, - 1.891067e-002, - 4.423413e-003, - 2.071931e+000, - 1.297661e+000, - -5.263078e-001, - 2.296403e-001, - 1.342025e+000, - -2.034590e+000, - -1.024013e+000, - 4.873264e-001, - -1.982506e-002, - 9.818474e-001, - 1.040041e+000, - -1.138361e+000, - -8.186096e-001, - 8.845700e-001, - 3.291911e+000, - -5.915866e+000, - 1.125846e-001, - 4.477952e-002, - 9.195132e-002, - -1.138939e-002, - -1.013651e+000, - -3.811416e-001, - 9.420266e-001, - -3.599378e-003, - -4.895655e+000, - 2.864445e-001, - 1.940262e-002, - 1.026648e+000, - 7.421204e-001, - // albedo 1, turbidity 6 - -2.379373e+000, - -1.540348e+000, - -1.318467e+000, - 1.724703e+000, - -1.017147e-001, - 1.811106e-001, - -3.047951e-006, - 1.598808e+000, - 5.796580e-001, - -3.200327e+000, - -2.016985e+000, - 9.935187e-001, - -9.970906e-001, - -2.159523e-001, - 3.183812e-001, - 1.575987e-002, - 1.180131e+000, - 2.839510e-001, - -1.107956e+000, - -1.330969e+000, - -1.627216e-001, - 2.985435e+000, - -2.198633e-002, - -4.401148e-001, - -5.433064e-002, - 1.701087e+000, - 8.289746e-001, - -9.423359e-001, - 4.619106e-002, - 3.116348e-002, - -6.353122e+000, - -6.192769e+000, - 1.175886e+000, - 1.020452e-001, - 2.180417e+000, - 7.076018e-001, - -1.037343e+000, - -5.711080e-001, - 1.282899e+000, - 8.808032e+000, - -8.741903e-001, - -6.097972e-001, - -5.996612e-002, - 1.533313e-001, - 5.842877e-001, - -1.002208e+000, - -3.271512e-001, - 7.288675e-001, - 7.950560e-001, - -5.029931e+000, - 4.493639e-001, - 2.389923e-002, - 1.568465e+000, - 5.653910e-001, - // albedo 1, turbidity 7 - -3.584221e+000, - -2.140498e+000, - -5.324613e+000, - 5.753381e+000, - -2.662581e-002, - 2.099272e-001, - -6.879519e-006, - 1.362229e+000, - 9.000467e-001, - -3.579609e+000, - -1.804420e+000, - 3.448490e+000, - -2.929179e+000, - -6.009529e-002, - 2.821561e-001, - -6.203809e-004, - 1.312035e+000, - -3.013934e-001, - -2.053811e+000, - -2.420850e+000, - -1.795999e+000, - 1.835004e+000, - -3.451800e-001, - -1.042135e-001, - 1.511574e-002, - 1.751304e+000, - 1.491704e+000, - -2.602659e-001, - 5.963320e-001, - 1.059632e+000, - -1.214076e+000, - 6.424455e-001, - 6.890202e-001, - -6.544341e-002, - 1.457883e+000, - 5.321707e-001, - -1.266632e+000, - -8.504227e-001, - 8.680693e-001, - 1.899473e+000, - -8.680238e+000, - -1.798563e-001, - 1.477665e-001, - 2.430031e-001, - 4.229871e-001, - -1.021321e+000, - -5.129049e-001, - 9.006232e-001, - 1.534018e+000, - -3.672948e+000, - 2.301115e-001, - 5.151145e-003, - 7.460819e-001, - 5.418252e-001, - // albedo 1, turbidity 8 - -4.095186e+000, - -2.274183e+000, - -4.115160e+000, - 4.514741e+000, - -3.131440e-002, - 1.475658e-001, - -5.329133e-006, - 1.411833e+000, - 8.893477e-001, - -3.691554e+000, - -1.654418e+000, - 3.158573e+000, - -2.961366e+000, - -7.834161e-002, - 3.035141e-001, - -4.241191e-004, - 1.485200e+000, - -1.689443e-001, - -2.697067e+000, - -3.473351e+000, - -1.707297e+000, - 3.138823e+000, - -8.323430e-002, - -1.605972e-001, - 1.025052e-002, - 1.132282e+000, - 1.093318e+000, - 7.049827e-001, - 1.769870e+000, - 8.659868e-001, - -4.445404e+000, - -2.256134e+000, - 7.768538e-001, - -4.741793e-002, - 2.212406e+000, - 1.109562e+000, - -1.771411e+000, - -1.358270e+000, - 7.604506e-001, - 7.191590e+000, - -4.358366e+000, - -3.375251e-001, - 1.136852e-001, - 1.844576e-001, - -1.208189e-003, - -9.623648e-001, - -5.518470e-001, - 9.623684e-001, - -5.697517e-003, - -5.015884e+000, - 2.811964e-001, - 2.100168e-002, - 4.434131e-001, - 7.212648e-001, - // albedo 1, turbidity 9 - -5.131552e+000, - -2.558716e+000, - -8.066753e+000, - 8.403192e+000, - -1.450692e-002, - 1.494495e-001, - -2.898774e-006, - 1.427512e+000, - 5.020826e-001, - -6.192910e+000, - -2.261479e+000, - 5.059205e+000, - -4.892079e+000, - -2.703716e-002, - 3.381259e-001, - 2.231257e-002, - 1.490697e+000, - 5.441761e-001, - -6.741018e-001, - -3.356237e+000, - -2.207329e+000, - 3.300094e+000, - -1.801120e-001, - -2.560242e-001, - -6.216731e-002, - 1.180699e+000, - 2.241782e-001, - -8.312435e-001, - 1.325391e+000, - 5.324159e-001, - -2.912438e+000, - -8.384977e-002, - 7.600872e-001, - 7.749519e-002, - 2.129188e+000, - 1.328287e+000, - -7.455272e-001, - -8.504579e-001, - 9.021474e-001, - 3.426594e+000, - -4.607412e+000, - -1.706127e-001, - 4.792024e-002, - 2.354077e-001, - 2.718195e-001, - -1.448374e+000, - -9.739004e-001, - 8.801628e-001, - 1.705262e+000, - -2.420298e+000, - -1.077392e-002, - 2.691713e-002, - 1.854876e-001, - 7.097466e-001, - // albedo 1, turbidity 10 - -8.672396e+000, - -3.339107e+000, - -7.666257e+000, - 7.916291e+000, - -1.396976e-002, - 1.676538e-001, - -5.816416e-006, - 1.448247e+000, - 8.178892e-001, - -7.852799e+000, - -2.606120e+000, - 4.231840e+000, - -3.774406e+000, - -3.540722e-002, - 2.178494e-001, - 6.198617e-005, - 1.295236e+000, - 1.130678e-001, - -1.374103e-001, - -3.570476e+000, - -1.588768e+000, - 1.538806e+000, - -1.923629e-001, - -1.793545e-002, - 3.373950e-003, - 2.008581e+000, - 6.041668e-001, - -2.211224e+000, - 1.190704e-001, - 6.700025e-002, - -8.972445e-001, - 2.133056e-001, - 4.471730e-001, - -3.148150e-002, - 9.759721e-001, - 1.166537e+000, - 5.932825e-001, - 2.482606e-001, - 9.239617e-001, - 2.382787e+000, - -4.611846e+000, - 1.608983e-001, - 1.385590e-001, - 7.641781e-001, - 3.076032e-001, - -2.098394e+000, - -1.561705e+000, - 7.602298e-001, - 1.783879e+000, - -1.486238e+000, - -4.025919e-001, - 2.965074e-002, - -8.717180e-002, - 7.279518e-001, -}; - -double datasetRad360[] = -{ - // albedo 0, turbidity 1 - 2.018734e-002, - 2.878447e-002, - 2.400602e-003, - 2.195955e-002, - 1.081208e+000, - 6.713020e-001, - // albedo 0, turbidity 2 - 2.002136e-002, - 2.847494e-002, - 3.587591e-003, - 1.419700e-002, - 1.094719e+000, - 6.680584e-001, - // albedo 0, turbidity 3 - 2.011594e-002, - 2.839101e-002, - 3.428003e-003, - 9.071270e-003, - 1.101399e+000, - 6.741060e-001, - // albedo 0, turbidity 4 - 1.959942e-002, - 2.653676e-002, - 1.129384e-002, - -1.580946e-002, - 1.127469e+000, - 6.780204e-001, - // albedo 0, turbidity 5 - 1.945450e-002, - 2.520872e-002, - 1.800661e-002, - -4.294016e-002, - 1.162101e+000, - 6.730305e-001, - // albedo 0, turbidity 6 - 1.903655e-002, - 2.359634e-002, - 2.573237e-002, - -6.716183e-002, - 1.191096e+000, - 6.637348e-001, - // albedo 0, turbidity 7 - 1.900294e-002, - 2.235101e-002, - 2.971978e-002, - -8.191387e-002, - 1.197978e+000, - 6.798375e-001, - // albedo 0, turbidity 8 - 1.858572e-002, - 1.959071e-002, - 4.133418e-002, - -1.226605e-001, - 1.235477e+000, - 6.843139e-001, - // albedo 0, turbidity 9 - 1.775300e-002, - 1.478736e-002, - 6.156524e-002, - -1.871793e-001, - 1.285714e+000, - 6.918133e-001, - // albedo 0, turbidity 10 - 1.649168e-002, - 7.620909e-003, - 8.938806e-002, - -2.710168e-001, - 1.325702e+000, - 7.116526e-001, - // albedo 1, turbidity 1 - 2.477596e-002, - 1.721452e-002, - 9.168552e-002, - -2.257278e-001, - 1.577194e+000, - 1.309986e+000, - // albedo 1, turbidity 2 - 2.466371e-002, - 1.743042e-002, - 9.040406e-002, - -2.274583e-001, - 1.578315e+000, - 1.306446e+000, - // albedo 1, turbidity 3 - 2.459685e-002, - 1.660564e-002, - 9.153715e-002, - -2.315701e-001, - 1.571815e+000, - 1.309528e+000, - // albedo 1, turbidity 4 - 2.398256e-002, - 1.512880e-002, - 9.624211e-002, - -2.499972e-001, - 1.588498e+000, - 1.289531e+000, - // albedo 1, turbidity 5 - 2.362570e-002, - 1.397231e-002, - 1.012384e-001, - -2.701754e-001, - 1.597686e+000, - 1.277024e+000, - // albedo 1, turbidity 6 - 2.311217e-002, - 1.333246e-002, - 1.016992e-001, - -2.741844e-001, - 1.590760e+000, - 1.271949e+000, - // albedo 1, turbidity 7 - 2.286898e-002, - 1.138458e-002, - 1.081702e-001, - -2.975024e-001, - 1.604279e+000, - 1.243052e+000, - // albedo 1, turbidity 8 - 2.167905e-002, - 8.977041e-003, - 1.158610e-001, - -3.247192e-001, - 1.602017e+000, - 1.222336e+000, - // albedo 1, turbidity 9 - 2.068610e-002, - 5.054490e-003, - 1.264696e-001, - -3.615436e-001, - 1.593307e+000, - 1.183658e+000, - // albedo 1, turbidity 10 - 1.880968e-002, - 1.052745e-003, - 1.346693e-001, - -3.906154e-001, - 1.528992e+000, - 1.155257e+000, -}; - -double dataset400[] = -{ - // albedo 0, turbidity 1 - -1.869600e+000, - -9.575785e-001, - -6.993871e+000, - 7.306207e+000, - -3.240320e-002, - 3.834949e-001, - 4.369976e-005, - 2.254773e+000, - 5.025988e-001, - -1.746138e+000, - -1.001117e+000, - -1.758295e+000, - 2.492931e+000, - -6.202861e-002, - 4.442043e-001, - -3.779550e-004, - 1.411622e+000, - 4.890101e-001, - -1.536453e+000, - -5.330479e-001, - 1.126830e+000, - -2.452367e+000, - -6.694842e-002, - -2.983825e-002, - 2.320196e-003, - 5.488905e+000, - 5.403856e-001, - -1.069780e+000, - -5.815078e-001, - 8.612956e-001, - 1.301347e+000, - -4.089489e-001, - 1.269432e+000, - -9.018004e-003, - -2.283572e+000, - 3.760374e-001, - -1.060384e+000, - -2.207518e-001, - 6.362691e-001, - -5.757237e-001, - 4.275177e-001, - 8.443714e-002, - 2.082596e-002, - 3.125040e+000, - 7.891611e-001, - -1.077246e+000, - -2.993040e-001, - 8.167430e-001, - 2.203982e-001, - -3.984213e+000, - 1.123699e+000, - 1.313138e-002, - 1.750491e+000, - 4.999653e-001, - // albedo 0, turbidity 2 - -1.752499e+000, - -9.053927e-001, - -1.080943e+001, - 1.110516e+001, - -2.092090e-002, - 3.348109e-001, - -8.432141e-006, - 2.326824e+000, - 9.000500e-001, - -1.888565e+000, - -1.067725e+000, - 1.491851e+000, - -7.934014e-001, - -4.853718e-002, - 5.346693e-001, - 9.170370e-005, - 1.397595e+000, - -3.635730e-001, - -1.471013e+000, - -5.497976e-001, - -4.310423e-001, - -8.787275e-001, - -9.206447e-002, - -1.490862e-001, - -4.078054e-005, - 5.442983e+000, - 1.757010e+000, - -1.061905e+000, - -5.429222e-001, - 1.412232e+000, - 8.460977e-001, - -2.973654e-001, - 1.357299e+000, - -5.347332e-003, - -2.444304e+000, - -3.363016e-002, - -1.071200e+000, - -2.263246e-001, - 3.639469e-001, - -6.109244e-001, - -2.484665e-001, - -7.097027e-002, - 4.735641e-002, - 3.445733e+000, - 8.486491e-001, - -1.081645e+000, - -3.128264e-001, - 8.436471e-001, - 3.884148e-001, - -5.004662e+000, - 1.137000e+000, - 1.500838e-002, - 1.585647e+000, - 5.832608e-001, - // albedo 0, turbidity 3 - -1.774187e+000, - -9.327599e-001, - -9.130103e+000, - 9.413272e+000, - -2.448089e-002, - 3.487996e-001, - -3.033497e-006, - 2.291071e+000, - 6.408360e-001, - -1.849342e+000, - -1.038735e+000, - 2.863013e+000, - -2.260302e+000, - -5.040252e-002, - 4.583723e-001, - 1.008690e-002, - 1.502617e+000, - 7.223351e-002, - -1.624679e+000, - -7.257060e-001, - -1.493033e+000, - 5.658415e-001, - -2.079847e-001, - -4.651180e-002, - -3.701743e-002, - 4.858534e+000, - 1.342775e+000, - -8.692395e-001, - -3.025565e-001, - 1.630221e+000, - -4.624355e-002, - 8.408669e-002, - 1.091981e+000, - 6.506253e-002, - -1.403006e+000, - 2.076066e-001, - -1.169258e+000, - -3.711802e-001, - 3.440155e-001, - -1.044556e-001, - -3.304858e+000, - 1.185883e-001, - 1.489352e-002, - 2.642598e+000, - 8.151882e-001, - -1.058391e+000, - -2.657785e-001, - 6.984363e-001, - 9.737578e-002, - -1.903943e+000, - 8.963329e-001, - 6.480860e-002, - 2.034024e+000, - 5.870424e-001, - // albedo 0, turbidity 4 - -1.898858e+000, - -1.031814e+000, - -9.726056e+000, - 1.000989e+001, - -2.125268e-002, - 3.569897e-001, - -2.706653e-006, - 2.147646e+000, - 5.982401e-001, - -2.136007e+000, - -1.206456e+000, - 3.801172e+000, - -3.254852e+000, - -4.516490e-002, - 4.001123e-001, - 2.151890e-002, - 1.481457e+000, - 1.444904e-001, - -1.355343e+000, - -6.736369e-001, - -2.052620e+000, - 1.298239e+000, - -1.986869e-001, - 6.321488e-002, - -6.792635e-002, - 4.482593e+000, - 1.322565e+000, - -9.063816e-001, - -1.873797e-001, - 1.559544e+000, - -2.631298e-001, - 5.988684e-002, - 9.375378e-001, - 9.681349e-002, - -6.480890e-001, - 2.362949e-001, - -1.170470e+000, - -3.968082e-001, - 2.266604e-001, - -2.018118e-001, - -3.768512e+000, - 9.706445e-002, - 6.046660e-002, - 2.723200e+000, - 7.968878e-001, - -1.085813e+000, - -3.519543e-001, - 7.537557e-001, - 3.003522e-001, - -1.811803e+000, - 7.945754e-001, - 5.293207e-002, - 1.335214e+000, - 6.385980e-001, - // albedo 0, turbidity 5 - -1.743240e+000, - -9.391727e-001, - -8.905876e+000, - 9.139326e+000, - -2.333803e-002, - 3.093783e-001, - -2.051734e-006, - 2.320564e+000, - 5.474845e-001, - -2.624196e+000, - -1.516703e+000, - 5.053093e+000, - -4.599198e+000, - -4.248730e-002, - 4.820250e-001, - 1.829762e-002, - 1.216991e+000, - 2.739806e-001, - -1.040612e+000, - -6.103044e-001, - -3.190021e+000, - 3.216574e+000, - -3.285978e-001, - -1.982489e-001, - -5.367025e-002, - 3.984414e+000, - 1.158312e+000, - -9.537244e-001, - -6.895800e-003, - 1.788307e+000, - -2.659655e+000, - 6.473584e-001, - 1.333544e+000, - 5.529579e-002, - 8.049825e-001, - 4.930209e-001, - -1.163791e+000, - -5.095388e-001, - 1.215079e-001, - 3.427998e+000, - -9.243257e+000, - -5.059496e-001, - 1.412681e-001, - 1.829389e+000, - 5.544610e-001, - -1.118058e+000, - -3.706501e-001, - 6.885180e-001, - -1.596776e-003, - -3.279613e+000, - 1.068229e+000, - 3.010797e-002, - 1.479756e+000, - 7.483765e-001, - // albedo 0, turbidity 6 - -1.811701e+000, - -1.002650e+000, - -9.194183e+000, - 9.469966e+000, - -2.224886e-002, - 3.237441e-001, - -2.632967e-006, - 2.168879e+000, - 5.952956e-001, - -2.746180e+000, - -1.592055e+000, - 4.225172e+000, - -3.929912e+000, - -3.866297e-002, - 3.982440e-001, - 3.812089e-002, - 1.390284e+000, - 1.922369e-001, - -9.558770e-001, - -6.401790e-001, - -2.117905e+000, - 2.293799e+000, - -2.226591e-001, - 6.151477e-002, - -1.223358e-001, - 3.475975e+000, - 1.124575e+000, - -9.065351e-001, - 1.443765e-001, - 7.871576e-001, - -1.631026e+000, - 1.537369e-001, - 8.353048e-001, - 1.849704e-001, - 1.650615e+000, - 4.473559e-001, - -1.180081e+000, - -5.441674e-001, - 3.963103e-001, - 1.375519e+000, - -4.882926e+000, - -9.391794e-004, - 6.455569e-002, - 1.774670e+000, - 6.989373e-001, - -1.128755e+000, - -3.892532e-001, - 5.327884e-001, - 1.825253e+000, - -2.335719e+000, - 5.863162e-001, - 5.535626e-002, - 1.452293e+000, - 6.920090e-001, - // albedo 0, turbidity 7 - -2.042064e+000, - -1.144943e+000, - -5.152625e+000, - 5.384535e+000, - -3.519943e-002, - 3.025845e-001, - -2.994849e-006, - 2.113418e+000, - 6.000255e-001, - -2.700541e+000, - -1.485611e+000, - 2.159154e+000, - -2.188608e+000, - -5.879735e-002, - 3.921779e-001, - 5.020849e-002, - 1.869923e+000, - 2.118398e-001, - -1.187417e+000, - -1.102630e+000, - -9.404690e-001, - 2.427532e+000, - -2.948903e-001, - -3.437257e-002, - -1.636446e-001, - 1.894926e+000, - 1.001327e+000, - -5.639857e-001, - 7.170770e-001, - -1.146502e-001, - -3.487513e+000, - -7.711076e-001, - 1.046031e+000, - 2.606854e-001, - 3.873520e+000, - 5.637980e-001, - -1.363103e+000, - -8.396317e-001, - 5.750351e-001, - 4.317766e+000, - -2.364722e+000, - -4.135433e-001, - 2.669162e-002, - 5.768700e-001, - 6.649078e-001, - -1.102449e+000, - -3.685043e-001, - 4.622549e-001, - -2.018634e-003, - -3.947538e+000, - 8.449276e-001, - 8.837036e-002, - 1.601304e+000, - 7.026980e-001, - // albedo 0, turbidity 8 - -2.314053e+000, - -1.314766e+000, - -7.125646e+000, - 7.357344e+000, - -2.585710e-002, - 2.863908e-001, - -2.425744e-006, - 2.039404e+000, - 5.594003e-001, - -2.630411e+000, - -1.404258e+000, - 3.675058e+000, - -3.804226e+000, - -4.249037e-002, - 3.486414e-001, - 5.675141e-002, - 1.944935e+000, - 2.880711e-001, - -1.884599e+000, - -1.657069e+000, - -1.731916e+000, - 3.034605e+000, - -1.746846e-001, - -1.559184e-002, - -1.600465e-001, - 1.915108e+000, - 9.460232e-001, - 6.351036e-002, - 1.061776e+000, - 1.195544e-002, - -3.018584e+000, - -5.618808e-001, - 1.008146e+000, - 2.013783e-001, - 3.212273e+000, - 6.523624e-001, - -1.672505e+000, - -9.752710e-001, - 5.282860e-001, - 3.776331e+000, - -4.325128e+000, - -4.384279e-001, - 1.352387e-001, - 8.847662e-001, - 5.717158e-001, - -1.007695e+000, - -3.840375e-001, - 3.463543e-001, - 2.848366e+000, - -2.105699e+000, - 4.636429e-001, - 2.800131e-002, - 1.306056e+000, - 7.618236e-001, - // albedo 0, turbidity 9 - -2.865406e+000, - -1.637174e+000, - -7.429613e+000, - 7.592861e+000, - -2.196505e-002, - 2.800873e-001, - -3.908530e-006, - 1.962505e+000, - 5.891464e-001, - -3.196334e+000, - -1.512711e+000, - 3.947880e+000, - -4.029796e+000, - -3.699620e-002, - 1.461452e-001, - 5.921432e-002, - 1.806132e+000, - 2.331816e-001, - -2.335492e+000, - -2.353032e+000, - -1.764665e+000, - 2.841986e+000, - -7.331326e-002, - 4.537047e-001, - -1.668000e-001, - 2.156269e+000, - 9.812486e-001, - 3.278911e-001, - 1.315177e+000, - -1.438189e-001, - -2.859630e+000, - -8.436262e-001, - 2.645711e-001, - 2.154409e-001, - 2.264493e+000, - 5.975203e-001, - -1.738015e+000, - -1.091057e+000, - 5.425696e-001, - 4.650166e+000, - -3.975190e+000, - 2.066035e-001, - 1.017332e-001, - 9.321625e-001, - 6.517783e-001, - -1.006457e+000, - -4.243112e-001, - 1.934952e-001, - 2.795030e+000, - -1.680697e+000, - -9.428375e-002, - 7.158314e-002, - 1.082383e+000, - 7.234775e-001, - // albedo 0, turbidity 10 - -4.195701e+000, - -2.171135e+000, - -5.278016e+000, - 5.393085e+000, - -2.419182e-002, - 2.050075e-001, - -3.797795e-006, - 1.853402e+000, - 6.912927e-001, - -4.119053e+000, - -1.648023e+000, - 2.332552e+000, - -2.173813e+000, - -6.442977e-002, - 2.188945e-001, - 3.548565e-002, - 1.792598e+000, - 4.162082e-002, - -4.016823e+000, - -3.599323e+000, - -6.179057e-001, - 6.454998e-001, - -9.913704e-002, - 2.770986e-001, - -9.265471e-002, - 2.227501e+000, - 1.179216e+000, - 1.066227e+000, - 1.392783e+000, - -9.653695e-001, - -5.471637e-001, - -8.500569e-001, - 4.678476e-001, - 8.760324e-002, - 1.564314e+000, - 4.885251e-001, - -1.855594e+000, - -1.029300e+000, - 8.521013e-001, - 3.975027e+000, - -3.806819e+000, - -2.044703e-002, - 1.757298e-001, - 7.790123e-001, - 6.918921e-001, - -1.014961e+000, - -6.014045e-001, - 1.926619e-002, - 2.357335e+000, - -1.312911e+000, - -8.783609e-002, - 7.739369e-002, - 7.356770e-001, - 7.042591e-001, - // albedo 1, turbidity 1 - -1.467874e+000, - -7.636581e-001, - -7.251111e+000, - 7.726558e+000, - -2.759341e-002, - 3.527534e-001, - 5.340629e-005, - 2.007747e+000, - 5.447487e-001, - -1.863242e+000, - -1.048209e+000, - -1.580541e+000, - 2.558030e+000, - -5.622126e-002, - 3.053960e-001, - -4.657733e-004, - 9.956390e-001, - 3.409087e-001, - -1.384101e+000, - -5.553588e-001, - 1.191974e+000, - -2.157512e+000, - -3.567589e-002, - 1.020018e-001, - 2.940191e-003, - 4.555372e+000, - 8.736043e-001, - -9.828878e-001, - -4.220161e-001, - 1.184916e+000, - 9.230716e-001, - -4.062756e-001, - 1.064980e+000, - -1.060088e-002, - -1.764815e+000, - 2.932808e-001, - -1.057001e+000, - -2.727017e-001, - 1.000018e+000, - -3.108668e-001, - 6.848382e-001, - -1.682596e-001, - 2.301218e-002, - 2.075821e+000, - 7.647327e-001, - -1.058165e+000, - -2.436130e-001, - 1.074414e+000, - 8.554434e-002, - -3.846431e+000, - 7.595465e-001, - 9.729528e-006, - 1.915942e+000, - 4.999612e-001, - // albedo 1, turbidity 2 - -1.610179e+000, - -8.336019e-001, - -1.443356e+001, - 1.492556e+001, - -1.381931e-002, - 2.902743e-001, - -7.665717e-006, - 1.981513e+000, - 9.000423e-001, - -2.004083e+000, - -1.148388e+000, - 3.747156e+000, - -2.808560e+000, - -3.298677e-002, - 4.224754e-001, - 4.166438e-004, - 8.792110e-001, - -2.321793e-001, - -1.178554e+000, - -5.064839e-001, - -1.117126e+000, - 2.815740e-001, - -7.068438e-002, - -3.031589e-002, - -3.468069e-003, - 4.539093e+000, - 1.385612e+000, - -1.091191e+000, - -4.200919e-001, - 1.826508e+000, - 7.131992e-002, - -1.883417e-001, - 1.061437e+000, - 1.311913e-002, - -1.972550e+000, - 2.511246e-001, - -9.987232e-001, - -2.073656e-001, - 7.443384e-001, - -7.245157e-002, - -5.588818e-001, - -1.364188e-001, - 2.023795e-002, - 2.829822e+000, - 7.230021e-001, - -1.075477e+000, - -2.556973e-001, - 1.051690e+000, - 3.075960e-002, - -1.895492e+000, - 6.408333e-001, - 2.109454e-002, - 1.891240e+000, - 5.652527e-001, - // albedo 1, turbidity 3 - -1.531711e+000, - -8.266123e-001, - -9.324763e+000, - 9.811491e+000, - -1.988560e-002, - 3.404598e-001, - -2.068369e-006, - 1.869307e+000, - 5.860842e-001, - -2.113444e+000, - -1.209106e+000, - 3.526508e+000, - -2.628730e+000, - -4.634065e-002, - 3.182739e-001, - 9.500212e-003, - 1.004871e+000, - 2.109968e-001, - -1.196720e+000, - -5.485073e-001, - -1.667136e+000, - 9.920197e-001, - -1.622954e-001, - 6.951315e-002, - -3.482877e-002, - 4.214632e+000, - 1.108967e+000, - -1.003096e+000, - -3.200944e-001, - 2.042427e+000, - -4.417822e-001, - -1.404599e-001, - 9.288535e-001, - 6.077264e-002, - -1.386737e+000, - 4.557129e-001, - -1.061048e+000, - -2.908451e-001, - 6.390633e-001, - 1.406786e-001, - -1.834706e+000, - -1.432145e-001, - 1.914080e-002, - 2.284516e+000, - 5.965839e-001, - -1.054623e+000, - -2.267971e-001, - 1.028491e+000, - -3.197518e-003, - -1.705329e+000, - 6.747358e-001, - 2.072713e-002, - 2.140509e+000, - 7.205824e-001, - // albedo 1, turbidity 4 - -1.610001e+000, - -8.622601e-001, - -1.060181e+001, - 1.106133e+001, - -1.648296e-002, - 2.590559e-001, - -1.904522e-006, - 1.930415e+000, - 6.006964e-001, - -2.308577e+000, - -1.440194e+000, - 2.937335e+000, - -2.093599e+000, - -3.430217e-002, - 3.427774e-001, - 2.590705e-002, - 5.673750e-001, - 1.250422e-001, - -9.441254e-001, - -3.064812e-001, - -8.895068e-001, - 2.815271e-001, - -8.036228e-002, - 1.867017e-001, - -7.809247e-002, - 4.774631e+000, - 1.391904e+000, - -1.214397e+000, - -5.423074e-001, - 1.361001e+000, - 1.782273e-001, - -3.648675e-001, - 7.181838e-001, - 1.135547e-001, - -1.935982e+000, - 1.820361e-001, - -9.377631e-001, - -1.533211e-001, - 8.439993e-001, - -3.893771e-001, - -2.564779e-001, - -6.742272e-002, - 2.255856e-002, - 2.780601e+000, - 7.972008e-001, - -1.101428e+000, - -3.069552e-001, - 9.687591e-001, - 4.500576e-001, - -4.912444e+000, - 5.398387e-001, - 3.638172e-002, - 1.582999e+000, - 6.425950e-001, - // albedo 1, turbidity 5 - -1.687541e+000, - -9.378170e-001, - -8.475686e+000, - 8.929279e+000, - -2.132746e-002, - 2.917650e-001, - -2.177239e-006, - 1.863407e+000, - 5.908179e-001, - -2.278432e+000, - -1.387936e+000, - 5.425292e+000, - -4.725025e+000, - -3.892912e-002, - 4.084727e-001, - 1.842665e-002, - 8.461986e-001, - 1.673366e-001, - -1.302702e+000, - -7.200083e-001, - -3.084331e+000, - 3.191487e+000, - -3.222828e-001, - -1.493849e-001, - -5.641672e-002, - 3.624218e+000, - 1.256086e+000, - -7.886965e-001, - -3.966453e-002, - 2.110076e+000, - -2.232935e+000, - 7.269719e-001, - 1.163410e+000, - 7.133744e-002, - -1.660119e-001, - 4.329084e-001, - -1.157760e+000, - -4.084596e-001, - 5.689088e-001, - 2.379590e+000, - -9.687743e+000, - -5.598487e-001, - 9.191895e-002, - 1.923047e+000, - 5.802927e-001, - -1.047250e+000, - -2.873072e-001, - 1.046858e+000, - 6.890046e-001, - -2.947892e+000, - 7.245997e-001, - 1.125227e-002, - 1.352625e+000, - 7.193979e-001, - // albedo 1, turbidity 6 - -1.643764e+000, - -9.086683e-001, - -8.750078e+000, - 9.165653e+000, - -2.025728e-002, - 2.737848e-001, - -2.240987e-006, - 1.943471e+000, - 5.731722e-001, - -2.473069e+000, - -1.505194e+000, - 5.448737e+000, - -4.863726e+000, - -3.662439e-002, - 1.938729e-001, - 4.741355e-002, - 8.586572e-001, - 2.284408e-001, - -1.232599e+000, - -7.896777e-001, - -3.056911e+000, - 3.546334e+000, - -1.948820e-001, - 3.344216e-001, - -1.376967e-001, - 3.029469e+000, - 1.120573e+000, - -6.095289e-001, - 2.745468e-001, - 1.809782e+000, - -2.593032e+000, - -1.710009e-002, - 5.537278e-001, - 1.935506e-001, - 1.259882e+000, - 4.970103e-001, - -1.324655e+000, - -6.255071e-001, - 6.240868e-001, - 2.021182e+000, - -5.876050e+000, - -1.507819e-001, - 3.301250e-002, - 1.142019e+000, - 5.986671e-001, - -9.888131e-001, - -2.584852e-001, - 1.052160e+000, - 7.264224e-001, - -2.563426e+000, - 5.494058e-001, - 1.821983e-002, - 1.277896e+000, - 7.557967e-001, - // albedo 1, turbidity 7 - -2.100689e+000, - -1.204431e+000, - -7.573121e+000, - 8.039632e+000, - -2.300526e-002, - 2.839214e-001, - -2.346958e-006, - 1.678847e+000, - 5.536303e-001, - -2.610610e+000, - -1.587799e+000, - 5.460928e+000, - -5.158708e+000, - -4.505650e-002, - 3.876929e-001, - 3.852459e-002, - 1.172854e+000, - 3.104745e-001, - -8.340903e-001, - -7.487965e-001, - -3.154774e+000, - 4.600448e+000, - -1.818975e-001, - -1.871764e-001, - -1.222094e-001, - 2.067197e+000, - 8.802127e-001, - -9.180308e-001, - 3.752197e-001, - 1.471125e+000, - -4.691789e+000, - -5.128294e-001, - 1.164707e+000, - 1.831224e-001, - 2.900937e+000, - 7.718397e-001, - -1.126819e+000, - -6.652330e-001, - 7.386065e-001, - 5.362044e+000, - -6.196453e+000, - -7.280092e-001, - 6.312604e-002, - 2.874666e-001, - 4.225580e-001, - -1.091610e+000, - -3.433417e-001, - 1.042206e+000, - 1.075776e-001, - -4.443940e+000, - 7.469895e-001, - 3.166247e-002, - 1.019495e+000, - 7.523771e-001, - // albedo 1, turbidity 8 - -2.234623e+000, - -1.310221e+000, - -8.525764e+000, - 8.932373e+000, - -1.814945e-002, - 2.615153e-001, - -2.992344e-006, - 1.672403e+000, - 5.897681e-001, - -2.566352e+000, - -1.472664e+000, - 5.894182e+000, - -5.619094e+000, - -3.204346e-002, - 2.993298e-001, - 4.281047e-002, - 1.303481e+000, - 2.453403e-001, - -1.577477e+000, - -1.491725e+000, - -3.065840e+000, - 4.446634e+000, - -1.689128e-001, - 9.559287e-002, - -1.384724e-001, - 1.778589e+000, - 9.159045e-001, - -2.747774e-001, - 8.787060e-001, - 1.071723e+000, - -4.169230e+000, - -3.029966e-001, - 6.326611e-001, - 2.145395e-001, - 2.611218e+000, - 7.082708e-001, - -1.433045e+000, - -8.939972e-001, - 8.538090e-001, - 4.481475e+000, - -5.978961e+000, - -1.608369e-001, - 5.335732e-002, - 3.510751e-001, - 5.421327e-001, - -9.961738e-001, - -3.023960e-001, - 9.152994e-001, - 2.936173e+000, - -2.311060e+000, - 1.216642e-001, - 2.844950e-002, - 9.492671e-001, - 6.929460e-001, - // albedo 1, turbidity 9 - -2.428587e+000, - -1.538689e+000, - -9.076712e+000, - 9.464050e+000, - -1.503392e-002, - 2.373401e-001, - -2.770103e-006, - 1.537508e+000, - 5.959289e-001, - -3.240872e+000, - -1.646067e+000, - 6.091797e+000, - -5.738481e+000, - -3.098072e-002, - 2.698026e-001, - 3.864212e-002, - 1.286514e+000, - 2.461153e-001, - -1.970987e+000, - -2.124015e+000, - -2.894000e+000, - 3.858260e+000, - -1.449222e-001, - 1.903898e-001, - -1.194017e-001, - 1.882566e+000, - 8.764452e-001, - 3.562238e-002, - 1.092427e+000, - 6.291668e-001, - -3.337396e+000, - -2.817141e-001, - 4.799828e-001, - 1.674350e-001, - 1.943489e+000, - 7.728749e-001, - -1.501790e+000, - -9.408520e-001, - 1.000954e+000, - 4.599103e+000, - -5.295662e+000, - -1.111397e-001, - 1.040124e-001, - 3.185557e-001, - 4.959400e-001, - -9.859417e-001, - -3.827367e-001, - 8.040930e-001, - 2.980678e+000, - -2.015582e+000, - -8.947514e-003, - 1.696367e-002, - 6.489501e-001, - 7.555598e-001, - // albedo 1, turbidity 10 - -3.758956e+000, - -2.159015e+000, - -7.207163e+000, - 7.516659e+000, - -1.643521e-002, - 2.465725e-001, - -4.045068e-006, - 1.471688e+000, - 6.687943e-001, - -4.635664e+000, - -1.766046e+000, - 4.282669e+000, - -4.058908e+000, - -2.908998e-002, - 1.202684e-001, - 3.167305e-002, - 1.450927e+000, - 8.171815e-002, - -3.458011e+000, - -3.657280e+000, - -1.484743e+000, - 2.264533e+000, - -1.033120e-001, - 4.282323e-001, - -8.387881e-002, - 1.687334e+000, - 1.130604e+000, - 9.673527e-001, - 1.500425e+000, - -3.604932e-001, - -2.050346e+000, - -3.778381e-001, - 2.416298e-001, - 8.439313e-002, - 1.458583e+000, - 5.816071e-001, - -1.808078e+000, - -1.089975e+000, - 1.291838e+000, - 5.144631e+000, - -5.047822e+000, - 4.301183e-002, - 1.426941e-001, - 1.187472e-001, - 6.145551e-001, - -8.399253e-001, - -3.832885e-001, - 6.306417e-001, - 2.179775e+000, - -1.492762e+000, - -1.682763e-001, - 4.109851e-002, - 4.221724e-001, - 7.086504e-001, -}; - -double datasetRad400[] = -{ - // albedo 0, turbidity 1 - 4.668300e-002, - 9.868960e-002, - -1.771333e-001, - 6.687440e-001, - 1.392029e+000, - 9.986235e-001, - // albedo 0, turbidity 2 - 4.582776e-002, - 1.018614e-001, - -1.881307e-001, - 6.776592e-001, - 1.401047e+000, - 1.016435e+000, - // albedo 0, turbidity 3 - 4.568248e-002, - 1.010922e-001, - -1.851341e-001, - 6.474660e-001, - 1.469330e+000, - 1.014158e+000, - // albedo 0, turbidity 4 - 4.434795e-002, - 9.838154e-002, - -1.718009e-001, - 5.819163e-001, - 1.588451e+000, - 1.008220e+000, - // albedo 0, turbidity 5 - 4.359376e-002, - 9.611603e-002, - -1.639761e-001, - 5.344035e-001, - 1.673271e+000, - 1.023811e+000, - // albedo 0, turbidity 6 - 4.305955e-002, - 9.393132e-002, - -1.541275e-001, - 4.880885e-001, - 1.746925e+000, - 1.020812e+000, - // albedo 0, turbidity 7 - 4.192088e-002, - 9.112506e-002, - -1.382965e-001, - 4.137111e-001, - 1.849490e+000, - 1.034616e+000, - // albedo 0, turbidity 8 - 4.042670e-002, - 8.299413e-002, - -1.015609e-001, - 2.776178e-001, - 2.015643e+000, - 1.054391e+000, - // albedo 0, turbidity 9 - 3.852343e-002, - 6.641196e-002, - -2.627537e-002, - 3.164681e-002, - 2.282128e+000, - 1.070368e+000, - // albedo 0, turbidity 10 - 3.571325e-002, - 3.974297e-002, - 8.424870e-002, - -2.935775e-001, - 2.547312e+000, - 1.140705e+000, - // albedo 1, turbidity 1 - 5.679224e-002, - 7.929513e-002, - -7.951369e-003, - 1.881214e-001, - 2.456521e+000, - 2.083260e+000, - // albedo 1, turbidity 2 - 5.653144e-002, - 7.757465e-002, - -4.812390e-003, - 1.668414e-001, - 2.501044e+000, - 2.061822e+000, - // albedo 1, turbidity 3 - 5.556607e-002, - 7.722316e-002, - -2.680467e-003, - 1.397415e-001, - 2.547245e+000, - 2.055499e+000, - // albedo 1, turbidity 4 - 5.423907e-002, - 7.569948e-002, - 2.746208e-003, - 9.388053e-002, - 2.613087e+000, - 2.047858e+000, - // albedo 1, turbidity 5 - 5.272135e-002, - 7.182013e-002, - 1.893595e-002, - 2.280844e-002, - 2.704394e+000, - 2.020504e+000, - // albedo 1, turbidity 6 - 5.184846e-002, - 6.852665e-002, - 2.963929e-002, - -2.465402e-002, - 2.763538e+000, - 1.994612e+000, - // albedo 1, turbidity 7 - 5.035161e-002, - 6.473107e-002, - 4.822041e-002, - -1.054530e-001, - 2.851784e+000, - 1.957751e+000, - // albedo 1, turbidity 8 - 4.785788e-002, - 5.525476e-002, - 8.163098e-002, - -2.243489e-001, - 2.946524e+000, - 1.931700e+000, - // albedo 1, turbidity 9 - 4.492922e-002, - 4.174088e-002, - 1.344967e-001, - -4.105780e-001, - 3.081372e+000, - 1.874144e+000, - // albedo 1, turbidity 10 - 4.055971e-002, - 2.134172e-002, - 2.023388e-001, - -6.132472e-001, - 3.098515e+000, - 1.884364e+000, -}; - -double dataset440[] = -{ - // albedo 0, turbidity 1 - -1.397312e+000, - -5.327311e-001, - -5.456059e+000, - 5.777674e+000, - -5.111575e-002, - 4.730804e-001, - 7.375500e-003, - 3.032806e+000, - 5.181890e-001, - -1.561639e+000, - -7.024946e-001, - -2.140322e+000, - 2.841761e+000, - -8.846023e-002, - 5.529005e-001, - 6.219344e-003, - 2.004212e+000, - 3.701256e-001, - -1.047473e+000, - -1.152734e-001, - 2.275873e+000, - -3.020347e+000, - -1.739218e-001, - 2.250142e-001, - -2.731776e-002, - 6.659723e+000, - 1.067495e+000, - -1.298483e+000, - -5.788209e-001, - 4.906412e-001, - 1.522576e+000, - -5.650061e-001, - 1.544707e+000, - 4.638003e-002, - -3.742019e+000, - 2.485397e-001, - -9.485899e-001, - -7.383610e-002, - 1.039247e+000, - -4.744931e-001, - -1.822357e-001, - 2.284415e-001, - -4.796962e-002, - 4.363935e+000, - 8.217971e-001, - -1.099082e+000, - -2.001688e-001, - 7.365077e-001, - 1.068489e-001, - -5.005434e+000, - 1.508145e+000, - 8.181497e-002, - 3.226865e+000, - 4.999418e-001, - // albedo 0, turbidity 2 - -1.416143e+000, - -5.515006e-001, - -7.045898e+000, - 7.448161e+000, - -4.504075e-002, - 5.055437e-001, - -1.378949e-006, - 2.955475e+000, - 6.184716e-001, - -1.698183e+000, - -8.272914e-001, - 9.984388e-001, - -2.511235e-001, - -9.262675e-002, - 5.681534e-001, - 5.377123e-003, - 1.631048e+000, - 1.137691e-001, - -9.234085e-001, - -2.165404e-002, - 6.483039e-002, - -8.535145e-001, - -2.497457e-001, - 1.695057e-001, - -3.410225e-002, - 6.726925e+000, - 1.331197e+000, - -1.265077e+000, - -5.034231e-001, - 1.196547e+000, - 3.666463e-001, - -3.960044e-001, - 1.404008e+000, - 1.129300e-001, - -2.644439e+000, - 1.103356e-001, - -1.008210e+000, - -1.455232e-001, - 7.347739e-001, - 2.462433e-002, - -2.534587e+000, - 3.088590e-001, - -6.687136e-002, - 3.786007e+000, - 9.578369e-001, - -1.076840e+000, - -1.851501e-001, - 7.341818e-001, - -2.658571e-003, - -5.001762e+000, - 1.275390e+000, - 1.277410e-001, - 3.223315e+000, - 5.147659e-001, - // albedo 0, turbidity 3 - -1.449526e+000, - -5.738159e-001, - -8.976383e+000, - 9.275142e+000, - -3.157845e-002, - 5.011970e-001, - -1.218363e-006, - 3.001006e+000, - 5.662190e-001, - -1.748840e+000, - -9.338946e-001, - 5.557460e-002, - 9.451626e-001, - -6.929558e-002, - 5.458365e-001, - 5.505399e-003, - 8.818793e-001, - 2.135274e-001, - -8.369988e-001, - 1.127967e-001, - 8.846958e-001, - -2.467908e+000, - -8.394011e-002, - 1.684067e-001, - -3.352743e-002, - 7.957386e+000, - 1.297777e+000, - -1.284515e+000, - -5.332365e-001, - 5.511261e-001, - 1.702784e+000, - -6.616281e-001, - 1.349449e+000, - 1.269152e-001, - -3.247373e+000, - 2.115827e-001, - -9.889637e-001, - -9.962819e-002, - 6.096776e-001, - -8.472749e-001, - 7.672924e-001, - 7.425160e-002, - 2.113714e-002, - 4.990637e+000, - 8.274585e-001, - -1.093910e+000, - -2.211349e-001, - 6.959659e-001, - 3.423174e-001, - -5.004213e+000, - 1.347201e+000, - 1.198192e-001, - 2.547517e+000, - 6.329489e-001, - // albedo 0, turbidity 4 - -1.394462e+000, - -5.287733e-001, - -8.095187e+000, - 8.076613e+000, - -1.275227e-002, - 1.916790e-001, - 4.741296e-002, - 3.145140e+000, - 5.071760e-001, - -2.234192e+000, - -1.437079e+000, - -5.734544e-001, - 1.248687e+000, - -4.136344e-002, - 7.671749e-001, - -1.273584e-002, - 4.751894e-001, - 4.116995e-001, - -4.063889e-001, - 4.920785e-001, - 3.865520e-001, - 2.254008e-001, - -1.618861e-001, - 1.950875e-001, - -8.622479e-002, - 3.836900e+000, - 1.108189e+000, - -1.366924e+000, - -4.557853e-001, - -6.731417e-001, - -3.011452e-001, - 2.413069e-001, - 1.404821e+000, - 1.920278e-001, - 6.394529e+000, - 4.219713e-001, - -9.128947e-001, - 1.980978e-002, - 5.119874e-001, - 8.027541e-002, - -3.680159e+000, - 6.597416e-001, - 3.853339e-002, - 3.969131e+000, - 8.351942e-001, - -1.162856e+000, - -3.606511e-001, - 7.055795e-001, - -2.702137e-003, - 4.777294e-001, - -7.722331e-001, - 3.446509e-001, - 1.186834e+000, - 5.118539e-001, - // albedo 0, turbidity 5 - -1.563353e+000, - -6.916347e-001, - -4.154766e+001, - 4.181703e+001, - -5.673370e-003, - 4.344900e-001, - 1.839829e-003, - 2.669278e+000, - 5.021266e-001, - -1.948172e+000, - -1.080669e+000, - 1.082552e+001, - -1.034262e+001, - -1.196421e-002, - 3.895739e-001, - 5.621831e-002, - 1.347130e+000, - 4.561106e-001, - -9.155219e-001, - -1.456265e-001, - -2.177275e+000, - 2.079788e+000, - -2.154465e-002, - 7.743816e-001, - -2.181642e-001, - 4.897704e+000, - 1.035464e+000, - -1.010898e+000, - -4.425431e-002, - 3.067880e-001, - -6.899235e-001, - -1.891895e-001, - 3.015686e-001, - 4.236422e-001, - 1.901582e+000, - 3.916662e-001, - -1.159005e+000, - -4.048136e-001, - 5.385745e-001, - 3.423651e-001, - 1.474365e-001, - 3.516065e-001, - 2.564260e-003, - 1.815518e+000, - 7.634079e-001, - -1.081675e+000, - -2.556981e-001, - 6.544471e-001, - 4.093649e-001, - -3.215201e+000, - 9.116400e-001, - 1.406660e-001, - 1.869407e+000, - 6.968119e-001, - // albedo 0, turbidity 6 - -1.561484e+000, - -7.153039e-001, - -1.623772e+001, - 1.650713e+001, - -1.394913e-002, - 4.467465e-001, - 9.613464e-004, - 2.564429e+000, - 5.363746e-001, - -2.308050e+000, - -1.314851e+000, - -1.484346e+000, - 1.928705e+000, - -2.164130e-002, - 2.817711e-001, - 7.177671e-002, - 1.146387e+000, - 3.025595e-001, - -4.886429e-001, - 8.279799e-002, - 2.432876e+000, - -2.276257e+000, - -4.799742e-002, - 9.362010e-001, - -2.753669e-001, - 4.784291e+000, - 1.180593e+000, - -1.306115e+000, - -1.759650e-001, - -1.392008e+000, - 3.119302e-001, - -2.268673e-001, - 8.336951e-002, - 5.250725e-001, - 2.534962e+000, - 2.800244e-001, - -1.016608e+000, - -3.429911e-001, - 5.659470e-001, - 9.044333e-001, - 7.387499e-002, - 4.267609e-001, - -4.165623e-002, - 1.452779e+000, - 8.409560e-001, - -1.127637e+000, - -2.854231e-001, - 4.933964e-001, - -3.379287e-003, - -1.181893e+000, - 8.164171e-001, - 1.910509e-001, - 1.979338e+000, - 6.658885e-001, - // albedo 0, turbidity 7 - -1.675310e+000, - -8.020443e-001, - -1.136130e+001, - 1.159861e+001, - -1.871156e-002, - 4.151400e-001, - -1.940992e-006, - 2.486322e+000, - 5.256426e-001, - -2.071301e+000, - -1.175325e+000, - 1.789426e+000, - -1.455233e+000, - -2.855906e-002, - 3.218745e-001, - 7.776969e-002, - 1.431615e+000, - 3.478887e-001, - -1.093503e+000, - -4.120496e-001, - -8.598647e-002, - 4.564844e-001, - -1.231980e-001, - 7.992132e-001, - -2.910745e-001, - 3.881502e+000, - 1.064658e+000, - -7.736128e-001, - 2.385498e-001, - -7.867818e-001, - -6.009723e-001, - -1.808566e-001, - -8.796429e-003, - 5.412620e-001, - 2.991552e+000, - 4.008143e-001, - -1.259083e+000, - -5.300975e-001, - 5.418031e-001, - 1.150966e+000, - -7.553821e-001, - 5.991000e-001, - -2.344718e-003, - 1.097939e+000, - 7.756612e-001, - -1.094148e+000, - -3.178958e-001, - 4.126954e-001, - 3.591106e-001, - -1.415744e+000, - 3.908399e-001, - 1.806147e-001, - 1.584959e+000, - 6.862009e-001, - // albedo 0, turbidity 8 - -1.815485e+000, - -9.306778e-001, - -1.249527e+001, - 1.271288e+001, - -1.497209e-002, - 3.576353e-001, - -2.464284e-006, - 2.326460e+000, - 5.655414e-001, - -2.225570e+000, - -1.213627e+000, - 6.082472e+000, - -5.907562e+000, - -2.446452e-002, - 2.113558e-001, - 7.708802e-002, - 1.647556e+000, - 2.416155e-001, - -1.439532e+000, - -8.666475e-001, - -2.734807e+000, - 3.355265e+000, - -1.311068e-001, - 1.048703e+000, - -2.887025e-001, - 3.419973e+000, - 1.146322e+000, - -5.599890e-001, - 4.437236e-001, - 1.582320e-001, - -2.000110e+000, - -2.859304e-001, - -5.600631e-001, - 5.382793e-001, - 1.986387e+000, - 3.455121e-001, - -1.319304e+000, - -6.466246e-001, - 5.684685e-001, - 2.050330e+000, - -2.796053e+000, - 1.001659e+000, - -1.161356e-002, - 9.737235e-001, - 8.101246e-001, - -1.097281e+000, - -3.336023e-001, - 1.781708e-001, - 1.733079e+000, - -1.378806e+000, - -1.870394e-001, - 1.997578e-001, - 1.456148e+000, - 6.791796e-001, - // albedo 0, turbidity 9 - -2.208666e+000, - -1.219745e+000, - -7.548669e+000, - 7.680830e+000, - -2.012473e-002, - 3.627866e-001, - -2.906182e-006, - 2.147138e+000, - 6.340095e-001, - -1.967348e+000, - -9.528057e-001, - 4.171590e+000, - -4.002838e+000, - -5.074552e-002, - 1.581866e-001, - 5.920106e-002, - 1.981564e+000, - 1.023257e-001, - -3.150304e+000, - -2.193706e+000, - -2.016165e+000, - 2.374337e+000, - -6.793058e-002, - 9.623811e-001, - -2.195022e-001, - 2.736885e+000, - 1.252161e+000, - 4.737094e-001, - 1.067875e+000, - -1.003861e-001, - -1.566752e+000, - -1.217264e+000, - -4.270598e-001, - 3.968055e-001, - 1.234108e+000, - 3.105789e-001, - -1.706975e+000, - -9.607442e-001, - 7.140098e-001, - 3.981202e+000, - -3.521433e+000, - 6.308820e-001, - 5.140937e-002, - 7.435120e-001, - 8.074305e-001, - -1.012042e+000, - -3.372525e-001, - 2.589450e-002, - 1.768224e+000, - -1.059990e+000, - -1.299077e-001, - 1.790337e-001, - 1.091012e+000, - 6.873854e-001, - // albedo 0, turbidity 10 - -2.912541e+000, - -1.677524e+000, - -3.843452e+000, - 3.954207e+000, - -3.414327e-002, - 2.945890e-001, - -4.245832e-006, - 1.934337e+000, - 7.258748e-001, - -1.567383e+000, - -8.279686e-001, - 1.690940e+000, - -1.413268e+000, - -1.216792e-001, - 7.332798e-002, - 4.862765e-002, - 2.034766e+000, - -5.041561e-002, - -6.058613e+000, - -3.509207e+000, - -6.312870e-001, - -4.558316e-002, - 6.168891e-002, - 8.153413e-001, - -1.686845e-001, - 2.670227e+000, - 1.362906e+000, - 1.347177e+000, - 9.821888e-001, - -9.242155e-001, - 5.851576e-001, - -1.897421e+000, - -2.729487e-002, - 2.866724e-001, - 7.306238e-001, - 2.792136e-001, - -1.810783e+000, - -1.027512e+000, - 1.216071e+000, - 5.270108e+000, - -3.887149e+000, - 6.193256e-002, - 2.774610e-002, - 1.484756e-001, - 8.033249e-001, - -9.801965e-001, - -3.375841e-001, - -3.004804e-001, - 1.385754e+000, - -6.834540e-001, - 5.827734e-002, - 2.268309e-001, - 1.028696e+000, - 6.797371e-001, - // albedo 1, turbidity 1 - -1.345260e+000, - -5.085528e-001, - -6.052009e+000, - 6.604590e+000, - -4.300752e-002, - 4.745234e-001, - 6.591457e-003, - 2.595142e+000, - 5.013653e-001, - -1.573525e+000, - -7.133524e-001, - -1.671346e+000, - 2.693205e+000, - -7.828763e-002, - 2.915699e-001, - 1.795879e-002, - 1.469445e+000, - 4.927472e-001, - -1.013665e+000, - -1.731419e-001, - 2.043423e+000, - -2.919634e+000, - -1.020807e-001, - 5.467619e-001, - -4.041481e-002, - 5.853992e+000, - 5.272064e-001, - -1.173191e+000, - -3.964683e-001, - 1.097258e+000, - 1.509973e+000, - -5.675641e-001, - 9.815927e-001, - 6.962319e-002, - -3.358210e+000, - 4.263117e-001, - -1.003507e+000, - -1.124908e-001, - 1.030642e+000, - -5.357088e-001, - 6.114201e-001, - 1.628414e-001, - -5.701497e-002, - 4.541126e+000, - 8.084996e-001, - -1.071959e+000, - -1.567262e-001, - 9.923029e-001, - 1.457160e-001, - -4.742907e+000, - 7.280970e-001, - 6.770360e-002, - 3.919300e+000, - 4.999529e-001, - // albedo 1, turbidity 2 - -1.399982e+000, - -5.538549e-001, - -6.983148e+000, - 7.513966e+000, - -3.358417e-002, - 3.667027e-001, - 1.158837e-002, - 2.499680e+000, - 5.598537e-001, - -1.602839e+000, - -7.835806e-001, - 1.200264e+000, - -1.454290e-001, - -7.431927e-002, - 5.374263e-001, - 9.505505e-004, - 1.096167e+000, - 2.185838e-001, - -9.587294e-001, - -6.134134e-002, - 2.234030e-001, - -8.115395e-001, - -2.344054e-001, - 2.018782e-001, - -4.192332e-002, - 6.331499e+000, - 1.353587e+000, - -1.166832e+000, - -4.057833e-001, - 1.461335e+000, - 3.165401e-001, - -3.245858e-001, - 1.199323e+000, - 1.100274e-001, - -2.727373e+000, - 5.329788e-002, - -1.023178e+000, - -1.351631e-001, - 9.944251e-001, - 2.103341e-002, - -2.460318e+000, - 5.136074e-003, - -5.267951e-002, - 4.097235e+000, - 9.388837e-001, - -1.071426e+000, - -1.726491e-001, - 1.048949e+000, - -2.624840e-003, - -4.993124e+000, - 6.621513e-001, - 7.801931e-002, - 3.227750e+000, - 5.363265e-001, - // albedo 1, turbidity 3 - -1.362723e+000, - -5.257224e-001, - -1.325130e+001, - 1.374641e+001, - -1.971887e-002, - 4.480379e-001, - -9.588735e-007, - 2.679516e+000, - 5.628531e-001, - -1.824466e+000, - -9.877790e-001, - 4.631069e+000, - -3.630521e+000, - -4.340325e-002, - 3.913450e-001, - 3.415899e-002, - 4.746800e-001, - 2.022772e-001, - -6.435267e-001, - 1.629762e-001, - -1.452097e+000, - 8.028761e-001, - -9.611017e-002, - 4.267105e-001, - -1.023573e-001, - 6.652106e+000, - 1.406057e+000, - -1.400277e+000, - -5.150235e-001, - 1.752017e+000, - -1.699743e-001, - -3.411643e-001, - 8.465596e-001, - 2.127075e-001, - -2.235971e+000, - 4.728189e-002, - -9.044866e-001, - -7.979493e-002, - 8.298122e-001, - -5.604698e-002, - -1.433761e+000, - 1.011757e-001, - -7.175544e-002, - 4.243075e+000, - 9.588179e-001, - -1.115618e+000, - -2.148000e-001, - 1.109081e+000, - 2.661209e-001, - -5.008111e+000, - 6.333048e-001, - 9.274718e-002, - 2.494529e+000, - 5.890657e-001, - // albedo 1, turbidity 4 - -1.389611e+000, - -5.579886e-001, - -1.045229e+001, - 1.092342e+001, - -2.282772e-002, - 4.054079e-001, - 2.781558e-003, - 2.578484e+000, - 5.372706e-001, - -1.893851e+000, - -1.116122e+000, - 2.111553e+000, - -8.775468e-001, - -5.640158e-002, - 5.399894e-001, - 1.929352e-002, - -5.585557e-002, - 2.870402e-001, - -7.015617e-001, - 1.884526e-001, - -1.660273e-001, - -8.785899e-001, - -5.471987e-002, - 1.787856e-001, - -9.958870e-002, - 7.207213e+000, - 1.277933e+000, - -1.279075e+000, - -4.794032e-001, - 9.037342e-001, - 6.225399e-001, - -6.592270e-001, - 9.474313e-001, - 2.524811e-001, - -2.485658e+000, - 2.050401e-001, - -9.744212e-001, - -9.899254e-002, - 9.474600e-001, - -2.536639e-001, - 5.390432e-001, - -8.465488e-002, - -3.140532e-002, - 4.512343e+000, - 8.530654e-001, - -1.093264e+000, - -2.115594e-001, - 9.876876e-001, - 7.531309e-002, - -5.003648e+000, - 6.719560e-001, - 1.111699e-001, - 2.412349e+000, - 6.482966e-001, - // albedo 1, turbidity 5 - -1.410458e+000, - -5.905263e-001, - -4.146328e+001, - 4.190254e+001, - -5.607421e-003, - 4.437719e-001, - -1.948391e-006, - 2.496743e+000, - 5.031933e-001, - -1.817258e+000, - -9.848495e-001, - 1.089217e+001, - -1.028029e+001, - -1.221684e-002, - 3.317008e-001, - 5.060062e-002, - 1.198443e+000, - 4.449482e-001, - -8.920534e-001, - -8.835804e-002, - -2.111594e+000, - 2.083599e+000, - -1.507800e-002, - 6.993567e-001, - -1.987686e-001, - 4.793539e+000, - 1.072586e+000, - -1.048633e+000, - -1.110825e-001, - 5.438710e-001, - -6.707296e-001, - -1.825365e-001, - 2.307221e-001, - 4.056218e-001, - 1.886912e+000, - 3.579576e-001, - -1.094223e+000, - -3.084727e-001, - 9.739595e-001, - 3.972140e-001, - 1.511647e-001, - 2.788218e-001, - -6.279180e-002, - 1.866444e+000, - 7.995203e-001, - -1.078162e+000, - -2.176197e-001, - 1.088756e+000, - 4.329413e-001, - -3.209490e+000, - 8.364785e-001, - 7.689785e-002, - 1.943182e+000, - 7.150615e-001, - // albedo 1, turbidity 6 - -1.455846e+000, - -6.322333e-001, - -1.618289e+001, - 1.656258e+001, - -1.280603e-002, - 4.130359e-001, - -9.061644e-007, - 2.461391e+000, - 5.315915e-001, - -2.222251e+000, - -1.233356e+000, - -1.454954e+000, - 1.957432e+000, - -1.730555e-002, - 2.418496e-001, - 7.240262e-002, - 1.061939e+000, - 3.148474e-001, - -4.536196e-001, - 1.457295e-001, - 2.483934e+000, - -2.244550e+000, - -4.593767e-002, - 8.967621e-001, - -2.712877e-001, - 4.732142e+000, - 1.188839e+000, - -1.277343e+000, - -2.046024e-001, - -1.229720e+000, - 3.977256e-001, - -2.209195e-001, - 6.033235e-002, - 5.267707e-001, - 2.536445e+000, - 2.759606e-001, - -1.029833e+000, - -2.979843e-001, - 8.742883e-001, - 1.037710e+000, - 1.350257e-001, - 4.066094e-001, - -1.376375e-001, - 1.500753e+000, - 8.676699e-001, - -1.095935e+000, - -2.211775e-001, - 9.320585e-001, - 8.955212e-002, - -1.113388e+000, - 7.909911e-001, - 1.393848e-001, - 2.057146e+000, - 6.699739e-001, - // albedo 1, turbidity 7 - -1.571831e+000, - -7.466353e-001, - -1.226063e+001, - 1.265995e+001, - -1.514083e-002, - 3.639653e-001, - -2.504287e-006, - 2.204454e+000, - 5.468861e-001, - -2.235398e+000, - -1.371434e+000, - 1.787996e+000, - -1.073965e+000, - -2.503530e-002, - 2.143584e-001, - 7.703453e-002, - 5.207181e-001, - 2.714312e-001, - -6.944677e-001, - -7.243136e-002, - -6.193104e-001, - 9.567440e-001, - -6.317194e-002, - 8.881508e-001, - -2.783301e-001, - 4.224532e+000, - 1.192802e+000, - -1.133391e+000, - -9.811942e-002, - 2.312721e-001, - -1.100585e+000, - -3.655097e-001, - 2.268787e-003, - 5.074358e-001, - 1.512457e+000, - 3.165593e-001, - -1.057051e+000, - -3.424797e-001, - 9.536822e-001, - 1.034064e+000, - 6.413292e-001, - 1.165363e-001, - -4.248128e-002, - 1.592803e+000, - 7.875911e-001, - -1.096695e+000, - -2.745143e-001, - 1.077920e+000, - -8.435082e-004, - -3.715956e+000, - 5.197900e-001, - 1.171467e-001, - 1.236912e+000, - 6.915287e-001, - // albedo 1, turbidity 8 - -1.711623e+000, - -9.023881e-001, - -9.799257e+000, - 1.022040e+001, - -1.708447e-002, - 3.309925e-001, - -3.241111e-006, - 1.932295e+000, - 5.844205e-001, - -2.351937e+000, - -1.340391e+000, - 6.329976e+000, - -6.054139e+000, - -2.843868e-002, - 2.298301e-001, - 7.698142e-002, - 1.109800e+000, - 1.863187e-001, - -1.141314e+000, - -6.670322e-001, - -3.262632e+000, - 4.551521e+000, - -8.614941e-002, - 8.058038e-001, - -2.791051e-001, - 3.084281e+000, - 1.236638e+000, - -7.950557e-001, - 2.489854e-001, - 9.966347e-001, - -3.391737e+000, - -7.235716e-001, - -2.155609e-001, - 5.126659e-001, - 1.452322e+000, - 2.882812e-001, - -1.182289e+000, - -5.192524e-001, - 9.672941e-001, - 3.091448e+000, - -4.193043e+000, - 4.051469e-001, - -5.708309e-002, - 9.386723e-001, - 8.208828e-001, - -1.080579e+000, - -2.918654e-001, - 9.499317e-001, - 2.856082e+000, - -2.256007e+000, - 1.377750e-002, - 1.012914e-001, - 9.716489e-001, - 6.832750e-001, - // albedo 1, turbidity 9 - -1.964781e+000, - -1.162652e+000, - -6.074737e+000, - 6.497797e+000, - -2.595660e-002, - 3.222936e-001, - -3.220871e-006, - 1.685891e+000, - 6.501551e-001, - -2.352213e+000, - -1.199539e+000, - 4.248376e+000, - -3.876965e+000, - -6.837923e-002, - 1.764412e-001, - 5.514810e-002, - 1.442736e+000, - 6.979575e-002, - -2.560247e+000, - -1.883591e+000, - -1.916723e+000, - 2.598994e+000, - -2.372381e-002, - 8.442578e-001, - -2.063113e-001, - 2.359942e+000, - 1.287838e+000, - 7.281064e-002, - 7.835433e-001, - 1.380748e-001, - -2.065580e+000, - -1.696648e+000, - -4.575316e-001, - 3.840004e-001, - 9.397056e-001, - 3.103904e-001, - -1.444446e+000, - -7.662151e-001, - 1.364103e+000, - 4.930232e+000, - -4.455564e+000, - 6.735458e-001, - -4.052978e-003, - 3.194173e-001, - 7.842959e-001, - -1.039666e+000, - -3.171617e-001, - 7.295920e-001, - 2.813846e+000, - -1.561230e+000, - -4.128303e-001, - 1.004149e-001, - 6.653613e-001, - 6.980277e-001, - // albedo 1, turbidity 10 - -2.999915e+000, - -1.721740e+000, - -4.796494e+000, - 5.021888e+000, - -2.163250e-002, - 3.309183e-001, - -4.051804e-006, - 1.645464e+000, - 7.145890e-001, - -1.673162e+000, - -1.056666e+000, - 3.209766e+000, - -2.559187e+000, - -7.456364e-002, - 6.215063e-002, - 4.469425e-002, - 1.242757e+000, - -1.580590e-002, - -5.775475e+000, - -3.239700e+000, - -1.356432e+000, - 1.099950e+000, - -9.497509e-002, - 7.121875e-001, - -1.656838e-001, - 2.553396e+000, - 1.286227e+000, - 1.241869e+000, - 6.671222e-001, - -4.156007e-001, - -8.167921e-001, - -1.037816e+000, - 5.950065e-002, - 3.114868e-001, - 6.414114e-001, - 3.677503e-001, - -1.580126e+000, - -7.852349e-001, - 1.749569e+000, - 5.987990e+000, - -5.075133e+000, - -4.693815e-002, - -5.106759e-002, - -9.755925e-001, - 7.440092e-001, - -9.732917e-001, - -1.939297e-001, - 2.709367e-001, - 1.352990e+000, - -9.040352e-001, - 5.181217e-003, - 2.302437e-001, - 1.506500e+000, - 6.840186e-001, -}; - -double datasetRad440[] = -{ - // albedo 0, turbidity 1 - 7.613884e-002, - 1.581858e-001, - -3.252313e-001, - 1.408388e+000, - 1.093508e+000, - 1.105128e+000, - // albedo 0, turbidity 2 - 7.451325e-002, - 1.653037e-001, - -3.543027e-001, - 1.446460e+000, - 1.123936e+000, - 1.120306e+000, - // albedo 0, turbidity 3 - 7.325740e-002, - 1.688718e-001, - -3.766044e-001, - 1.452725e+000, - 1.233697e+000, - 1.114182e+000, - // albedo 0, turbidity 4 - 7.006396e-002, - 1.789290e-001, - -4.219204e-001, - 1.486303e+000, - 1.346055e+000, - 1.149056e+000, - // albedo 0, turbidity 5 - 6.762868e-002, - 1.817070e-001, - -4.365127e-001, - 1.447243e+000, - 1.512287e+000, - 1.169631e+000, - // albedo 0, turbidity 6 - 6.626986e-002, - 1.809348e-001, - -4.282658e-001, - 1.370862e+000, - 1.678637e+000, - 1.152996e+000, - // albedo 0, turbidity 7 - 6.401686e-002, - 1.780154e-001, - -4.181312e-001, - 1.277002e+000, - 1.859575e+000, - 1.188609e+000, - // albedo 0, turbidity 8 - 6.135668e-002, - 1.657981e-001, - -3.619501e-001, - 1.033618e+000, - 2.215815e+000, - 1.212149e+000, - // albedo 0, turbidity 9 - 5.748273e-002, - 1.355812e-001, - -2.235179e-001, - 5.729304e-001, - 2.749632e+000, - 1.260376e+000, - // albedo 0, turbidity 10 - 5.281658e-002, - 8.825729e-002, - -1.614986e-002, - -6.617688e-002, - 3.338203e+000, - 1.388015e+000, - // albedo 1, turbidity 1 - 8.998056e-002, - 1.443958e-001, - -1.578024e-001, - 9.105446e-001, - 2.422784e+000, - 2.318869e+000, - // albedo 1, turbidity 2 - 8.900756e-002, - 1.464687e-001, - -1.698990e-001, - 9.161196e-001, - 2.474653e+000, - 2.320503e+000, - // albedo 1, turbidity 3 - 8.660660e-002, - 1.471943e-001, - -1.748207e-001, - 8.777832e-001, - 2.613680e+000, - 2.294963e+000, - // albedo 1, turbidity 4 - 8.354844e-002, - 1.514437e-001, - -1.998722e-001, - 8.658343e-001, - 2.736118e+000, - 2.318493e+000, - // albedo 1, turbidity 5 - 8.008078e-002, - 1.493295e-001, - -1.908957e-001, - 7.640320e-001, - 2.948273e+000, - 2.290225e+000, - // albedo 1, turbidity 6 - 7.810981e-002, - 1.519283e-001, - -2.057773e-001, - 7.437529e-001, - 3.011442e+000, - 2.311845e+000, - // albedo 1, turbidity 7 - 7.545684e-002, - 1.465048e-001, - -1.818352e-001, - 6.105517e-001, - 3.203786e+000, - 2.300408e+000, - // albedo 1, turbidity 8 - 7.157199e-002, - 1.298467e-001, - -1.131010e-001, - 3.426176e-001, - 3.527560e+000, - 2.258120e+000, - // albedo 1, turbidity 9 - 6.612079e-002, - 1.024330e-001, - 3.299415e-003, - -6.376105e-002, - 3.909414e+000, - 2.240796e+000, - // albedo 1, turbidity 10 - 5.976123e-002, - 5.941061e-002, - 1.695098e-001, - -5.778192e-001, - 4.222691e+000, - 2.269388e+000, -}; - -double dataset480[] = -{ - // albedo 0, turbidity 1 - -1.397312e+000, - -5.327311e-001, - -5.456059e+000, - 5.777674e+000, - -5.111575e-002, - 4.730804e-001, - 7.375500e-003, - 3.032806e+000, - 5.181890e-001, - -1.561639e+000, - -7.024946e-001, - -2.140322e+000, - 2.841761e+000, - -8.846023e-002, - 5.529005e-001, - 6.219344e-003, - 2.004212e+000, - 3.701256e-001, - -1.047473e+000, - -1.152734e-001, - 2.275873e+000, - -3.020347e+000, - -1.739218e-001, - 2.250142e-001, - -2.731776e-002, - 6.659723e+000, - 1.067495e+000, - -1.298483e+000, - -5.788209e-001, - 4.906412e-001, - 1.522576e+000, - -5.650061e-001, - 1.544707e+000, - 4.638003e-002, - -3.742019e+000, - 2.485397e-001, - -9.485899e-001, - -7.383610e-002, - 1.039247e+000, - -4.744931e-001, - -1.822357e-001, - 2.284415e-001, - -4.796962e-002, - 4.363935e+000, - 8.217971e-001, - -1.099082e+000, - -2.001688e-001, - 7.365077e-001, - 1.068489e-001, - -5.005434e+000, - 1.508145e+000, - 8.181497e-002, - 3.226865e+000, - 4.999418e-001, - // albedo 0, turbidity 2 - -1.416143e+000, - -5.515006e-001, - -7.045898e+000, - 7.448161e+000, - -4.504075e-002, - 5.055437e-001, - -1.378949e-006, - 2.955475e+000, - 6.184716e-001, - -1.698183e+000, - -8.272914e-001, - 9.984388e-001, - -2.511235e-001, - -9.262675e-002, - 5.681534e-001, - 5.377123e-003, - 1.631048e+000, - 1.137691e-001, - -9.234085e-001, - -2.165404e-002, - 6.483039e-002, - -8.535145e-001, - -2.497457e-001, - 1.695057e-001, - -3.410225e-002, - 6.726925e+000, - 1.331197e+000, - -1.265077e+000, - -5.034231e-001, - 1.196547e+000, - 3.666463e-001, - -3.960044e-001, - 1.404008e+000, - 1.129300e-001, - -2.644439e+000, - 1.103356e-001, - -1.008210e+000, - -1.455232e-001, - 7.347739e-001, - 2.462433e-002, - -2.534587e+000, - 3.088590e-001, - -6.687136e-002, - 3.786007e+000, - 9.578369e-001, - -1.076840e+000, - -1.851501e-001, - 7.341818e-001, - -2.658571e-003, - -5.001762e+000, - 1.275390e+000, - 1.277410e-001, - 3.223315e+000, - 5.147659e-001, - // albedo 0, turbidity 3 - -1.449526e+000, - -5.738159e-001, - -8.976383e+000, - 9.275142e+000, - -3.157845e-002, - 5.011970e-001, - -1.218363e-006, - 3.001006e+000, - 5.662190e-001, - -1.748840e+000, - -9.338946e-001, - 5.557460e-002, - 9.451626e-001, - -6.929558e-002, - 5.458365e-001, - 5.505399e-003, - 8.818793e-001, - 2.135274e-001, - -8.369988e-001, - 1.127967e-001, - 8.846958e-001, - -2.467908e+000, - -8.394011e-002, - 1.684067e-001, - -3.352743e-002, - 7.957386e+000, - 1.297777e+000, - -1.284515e+000, - -5.332365e-001, - 5.511261e-001, - 1.702784e+000, - -6.616281e-001, - 1.349449e+000, - 1.269152e-001, - -3.247373e+000, - 2.115827e-001, - -9.889637e-001, - -9.962819e-002, - 6.096776e-001, - -8.472749e-001, - 7.672924e-001, - 7.425160e-002, - 2.113714e-002, - 4.990637e+000, - 8.274585e-001, - -1.093910e+000, - -2.211349e-001, - 6.959659e-001, - 3.423174e-001, - -5.004213e+000, - 1.347201e+000, - 1.198192e-001, - 2.547517e+000, - 6.329489e-001, - // albedo 0, turbidity 4 - -1.394462e+000, - -5.287733e-001, - -8.095187e+000, - 8.076613e+000, - -1.275227e-002, - 1.916790e-001, - 4.741296e-002, - 3.145140e+000, - 5.071760e-001, - -2.234192e+000, - -1.437079e+000, - -5.734544e-001, - 1.248687e+000, - -4.136344e-002, - 7.671749e-001, - -1.273584e-002, - 4.751894e-001, - 4.116995e-001, - -4.063889e-001, - 4.920785e-001, - 3.865520e-001, - 2.254008e-001, - -1.618861e-001, - 1.950875e-001, - -8.622479e-002, - 3.836900e+000, - 1.108189e+000, - -1.366924e+000, - -4.557853e-001, - -6.731417e-001, - -3.011452e-001, - 2.413069e-001, - 1.404821e+000, - 1.920278e-001, - 6.394529e+000, - 4.219713e-001, - -9.128947e-001, - 1.980978e-002, - 5.119874e-001, - 8.027541e-002, - -3.680159e+000, - 6.597416e-001, - 3.853339e-002, - 3.969131e+000, - 8.351942e-001, - -1.162856e+000, - -3.606511e-001, - 7.055795e-001, - -2.702137e-003, - 4.777294e-001, - -7.722331e-001, - 3.446509e-001, - 1.186834e+000, - 5.118539e-001, - // albedo 0, turbidity 5 - -1.563353e+000, - -6.916347e-001, - -4.154766e+001, - 4.181703e+001, - -5.673370e-003, - 4.344900e-001, - 1.839829e-003, - 2.669278e+000, - 5.021266e-001, - -1.948172e+000, - -1.080669e+000, - 1.082552e+001, - -1.034262e+001, - -1.196421e-002, - 3.895739e-001, - 5.621831e-002, - 1.347130e+000, - 4.561106e-001, - -9.155219e-001, - -1.456265e-001, - -2.177275e+000, - 2.079788e+000, - -2.154465e-002, - 7.743816e-001, - -2.181642e-001, - 4.897704e+000, - 1.035464e+000, - -1.010898e+000, - -4.425431e-002, - 3.067880e-001, - -6.899235e-001, - -1.891895e-001, - 3.015686e-001, - 4.236422e-001, - 1.901582e+000, - 3.916662e-001, - -1.159005e+000, - -4.048136e-001, - 5.385745e-001, - 3.423651e-001, - 1.474365e-001, - 3.516065e-001, - 2.564260e-003, - 1.815518e+000, - 7.634079e-001, - -1.081675e+000, - -2.556981e-001, - 6.544471e-001, - 4.093649e-001, - -3.215201e+000, - 9.116400e-001, - 1.406660e-001, - 1.869407e+000, - 6.968119e-001, - // albedo 0, turbidity 6 - -1.561484e+000, - -7.153039e-001, - -1.623772e+001, - 1.650713e+001, - -1.394913e-002, - 4.467465e-001, - 9.613464e-004, - 2.564429e+000, - 5.363746e-001, - -2.308050e+000, - -1.314851e+000, - -1.484346e+000, - 1.928705e+000, - -2.164130e-002, - 2.817711e-001, - 7.177671e-002, - 1.146387e+000, - 3.025595e-001, - -4.886429e-001, - 8.279799e-002, - 2.432876e+000, - -2.276257e+000, - -4.799742e-002, - 9.362010e-001, - -2.753669e-001, - 4.784291e+000, - 1.180593e+000, - -1.306115e+000, - -1.759650e-001, - -1.392008e+000, - 3.119302e-001, - -2.268673e-001, - 8.336951e-002, - 5.250725e-001, - 2.534962e+000, - 2.800244e-001, - -1.016608e+000, - -3.429911e-001, - 5.659470e-001, - 9.044333e-001, - 7.387499e-002, - 4.267609e-001, - -4.165623e-002, - 1.452779e+000, - 8.409560e-001, - -1.127637e+000, - -2.854231e-001, - 4.933964e-001, - -3.379287e-003, - -1.181893e+000, - 8.164171e-001, - 1.910509e-001, - 1.979338e+000, - 6.658885e-001, - // albedo 0, turbidity 7 - -1.675310e+000, - -8.020443e-001, - -1.136130e+001, - 1.159861e+001, - -1.871156e-002, - 4.151400e-001, - -1.940992e-006, - 2.486322e+000, - 5.256426e-001, - -2.071301e+000, - -1.175325e+000, - 1.789426e+000, - -1.455233e+000, - -2.855906e-002, - 3.218745e-001, - 7.776969e-002, - 1.431615e+000, - 3.478887e-001, - -1.093503e+000, - -4.120496e-001, - -8.598647e-002, - 4.564844e-001, - -1.231980e-001, - 7.992132e-001, - -2.910745e-001, - 3.881502e+000, - 1.064658e+000, - -7.736128e-001, - 2.385498e-001, - -7.867818e-001, - -6.009723e-001, - -1.808566e-001, - -8.796429e-003, - 5.412620e-001, - 2.991552e+000, - 4.008143e-001, - -1.259083e+000, - -5.300975e-001, - 5.418031e-001, - 1.150966e+000, - -7.553821e-001, - 5.991000e-001, - -2.344718e-003, - 1.097939e+000, - 7.756612e-001, - -1.094148e+000, - -3.178958e-001, - 4.126954e-001, - 3.591106e-001, - -1.415744e+000, - 3.908399e-001, - 1.806147e-001, - 1.584959e+000, - 6.862009e-001, - // albedo 0, turbidity 8 - -1.815485e+000, - -9.306778e-001, - -1.249527e+001, - 1.271288e+001, - -1.497209e-002, - 3.576353e-001, - -2.464284e-006, - 2.326460e+000, - 5.655414e-001, - -2.225570e+000, - -1.213627e+000, - 6.082472e+000, - -5.907562e+000, - -2.446452e-002, - 2.113558e-001, - 7.708802e-002, - 1.647556e+000, - 2.416155e-001, - -1.439532e+000, - -8.666475e-001, - -2.734807e+000, - 3.355265e+000, - -1.311068e-001, - 1.048703e+000, - -2.887025e-001, - 3.419973e+000, - 1.146322e+000, - -5.599890e-001, - 4.437236e-001, - 1.582320e-001, - -2.000110e+000, - -2.859304e-001, - -5.600631e-001, - 5.382793e-001, - 1.986387e+000, - 3.455121e-001, - -1.319304e+000, - -6.466246e-001, - 5.684685e-001, - 2.050330e+000, - -2.796053e+000, - 1.001659e+000, - -1.161356e-002, - 9.737235e-001, - 8.101246e-001, - -1.097281e+000, - -3.336023e-001, - 1.781708e-001, - 1.733079e+000, - -1.378806e+000, - -1.870394e-001, - 1.997578e-001, - 1.456148e+000, - 6.791796e-001, - // albedo 0, turbidity 9 - -2.208666e+000, - -1.219745e+000, - -7.548669e+000, - 7.680830e+000, - -2.012473e-002, - 3.627866e-001, - -2.906182e-006, - 2.147138e+000, - 6.340095e-001, - -1.967348e+000, - -9.528057e-001, - 4.171590e+000, - -4.002838e+000, - -5.074552e-002, - 1.581866e-001, - 5.920106e-002, - 1.981564e+000, - 1.023257e-001, - -3.150304e+000, - -2.193706e+000, - -2.016165e+000, - 2.374337e+000, - -6.793058e-002, - 9.623811e-001, - -2.195022e-001, - 2.736885e+000, - 1.252161e+000, - 4.737094e-001, - 1.067875e+000, - -1.003861e-001, - -1.566752e+000, - -1.217264e+000, - -4.270598e-001, - 3.968055e-001, - 1.234108e+000, - 3.105789e-001, - -1.706975e+000, - -9.607442e-001, - 7.140098e-001, - 3.981202e+000, - -3.521433e+000, - 6.308820e-001, - 5.140937e-002, - 7.435120e-001, - 8.074305e-001, - -1.012042e+000, - -3.372525e-001, - 2.589450e-002, - 1.768224e+000, - -1.059990e+000, - -1.299077e-001, - 1.790337e-001, - 1.091012e+000, - 6.873854e-001, - // albedo 0, turbidity 10 - -2.912541e+000, - -1.677524e+000, - -3.843452e+000, - 3.954207e+000, - -3.414327e-002, - 2.945890e-001, - -4.245832e-006, - 1.934337e+000, - 7.258748e-001, - -1.567383e+000, - -8.279686e-001, - 1.690940e+000, - -1.413268e+000, - -1.216792e-001, - 7.332798e-002, - 4.862765e-002, - 2.034766e+000, - -5.041561e-002, - -6.058613e+000, - -3.509207e+000, - -6.312870e-001, - -4.558316e-002, - 6.168891e-002, - 8.153413e-001, - -1.686845e-001, - 2.670227e+000, - 1.362906e+000, - 1.347177e+000, - 9.821888e-001, - -9.242155e-001, - 5.851576e-001, - -1.897421e+000, - -2.729487e-002, - 2.866724e-001, - 7.306238e-001, - 2.792136e-001, - -1.810783e+000, - -1.027512e+000, - 1.216071e+000, - 5.270108e+000, - -3.887149e+000, - 6.193256e-002, - 2.774610e-002, - 1.484756e-001, - 8.033249e-001, - -9.801965e-001, - -3.375841e-001, - -3.004804e-001, - 1.385754e+000, - -6.834540e-001, - 5.827734e-002, - 2.268309e-001, - 1.028696e+000, - 6.797371e-001, - // albedo 1, turbidity 1 - -1.345260e+000, - -5.085528e-001, - -6.052009e+000, - 6.604590e+000, - -4.300752e-002, - 4.745234e-001, - 6.591457e-003, - 2.595142e+000, - 5.013653e-001, - -1.573525e+000, - -7.133524e-001, - -1.671346e+000, - 2.693205e+000, - -7.828763e-002, - 2.915699e-001, - 1.795879e-002, - 1.469445e+000, - 4.927472e-001, - -1.013665e+000, - -1.731419e-001, - 2.043423e+000, - -2.919634e+000, - -1.020807e-001, - 5.467619e-001, - -4.041481e-002, - 5.853992e+000, - 5.272064e-001, - -1.173191e+000, - -3.964683e-001, - 1.097258e+000, - 1.509973e+000, - -5.675641e-001, - 9.815927e-001, - 6.962319e-002, - -3.358210e+000, - 4.263117e-001, - -1.003507e+000, - -1.124908e-001, - 1.030642e+000, - -5.357088e-001, - 6.114201e-001, - 1.628414e-001, - -5.701497e-002, - 4.541126e+000, - 8.084996e-001, - -1.071959e+000, - -1.567262e-001, - 9.923029e-001, - 1.457160e-001, - -4.742907e+000, - 7.280970e-001, - 6.770360e-002, - 3.919300e+000, - 4.999529e-001, - // albedo 1, turbidity 2 - -1.399982e+000, - -5.538549e-001, - -6.983148e+000, - 7.513966e+000, - -3.358417e-002, - 3.667027e-001, - 1.158837e-002, - 2.499680e+000, - 5.598537e-001, - -1.602839e+000, - -7.835806e-001, - 1.200264e+000, - -1.454290e-001, - -7.431927e-002, - 5.374263e-001, - 9.505505e-004, - 1.096167e+000, - 2.185838e-001, - -9.587294e-001, - -6.134134e-002, - 2.234030e-001, - -8.115395e-001, - -2.344054e-001, - 2.018782e-001, - -4.192332e-002, - 6.331499e+000, - 1.353587e+000, - -1.166832e+000, - -4.057833e-001, - 1.461335e+000, - 3.165401e-001, - -3.245858e-001, - 1.199323e+000, - 1.100274e-001, - -2.727373e+000, - 5.329788e-002, - -1.023178e+000, - -1.351631e-001, - 9.944251e-001, - 2.103341e-002, - -2.460318e+000, - 5.136074e-003, - -5.267951e-002, - 4.097235e+000, - 9.388837e-001, - -1.071426e+000, - -1.726491e-001, - 1.048949e+000, - -2.624840e-003, - -4.993124e+000, - 6.621513e-001, - 7.801931e-002, - 3.227750e+000, - 5.363265e-001, - // albedo 1, turbidity 3 - -1.362723e+000, - -5.257224e-001, - -1.325130e+001, - 1.374641e+001, - -1.971887e-002, - 4.480379e-001, - -9.588735e-007, - 2.679516e+000, - 5.628531e-001, - -1.824466e+000, - -9.877790e-001, - 4.631069e+000, - -3.630521e+000, - -4.340325e-002, - 3.913450e-001, - 3.415899e-002, - 4.746800e-001, - 2.022772e-001, - -6.435267e-001, - 1.629762e-001, - -1.452097e+000, - 8.028761e-001, - -9.611017e-002, - 4.267105e-001, - -1.023573e-001, - 6.652106e+000, - 1.406057e+000, - -1.400277e+000, - -5.150235e-001, - 1.752017e+000, - -1.699743e-001, - -3.411643e-001, - 8.465596e-001, - 2.127075e-001, - -2.235971e+000, - 4.728189e-002, - -9.044866e-001, - -7.979493e-002, - 8.298122e-001, - -5.604698e-002, - -1.433761e+000, - 1.011757e-001, - -7.175544e-002, - 4.243075e+000, - 9.588179e-001, - -1.115618e+000, - -2.148000e-001, - 1.109081e+000, - 2.661209e-001, - -5.008111e+000, - 6.333048e-001, - 9.274718e-002, - 2.494529e+000, - 5.890657e-001, - // albedo 1, turbidity 4 - -1.389611e+000, - -5.579886e-001, - -1.045229e+001, - 1.092342e+001, - -2.282772e-002, - 4.054079e-001, - 2.781558e-003, - 2.578484e+000, - 5.372706e-001, - -1.893851e+000, - -1.116122e+000, - 2.111553e+000, - -8.775468e-001, - -5.640158e-002, - 5.399894e-001, - 1.929352e-002, - -5.585557e-002, - 2.870402e-001, - -7.015617e-001, - 1.884526e-001, - -1.660273e-001, - -8.785899e-001, - -5.471987e-002, - 1.787856e-001, - -9.958870e-002, - 7.207213e+000, - 1.277933e+000, - -1.279075e+000, - -4.794032e-001, - 9.037342e-001, - 6.225399e-001, - -6.592270e-001, - 9.474313e-001, - 2.524811e-001, - -2.485658e+000, - 2.050401e-001, - -9.744212e-001, - -9.899254e-002, - 9.474600e-001, - -2.536639e-001, - 5.390432e-001, - -8.465488e-002, - -3.140532e-002, - 4.512343e+000, - 8.530654e-001, - -1.093264e+000, - -2.115594e-001, - 9.876876e-001, - 7.531309e-002, - -5.003648e+000, - 6.719560e-001, - 1.111699e-001, - 2.412349e+000, - 6.482966e-001, - // albedo 1, turbidity 5 - -1.410458e+000, - -5.905263e-001, - -4.146328e+001, - 4.190254e+001, - -5.607421e-003, - 4.437719e-001, - -1.948391e-006, - 2.496743e+000, - 5.031933e-001, - -1.817258e+000, - -9.848495e-001, - 1.089217e+001, - -1.028029e+001, - -1.221684e-002, - 3.317008e-001, - 5.060062e-002, - 1.198443e+000, - 4.449482e-001, - -8.920534e-001, - -8.835804e-002, - -2.111594e+000, - 2.083599e+000, - -1.507800e-002, - 6.993567e-001, - -1.987686e-001, - 4.793539e+000, - 1.072586e+000, - -1.048633e+000, - -1.110825e-001, - 5.438710e-001, - -6.707296e-001, - -1.825365e-001, - 2.307221e-001, - 4.056218e-001, - 1.886912e+000, - 3.579576e-001, - -1.094223e+000, - -3.084727e-001, - 9.739595e-001, - 3.972140e-001, - 1.511647e-001, - 2.788218e-001, - -6.279180e-002, - 1.866444e+000, - 7.995203e-001, - -1.078162e+000, - -2.176197e-001, - 1.088756e+000, - 4.329413e-001, - -3.209490e+000, - 8.364785e-001, - 7.689785e-002, - 1.943182e+000, - 7.150615e-001, - // albedo 1, turbidity 6 - -1.455846e+000, - -6.322333e-001, - -1.618289e+001, - 1.656258e+001, - -1.280603e-002, - 4.130359e-001, - -9.061644e-007, - 2.461391e+000, - 5.315915e-001, - -2.222251e+000, - -1.233356e+000, - -1.454954e+000, - 1.957432e+000, - -1.730555e-002, - 2.418496e-001, - 7.240262e-002, - 1.061939e+000, - 3.148474e-001, - -4.536196e-001, - 1.457295e-001, - 2.483934e+000, - -2.244550e+000, - -4.593767e-002, - 8.967621e-001, - -2.712877e-001, - 4.732142e+000, - 1.188839e+000, - -1.277343e+000, - -2.046024e-001, - -1.229720e+000, - 3.977256e-001, - -2.209195e-001, - 6.033235e-002, - 5.267707e-001, - 2.536445e+000, - 2.759606e-001, - -1.029833e+000, - -2.979843e-001, - 8.742883e-001, - 1.037710e+000, - 1.350257e-001, - 4.066094e-001, - -1.376375e-001, - 1.500753e+000, - 8.676699e-001, - -1.095935e+000, - -2.211775e-001, - 9.320585e-001, - 8.955212e-002, - -1.113388e+000, - 7.909911e-001, - 1.393848e-001, - 2.057146e+000, - 6.699739e-001, - // albedo 1, turbidity 7 - -1.571831e+000, - -7.466353e-001, - -1.226063e+001, - 1.265995e+001, - -1.514083e-002, - 3.639653e-001, - -2.504287e-006, - 2.204454e+000, - 5.468861e-001, - -2.235398e+000, - -1.371434e+000, - 1.787996e+000, - -1.073965e+000, - -2.503530e-002, - 2.143584e-001, - 7.703453e-002, - 5.207181e-001, - 2.714312e-001, - -6.944677e-001, - -7.243136e-002, - -6.193104e-001, - 9.567440e-001, - -6.317194e-002, - 8.881508e-001, - -2.783301e-001, - 4.224532e+000, - 1.192802e+000, - -1.133391e+000, - -9.811942e-002, - 2.312721e-001, - -1.100585e+000, - -3.655097e-001, - 2.268787e-003, - 5.074358e-001, - 1.512457e+000, - 3.165593e-001, - -1.057051e+000, - -3.424797e-001, - 9.536822e-001, - 1.034064e+000, - 6.413292e-001, - 1.165363e-001, - -4.248128e-002, - 1.592803e+000, - 7.875911e-001, - -1.096695e+000, - -2.745143e-001, - 1.077920e+000, - -8.435082e-004, - -3.715956e+000, - 5.197900e-001, - 1.171467e-001, - 1.236912e+000, - 6.915287e-001, - // albedo 1, turbidity 8 - -1.711623e+000, - -9.023881e-001, - -9.799257e+000, - 1.022040e+001, - -1.708447e-002, - 3.309925e-001, - -3.241111e-006, - 1.932295e+000, - 5.844205e-001, - -2.351937e+000, - -1.340391e+000, - 6.329976e+000, - -6.054139e+000, - -2.843868e-002, - 2.298301e-001, - 7.698142e-002, - 1.109800e+000, - 1.863187e-001, - -1.141314e+000, - -6.670322e-001, - -3.262632e+000, - 4.551521e+000, - -8.614941e-002, - 8.058038e-001, - -2.791051e-001, - 3.084281e+000, - 1.236638e+000, - -7.950557e-001, - 2.489854e-001, - 9.966347e-001, - -3.391737e+000, - -7.235716e-001, - -2.155609e-001, - 5.126659e-001, - 1.452322e+000, - 2.882812e-001, - -1.182289e+000, - -5.192524e-001, - 9.672941e-001, - 3.091448e+000, - -4.193043e+000, - 4.051469e-001, - -5.708309e-002, - 9.386723e-001, - 8.208828e-001, - -1.080579e+000, - -2.918654e-001, - 9.499317e-001, - 2.856082e+000, - -2.256007e+000, - 1.377750e-002, - 1.012914e-001, - 9.716489e-001, - 6.832750e-001, - // albedo 1, turbidity 9 - -1.964781e+000, - -1.162652e+000, - -6.074737e+000, - 6.497797e+000, - -2.595660e-002, - 3.222936e-001, - -3.220871e-006, - 1.685891e+000, - 6.501551e-001, - -2.352213e+000, - -1.199539e+000, - 4.248376e+000, - -3.876965e+000, - -6.837923e-002, - 1.764412e-001, - 5.514810e-002, - 1.442736e+000, - 6.979575e-002, - -2.560247e+000, - -1.883591e+000, - -1.916723e+000, - 2.598994e+000, - -2.372381e-002, - 8.442578e-001, - -2.063113e-001, - 2.359942e+000, - 1.287838e+000, - 7.281064e-002, - 7.835433e-001, - 1.380748e-001, - -2.065580e+000, - -1.696648e+000, - -4.575316e-001, - 3.840004e-001, - 9.397056e-001, - 3.103904e-001, - -1.444446e+000, - -7.662151e-001, - 1.364103e+000, - 4.930232e+000, - -4.455564e+000, - 6.735458e-001, - -4.052978e-003, - 3.194173e-001, - 7.842959e-001, - -1.039666e+000, - -3.171617e-001, - 7.295920e-001, - 2.813846e+000, - -1.561230e+000, - -4.128303e-001, - 1.004149e-001, - 6.653613e-001, - 6.980277e-001, - // albedo 1, turbidity 10 - -2.999915e+000, - -1.721740e+000, - -4.796494e+000, - 5.021888e+000, - -2.163250e-002, - 3.309183e-001, - -4.051804e-006, - 1.645464e+000, - 7.145890e-001, - -1.673162e+000, - -1.056666e+000, - 3.209766e+000, - -2.559187e+000, - -7.456364e-002, - 6.215063e-002, - 4.469425e-002, - 1.242757e+000, - -1.580590e-002, - -5.775475e+000, - -3.239700e+000, - -1.356432e+000, - 1.099950e+000, - -9.497509e-002, - 7.121875e-001, - -1.656838e-001, - 2.553396e+000, - 1.286227e+000, - 1.241869e+000, - 6.671222e-001, - -4.156007e-001, - -8.167921e-001, - -1.037816e+000, - 5.950065e-002, - 3.114868e-001, - 6.414114e-001, - 3.677503e-001, - -1.580126e+000, - -7.852349e-001, - 1.749569e+000, - 5.987990e+000, - -5.075133e+000, - -4.693815e-002, - -5.106759e-002, - -9.755925e-001, - 7.440092e-001, - -9.732917e-001, - -1.939297e-001, - 2.709367e-001, - 1.352990e+000, - -9.040352e-001, - 5.181217e-003, - 2.302437e-001, - 1.506500e+000, - 6.840186e-001, -}; - -double datasetRad480[] = -{ - // albedo 0, turbidity 1 - 1.106836e-001, - 1.617557e-001, - -2.223712e-001, - 1.629241e+000, - 8.626553e-001, - 1.011117e+000, - // albedo 0, turbidity 2 - 1.068095e-001, - 1.807606e-001, - -3.107154e-001, - 1.794334e+000, - 8.357312e-001, - 1.058704e+000, - // albedo 0, turbidity 3 - 1.023979e-001, - 1.935925e-001, - -3.821700e-001, - 1.903843e+000, - 9.506144e-001, - 1.055374e+000, - // albedo 0, turbidity 4 - 9.750983e-002, - 2.221893e-001, - -5.210713e-001, - 2.109239e+000, - 1.050698e+000, - 1.115763e+000, - // albedo 0, turbidity 5 - 9.111285e-002, - 2.453301e-001, - -6.358660e-001, - 2.264126e+000, - 1.142400e+000, - 1.203246e+000, - // albedo 0, turbidity 6 - 8.801765e-002, - 2.536783e-001, - -6.724997e-001, - 2.260727e+000, - 1.303234e+000, - 1.215945e+000, - // albedo 0, turbidity 7 - 8.383362e-002, - 2.570991e-001, - -6.868821e-001, - 2.164623e+000, - 1.598177e+000, - 1.240969e+000, - // albedo 0, turbidity 8 - 7.810199e-002, - 2.499359e-001, - -6.529595e-001, - 1.904702e+000, - 2.066657e+000, - 1.302165e+000, - // albedo 0, turbidity 9 - 7.178799e-002, - 2.126681e-001, - -4.768538e-001, - 1.271237e+000, - 2.836735e+000, - 1.395516e+000, - // albedo 0, turbidity 10 - 6.560434e-002, - 1.422030e-001, - -1.620349e-001, - 2.862457e-001, - 3.797996e+000, - 1.559196e+000, - // albedo 1, turbidity 1 - 1.239585e-001, - 1.691730e-001, - -1.347675e-001, - 1.316695e+000, - 2.106735e+000, - 2.217214e+000, - // albedo 1, turbidity 2 - 1.214136e-001, - 1.827941e-001, - -2.037588e-001, - 1.440769e+000, - 2.108289e+000, - 2.269001e+000, - // albedo 1, turbidity 3 - 1.162070e-001, - 2.002146e-001, - -2.955303e-001, - 1.591777e+000, - 2.141568e+000, - 2.342411e+000, - // albedo 1, turbidity 4 - 1.107892e-001, - 2.106751e-001, - -3.612057e-001, - 1.626070e+000, - 2.411162e+000, - 2.325309e+000, - // albedo 1, turbidity 5 - 1.050623e-001, - 2.192739e-001, - -4.115423e-001, - 1.626936e+000, - 2.636868e+000, - 2.361264e+000, - // albedo 1, turbidity 6 - 1.025933e-001, - 2.228143e-001, - -4.341956e-001, - 1.588611e+000, - 2.810589e+000, - 2.370193e+000, - // albedo 1, turbidity 7 - 9.714317e-002, - 2.251753e-001, - -4.411182e-001, - 1.471839e+000, - 3.071992e+000, - 2.407635e+000, - // albedo 1, turbidity 8 - 9.030970e-002, - 2.107053e-001, - -3.728364e-001, - 1.119804e+000, - 3.583579e+000, - 2.403320e+000, - // albedo 1, turbidity 9 - 8.372172e-002, - 1.708661e-001, - -2.025603e-001, - 5.031154e-001, - 4.251905e+000, - 2.428124e+000, - // albedo 1, turbidity 10 - 7.503295e-002, - 1.014131e-001, - 8.782860e-002, - -4.050759e-001, - 4.993351e+000, - 2.471109e+000, -}; - -double dataset520[] = -{ - // albedo 0, turbidity 1 - -1.171338e+000, - -2.379456e-001, - -6.515446e+000, - 7.133235e+000, - -5.382867e-002, - 6.889982e-001, - 4.250983e-002, - 4.471437e+000, - 5.087463e-001, - -1.193029e+000, - -2.445141e-001, - -4.311723e-001, - 1.019354e+000, - -1.281643e-001, - 7.837279e-001, - 2.609613e-002, - 5.965800e+000, - 4.381607e-001, - -1.165299e+000, - -2.503239e-001, - 3.829843e+000, - -2.234083e+000, - -4.693988e-001, - 1.045109e+000, - -6.241707e-002, - 2.623310e-001, - 7.500398e-001, - -1.077288e+000, - -2.659342e-001, - -7.565678e-002, - 1.145086e+000, - -2.316655e-002, - 1.564941e+000, - 9.375322e-002, - -7.476929e-001, - 6.076913e-001, - -1.075530e+000, - -1.232648e-001, - 1.877081e+000, - -1.186427e-001, - -2.748628e+000, - 1.249377e+000, - -1.085780e-001, - 3.838331e+000, - 8.601227e-001, - -1.067002e+000, - -1.572453e-001, - 1.350156e+000, - 3.140948e-003, - -3.277283e+000, - 1.488404e+000, - 1.127058e-001, - 2.655730e+000, - 4.999138e-001, - // albedo 0, turbidity 2 - -1.175145e+000, - -2.454528e-001, - -8.173280e+000, - 8.622722e+000, - -3.895019e-002, - 6.739096e-001, - 6.622835e-002, - 4.450872e+000, - 5.061382e-001, - -1.226543e+000, - -2.979950e-001, - 3.102814e+000, - -2.662701e+000, - -1.012309e-001, - 5.142095e-001, - 4.939276e-002, - 5.007851e+000, - 4.179865e-001, - -1.075743e+000, - -1.267529e-001, - 1.017884e-001, - 4.839556e-001, - -4.025119e-001, - 1.120466e+000, - -5.059103e-002, - 3.601070e+000, - 1.104232e+000, - -1.104008e+000, - -2.079352e-001, - 1.094572e+000, - 1.147058e+000, - -1.516726e-001, - 1.526097e+000, - 1.922554e-001, - 4.060614e-001, - 2.975787e-001, - -1.080135e+000, - -1.942481e-001, - 1.409056e+000, - -3.800384e+000, - -7.125701e+000, - 9.731220e-001, - -7.312793e-002, - 2.377810e+000, - 9.223131e-001, - -1.066280e+000, - -1.421591e-001, - 1.272936e+000, - 7.891881e+000, - -3.626975e+000, - 1.294678e+000, - 1.331475e-001, - 2.986127e+000, - 5.316962e-001, - // albedo 0, turbidity 3 - -1.210057e+000, - -2.827640e-001, - -5.179186e+000, - 5.514430e+000, - -5.638504e-002, - 6.656727e-001, - 5.417868e-002, - 4.216550e+000, - 5.495231e-001, - -1.311087e+000, - -3.921139e-001, - 1.436554e+000, - -7.051260e-001, - -1.462714e-001, - 2.604620e-001, - 5.771570e-002, - 3.493766e+000, - 5.041164e-001, - -9.705912e-001, - -4.316197e-002, - 5.357225e-001, - -1.399982e+000, - -3.407923e-001, - 1.585242e+000, - -6.423039e-002, - 5.338193e+000, - 9.835385e-001, - -1.177697e+000, - -1.893604e-001, - -5.207247e-002, - 4.572666e+000, - -5.523178e-001, - 2.677765e-001, - 3.872768e-001, - 1.978123e+000, - 4.095974e-001, - -1.029420e+000, - -2.105096e-001, - 1.657176e+000, - -1.028655e+001, - -7.725428e+000, - 1.707122e+000, - -7.681108e-002, - 1.074660e+000, - 8.312794e-001, - -1.082084e+000, - -1.321893e-001, - 8.487219e-001, - 1.858290e+001, - -3.172656e+000, - 6.915801e-001, - 1.905927e-001, - 3.901473e+000, - 6.144141e-001, - // albedo 0, turbidity 4 - -1.259854e+000, - -3.329630e-001, - -2.270176e+000, - 2.357599e+000, - -9.019414e-002, - 5.779792e-001, - 7.706039e-002, - 3.971905e+000, - 4.999172e-001, - -1.413220e+000, - -5.430979e-001, - -1.715627e-001, - 1.151561e+000, - -2.318489e-001, - 2.791441e-001, - 1.306646e-002, - 1.794583e+000, - 6.167457e-001, - -9.926840e-001, - 2.303697e-002, - 7.306051e-001, - -2.124879e+000, - -2.221853e-001, - 1.635982e+000, - -8.684297e-002, - 7.621636e+000, - 9.443863e-001, - -1.113409e+000, - -2.409045e-001, - -1.979662e-001, - 5.089736e+000, - -2.071840e+000, - -6.954891e-001, - 5.966469e-001, - -1.346819e+000, - 3.752080e-001, - -1.055595e+000, - -1.703680e-001, - 1.089771e+000, - -1.041463e+001, - -4.687545e+000, - 2.149733e+000, - -1.118987e-001, - 3.558810e+000, - 8.741214e-001, - -1.070779e+000, - -1.445161e-001, - 6.385947e-001, - 1.695445e+001, - -3.724275e+000, - -3.465499e-002, - 3.645376e-001, - 3.232410e+000, - 6.285788e-001, - // albedo 0, turbidity 5 - -1.297812e+000, - -3.805039e-001, - -1.474455e+000, - 1.558382e+000, - -1.292485e-001, - 5.206238e-001, - 7.166147e-002, - 3.651150e+000, - 4.998781e-001, - -1.680599e+000, - -8.036751e-001, - 8.267015e-001, - -2.109200e-001, - -4.326451e-001, - 3.843930e-001, - 5.207142e-002, - 6.938520e-001, - 4.752346e-001, - -8.467684e-001, - 1.620743e-001, - -5.520307e-001, - 8.293798e-001, - 8.728132e-001, - 9.075147e-001, - -1.734859e-001, - 7.815672e+000, - 1.126843e+000, - -1.182658e+000, - -3.290773e-001, - 1.442907e-001, - -1.705529e+000, - -1.186174e+001, - -1.903040e-001, - 7.826049e-001, - -1.497409e+000, - 2.238945e-001, - -1.032316e+000, - -1.590425e-001, - 9.289968e-001, - 1.217091e+001, - 1.274690e+000, - 1.400296e+000, - -3.047612e-001, - 2.805729e+000, - 9.198989e-001, - -1.073060e+000, - -1.623303e-001, - 3.798836e-001, - 2.223272e+000, - -4.660805e+000, - -1.172357e-001, - 5.306455e-001, - 3.105520e+000, - 6.420864e-001, - // albedo 0, turbidity 6 - -1.374072e+000, - -4.453408e-001, - -1.081601e+000, - 1.104314e+000, - -1.730612e-001, - 5.074812e-001, - 5.784588e-002, - 3.488150e+000, - 5.037112e-001, - -1.704606e+000, - -8.629255e-001, - -3.905040e-001, - 2.152742e+000, - -6.716606e-001, - 5.638527e-001, - -5.967161e-003, - 4.886292e-001, - 4.385432e-001, - -9.651511e-001, - 1.186522e-001, - 3.421397e-001, - -4.626814e+000, - 9.716770e-001, - 7.579588e-001, - -1.064476e-002, - 8.154392e+000, - 1.103676e+000, - -1.067172e+000, - -3.214506e-001, - -3.934660e-001, - 9.254630e+000, - -3.599603e+000, - -1.624031e-001, - 5.478446e-001, - -2.781628e+000, - 2.905848e-001, - -1.063218e+000, - -1.412572e-001, - 8.153795e-001, - -1.467486e+001, - -2.020170e+000, - 1.094685e+000, - 7.786265e-002, - 3.719129e+000, - 8.826899e-001, - -1.070058e+000, - -1.684172e-001, - 2.225147e-001, - 2.345795e+001, - -4.342429e+000, - -4.661816e-002, - 3.545794e-001, - 3.051769e+000, - 6.567686e-001, - // albedo 0, turbidity 7 - -1.397244e+000, - -4.874379e-001, - -2.217129e+000, - 2.415780e+000, - -1.039290e-001, - 5.444596e-001, - 2.296795e-002, - 3.242776e+000, - 5.575920e-001, - -1.943117e+000, - -1.042293e+000, - 1.936194e+000, - -7.807718e-001, - -4.753317e-001, - 6.351817e-001, - 3.357824e-002, - 3.221570e-001, - 2.277390e-001, - -1.007469e+000, - 4.283560e-002, - -1.830583e+000, - -1.613949e-001, - 5.103059e-001, - 1.830881e-001, - -6.111472e-002, - 7.698471e+000, - 1.322151e+000, - -9.885823e-001, - -2.796329e-001, - 9.017585e-001, - 9.500529e-001, - -8.751757e+000, - 5.198673e-001, - 6.111910e-001, - -3.165369e+000, - 1.193651e-001, - -1.105054e+000, - -1.835801e-001, - 2.099263e-001, - 3.626436e+000, - 4.241807e-001, - 2.861915e-002, - -3.245808e-002, - 3.560209e+000, - 9.581069e-001, - -1.061783e+000, - -1.955111e-001, - 3.405765e-001, - 1.682185e+001, - -4.868111e+000, - 3.591669e-001, - 3.518670e-001, - 2.163473e+000, - 6.425305e-001, - // albedo 0, turbidity 8 - -1.452178e+000, - -5.662818e-001, - -1.492883e+000, - 1.742373e+000, - -1.894966e-001, - 6.129524e-001, - 2.370115e-006, - 3.042560e+000, - 7.988979e-001, - -2.146318e+000, - -1.176122e+000, - 1.480664e+000, - 1.846814e-001, - -9.003192e-001, - 2.819986e-001, - -6.858291e-003, - 5.447940e-001, - -2.109028e-001, - -1.465359e+000, - -3.055025e-001, - -1.747423e+000, - -2.538335e+000, - 6.082904e-001, - 6.523133e-001, - 1.426957e-001, - 6.921276e+000, - 1.637843e+000, - -7.135462e-001, - -2.351046e-001, - 1.111445e+000, - 2.259275e+000, - -7.853810e+000, - -3.006083e-001, - 3.100486e-001, - -4.047366e+000, - -3.732308e-002, - -1.188030e+000, - -2.177467e-001, - 8.022451e-002, - 8.746107e+000, - -6.824017e-001, - 5.968181e-001, - 7.024883e-002, - 3.164998e+000, - 9.909158e-001, - -1.038065e+000, - -1.989059e-001, - 1.630845e-001, - 1.261969e+001, - -4.006594e+000, - -3.213161e-001, - 3.948313e-001, - 2.040063e+000, - 6.364874e-001, - // albedo 0, turbidity 9 - -1.789980e+000, - -8.450140e-001, - -2.591234e+000, - 2.769295e+000, - -8.338896e-002, - 5.620741e-001, - -8.271253e-006, - 2.531602e+000, - 9.001159e-001, - -1.468080e+000, - -7.426812e-001, - 2.369441e+000, - -1.635443e+000, - -3.560365e-001, - 2.130482e-001, - -2.124886e-003, - 1.863478e+000, - -3.426455e-001, - -3.911974e+000, - -1.873182e+000, - -2.428294e+000, - 1.019786e+000, - 2.178584e-001, - 9.599962e-001, - 3.763471e-002, - 4.121844e+000, - 1.708236e+000, - 5.986629e-001, - 4.160930e-001, - 1.499968e+000, - -4.234635e+000, - -7.153272e+000, - -8.777277e-001, - 4.276508e-001, - -2.268730e+000, - -9.278595e-002, - -1.581111e+000, - -5.414559e-001, - 3.449756e-002, - 2.095624e+001, - -1.717086e+000, - 6.913385e-001, - -1.227380e-001, - 1.401315e+000, - 9.723511e-001, - -9.931334e-001, - -2.191364e-001, - 1.647201e-001, - 2.954460e+000, - -2.889774e+000, - -4.261816e-001, - 4.166838e-001, - 1.370273e+000, - 6.561021e-001, - // albedo 0, turbidity 10 - -2.368520e+000, - -1.245557e+000, - -3.473878e+000, - 3.511922e+000, - -4.076311e-002, - 4.228576e-001, - -8.136079e-006, - 2.268992e+000, - 9.001266e-001, - -1.498984e+000, - -9.483364e-001, - 2.970418e+000, - -2.003511e+000, - -3.005171e-001, - 3.242320e-001, - 6.724107e-003, - 1.693927e+000, - -2.648941e-001, - -6.258071e+000, - -2.616781e+000, - -3.186408e+000, - -3.570416e-002, - 5.972101e-001, - 5.638927e-001, - -8.227073e-002, - 3.805214e+000, - 1.486701e+000, - 7.183470e-001, - -1.332710e-001, - 1.495243e+000, - 3.859652e+000, - -5.605361e+000, - 3.808435e-001, - 4.998100e-001, - -1.207866e+000, - 1.082917e-001, - -1.422091e+000, - -5.984032e-001, - 2.297508e-001, - 1.726780e+000, - -6.684454e-001, - -1.024912e+000, - -1.967199e-001, - -3.214571e-001, - 8.922300e-001, - -1.018798e+000, - -2.003211e-001, - 5.344788e-002, - 1.474717e+001, - -4.025558e+000, - 9.010150e-001, - 3.605184e-001, - 1.504726e+000, - 6.720300e-001, - // albedo 1, turbidity 1 - -1.150179e+000, - -2.233430e-001, - -6.725138e+000, - 7.601675e+000, - -6.176639e-002, - 7.963802e-001, - 2.476816e-002, - 4.311811e+000, - 5.070506e-001, - -1.184017e+000, - -2.330060e-001, - 1.903877e-001, - 4.425206e-001, - -1.173330e-001, - 2.459899e-001, - 6.799957e-002, - 5.710763e+000, - 4.639162e-001, - -1.129855e+000, - -2.313999e-001, - 3.299978e+000, - -1.861830e+000, - -3.626476e-001, - 1.858194e+000, - -9.845844e-002, - 6.523143e-001, - 6.278178e-001, - -1.090030e+000, - -2.445577e-001, - 4.546659e-001, - 9.848860e-001, - -4.044981e-001, - 3.532740e-001, - 1.409977e-001, - -7.724273e-001, - 2.901711e-001, - -1.048192e+000, - -1.048720e-001, - 2.079951e+000, - -7.519850e-002, - -1.451911e+000, - 1.354243e+000, - -1.508252e-001, - 4.159135e+000, - 8.685415e-001, - -1.081709e+000, - -1.496534e-001, - 1.433416e+000, - -8.415186e-005, - -3.147387e+000, - 6.964893e-002, - 1.345400e-001, - 3.372381e+000, - 5.369835e-001, - // albedo 1, turbidity 2 - -1.163329e+000, - -2.341078e-001, - -8.084459e+000, - 8.765664e+000, - -4.227908e-002, - 6.476384e-001, - 5.575993e-002, - 4.291594e+000, - 5.023286e-001, - -1.234281e+000, - -3.038288e-001, - 3.304120e+000, - -2.565467e+000, - -1.080261e-001, - 5.183037e-001, - 2.633070e-002, - 4.459108e+000, - 4.526356e-001, - -1.015235e+000, - -1.003890e-001, - 2.834337e-001, - 4.230399e-001, - -4.060874e-001, - 1.119918e+000, - -2.357803e-002, - 3.215664e+000, - 1.089777e+000, - -1.171497e+000, - -2.465867e-001, - 1.219344e+000, - 1.184120e+000, - -6.451707e-002, - 1.087554e+000, - 1.687897e-001, - 4.111776e-001, - 2.471485e-001, - -1.010262e+000, - -1.337460e-001, - 1.953577e+000, - -3.761183e+000, - -7.089300e+000, - 5.963565e-001, - -8.297304e-002, - 2.741114e+000, - 9.771003e-001, - -1.102719e+000, - -1.647974e-001, - 1.510508e+000, - 7.573412e+000, - -3.431528e+000, - 3.953995e-001, - 6.793657e-002, - 2.744717e+000, - 5.018037e-001, - // albedo 1, turbidity 3 - -1.186728e+000, - -2.648685e-001, - -7.540497e+000, - 8.152868e+000, - -4.363040e-002, - 6.836829e-001, - 3.221451e-002, - 4.013046e+000, - 6.004295e-001, - -1.302626e+000, - -3.904258e-001, - 3.431819e+000, - -2.975541e+000, - -7.666020e-002, - 2.464561e-002, - 1.054528e-001, - 3.161765e+000, - 3.544185e-001, - -9.615438e-001, - -4.842098e-002, - -4.756207e-001, - 9.408081e-001, - -3.108222e-001, - 1.708814e+000, - -1.241215e-001, - 4.416567e+000, - 1.207369e+000, - -1.178731e+000, - -1.824314e-001, - 8.266664e-001, - 1.001614e+000, - 3.024332e-001, - 3.291998e-002, - 4.178949e-001, - 2.532397e+000, - 2.014902e-001, - -1.018913e+000, - -2.016682e-001, - 2.132865e+000, - -3.323938e+000, - -8.751654e+000, - 1.240780e+000, - -1.801214e-001, - 6.145479e-001, - 9.457932e-001, - -1.101603e+000, - -1.521834e-001, - 1.348807e+000, - 5.640453e+000, - -2.695953e+000, - -7.496627e-002, - 1.719606e-001, - 3.175091e+000, - 5.968939e-001, - // albedo 1, turbidity 4 - -1.229694e+000, - -3.167126e-001, - -3.548352e+000, - 3.846155e+000, - -5.028022e-002, - 5.061677e-001, - 7.498335e-002, - 3.626295e+000, - 4.999424e-001, - -1.436439e+000, - -5.562909e-001, - 8.010070e-001, - 3.290243e-001, - -1.385772e-001, - 4.556269e-002, - 2.571935e-002, - 1.623385e+000, - 5.222220e-001, - -8.876360e-001, - 5.717281e-002, - 4.713905e-001, - -1.668970e+000, - -3.199243e-001, - 2.050582e+000, - -7.783980e-002, - 6.117601e+000, - 1.070445e+000, - -1.235363e+000, - -2.778190e-001, - 1.577638e-001, - 3.982457e+000, - -2.266885e-002, - -1.411004e+000, - 5.570462e-001, - 1.740426e-001, - 2.747952e-001, - -9.785264e-001, - -1.458813e-001, - 1.996989e+000, - -7.517409e+000, - -6.602487e+000, - 2.387711e+000, - -1.996484e-001, - 2.112759e+000, - 9.289256e-001, - -1.117781e+000, - -1.699302e-001, - 1.214480e+000, - 1.141083e+001, - -3.253445e+000, - -8.156284e-001, - 2.248021e-001, - 2.860500e+000, - 6.151694e-001, - // albedo 1, turbidity 5 - -1.290523e+000, - -3.813116e-001, - -6.728796e-001, - 1.007366e+000, - -2.068030e-001, - 4.422499e-001, - 6.016254e-002, - 3.218056e+000, - 5.068822e-001, - -1.614452e+000, - -7.953309e-001, - 5.977485e-001, - 1.056365e+000, - -8.402403e-001, - 3.713919e-001, - 3.164720e-002, - -2.526630e-001, - 4.072481e-001, - -8.377211e-001, - 2.276878e-001, - -3.232539e-001, - -2.390300e+000, - 2.127070e+000, - 7.169058e-001, - -4.032313e-002, - 9.072383e+000, - 1.188019e+000, - -1.226600e+000, - -4.426177e-001, - 6.370202e-001, - 3.846913e+000, - -1.128719e+001, - 3.667721e-002, - 5.000027e-001, - -4.192432e+000, - 2.376054e-001, - -9.852235e-001, - -5.890324e-002, - 1.529937e+000, - 4.301220e+000, - -1.839775e+000, - 8.993504e-001, - -1.040866e-001, - 4.636528e+000, - 8.466710e-001, - -1.118112e+000, - -2.040213e-001, - 1.203227e+000, - 7.252102e+000, - -4.515955e+000, - -2.398231e-001, - 2.375855e-001, - 1.923160e+000, - 6.645269e-001, - // albedo 1, turbidity 6 - -1.330626e+000, - -4.272516e-001, - -1.317682e+000, - 1.650847e+000, - -1.192771e-001, - 4.904191e-001, - 4.074827e-002, - 3.015846e+000, - 5.271835e-001, - -1.711989e+000, - -8.644776e-001, - 4.057135e-001, - 9.037139e-001, - -3.100084e-001, - 6.317697e-002, - 1.065625e-001, - 9.226240e-002, - 3.022474e-001, - -8.465894e-001, - 1.652715e-001, - -2.532361e-001, - -2.422693e+000, - 3.144841e-001, - 1.839347e+000, - -2.818162e-001, - 7.856667e+000, - 1.387977e+000, - -1.192114e+000, - -3.830569e-001, - 5.124751e-001, - 7.280034e+000, - -2.610477e+000, - -1.832768e+000, - 9.101904e-001, - -3.349116e+000, - -7.313079e-002, - -1.011026e+000, - -1.061217e-001, - 1.357854e+000, - -1.496195e+001, - -2.180975e+000, - 2.484329e+000, - -3.239225e-001, - 3.899425e+000, - 1.179264e+000, - -1.106228e+000, - -1.927917e-001, - 1.179701e+000, - 2.379834e+001, - -4.870211e+000, - -1.290713e+000, - 2.854422e-001, - 2.078973e+000, - 5.128625e-001, - // albedo 1, turbidity 7 - -1.342815e+000, - -4.571984e-001, - -1.803521e+000, - 2.229578e+000, - -1.196587e-001, - 5.694038e-001, - 1.194687e-002, - 2.950110e+000, - 5.961719e-001, - -1.937297e+000, - -1.078823e+000, - 2.178495e+000, - -1.251900e+000, - -3.577875e-001, - 2.553915e-001, - 8.081142e-002, - -4.723152e-001, - 1.174551e-001, - -9.292675e-001, - 1.125551e-001, - -1.708569e+000, - 1.832840e+000, - 5.150525e-001, - 9.287322e-001, - -1.746780e-001, - 7.793815e+000, - 1.498832e+000, - -1.058850e+000, - -3.495292e-001, - 1.135259e+000, - -4.069374e+000, - -9.727412e+000, - -7.670653e-001, - 7.550431e-001, - -4.105064e+000, - -5.149354e-002, - -1.079472e+000, - -1.399984e-001, - 1.058148e+000, - 1.392667e+001, - -6.245343e-001, - 1.192083e+000, - -2.578858e-001, - 4.030723e+000, - 1.025069e+000, - -1.093159e+000, - -2.150433e-001, - 1.210946e+000, - 3.349246e+000, - -4.030345e+000, - -5.362971e-001, - 2.886842e-001, - 1.192375e+000, - 6.363049e-001, - // albedo 1, turbidity 8 - -1.408172e+000, - -5.491538e-001, - -1.360219e+000, - 1.738150e+000, - -1.505117e-001, - 6.030014e-001, - -6.866289e-006, - 2.656101e+000, - 9.001849e-001, - -2.171702e+000, - -1.231851e+000, - 1.860400e+000, - 3.613146e-002, - -7.300078e-001, - 1.974371e-001, - -5.351202e-003, - -1.443434e-001, - -3.779605e-001, - -1.284657e+000, - -1.935945e-001, - -1.494185e+000, - -2.070689e+000, - 2.974020e-001, - 8.048383e-001, - 1.097715e-001, - 6.907960e+000, - 1.819367e+000, - -8.288598e-001, - -3.374917e-001, - 1.029011e+000, - 1.347088e+000, - -7.655126e+000, - -8.232335e-001, - 3.722934e-001, - -4.847675e+000, - -1.864913e-001, - -1.146031e+000, - -1.480097e-001, - 1.051391e+000, - 8.396865e+000, - -1.407010e+000, - 1.240651e+000, - -3.942068e-002, - 3.291458e+000, - 1.060212e+000, - -1.069599e+000, - -2.047532e-001, - 9.437765e-001, - 1.189879e+001, - -4.026750e+000, - -9.372092e-001, - 2.463501e-001, - 1.782902e+000, - 6.235027e-001, - // albedo 1, turbidity 9 - -1.793508e+000, - -8.986075e-001, - -2.346395e+000, - 2.775625e+000, - -7.052213e-002, - 5.349215e-001, - -7.457456e-006, - 1.901248e+000, - 9.001358e-001, - -1.629402e+000, - -8.273410e-001, - 2.270930e+000, - -1.125114e+000, - -3.562854e-001, - 1.948044e-001, - 1.703882e-003, - 1.426305e+000, - -3.737234e-001, - -3.443431e+000, - -1.686429e+000, - -1.515036e+000, - -6.941862e-001, - 4.976814e-001, - 1.144483e+000, - -4.277285e-002, - 3.662107e+000, - 1.819972e+000, - 3.138150e-001, - 2.426714e-001, - 7.717995e-001, - 2.759520e+000, - -7.216077e+000, - -1.389093e+000, - 5.332838e-001, - -2.316313e+000, - -2.636593e-001, - -1.449802e+000, - -4.017798e-001, - 1.133688e+000, - 2.114337e+000, - 6.227965e-002, - 1.378688e+000, - -1.759313e-001, - 9.446579e-001, - 1.165017e+000, - -1.049420e+000, - -2.614006e-001, - 9.473363e-001, - 1.531288e+001, - -4.714989e+000, - -8.992715e-001, - 2.423509e-001, - 9.148027e-001, - 5.650972e-001, - // albedo 1, turbidity 10 - -2.382332e+000, - -1.290760e+000, - -3.316114e+000, - 3.587059e+000, - -3.748522e-002, - 4.468493e-001, - -7.212198e-006, - 1.789208e+000, - 9.001267e-001, - -1.333339e+000, - -9.355999e-001, - 3.281313e+000, - -2.263103e+000, - -2.499164e-001, - 1.591742e-001, - 8.117981e-003, - 1.345396e+000, - -2.689053e-001, - -6.612658e+000, - -2.809230e+000, - -2.744061e+000, - 1.005261e+000, - 4.216309e-001, - 1.055067e+000, - -9.021558e-002, - 2.940833e+000, - 1.495270e+000, - 1.251113e+000, - 5.915517e-002, - 1.142846e+000, - -2.807371e-001, - -5.335452e+000, - -6.967012e-001, - 5.129558e-001, - -5.264483e-001, - 1.137786e-001, - -1.517768e+000, - -5.807447e-001, - 1.179477e+000, - 1.252252e+001, - -2.305973e+000, - 2.184822e-001, - -3.092917e-001, - -1.524373e+000, - 8.724218e-001, - -1.037889e+000, - -2.065780e-001, - 6.479897e-001, - 4.786848e-002, - -2.348244e+000, - -3.053490e-002, - 4.059549e-001, - 1.313102e+000, - 6.713422e-001, -}; - -double datasetRad520[] = -{ - // albedo 0, turbidity 1 - 1.181575e-001, - 1.246023e-001, - -1.496294e-002, - 1.265571e+000, - 5.482287e-001, - 7.505452e-001, - // albedo 0, turbidity 2 - 1.160347e-001, - 1.329016e-001, - -8.180703e-002, - 1.418742e+000, - 5.748010e-001, - 7.627669e-001, - // albedo 0, turbidity 3 - 1.101719e-001, - 1.655258e-001, - -2.430655e-001, - 1.733940e+000, - 5.362119e-001, - 8.264630e-001, - // albedo 0, turbidity 4 - 1.022463e-001, - 1.983788e-001, - -4.272497e-001, - 2.067266e+000, - 6.024013e-001, - 8.848645e-001, - // albedo 0, turbidity 5 - 9.401543e-002, - 2.296749e-001, - -5.842591e-001, - 2.315439e+000, - 6.927636e-001, - 9.577504e-001, - // albedo 0, turbidity 6 - 8.955011e-002, - 2.492320e-001, - -6.780498e-001, - 2.434256e+000, - 7.757295e-001, - 1.006068e+000, - // albedo 0, turbidity 7 - 8.389384e-002, - 2.633396e-001, - -7.506875e-001, - 2.457562e+000, - 1.011233e+000, - 1.057894e+000, - // albedo 0, turbidity 8 - 7.664395e-002, - 2.660639e-001, - -7.551246e-001, - 2.244514e+000, - 1.510373e+000, - 1.106036e+000, - // albedo 0, turbidity 9 - 6.960593e-002, - 2.348760e-001, - -6.096824e-001, - 1.645028e+000, - 2.296756e+000, - 1.213901e+000, - // albedo 0, turbidity 10 - 6.281555e-002, - 1.600404e-001, - -2.694273e-001, - 5.733989e-001, - 3.363154e+000, - 1.382931e+000, - // albedo 1, turbidity 1 - 1.293373e-001, - 1.448979e-001, - -1.489032e-002, - 1.190124e+000, - 1.374518e+000, - 1.715324e+000, - // albedo 1, turbidity 2 - 1.257474e-001, - 1.593917e-001, - -9.494839e-002, - 1.358060e+000, - 1.387390e+000, - 1.759057e+000, - // albedo 1, turbidity 3 - 1.205675e-001, - 1.785796e-001, - -2.085014e-001, - 1.577640e+000, - 1.442267e+000, - 1.810434e+000, - // albedo 1, turbidity 4 - 1.120654e-001, - 2.046914e-001, - -3.577105e-001, - 1.820708e+000, - 1.593538e+000, - 1.871408e+000, - // albedo 1, turbidity 5 - 1.051588e-001, - 2.239942e-001, - -4.688978e-001, - 1.950392e+000, - 1.793172e+000, - 1.930285e+000, - // albedo 1, turbidity 6 - 1.008210e-001, - 2.326341e-001, - -5.167178e-001, - 1.966038e+000, - 1.965523e+000, - 1.957849e+000, - // albedo 1, turbidity 7 - 9.476285e-002, - 2.429074e-001, - -5.647231e-001, - 1.916956e+000, - 2.246725e+000, - 2.009022e+000, - // albedo 1, turbidity 8 - 8.751265e-002, - 2.310627e-001, - -5.147987e-001, - 1.576738e+000, - 2.834201e+000, - 2.015610e+000, - // albedo 1, turbidity 9 - 8.015871e-002, - 1.955507e-001, - -3.514813e-001, - 9.234911e-001, - 3.616998e+000, - 2.073327e+000, - // albedo 1, turbidity 10 - 7.117381e-002, - 1.228804e-001, - -3.803469e-002, - -7.371653e-002, - 4.495822e+000, - 2.179633e+000, -}; - -double dataset560[] = -{ - // albedo 0, turbidity 1 - -1.121223e+000, - -1.710187e-001, - -1.383038e+001, - 1.475343e+001, - -3.137953e-002, - 1.035662e+000, - 4.060064e-002, - 5.222551e+000, - 5.001051e-001, - -1.172565e+000, - -1.880874e-001, - 7.283594e+000, - -5.774643e+000, - -9.051333e-002, - 9.108126e-001, - -1.565410e-002, - 6.194404e+000, - 4.688599e-001, - -1.124108e+000, - -3.082835e-001, - -2.179926e-001, - 1.330167e+000, - -4.502254e-001, - 1.470140e+000, - 4.202392e-004, - -4.724308e+000, - 1.134678e+000, - -1.079809e+000, - -9.226814e-002, - 1.465364e+000, - 1.348856e+000, - 4.357794e-001, - 1.771543e+000, - 8.121383e-003, - 6.057395e+000, - 2.462141e-001, - -1.086667e+000, - -2.709889e-001, - 2.249152e+000, - -3.177505e+000, - -7.138130e+000, - 1.112553e+000, - -9.718434e-003, - -2.392239e+000, - 9.352768e-001, - -1.071154e+000, - -1.272150e-001, - 1.644374e+000, - 4.326598e+000, - -2.244682e+000, - 1.611051e+000, - 7.835546e-003, - 3.213282e+000, - 6.580432e-001, - // albedo 0, turbidity 2 - -1.133883e+000, - -1.835049e-001, - -1.232301e+001, - 1.307796e+001, - -3.760123e-002, - 1.051162e+000, - 3.392954e-002, - 5.319376e+000, - 6.501601e-001, - -1.116119e+000, - -1.457114e-001, - 5.436576e+000, - -5.114276e+000, - -7.178414e-002, - 2.658168e-001, - 1.603756e-001, - 7.619379e+000, - 3.112698e-001, - -1.215552e+000, - -3.391607e-001, - 4.502377e-001, - 1.281602e+000, - -4.095778e-001, - 2.374058e+000, - -1.988430e-001, - -3.809377e+000, - 1.254846e+000, - -9.657094e-001, - 3.858547e-002, - 3.324554e-001, - 1.541740e+000, - 6.029572e-001, - 2.346414e-001, - 3.902458e-001, - 7.263050e+000, - 1.353991e-001, - -1.152042e+000, - -3.155103e-001, - 2.163244e+000, - -5.230832e+000, - -7.443608e+000, - 2.247834e+000, - -1.632216e-001, - -1.725315e+000, - 1.034709e+000, - -1.051862e+000, - -1.310458e-001, - 1.554942e+000, - 1.063510e+001, - -3.558989e+000, - 6.764257e-001, - 1.428912e-001, - 2.541641e+000, - 5.000389e-001, - // albedo 0, turbidity 3 - -1.156925e+000, - -2.104634e-001, - -1.793090e+001, - 1.817524e+001, - -1.225514e-002, - 6.518753e-001, - 1.085708e-001, - 4.947239e+000, - 5.635117e-001, - -1.183783e+000, - -2.187288e-001, - 5.860654e+000, - -5.643960e+000, - -4.453459e-002, - 6.724995e-001, - 1.698133e-002, - 6.742131e+000, - 6.353553e-001, - -1.143101e+000, - -2.644541e-001, - 9.354577e-001, - 9.256854e-001, - -1.074845e-001, - 1.663131e+000, - 4.998918e-002, - -2.049721e+000, - 8.150826e-001, - -1.021102e+000, - 2.478746e-002, - -1.367363e+000, - -9.011684e-002, - -5.001730e-001, - 4.316685e-002, - 3.952231e-001, - 8.084754e+000, - 5.380131e-001, - -1.101145e+000, - -2.731481e-001, - 2.483816e+000, - 3.581780e-001, - 4.249615e-001, - 2.284087e+000, - -5.836688e-002, - -1.651434e+000, - 7.685430e-001, - -1.073863e+000, - -1.705854e-001, - 1.169673e+000, - -2.183705e-003, - -5.007439e+000, - 2.318154e-001, - 2.738714e-001, - 2.187327e+000, - 6.676882e-001, - // albedo 0, turbidity 4 - -1.207581e+000, - -2.653224e-001, - -9.004497e+000, - 8.985720e+000, - -9.024461e-003, - 4.273132e-001, - 1.378091e-001, - 4.307648e+000, - 5.309421e-001, - -1.278614e+000, - -3.516334e-001, - 2.489304e+000, - -1.840089e+000, - -6.293646e-002, - 8.426903e-001, - -7.266949e-002, - 4.434869e+000, - 7.077739e-001, - -1.150333e+000, - -2.033123e-001, - 8.150312e-001, - -7.926382e-001, - -3.230951e-001, - 1.291679e+000, - 1.822329e-001, - 1.619133e+000, - 7.522432e-001, - -1.002248e+000, - -3.092969e-002, - -1.092273e+000, - 2.820671e+000, - 4.504455e-001, - -5.121048e-001, - 4.229688e-001, - 4.037073e+000, - 5.843543e-001, - -1.087962e+000, - -2.434172e-001, - 1.817322e+000, - -6.031774e+000, - -4.873903e+000, - 2.094606e+000, - 1.184743e-001, - 2.293346e-001, - 7.283940e-001, - -1.072272e+000, - -1.614715e-001, - 8.337136e-001, - 1.086866e+001, - -3.373042e+000, - 2.260332e-002, - 2.622468e-001, - 2.470766e+000, - 7.078601e-001, - // albedo 0, turbidity 5 - -1.263850e+000, - -3.278851e-001, - -5.336400e+000, - 5.102832e+000, - 2.070020e-003, - 3.605369e-001, - 1.633426e-001, - 3.790121e+000, - 4.999503e-001, - -1.507623e+000, - -6.465694e-001, - -2.983753e+000, - 4.212027e+000, - -5.868795e-002, - 3.852488e-001, - -7.222995e-002, - 1.042808e+000, - 6.632120e-001, - -1.041397e+000, - 6.326589e-002, - 3.860471e+000, - -5.579882e+000, - -1.730201e-001, - 2.303753e+000, - 6.102393e-002, - 7.287763e+000, - 8.916057e-001, - -1.049861e+000, - -2.836044e-001, - -2.302537e+000, - 6.724969e+000, - 4.373598e-001, - -2.422514e+000, - 6.952438e-001, - -2.633600e+000, - 4.070954e-001, - -1.054117e+000, - -1.206625e-001, - 1.764625e+000, - -9.467716e+000, - -3.436987e+000, - 3.394707e+000, - -8.149683e-002, - 3.485918e+000, - 8.515716e-001, - -1.072517e+000, - -1.574135e-001, - 2.214599e-001, - 1.331766e+001, - -3.915381e+000, - -1.229973e+000, - 6.267275e-001, - 2.923262e+000, - 6.516824e-001, - // albedo 0, turbidity 6 - -1.293503e+000, - -3.676147e-001, - -1.323095e+001, - 1.301713e+001, - -3.471894e-004, - 3.957986e-001, - 1.317480e-001, - 3.616827e+000, - 4.998510e-001, - -1.757697e+000, - -8.202513e-001, - 2.560133e+000, - -1.337734e+000, - -3.413795e-002, - 5.633043e-001, - -4.355758e-002, - 7.324869e-001, - 5.728008e-001, - -8.814599e-001, - 9.828960e-002, - -2.701428e-001, - -1.298657e+000, - -6.721423e-002, - 1.581675e+000, - 4.095024e-002, - 6.548913e+000, - 9.726866e-001, - -1.125663e+000, - -2.625873e-001, - -2.797592e-001, - 2.848739e+000, - -3.363778e-002, - -1.672768e+000, - 7.349952e-001, - -1.708628e+000, - 3.557813e-001, - -1.044841e+000, - -1.712889e-001, - 7.091708e-001, - -4.275119e+000, - -7.565130e-001, - 2.483873e+000, - -7.781321e-002, - 2.667776e+000, - 8.709126e-001, - -1.067360e+000, - -1.543712e-001, - 3.884866e-001, - 6.915851e+000, - -4.250734e+000, - -6.525729e-001, - 6.368377e-001, - 2.671865e+000, - 6.566986e-001, - // albedo 0, turbidity 7 - -1.360356e+000, - -4.336026e-001, - -1.442967e+001, - 1.428579e+001, - -3.990325e-003, - 4.600126e-001, - 1.023159e-001, - 3.367805e+000, - 4.999150e-001, - -2.054147e+000, - -1.064745e+000, - -7.857491e-001, - 2.214734e+000, - -3.764113e-002, - 8.504761e-001, - -4.222958e-002, - 1.091377e-001, - 4.732161e-001, - -8.953952e-001, - 1.048085e-001, - 1.481293e+000, - -4.223012e+000, - -4.164160e-002, - 5.999023e-001, - 6.310005e-002, - 7.156883e+000, - 1.066682e+000, - -1.030251e+000, - -2.777709e-001, - -8.361086e-001, - 5.611154e+000, - 1.861240e-001, - -5.823197e-001, - 6.716210e-001, - -3.269717e+000, - 2.922029e-001, - -1.095631e+000, - -1.966849e-001, - 6.300566e-001, - -7.129591e+000, - -7.351951e-001, - 1.400340e+000, - -6.997516e-003, - 2.879018e+000, - 8.879337e-001, - -1.052935e+000, - -1.551958e-001, - 2.334578e-001, - 1.040948e+001, - -4.426381e+000, - -3.477323e-001, - 6.257070e-001, - 2.451148e+000, - 6.570737e-001, - // albedo 0, turbidity 8 - -1.382656e+000, - -4.830539e-001, - -1.107403e+001, - 1.127854e+001, - -2.723641e-002, - 8.478005e-001, - 2.907652e-003, - 3.290364e+000, - 7.398950e-001, - -2.230895e+000, - -1.163446e+000, - -1.001991e+001, - 1.125340e+001, - -3.233871e-002, - 3.041577e-001, - 3.870458e-003, - 3.463879e-001, - -8.829082e-002, - -1.489234e+000, - -3.402035e-001, - 2.948409e+000, - -8.098077e+000, - 9.078299e-002, - -3.179835e-001, - 4.730321e-001, - 6.765707e+000, - 1.440217e+000, - -6.206234e-001, - -1.701007e-001, - -7.346357e-002, - 9.350033e+000, - 1.548964e-001, - 1.313206e+000, - -1.479143e-001, - -5.119165e+000, - 1.854277e-001, - -1.226372e+000, - -2.128299e-001, - -1.643093e-001, - -9.382334e+000, - -4.857784e-001, - -1.374948e-001, - 5.877245e-001, - 3.862307e+000, - 8.700125e-001, - -1.030598e+000, - -1.931668e-001, - 3.691403e-001, - 1.066393e+001, - -4.244968e+000, - -5.872571e-002, - 4.193140e-001, - 1.461878e+000, - 6.699478e-001, - // albedo 0, turbidity 9 - -1.606656e+000, - -7.140209e-001, - -1.149565e+001, - 1.168427e+001, - -2.245577e-002, - 7.718953e-001, - -8.349882e-006, - 2.654449e+000, - 9.001224e-001, - -2.100494e+000, - -1.013602e+000, - -1.638934e+001, - 1.729185e+001, - -1.580924e-002, - 5.038208e-002, - -1.628735e-002, - 1.762584e+000, - -3.121794e-001, - -3.228292e+000, - -1.459508e+000, - 7.424519e+000, - -1.194272e+001, - 4.931054e-002, - 6.493074e-001, - 3.590561e-001, - 4.068321e+000, - 1.613039e+000, - 1.278814e-001, - 4.010913e-002, - -2.185675e+000, - 1.164548e+001, - 2.706306e-002, - 1.632886e-001, - -1.090111e-002, - -3.342580e+000, - 1.916992e-002, - -1.400278e+000, - -2.825658e-001, - 4.168149e-001, - -1.195909e+001, - -1.122968e-002, - 1.863328e-001, - 4.263033e-001, - 2.270053e+000, - 9.748449e-001, - -1.017511e+000, - -2.884028e-001, - 3.544996e-001, - 1.535118e+001, - -5.009184e+000, - 1.511064e-001, - 2.916578e-001, - 7.889658e-001, - 6.294910e-001, - // albedo 0, turbidity 10 - -2.031136e+000, - -1.076357e+000, - -8.660773e+000, - 8.800317e+000, - -2.370842e-002, - 5.736027e-001, - -8.441313e-006, - 2.248669e+000, - 9.001280e-001, - -1.270967e+000, - -7.828844e-001, - -1.198232e+001, - 1.262753e+001, - -1.509989e-002, - 1.663438e-001, - 2.440939e-004, - 2.068640e+000, - -2.521574e-001, - -6.600872e+000, - -2.689874e+000, - 6.453928e+000, - -9.592747e+000, - -3.551170e-002, - 1.325662e+000, - -1.894375e-002, - 3.506163e+000, - 1.469724e+000, - 7.961323e-001, - -1.989144e-001, - -2.685238e+000, - 1.034230e+001, - 2.076702e-001, - -7.692350e-001, - 6.184894e-001, - -1.969413e+000, - 3.842922e-002, - -1.459073e+000, - -4.964034e-001, - 1.060127e+000, - -1.277712e+001, - -9.634553e-001, - 5.610879e-001, - -2.034286e-001, - 3.525910e-001, - 1.003048e+000, - -1.021565e+000, - -2.553022e-001, - 6.367571e-002, - 2.028825e+001, - -4.623219e+000, - -2.400428e-002, - 4.251423e-001, - 9.640897e-001, - 6.080298e-001, - // albedo 1, turbidity 1 - -1.121224e+000, - -1.710171e-001, - -1.383038e+001, - 1.475343e+001, - -3.137812e-002, - 1.035662e+000, - 4.060006e-002, - 5.222551e+000, - 5.001051e-001, - -1.172565e+000, - -1.880857e-001, - 7.283595e+000, - -5.774643e+000, - -9.051285e-002, - 9.108124e-001, - -1.565627e-002, - 6.194404e+000, - 4.688599e-001, - -1.124109e+000, - -3.082816e-001, - -2.179926e-001, - 1.330167e+000, - -4.502252e-001, - 1.470140e+000, - 4.158616e-004, - -4.724308e+000, - 1.134678e+000, - -1.079810e+000, - -9.226583e-002, - 1.465364e+000, - 1.348856e+000, - 4.357794e-001, - 1.771543e+000, - 8.115381e-003, - 6.057395e+000, - 2.462140e-001, - -1.086668e+000, - -2.709863e-001, - 2.249153e+000, - -3.177505e+000, - -7.138130e+000, - 1.112553e+000, - -9.724210e-003, - -2.392239e+000, - 9.352768e-001, - -1.071158e+000, - -1.272123e-001, - 1.644374e+000, - 4.326598e+000, - -2.244682e+000, - 1.611051e+000, - 7.831866e-003, - 3.213282e+000, - 6.580432e-001, - // albedo 1, turbidity 2 - -1.125449e+000, - -1.733403e-001, - -1.228038e+001, - 1.311695e+001, - -3.541409e-002, - 1.005494e+000, - 4.147852e-002, - 5.316886e+000, - 6.051699e-001, - -1.101273e+000, - -1.422106e-001, - 5.484715e+000, - -5.089835e+000, - -6.655928e-002, - 2.076815e-001, - 1.633101e-001, - 7.624535e+000, - 3.044941e-001, - -1.213425e+000, - -3.085010e-001, - 5.550585e-001, - 1.302798e+000, - -3.946488e-001, - 2.285152e+000, - -1.925101e-001, - -3.790065e+000, - 1.263207e+000, - -9.610579e-001, - 9.458093e-003, - 5.293256e-001, - 1.553214e+000, - 6.053752e-001, - 1.172267e-001, - 3.674690e-001, - 7.305350e+000, - 1.509544e-001, - -1.119731e+000, - -2.765693e-001, - 2.433951e+000, - -5.229810e+000, - -7.449777e+000, - 2.123304e+000, - -2.242917e-001, - -1.669115e+000, - 1.041008e+000, - -1.094324e+000, - -1.418743e-001, - 1.836224e+000, - 1.063054e+001, - -3.561209e+000, - 5.916534e-001, - 9.296571e-002, - 2.600060e+000, - 4.999316e-001, - // albedo 1, turbidity 3 - -1.155818e+000, - -2.162981e-001, - -2.560068e+001, - 2.636088e+001, - -1.382944e-002, - 8.101983e-001, - 4.709210e-002, - 4.301909e+000, - 6.416958e-001, - -1.171460e+000, - -1.866443e-001, - 8.497645e+000, - -8.396229e+000, - -3.345417e-002, - 2.960022e-001, - 7.985279e-002, - 7.420544e+000, - 5.552152e-001, - -1.114385e+000, - -2.963805e-001, - 5.955009e-002, - 2.320529e+000, - -7.649266e-002, - 2.277940e+000, - -5.942479e-002, - -4.040964e+000, - 9.588558e-001, - -1.070647e+000, - 4.194546e-002, - -5.701942e-001, - -1.001278e+000, - -3.389615e-001, - -8.559533e-001, - 5.070784e-001, - 9.805560e+000, - 3.529747e-001, - -1.057912e+000, - -2.733753e-001, - 3.080618e+000, - 7.477366e-001, - 3.484876e-001, - 2.214994e+000, - -2.597625e-001, - -2.842961e+000, - 9.178917e-001, - -1.105636e+000, - -1.815423e-001, - 1.651373e+000, - -2.553941e-003, - -5.008441e+000, - -6.378055e-001, - 2.370503e-001, - 1.890656e+000, - 6.018255e-001, - // albedo 1, turbidity 4 - -1.194221e+000, - -2.570801e-001, - -8.919095e+000, - 9.380192e+000, - -2.650470e-002, - 6.233645e-001, - 6.663964e-002, - 4.027438e+000, - 6.125383e-001, - -1.308216e+000, - -3.781794e-001, - 2.369107e+000, - -1.977066e+000, - -4.079773e-002, - 1.443960e-001, - 8.206719e-002, - 3.465933e+000, - 5.442867e-001, - -1.048459e+000, - -1.617720e-001, - 1.015136e+000, - -2.989579e-001, - -2.764989e-001, - 2.427990e+000, - -1.147612e-001, - 1.522921e+000, - 1.041410e+000, - -1.105796e+000, - -4.826962e-002, - -8.419705e-001, - 3.285981e+000, - 7.975109e-001, - -1.954456e+000, - 7.424696e-001, - 4.604902e+000, - 2.602059e-001, - -1.033856e+000, - -2.507382e-001, - 2.882633e+000, - -8.250912e+000, - -6.878129e+000, - 2.948966e+000, - -2.850302e-001, - -8.253849e-001, - 9.844934e-001, - -1.125219e+000, - -1.879003e-001, - 1.474838e+000, - 1.453266e+001, - -3.271910e+000, - -1.231579e+000, - 2.397524e-001, - 1.654932e+000, - 5.625696e-001, - // albedo 1, turbidity 5 - -1.246640e+000, - -3.202274e-001, - -6.355032e+000, - 6.364143e+000, - 9.028376e-004, - 3.146975e-001, - 1.550718e-001, - 3.413749e+000, - 4.999065e-001, - -1.477471e+000, - -5.819223e-001, - 1.329471e+000, - -2.694229e-001, - -4.575905e-002, - 5.087866e-001, - -6.857139e-002, - 1.810092e+000, - 6.318693e-001, - -1.046136e+000, - -6.763679e-002, - 6.725076e-001, - -1.036786e+000, - -3.192799e-001, - 1.724205e+000, - 6.468388e-002, - 3.953855e+000, - 9.417528e-001, - -1.033910e+000, - -1.295544e-001, - -4.551294e-001, - 2.659205e+000, - 8.887235e-001, - -1.733153e+000, - 6.540117e-001, - 8.046523e-001, - 3.597443e-001, - -1.094530e+000, - -2.282012e-001, - 2.298267e+000, - -5.184881e+000, - -6.122309e+000, - 2.590799e+000, - -1.618707e-001, - 1.116033e+000, - 8.867666e-001, - -1.095556e+000, - -1.807112e-001, - 1.406193e+000, - 8.120385e+000, - -3.058239e+000, - -1.121150e+000, - 2.933606e-001, - 1.488339e+000, - 6.374827e-001, - // albedo 1, turbidity 6 - -1.270123e+000, - -3.552595e-001, - -8.975893e+000, - 9.110080e+000, - -3.388207e-003, - 3.559109e-001, - 1.201097e-001, - 3.109904e+000, - 4.998957e-001, - -1.663376e+000, - -7.846840e-001, - 6.951405e-001, - 3.139107e-001, - -2.448004e-002, - 3.572505e-001, - 1.453572e-002, - 6.307761e-001, - 5.142914e-001, - -9.518772e-001, - 7.764573e-002, - 1.247094e+000, - -2.224855e+000, - -1.195310e-001, - 1.709581e+000, - -8.836329e-002, - 5.688916e+000, - 1.113629e+000, - -1.087154e+000, - -2.665646e-001, - -8.624251e-001, - 4.536060e+000, - 4.180650e-001, - -1.629798e+000, - 8.479560e-001, - -1.293696e+000, - 1.869693e-001, - -1.064826e+000, - -1.599892e-001, - 2.285337e+000, - -8.584887e+000, - -3.074560e+000, - 2.139459e+000, - -2.592372e-001, - 1.937577e+000, - 9.957954e-001, - -1.099622e+000, - -1.849797e-001, - 1.193609e+000, - 1.416481e+001, - -5.009527e+000, - -8.592493e-001, - 3.485606e-001, - 1.884203e+000, - 6.097274e-001, - // albedo 1, turbidity 7 - -1.344841e+000, - -4.339942e-001, - -9.193112e+000, - 9.385864e+000, - -9.742818e-003, - 4.812040e-001, - 7.690647e-002, - 2.843801e+000, - 5.228047e-001, - -1.975928e+000, - -1.042040e+000, - 9.695714e-001, - 3.718000e-001, - -3.334078e-002, - 1.333620e-001, - 8.180282e-002, - -1.652429e-001, - 3.267010e-001, - -8.651864e-001, - 1.288722e-001, - 6.811456e-001, - -3.282787e+000, - -9.074685e-002, - 1.894059e+000, - -1.849744e-001, - 6.610614e+000, - 1.322978e+000, - -1.103780e+000, - -3.279618e-001, - -4.193802e-001, - 7.331165e+000, - 6.529659e-001, - -2.227297e+000, - 9.625482e-001, - -3.348971e+000, - -7.261722e-003, - -1.055963e+000, - -1.527328e-001, - 1.786114e+000, - -1.367578e+001, - -3.450729e+000, - 2.641691e+000, - -3.229222e-001, - 2.800131e+000, - 1.129409e+000, - -1.111541e+000, - -2.123518e-001, - 1.286159e+000, - 2.297563e+001, - -4.591526e+000, - -1.374672e+000, - 3.462811e-001, - 1.071127e+000, - 5.498514e-001, - // albedo 1, turbidity 8 - -1.387544e+000, - -4.964558e-001, - -9.744778e+000, - 1.014533e+001, - -2.463089e-002, - 7.188705e-001, - 3.919951e-003, - 2.760792e+000, - 7.369418e-001, - -2.206536e+000, - -1.191342e+000, - -2.244384e+000, - 3.629413e+000, - -3.601610e-002, - 7.725349e-002, - 5.357588e-002, - -2.692147e-001, - -1.142476e-001, - -1.358286e+000, - -2.268740e-001, - 9.805731e-001, - -5.163195e+000, - -8.589000e-003, - 7.697565e-001, - 2.198750e-001, - 7.029301e+000, - 1.567170e+000, - -7.167767e-001, - -2.969978e-001, - 2.300987e-001, - 7.956088e+000, - 6.339728e-001, - -6.195374e-001, - 2.502844e-001, - -6.307569e+000, - -2.208822e-002, - -1.210525e+000, - -1.245541e-001, - 9.742409e-001, - -9.705683e+000, - -1.658899e+000, - 1.365829e+000, - 2.003500e-001, - 4.400174e+000, - 1.042345e+000, - -1.061524e+000, - -2.323500e-001, - 1.284880e+000, - 1.294836e+001, - -5.011732e+000, - -9.141086e-001, - 2.723804e-001, - 6.225528e-001, - 6.030977e-001, - // albedo 1, turbidity 9 - -1.548946e+000, - -6.802676e-001, - -1.274231e+001, - 1.312954e+001, - -1.834225e-002, - 7.051580e-001, - -8.330446e-006, - 2.320435e+000, - 9.001244e-001, - -1.867128e+000, - -9.670210e-001, - -6.847422e+000, - 7.952765e+000, - -1.985986e-002, - 1.690548e-002, - -1.176902e-002, - 8.988469e-001, - -3.242269e-001, - -3.470633e+000, - -1.555121e+000, - 2.684966e+000, - -5.964736e+000, - -5.524158e-003, - 1.187089e+000, - 2.552534e-001, - 4.394076e+000, - 1.656399e+000, - 4.095837e-001, - 1.440005e-001, - -5.602190e-001, - 7.110869e+000, - 2.313366e-001, - -1.373206e+000, - 1.973962e-001, - -4.112998e+000, - -5.877027e-002, - -1.540633e+000, - -3.264234e-001, - 1.072405e+000, - -7.205546e+000, - -5.125251e-001, - 2.009905e+000, - 1.531985e-001, - 2.113439e+000, - 1.042547e+000, - -1.013330e+000, - -2.663837e-001, - 1.168934e+000, - 9.315778e+000, - -4.320502e+000, - -1.303393e+000, - 2.825872e-001, - 2.365015e-001, - 5.993344e-001, - // albedo 1, turbidity 10 - -2.055426e+000, - -1.093229e+000, - -3.487182e+000, - 3.753855e+000, - -4.639837e-002, - 5.797714e-001, - -8.056992e-006, - 1.916262e+000, - 9.001298e-001, - -1.643864e+000, - -9.676934e-001, - -1.147133e+001, - 1.253880e+001, - 2.347351e-002, - -1.602964e-002, - 4.481579e-003, - 1.373645e+000, - -2.884929e-001, - -6.156336e+000, - -2.568735e+000, - 6.499533e+000, - -9.136753e+000, - -1.751599e-001, - 1.876960e+000, - -7.959051e-002, - 3.074951e+000, - 1.579874e+000, - 7.378485e-001, - -2.614544e-001, - -2.861777e+000, - 9.518947e+000, - 5.033808e-001, - -1.844722e+000, - 6.855962e-001, - -1.497263e+000, - -9.081643e-002, - -1.341940e+000, - -3.847183e-001, - 2.045437e+000, - -1.179073e+001, - -1.532773e+000, - 1.639939e+000, - -2.668175e-001, - -8.401827e-001, - 1.083722e+000, - -1.086126e+000, - -2.811402e-001, - 7.554239e-001, - 1.862181e+001, - -4.343385e+000, - -8.611011e-001, - 3.146558e-001, - 7.022438e-001, - 5.872694e-001, -}; - -double datasetRad560[] = -{ - // albedo 0, turbidity 1 - 1.229100e-001, - 9.521889e-002, - 1.405396e-001, - 8.787112e-001, - 3.988783e-001, - 5.495204e-001, - // albedo 0, turbidity 2 - 1.199581e-001, - 1.081049e-001, - 6.220570e-002, - 1.081857e+000, - 3.919610e-001, - 5.733490e-001, - // albedo 0, turbidity 3 - 1.138362e-001, - 1.298987e-001, - -7.284771e-002, - 1.405046e+000, - 3.664093e-001, - 6.266856e-001, - // albedo 0, turbidity 4 - 1.049109e-001, - 1.679341e-001, - -2.972688e-001, - 1.869885e+000, - 3.458361e-001, - 7.128497e-001, - // albedo 0, turbidity 5 - 9.598094e-002, - 2.070366e-001, - -5.051216e-001, - 2.239049e+000, - 3.816016e-001, - 7.939503e-001, - // albedo 0, turbidity 6 - 8.963794e-002, - 2.286618e-001, - -6.166284e-001, - 2.410878e+000, - 4.394852e-001, - 8.454492e-001, - // albedo 0, turbidity 7 - 8.340284e-002, - 2.476914e-001, - -7.170190e-001, - 2.486806e+000, - 6.858305e-001, - 8.717659e-001, - // albedo 0, turbidity 8 - 7.444609e-002, - 2.646252e-001, - -7.920395e-001, - 2.426535e+000, - 1.075172e+000, - 9.650954e-001, - // albedo 0, turbidity 9 - 6.629833e-002, - 2.459655e-001, - -6.980154e-001, - 1.912425e+000, - 1.829164e+000, - 1.077596e+000, - // albedo 0, turbidity 10 - 5.889089e-002, - 1.723101e-001, - -3.613857e-001, - 8.275448e-001, - 2.946694e+000, - 1.231617e+000, - // albedo 1, turbidity 1 - 1.314133e-001, - 1.122331e-001, - 1.449363e-001, - 8.093475e-001, - 1.079774e+000, - 1.233568e+000, - // albedo 1, turbidity 2 - 1.279124e-001, - 1.290274e-001, - 4.690773e-002, - 1.061743e+000, - 1.017150e+000, - 1.317400e+000, - // albedo 1, turbidity 3 - 1.220803e-001, - 1.528616e-001, - -9.605511e-002, - 1.391437e+000, - 1.000174e+000, - 1.408238e+000, - // albedo 1, turbidity 4 - 1.121360e-001, - 1.811889e-001, - -2.743886e-001, - 1.744983e+000, - 1.106066e+000, - 1.489542e+000, - // albedo 1, turbidity 5 - 1.043672e-001, - 2.082413e-001, - -4.376278e-001, - 2.008634e+000, - 1.246195e+000, - 1.572920e+000, - // albedo 1, turbidity 6 - 9.950913e-002, - 2.198237e-001, - -5.028179e-001, - 2.058564e+000, - 1.441221e+000, - 1.587471e+000, - // albedo 1, turbidity 7 - 9.246215e-002, - 2.370164e-001, - -5.865610e-001, - 2.082736e+000, - 1.718826e+000, - 1.643687e+000, - // albedo 1, turbidity 8 - 8.343644e-002, - 2.411559e-001, - -6.125797e-001, - 1.909744e+000, - 2.180259e+000, - 1.747309e+000, - // albedo 1, turbidity 9 - 7.492090e-002, - 2.122543e-001, - -4.784322e-001, - 1.297338e+000, - 2.978259e+000, - 1.846305e+000, - // albedo 1, turbidity 10 - 6.653290e-002, - 1.376844e-001, - -1.431215e-001, - 2.099180e-001, - 4.028552e+000, - 1.938106e+000, -}; - -double dataset600[] = -{ - // albedo 0, turbidity 1 - -1.120756e+000, - -1.756050e-001, - -3.557732e+000, - 5.117996e+000, - -1.042966e-001, - 1.269364e+000, - 1.318863e-002, - 3.718263e+000, - 5.393663e-001, - -1.170564e+000, - -1.845108e-001, - 1.081952e+000, - 1.330153e+000, - -2.486698e-001, - 7.864551e-001, - 3.710973e-003, - 4.567181e+000, - 4.998408e-001, - -1.036563e+000, - -2.605284e-001, - 3.803752e+000, - -3.585400e+000, - -9.070196e-001, - 2.380958e+000, - -1.320680e-002, - -4.210738e+000, - 1.085121e+000, - -1.193752e+000, - -1.236757e-001, - -2.036484e-001, - 4.137855e+000, - 1.566414e+000, - 8.510547e-001, - 1.653213e-002, - 5.488784e+000, - 2.335910e-001, - -9.950781e-001, - -2.103974e-001, - 2.992004e+000, - -4.050491e+000, - -6.354208e+000, - 2.250652e+000, - -1.548511e-002, - -1.876535e+000, - 9.733518e-001, - -1.106820e+000, - -1.804412e-001, - 1.960315e+000, - 3.667064e+000, - -2.460232e+000, - 9.553453e-001, - 1.238019e-002, - 1.307691e+000, - 5.564710e-001, - // albedo 0, turbidity 2 - -1.112834e+000, - -1.534956e-001, - -4.968015e+000, - 6.079068e+000, - -8.917942e-002, - 1.167545e+000, - 5.945633e-002, - 5.295468e+000, - 6.272123e-001, - -1.160910e+000, - -1.640745e-001, - 7.416807e-001, - -2.894668e-001, - -8.983936e-002, - 3.778575e-002, - 2.133300e-001, - 6.390765e+000, - 3.592393e-001, - -1.054872e+000, - -2.642844e-001, - 4.375802e+000, - -1.434824e+000, - -7.521504e-001, - 3.669027e+000, - -2.992879e-001, - -5.159653e+000, - 1.284643e+000, - -1.147542e+000, - 1.011446e-002, - -2.308529e+000, - 1.587994e+000, - 1.226957e+000, - -1.328837e+000, - 5.996235e-001, - 1.004278e+001, - 5.212352e-002, - -1.023945e+000, - -2.867193e-001, - 3.733660e+000, - -2.572157e+000, - -7.749675e+000, - 3.927326e+000, - -3.230666e-001, - -4.260418e+000, - 1.091761e+000, - -1.100815e+000, - -1.590204e-001, - 1.413330e+000, - 6.546557e+000, - -2.407235e+000, - -2.678587e-001, - 2.367155e-001, - 2.242596e+000, - 5.273419e-001, - // albedo 0, turbidity 3 - -1.137271e+000, - -1.838447e-001, - -2.268731e+000, - 3.013967e+000, - -1.471213e-001, - 9.047947e-001, - 8.086373e-002, - 4.834215e+000, - 6.545047e-001, - -1.136415e+000, - -1.536696e-001, - -1.821062e+000, - 1.756804e+000, - -9.313635e-002, - 2.208938e-001, - 2.021774e-001, - 7.289664e+000, - 4.997813e-001, - -1.173214e+000, - -3.202233e-001, - 4.868221e+000, - -2.485467e+000, - -7.693969e-001, - 3.027854e+000, - -1.745243e-001, - -4.896365e+000, - 1.014186e+000, - -1.021346e+000, - 7.262425e-002, - -2.940205e+000, - 3.357462e+000, - 1.150486e+000, - -1.710207e+000, - 7.381637e-001, - 9.857427e+000, - 3.036725e-001, - -1.082107e+000, - -2.721172e-001, - 3.071962e+000, - -7.058088e+000, - -5.103538e+000, - 3.852302e+000, - -2.281911e-001, - -2.565665e+000, - 9.669584e-001, - -1.076296e+000, - -1.655466e-001, - 1.323765e+000, - 1.496892e+001, - -3.773928e+000, - -5.211752e-001, - 2.583009e-001, - 1.797906e+000, - 5.888323e-001, - // albedo 0, turbidity 4 - -1.180432e+000, - -2.327942e-001, - -7.152650e-001, - 1.078120e+000, - -2.935788e-001, - 6.977295e-001, - 1.118530e-001, - 4.270574e+000, - 6.241267e-001, - -1.260549e+000, - -2.865438e-001, - -2.736770e+000, - 2.720969e+000, - 1.291231e-001, - 4.072562e-001, - 4.510932e-002, - 5.412464e+000, - 6.781695e-001, - -1.119712e+000, - -2.521160e-001, - 4.860527e+000, - -1.950603e+000, - -1.598805e+000, - 2.556718e+000, - 2.462723e-002, - -2.059404e+000, - 8.000995e-001, - -1.056386e+000, - 2.018258e-002, - -3.728955e+000, - 1.022270e+000, - 1.722210e+000, - -2.691554e+000, - 8.329883e-001, - 6.982450e+000, - 4.746778e-001, - -1.044811e+000, - -2.531291e-001, - 3.102204e+000, - -3.662632e+000, - -5.609358e+000, - 4.574385e+000, - -2.173600e-001, - -1.646110e+000, - 8.593305e-001, - -1.090027e+000, - -1.699462e-001, - 7.118896e-001, - 1.287572e+001, - -2.747429e+000, - -1.706223e+000, - 4.483382e-001, - 2.029605e+000, - 6.366599e-001, - // albedo 0, turbidity 5 - -1.232266e+000, - -2.905676e-001, - -4.158347e-001, - 5.285264e-001, - -3.064312e-001, - 5.569478e-001, - 1.195289e-001, - 3.788091e+000, - 5.970680e-001, - -1.451205e+000, - -5.169964e-001, - -2.018331e-001, - 1.499655e+000, - -1.575963e+000, - 2.761459e-001, - 5.184923e-002, - 2.301119e+000, - 6.177771e-001, - -1.059832e+000, - -7.658003e-002, - 6.456894e-001, - -4.398594e+000, - 5.369604e+000, - 2.121235e+000, - 3.210869e-002, - 3.542794e+000, - 9.114953e-001, - -1.040966e+000, - -1.269405e-001, - -3.751056e-001, - 1.229395e+001, - -1.977090e+001, - -2.458488e+000, - 7.711932e-001, - 8.079227e-001, - 3.865305e-001, - -1.061923e+000, - -1.981907e-001, - 1.089854e+000, - -3.414507e+000, - 8.032592e+000, - 3.459965e+000, - -1.253984e-001, - 1.188198e+000, - 8.639277e-001, - -1.070607e+000, - -1.627049e-001, - 7.012071e-001, - 2.138780e+000, - -5.006595e+000, - -1.096698e+000, - 6.658771e-001, - 1.999430e+000, - 6.557122e-001, - // albedo 0, turbidity 6 - -1.280090e+000, - -3.357179e-001, - -9.337154e-002, - -5.075553e-003, - -3.096112e+000, - 4.001499e-001, - 1.489818e-001, - 3.515349e+000, - 5.571477e-001, - -1.648190e+000, - -7.024227e-001, - -2.925797e-002, - 1.658094e+000, - 4.229924e+000, - 3.502683e-001, - 3.180108e-002, - 1.430955e+000, - 5.739552e-001, - -9.589189e-001, - 2.559557e-002, - 2.192186e-001, - -5.276316e+000, - -4.153922e+000, - 1.855574e+000, - 3.052317e-002, - 4.323694e+000, - 9.839497e-001, - -1.076589e+000, - -1.936109e-001, - -4.162615e-001, - 1.202609e+001, - -9.327314e+000, - -2.326508e+000, - 7.983253e-001, - 2.100845e-001, - 3.135170e-001, - -1.049437e+000, - -1.694738e-001, - 1.062110e+000, - 5.575299e+000, - 4.846701e-001, - 3.089474e+000, - -1.584214e-001, - 1.369457e+000, - 8.995377e-001, - -1.069986e+000, - -1.830827e-001, - 5.006422e-001, - -3.063835e-003, - -2.768514e+000, - -1.258027e+000, - 6.679955e-001, - 1.840288e+000, - 6.498676e-001, - // albedo 0, turbidity 7 - -1.328971e+000, - -3.853230e-001, - -2.343098e-001, - -6.505414e-003, - -4.859294e+000, - 3.752993e-001, - 1.670718e-001, - 3.474961e+000, - 4.998573e-001, - -2.023062e+000, - -1.023840e+000, - 4.308501e-001, - 1.473146e+000, - 6.112105e+000, - 5.767265e-001, - -3.107377e-002, - 7.748759e-002, - 5.016978e-001, - -8.575747e-001, - 1.580212e-001, - -7.365004e-001, - -4.007773e+000, - -4.051657e+000, - 8.889282e-001, - 1.978413e-001, - 6.282132e+000, - 1.063928e+000, - -1.073428e+000, - -3.228761e-001, - 4.793085e-001, - 5.455778e+000, - -7.830559e+000, - -9.794478e-001, - 5.370543e-001, - -3.022750e+000, - 2.818600e-001, - -1.057120e+000, - -1.266841e-001, - 4.555368e-001, - 1.201278e+001, - -9.293773e-001, - 1.439595e+000, - 3.262182e-002, - 2.890364e+000, - 8.821540e-001, - -1.060079e+000, - -1.816680e-001, - 3.541107e-001, - -2.642196e-003, - -2.588317e+000, - -5.640010e-001, - 6.643994e-001, - 1.673077e+000, - 6.658333e-001, - // albedo 0, turbidity 8 - -1.395409e+000, - -4.658947e-001, - -4.370597e-001, - 1.342039e+000, - -1.108674e+000, - 6.439316e-001, - 1.355229e-002, - 3.241153e+000, - 6.696079e-001, - -2.418167e+000, - -1.266061e+000, - 3.287382e-001, - -1.486721e+000, - -6.770180e-001, - 2.439008e-001, - 1.703788e-001, - 1.664559e-002, - -6.330217e-003, - -1.221212e+000, - -1.072571e-001, - -1.655914e+000, - 2.659047e+000, - 6.830770e+000, - 4.984792e-001, - 2.538158e-001, - 6.500660e+000, - 1.486576e+000, - -7.182331e-001, - -2.519055e-001, - 1.641261e+000, - -5.500375e+000, - -1.253143e+001, - -1.542672e-001, - 1.741161e-001, - -4.907497e+000, - 7.968864e-002, - -1.207117e+000, - -1.635739e-001, - -3.256308e-001, - 1.409033e+001, - 1.107883e+000, - 7.217342e-001, - 3.158860e-001, - 3.537550e+000, - 9.389751e-001, - -1.015927e+000, - -1.890895e-001, - 4.180376e-001, - 9.528535e+000, - -4.073979e+000, - -8.713087e-001, - 4.899379e-001, - 1.277831e+000, - 6.519818e-001, - // albedo 0, turbidity 9 - -1.551242e+000, - -6.400568e-001, - -3.673011e-001, - 1.623228e+000, - -1.482572e+000, - 5.625944e-001, - -1.130924e-005, - 2.792007e+000, - 9.000924e-001, - -1.971409e+000, - -9.004995e-001, - -2.337582e-001, - -1.511905e+000, - 6.645432e-002, - 6.149087e-001, - -3.184094e-002, - 2.026210e+000, - -2.799058e-001, - -3.464015e+000, - -1.604654e+000, - -1.514516e+000, - 2.768075e+000, - 4.084166e+000, - -4.287171e-001, - 7.112107e-001, - 2.896460e+000, - 1.502031e+000, - 4.069978e-001, - 2.775394e-001, - 1.525761e+000, - -5.264056e+000, - -7.108445e+000, - 1.134996e+000, - -4.122625e-001, - -2.558151e+000, - 2.009854e-001, - -1.504217e+000, - -3.618442e-001, - -2.305374e-001, - 1.434481e+001, - -1.713254e+000, - -5.670708e-001, - 5.206848e-001, - 1.704009e+000, - 8.447497e-001, - -9.753124e-001, - -2.080868e-001, - 2.450141e-001, - -3.535206e-003, - -2.121317e+000, - -1.425634e-001, - 4.670084e-001, - 1.027875e+000, - 6.735543e-001, - // albedo 0, turbidity 10 - -2.027207e+000, - -1.003600e+000, - -3.813114e-001, - 9.357907e-001, - -1.031886e+000, - 5.523389e-001, - -8.883940e-006, - 2.339379e+000, - 9.001659e-001, - -1.506235e+000, - -7.795241e-001, - -4.313309e-001, - 9.124054e-001, - -7.484352e-001, - -8.417756e-002, - -1.426561e-002, - 2.571178e+000, - -2.504298e-001, - -6.482777e+000, - -2.700075e+000, - -1.556622e+000, - -2.978497e+000, - 4.623255e+000, - 1.953868e+000, - 3.113178e-001, - 2.311303e+000, - 1.451021e+000, - 9.357272e-001, - -1.066566e-001, - 1.476763e+000, - 6.889797e+000, - -1.038036e+001, - -2.094856e+000, - 1.330069e-001, - -1.446404e+000, - 1.121890e-001, - -1.398229e+000, - -3.167573e-001, - -1.276866e-001, - 1.239440e+000, - 1.816678e+000, - 1.586775e+000, - 8.043533e-002, - 3.219192e-001, - 9.200620e-001, - -1.070734e+000, - -3.636167e-001, - 2.426490e-001, - 8.282765e+000, - -3.588710e+000, - -9.105402e-001, - 3.760276e-001, - 5.756358e-001, - 6.508161e-001, - // albedo 1, turbidity 1 - -1.120757e+000, - -1.756034e-001, - -3.557732e+000, - 5.117996e+000, - -1.042960e-001, - 1.269364e+000, - 1.318834e-002, - 3.718263e+000, - 5.393663e-001, - -1.170565e+000, - -1.845093e-001, - 1.081952e+000, - 1.330153e+000, - -2.486697e-001, - 7.864550e-001, - 3.709405e-003, - 4.567181e+000, - 4.998408e-001, - -1.036564e+000, - -2.605265e-001, - 3.803752e+000, - -3.585400e+000, - -9.070196e-001, - 2.380958e+000, - -1.320996e-002, - -4.210738e+000, - 1.085121e+000, - -1.193753e+000, - -1.236733e-001, - -2.036483e-001, - 4.137855e+000, - 1.566414e+000, - 8.510543e-001, - 1.652749e-002, - 5.488784e+000, - 2.335910e-001, - -9.950796e-001, - -2.103948e-001, - 2.992004e+000, - -4.050491e+000, - -6.354208e+000, - 2.250652e+000, - -1.548996e-002, - -1.876535e+000, - 9.733518e-001, - -1.106823e+000, - -1.804388e-001, - 1.960315e+000, - 3.667064e+000, - -2.460232e+000, - 9.553451e-001, - 1.237721e-002, - 1.307692e+000, - 5.564710e-001, - // albedo 1, turbidity 2 - -1.113356e+000, - -1.560185e-001, - -7.788803e+000, - 8.963658e+000, - -5.322872e-002, - 1.116670e+000, - 7.024842e-002, - 4.886694e+000, - 5.931909e-001, - -1.134232e+000, - -1.667475e-001, - 4.176259e+000, - -3.242194e+000, - -7.889230e-002, - 8.254326e-002, - 1.400333e-001, - 5.395289e+000, - 4.862375e-001, - -1.105040e+000, - -2.389195e-001, - 9.866260e-001, - 1.271557e+000, - -6.066849e-001, - 3.599900e+000, - -1.681445e-001, - -2.812867e+000, - 1.053791e+000, - -1.078302e+000, - -2.258635e-002, - 7.407482e-001, - 1.805864e-001, - 9.070580e-001, - -1.720820e+000, - 4.256187e-001, - 6.982502e+000, - 3.350778e-001, - -1.070883e+000, - -2.752054e-001, - 2.937203e+000, - -2.246366e+000, - -9.847865e+000, - 3.104714e+000, - -2.573859e-001, - -2.816401e+000, - 8.478900e-001, - -1.090880e+000, - -1.453755e-001, - 2.046382e+000, - 5.595795e+000, - -2.809181e+000, - -9.239576e-001, - 1.783176e-001, - 2.051350e+000, - 5.815062e-001, - // albedo 1, turbidity 3 - -1.136641e+000, - -1.825277e-001, - -3.464338e+000, - 4.413974e+000, - -1.123917e-001, - 1.009115e+000, - 5.542918e-002, - 4.702599e+000, - 6.799974e-001, - -1.146478e+000, - -1.593833e-001, - -9.055790e-001, - 8.991902e-001, - -4.711416e-002, - -3.813573e-001, - 2.290428e-001, - 6.961903e+000, - 4.206011e-001, - -1.136317e+000, - -3.103198e-001, - 4.219694e+000, - -2.031887e+000, - -7.184952e-001, - 3.795646e+000, - -1.650547e-001, - -5.402471e+000, - 1.118561e+000, - -1.044973e+000, - 7.826651e-002, - -2.043684e+000, - 3.410720e+000, - 1.974969e+000, - -2.736513e+000, - 6.828176e-001, - 1.049084e+001, - 1.894241e-001, - -1.076125e+000, - -2.930526e-001, - 3.722784e+000, - -7.364061e+000, - -7.399428e+000, - 4.034307e+000, - -3.489831e-001, - -3.438955e+000, - 1.077145e+000, - -1.100551e+000, - -1.533449e-001, - 1.767589e+000, - 1.479022e+001, - -2.910058e+000, - -1.732923e+000, - 2.193598e-001, - 1.880974e+000, - 4.999331e-001, - // albedo 1, turbidity 4 - -1.175282e+000, - -2.274651e-001, - -8.788053e-001, - 1.446934e+000, - -2.568124e-001, - 7.201567e-001, - 1.054963e-001, - 4.149007e+000, - 6.084060e-001, - -1.224868e+000, - -2.528005e-001, - -2.861303e+000, - 3.033667e+000, - 1.405049e-001, - 2.481768e-001, - 6.435189e-002, - 5.409907e+000, - 6.372238e-001, - -1.144647e+000, - -3.063749e-001, - 4.347579e+000, - -2.473291e+000, - -1.180139e+000, - 2.550631e+000, - 3.833967e-002, - -3.231444e+000, - 8.737219e-001, - -1.028428e+000, - 8.888974e-002, - -2.431225e+000, - 2.811511e+000, - 2.400771e+000, - -2.380403e+000, - 7.114868e-001, - 8.190106e+000, - 4.166861e-001, - -1.076730e+000, - -3.129260e-001, - 3.582560e+000, - -5.902417e+000, - -6.959342e+000, - 3.528030e+000, - -2.613596e-001, - -2.993803e+000, - 8.934226e-001, - -1.107957e+000, - -1.728652e-001, - 1.679540e+000, - 1.238391e+001, - -2.945620e+000, - -1.568811e+000, - 2.418421e-001, - 1.360652e+000, - 6.182405e-001, - // albedo 1, turbidity 5 - -1.215034e+000, - -2.755459e-001, - -1.477751e-001, - 4.448730e-001, - -4.027817e-001, - 4.787013e-001, - 1.200617e-001, - 3.613995e+000, - 5.999756e-001, - -1.443500e+000, - -5.194350e-001, - 1.588243e-001, - 1.429114e+000, - -2.310655e+000, - 3.033213e-001, - 2.308566e-002, - 1.894189e+000, - 6.066576e-001, - -1.051421e+000, - -9.990731e-002, - 5.187710e-001, - -3.890856e+000, - 7.794599e+000, - 1.810628e+000, - 6.532073e-002, - 2.564480e+000, - 9.334916e-001, - -1.034548e+000, - -6.777012e-002, - -2.587520e-002, - 1.062675e+001, - -2.266196e+001, - -2.002081e+000, - 7.508804e-001, - 2.022771e+000, - 3.517577e-001, - -1.090576e+000, - -2.542157e-001, - 2.213560e+000, - -3.563890e+000, - 9.180955e+000, - 2.780121e+000, - -2.656654e-001, - -5.012514e-002, - 8.968751e-001, - -1.104356e+000, - -1.955634e-001, - 1.782217e+000, - 1.085584e+000, - -5.011522e+000, - -1.075140e+000, - 3.828238e-001, - 6.133363e-001, - 6.448312e-001, - // albedo 1, turbidity 6 - -1.261147e+000, - -3.271435e-001, - 1.136430e-001, - -3.464762e-003, - -3.025565e+000, - 3.660675e-001, - 1.337332e-001, - 3.190374e+000, - 5.655627e-001, - -1.611753e+000, - -6.914768e-001, - 2.911405e-001, - 1.806475e+000, - 2.823240e+000, - 3.320241e-001, - 2.606391e-002, - 9.946717e-001, - 5.581393e-001, - -9.491151e-001, - 9.848038e-003, - 2.711804e-001, - -5.319331e+000, - 1.135835e-001, - 1.669815e+000, - 3.604115e-002, - 3.506230e+000, - 1.008650e+000, - -1.109597e+000, - -1.650703e-001, - -3.529912e-001, - 1.209251e+001, - -1.435008e+001, - -2.085063e+000, - 7.955493e-001, - 1.240407e+000, - 2.856509e-001, - -1.035803e+000, - -1.963707e-001, - 2.407913e+000, - -1.564693e+000, - 4.483717e+000, - 2.795295e+000, - -2.799711e-001, - 6.851892e-002, - 9.312311e-001, - -1.132687e+000, - -2.383551e-001, - 1.590132e+000, - 1.025733e+000, - -4.837236e+000, - -1.334195e+000, - 4.022060e-001, - 4.281273e-001, - 6.334802e-001, - // albedo 1, turbidity 7 - -1.310240e+000, - -3.819813e-001, - 2.469845e-002, - -7.043983e-003, - -5.009925e+000, - 3.560980e-001, - 1.582176e-001, - 2.966421e+000, - 4.998910e-001, - -1.993638e+000, - -1.029241e+000, - 7.780588e-001, - 1.080741e+000, - 7.179598e+000, - 2.478857e-001, - 1.935012e-002, - -3.434240e-001, - 4.813586e-001, - -8.209344e-001, - 1.728853e-001, - -7.045676e-001, - -3.384688e+000, - -4.855111e+000, - 1.661563e+000, - 4.252574e-002, - 5.701648e+000, - 1.110774e+000, - -1.130678e+000, - -3.273624e-001, - 5.555549e-001, - 5.800793e+000, - -8.817085e+000, - -2.344445e+000, - 7.532869e-001, - -2.418368e+000, - 2.201826e-001, - -1.032417e+000, - -1.335568e-001, - 1.707051e+000, - 8.168228e+000, - -5.151972e-003, - 2.785504e+000, - -2.123703e-001, - 1.770173e+000, - 9.064082e-001, - -1.125604e+000, - -2.328530e-001, - 1.537245e+000, - 4.347312e+000, - -4.368526e+000, - -1.527321e+000, - 3.574251e-001, - 5.982159e-001, - 6.705880e-001, - // albedo 1, turbidity 8 - -1.381743e+000, - -4.607543e-001, - -2.754732e-001, - 9.134243e-001, - -7.581174e-001, - 6.220814e-001, - 2.353878e-002, - 2.891536e+000, - 6.426078e-001, - -2.362341e+000, - -1.306326e+000, - 6.909936e-001, - -7.196658e-001, - -4.501812e-001, - -5.219928e-002, - 2.111683e-001, - -9.499603e-001, - 3.301774e-002, - -1.218829e+000, - -6.834768e-002, - -1.241760e+000, - 1.122890e+000, - 5.750762e+000, - 1.231058e+000, - 6.884716e-003, - 6.801032e+000, - 1.512485e+000, - -6.781560e-001, - -2.446588e-001, - 1.302166e+000, - -2.334650e+000, - -1.218960e+001, - -1.257952e+000, - 5.387955e-001, - -5.559859e+000, - -1.209718e-002, - -1.270037e+000, - -1.870204e-001, - 9.650201e-001, - 9.976613e+000, - 1.444014e+000, - 1.523442e+000, - -2.753646e-002, - 3.415790e+000, - 1.017645e+000, - -1.046712e+000, - -2.173979e-001, - 1.473981e+000, - 4.368847e+000, - -4.642506e+000, - -1.049951e+000, - 3.511771e-001, - 2.379457e-001, - 6.307946e-001, - // albedo 1, turbidity 9 - -1.532302e+000, - -6.390752e-001, - -1.369123e-001, - 1.480171e+000, - -1.313391e+000, - 5.210118e-001, - -1.053608e-005, - 2.352090e+000, - 9.000581e-001, - -2.042866e+000, - -1.015386e+000, - 1.750126e-001, - -9.921800e-001, - -9.449241e-002, - 4.791921e-001, - -2.744712e-002, - 9.337925e-001, - -2.902902e-001, - -3.413474e+000, - -1.485380e+000, - -1.301300e+000, - 1.266203e+000, - 3.869657e+000, - -1.405606e-002, - 6.109944e-001, - 3.883967e+000, - 1.540321e+000, - 5.838664e-001, - 2.370098e-001, - 1.420200e+000, - -1.803001e+000, - -6.672775e+000, - 2.866921e-001, - -2.599250e-001, - -4.162164e+000, - 1.296901e-001, - -1.654226e+000, - -3.296843e-001, - 6.245723e-001, - 7.899655e+000, - -1.079857e+000, - 3.145485e-001, - 4.085894e-001, - 2.258895e+000, - 9.071309e-001, - -9.748612e-001, - -2.545963e-001, - 1.374064e+000, - -2.816107e-003, - -2.589259e+000, - -5.960628e-001, - 2.656787e-001, - -1.458520e-001, - 6.529731e-001, - // albedo 1, turbidity 10 - -1.944006e+000, - -9.776516e-001, - -2.425412e-001, - 8.187180e-001, - -6.620102e-001, - 5.676187e-001, - -7.857556e-006, - 1.944153e+000, - 9.001463e-001, - -1.294455e+000, - -7.294996e-001, - -1.718682e-002, - 1.261264e+000, - -1.170104e+000, - -2.029198e-001, - -1.306023e-002, - 1.821821e+000, - -2.533820e-001, - -6.849943e+000, - -2.937611e+000, - -1.107710e+000, - -3.923478e+000, - 5.018293e+000, - 2.040419e+000, - 2.845113e-001, - 2.080902e+000, - 1.460328e+000, - 1.445166e+000, - 1.641979e-001, - 9.591325e-001, - 8.676572e+000, - -1.098801e+001, - -2.274573e+000, - 1.340040e-001, - -1.166380e+000, - 1.014270e-001, - -1.596800e+000, - -4.130457e-001, - 9.250919e-001, - -1.406592e+000, - 2.474727e+000, - 1.748285e+000, - 9.929937e-002, - -6.705073e-001, - 9.210646e-001, - -1.035617e+000, - -3.537996e-001, - 1.073337e+000, - 6.090616e+000, - -3.710420e+000, - -9.390485e-001, - 2.233788e-001, - -3.213961e-004, - 6.545784e-001, -}; - -double datasetRad600[] = -{ - // albedo 0, turbidity 1 - 1.299197e-001, - 8.321511e-002, - 2.387451e-001, - 5.880940e-001, - 3.729916e-001, - 4.103205e-001, - // albedo 0, turbidity 2 - 1.270323e-001, - 9.637820e-002, - 1.615812e-001, - 8.452533e-001, - 3.032088e-001, - 4.665419e-001, - // albedo 0, turbidity 3 - 1.219961e-001, - 1.092933e-001, - 5.901632e-002, - 1.159891e+000, - 2.934228e-001, - 5.092212e-001, - // albedo 0, turbidity 4 - 1.119541e-001, - 1.351827e-001, - -1.275865e-001, - 1.613767e+000, - 3.106034e-001, - 5.716776e-001, - // albedo 0, turbidity 5 - 1.014757e-001, - 1.830462e-001, - -3.923527e-001, - 2.142187e+000, - 2.311117e-001, - 6.935246e-001, - // albedo 0, turbidity 6 - 9.547231e-002, - 2.061450e-001, - -5.263613e-001, - 2.366722e+000, - 2.846338e-001, - 7.366447e-001, - // albedo 0, turbidity 7 - 8.667068e-002, - 2.433017e-001, - -7.117469e-001, - 2.634726e+000, - 3.869484e-001, - 8.214510e-001, - // albedo 0, turbidity 8 - 7.662515e-002, - 2.696023e-001, - -8.324986e-001, - 2.658131e+000, - 7.772588e-001, - 8.929431e-001, - // albedo 0, turbidity 9 - 6.629504e-002, - 2.629460e-001, - -7.999192e-001, - 2.265017e+000, - 1.480991e+000, - 1.022526e+000, - // albedo 0, turbidity 10 - 5.848320e-002, - 1.969638e-001, - -4.880301e-001, - 1.188948e+000, - 2.656831e+000, - 1.166634e+000, - // albedo 1, turbidity 1 - 1.356710e-001, - 1.027510e-001, - 2.164597e-001, - 5.973954e-001, - 8.682036e-001, - 9.805911e-001, - // albedo 1, turbidity 2 - 1.334939e-001, - 1.170363e-001, - 1.345563e-001, - 8.550149e-001, - 8.116863e-001, - 1.066240e+000, - // albedo 1, turbidity 3 - 1.276963e-001, - 1.324982e-001, - 2.283428e-002, - 1.185916e+000, - 8.070938e-001, - 1.153223e+000, - // albedo 1, turbidity 4 - 1.189040e-001, - 1.594238e-001, - -1.704000e-001, - 1.638298e+000, - 8.601982e-001, - 1.260336e+000, - // albedo 1, turbidity 5 - 1.084167e-001, - 1.944743e-001, - -3.780871e-001, - 2.038365e+000, - 9.194507e-001, - 1.384964e+000, - // albedo 1, turbidity 6 - 1.031451e-001, - 2.143658e-001, - -4.911574e-001, - 2.201644e+000, - 1.040176e+000, - 1.437725e+000, - // albedo 1, turbidity 7 - 9.432700e-002, - 2.394741e-001, - -6.269994e-001, - 2.357064e+000, - 1.243691e+000, - 1.534951e+000, - // albedo 1, turbidity 8 - 8.488675e-002, - 2.521587e-001, - -6.920513e-001, - 2.241994e+000, - 1.759223e+000, - 1.611551e+000, - // albedo 1, turbidity 9 - 7.537831e-002, - 2.332452e-001, - -5.979287e-001, - 1.683393e+000, - 2.607738e+000, - 1.716448e+000, - // albedo 1, turbidity 10 - 6.598016e-002, - 1.617505e-001, - -2.684133e-001, - 5.631708e-001, - 3.767336e+000, - 1.829865e+000, -}; - -double dataset640[] = -{ - // albedo 0, turbidity 1 - -1.113346e+000, - -1.715076e-001, - -2.657094e+000, - 4.632520e+000, - -1.092310e-001, - 1.421516e+000, - 3.230348e-003, - 2.697889e+000, - 6.262031e-001, - -1.193355e+000, - -2.074379e-001, - 1.431777e+000, - 8.245570e-001, - -1.936967e-001, - 9.392137e-001, - 1.972523e-002, - 3.001209e+000, - 4.415825e-001, - -9.337792e-001, - -2.037239e-001, - 3.943675e+000, - -2.487730e+000, - -9.876315e-001, - 2.772411e+000, - -4.919462e-002, - -4.176827e+000, - 1.026227e+000, - -1.297623e+000, - -1.296758e-001, - -3.144502e-001, - 2.454199e+000, - 2.433614e+000, - 5.298928e-001, - 7.814939e-002, - 6.564581e+000, - 5.587597e-001, - -9.325270e-001, - -1.997966e-001, - 3.363315e+000, - -1.887198e+000, - -8.905212e+000, - 2.808597e+000, - -9.537165e-002, - -3.059702e+000, - 5.403718e-001, - -1.125650e+000, - -1.904795e-001, - 2.099998e+000, - 1.251930e+000, - -1.899312e+000, - 5.255919e-001, - 9.848260e-002, - 9.627433e-001, - 6.251236e-001, - // albedo 0, turbidity 2 - -1.104956e+000, - -1.372068e-001, - -2.996624e+000, - 4.260021e+000, - -1.263137e-001, - 1.327775e+000, - 7.595887e-002, - 5.301229e+000, - 6.478109e-001, - -1.158426e+000, - -1.921879e-001, - 3.371987e-001, - 8.543727e-001, - -1.195421e-001, - 2.178871e-001, - 1.573997e-001, - 3.059646e+000, - 5.355391e-001, - -1.012076e+000, - -1.456275e-001, - 3.857821e+000, - -1.137640e+000, - -7.400821e-001, - 4.132381e+000, - -2.101470e-001, - -1.704290e-001, - 1.094519e+000, - -1.200085e+000, - -9.008631e-002, - -1.764929e+000, - 4.584027e-001, - 8.033799e-001, - -1.730728e+000, - 5.892683e-001, - 6.438112e+000, - 2.141131e-001, - -9.836248e-001, - -1.983419e-001, - 3.519957e+000, - -9.777763e-001, - -5.727911e+000, - 4.397457e+000, - -2.864495e-001, - -2.511187e+000, - 9.881415e-001, - -1.111842e+000, - -1.992363e-001, - 1.746814e+000, - 5.036170e+000, - -2.993753e+000, - -5.348114e-001, - 2.332738e-001, - 8.970344e-001, - 5.806194e-001, - // albedo 0, turbidity 3 - -1.120087e+000, - -1.577355e-001, - -1.165606e+000, - 1.782016e+000, - -1.771264e-001, - 8.928578e-001, - 1.613110e-001, - 4.975693e+000, - 6.258796e-001, - -1.182069e+000, - -2.047357e-001, - -4.041517e-001, - 1.732659e+000, - -4.322749e-001, - 6.549554e-001, - 5.392767e-002, - 4.838218e+000, - 6.441461e-001, - -1.071518e+000, - -2.057500e-001, - 2.808685e+000, - -1.990080e+000, - -8.491815e-001, - 2.193915e+000, - 2.411077e-001, - -3.251587e+000, - 7.470978e-001, - -1.113379e+000, - -6.708322e-003, - -2.181109e+000, - 2.107674e+000, - 2.216970e+000, - -6.233552e-001, - 3.558080e-001, - 9.251876e+000, - 6.319555e-001, - -1.026698e+000, - -2.260748e-001, - 3.031659e+000, - -1.615765e+000, - -1.323341e+000, - 2.835147e+000, - 1.186568e-001, - -3.366247e+000, - 6.850407e-001, - -1.088223e+000, - -1.817555e-001, - 1.435855e+000, - 1.845164e+000, - -3.488539e+000, - 2.554837e-001, - 2.144895e-001, - 1.558895e+000, - 7.315398e-001, - // albedo 0, turbidity 4 - -1.164089e+000, - -2.003003e-001, - -2.998423e-001, - 2.713689e-001, - -1.828861e-001, - 5.800779e-001, - 1.968402e-001, - 4.650130e+000, - 6.156174e-001, - -1.209796e+000, - -2.733887e-001, - -9.360003e-001, - 2.769100e+000, - -1.870929e+000, - 7.049322e-001, - -8.477045e-002, - 4.120960e+000, - 7.444509e-001, - -1.232839e+000, - -2.622151e-001, - 2.857050e+000, - -2.866256e+000, - 3.128232e+000, - 1.897877e+000, - 4.581244e-001, - -2.112943e+000, - 6.384882e-001, - -9.291113e-001, - 4.110508e-002, - -2.235781e+000, - 2.969741e+000, - -9.758544e+000, - -1.941571e+000, - 3.426656e-001, - 6.907158e+000, - 6.945892e-001, - -1.103614e+000, - -2.279953e-001, - 2.314490e+000, - -6.307971e-001, - 3.369674e+000, - 3.787928e+000, - 2.456513e-001, - -1.776073e+000, - 6.864316e-001, - -1.072160e+000, - -1.984678e-001, - 1.092192e+000, - 8.472734e-001, - -3.126637e+000, - -1.076607e+000, - 3.908469e-001, - 1.205671e+000, - 7.035925e-001, - // albedo 0, turbidity 5 - -1.222416e+000, - -2.654298e-001, - -1.149975e-001, - -6.277756e-003, - -1.369463e+000, - 4.402179e-001, - 1.881320e-001, - 3.896722e+000, - 6.037946e-001, - -1.407746e+000, - -4.603243e-001, - -3.071475e-001, - 2.937390e+000, - -9.164938e-001, - 6.696693e-001, - -6.608327e-002, - 2.444782e+000, - 6.905594e-001, - -1.120454e+000, - -1.466269e-001, - 7.829076e-001, - -7.009271e+000, - 5.364470e+000, - 1.294280e+000, - 4.109552e-001, - 1.525889e+000, - 7.709564e-001, - -9.792886e-001, - -4.325464e-002, - -4.059461e-001, - 1.522559e+001, - -1.867598e+001, - -1.169367e+000, - 3.589556e-001, - 2.368951e+000, - 5.526839e-001, - -1.091118e+000, - -2.286983e-001, - 9.896666e-001, - -6.655971e+000, - 8.168041e+000, - 1.923773e+000, - 3.116805e-001, - 1.852611e-001, - 7.524175e-001, - -1.053081e+000, - -1.598496e-001, - 9.684194e-001, - 3.620674e+000, - -5.015769e+000, - 8.125082e-002, - 4.669502e-001, - 1.415221e+000, - 7.044272e-001, - // albedo 0, turbidity 6 - -1.267172e+000, - -3.101221e-001, - -8.556526e-002, - -3.602153e-003, - -4.988229e+000, - 4.099753e-001, - 1.555248e-001, - 3.585489e+000, - 6.128833e-001, - -1.613116e+000, - -6.560485e-001, - 9.250270e-002, - 2.119268e+000, - 8.031058e+000, - 4.019483e-001, - 4.526662e-002, - 1.362051e+000, - 5.999628e-001, - -1.012405e+000, - -2.251592e-002, - 2.836289e-001, - -7.904006e+000, - -9.544755e+000, - 1.754891e+000, - 1.283266e-001, - 3.042478e+000, - 9.234755e-001, - -1.022835e+000, - -1.361070e-001, - -4.207218e-001, - 1.947050e+001, - -5.511234e+000, - -2.417169e+000, - 7.837822e-001, - 8.288902e-001, - 3.509734e-001, - -1.068370e+000, - -1.806143e-001, - 1.059217e+000, - 7.087518e-001, - -1.671865e+000, - 3.098645e+000, - -9.859822e-002, - 9.336021e-001, - 8.929147e-001, - -1.065467e+000, - -1.928982e-001, - 6.159162e-001, - -4.157538e-003, - -9.397621e-001, - -1.193139e+000, - 6.979501e-001, - 1.118894e+000, - 6.467115e-001, - // albedo 0, turbidity 7 - -1.345697e+000, - -3.906019e-001, - -1.921159e-001, - -7.410201e-003, - -4.683006e+000, - 4.591917e-001, - 1.919817e-001, - 3.158844e+000, - 5.319014e-001, - -2.096314e+000, - -1.056514e+000, - 7.665515e-001, - 1.602483e+000, - 6.290779e+000, - 4.693208e-001, - -6.258855e-002, - -3.745685e-001, - 5.853677e-001, - -7.573573e-001, - 2.265213e-001, - -1.283398e+000, - -4.696984e+000, - -4.261986e+000, - 1.197826e+000, - 3.444468e-001, - 6.004387e+000, - 9.413954e-001, - -1.140929e+000, - -3.489820e-001, - 1.095429e+000, - 7.531589e+000, - -8.153320e+000, - -1.722207e+000, - 4.427477e-001, - -3.072440e+000, - 3.874398e-001, - -1.009003e+000, - -9.087616e-002, - 4.181128e-002, - 1.154023e+001, - -5.092155e-001, - 2.166116e+000, - 1.620893e-001, - 2.824826e+000, - 8.289491e-001, - -1.080842e+000, - -2.166745e-001, - 6.939662e-001, - -2.316636e-003, - -2.616711e+000, - -1.012238e+000, - 6.132021e-001, - 7.579828e-001, - 6.813755e-001, - // albedo 0, turbidity 8 - -1.394668e+000, - -4.508268e-001, - -2.615024e-001, - -7.412740e-003, - -4.811648e+000, - 4.235635e-001, - 1.627041e-001, - 3.134174e+000, - 5.225016e-001, - -2.715734e+000, - -1.409574e+000, - 6.485110e-001, - 6.307101e-001, - 8.120123e+000, - 3.677567e-001, - 6.430919e-002, - -3.729191e-001, - 3.463130e-001, - -8.973624e-001, - 2.859206e-002, - -1.610007e+000, - -1.483136e+000, - -5.613288e+000, - 7.093329e-001, - 2.936945e-001, - 5.541210e+000, - 1.143952e+000, - -8.450858e-001, - -1.969825e-001, - 1.399585e+000, - 1.418708e-001, - -4.532026e+000, - -7.432040e-001, - 3.410858e-001, - -3.386293e+000, - 2.885614e-001, - -1.180533e+000, - -2.469972e-001, - -2.694505e-002, - 1.635998e+001, - -2.378676e+000, - 9.477733e-001, - 1.105776e-001, - 1.954485e+000, - 8.559872e-001, - -1.022908e+000, - -1.650807e-001, - 3.812483e-001, - -2.139201e-003, - -2.300711e+000, - -5.917998e-001, - 6.793527e-001, - 1.248273e+000, - 6.747565e-001, - // albedo 0, turbidity 9 - -1.557922e+000, - -6.294681e-001, - -2.355549e-001, - -8.743568e-003, - -5.017111e+000, - 4.034446e-001, - 1.005643e-001, - 2.735289e+000, - 5.667004e-001, - -3.061673e+000, - -1.398157e+000, - 1.597008e-001, - 1.066059e+000, - 8.207018e+000, - 4.785780e-001, - 4.629487e-002, - 1.324020e+000, - 2.540204e-001, - -2.371583e+000, - -1.100187e+000, - -1.279309e+000, - -3.340819e+000, - -6.556706e+000, - 2.636750e-001, - 4.298705e-001, - 2.649782e+000, - 1.060950e+000, - -5.315727e-002, - 2.306821e-001, - 1.091037e+000, - 5.297610e+000, - -2.412315e+000, - -7.083157e-002, - 7.256586e-002, - -1.330891e+000, - 4.168205e-001, - -1.375983e+000, - -4.677570e-001, - 2.271650e-001, - 8.771601e+000, - -2.511780e+000, - 1.487082e-001, - 8.542210e-002, - 5.509707e-003, - 7.821447e-001, - -1.006483e+000, - -1.435513e-001, - 5.802646e-002, - -3.181899e-003, - -2.010861e+000, - -1.746922e-001, - 7.487809e-001, - 1.623209e+000, - 6.848148e-001, - // albedo 0, turbidity 10 - -1.919035e+000, - -9.396362e-001, - -3.059418e-001, - 1.542398e+000, - -1.488273e+000, - 5.133825e-001, - -7.992185e-006, - 2.276361e+000, - 8.334381e-001, - -2.470138e+000, - -1.108577e+000, - -5.521438e-001, - -9.047033e-001, - 6.905739e-001, - 3.774300e-001, - -2.801883e-002, - 2.413470e+000, - -8.986266e-002, - -5.532450e+000, - -2.346497e+000, - -1.734654e+000, - 1.461689e+000, - 1.765938e+000, - 4.969811e-001, - 6.205943e-001, - 2.112232e+000, - 1.159488e+000, - 4.159150e-001, - -2.306809e-001, - 1.540502e+000, - -1.006923e+000, - -5.275092e+000, - -2.776202e-002, - -1.632884e-001, - -1.467491e+000, - 4.177919e-001, - -1.248112e+000, - -3.080519e-001, - -1.229235e-001, - 8.972757e+000, - -1.532948e+000, - -8.283794e-002, - 1.561573e-001, - 1.856113e-001, - 7.696948e-001, - -1.054499e+000, - -2.660558e-001, - 1.307025e-001, - -2.167883e-003, - -1.531056e+000, - 1.525856e-001, - 5.356892e-001, - 7.181428e-001, - 6.837654e-001, - // albedo 1, turbidity 1 - -1.113347e+000, - -1.715068e-001, - -2.657094e+000, - 4.632520e+000, - -1.092308e-001, - 1.421516e+000, - 3.229759e-003, - 2.697889e+000, - 6.262031e-001, - -1.193355e+000, - -2.074367e-001, - 1.431777e+000, - 8.245569e-001, - -1.936966e-001, - 9.392136e-001, - 1.972263e-002, - 3.001209e+000, - 4.415825e-001, - -9.337795e-001, - -2.037221e-001, - 3.943675e+000, - -2.487730e+000, - -9.876315e-001, - 2.772410e+000, - -4.919872e-002, - -4.176827e+000, - 1.026227e+000, - -1.297624e+000, - -1.296733e-001, - -3.144502e-001, - 2.454199e+000, - 2.433614e+000, - 5.298925e-001, - 7.814503e-002, - 6.564581e+000, - 5.587597e-001, - -9.325285e-001, - -1.997939e-001, - 3.363316e+000, - -1.887198e+000, - -8.905212e+000, - 2.808596e+000, - -9.537523e-002, - -3.059702e+000, - 5.403717e-001, - -1.125653e+000, - -1.904767e-001, - 2.099998e+000, - 1.251930e+000, - -1.899312e+000, - 5.255917e-001, - 9.848033e-002, - 9.627434e-001, - 6.251233e-001, - // albedo 1, turbidity 2 - -1.115892e+000, - -1.571450e-001, - -5.361081e+000, - 6.833528e+000, - -6.891479e-002, - 1.309709e+000, - 6.046362e-002, - 3.972373e+000, - 6.651606e-001, - -1.147479e+000, - -1.855896e-001, - 2.239259e+000, - -5.937930e-001, - -1.005125e-001, - 2.773971e-001, - 1.337105e-001, - 3.136906e+000, - 5.194230e-001, - -1.030450e+000, - -1.533626e-001, - 2.268967e+000, - -4.886576e-001, - -6.336865e-001, - 3.911080e+000, - -1.602643e-001, - 1.513730e-001, - 1.130153e+000, - -1.159297e+000, - -5.818314e-002, - -1.488690e-001, - 1.358829e+000, - 1.208889e+000, - -1.827456e+000, - 4.867277e-001, - 6.185880e+000, - 1.951064e-001, - -1.023581e+000, - -2.517540e-001, - 3.635148e+000, - -2.375150e+000, - -9.409992e+000, - 3.209554e+000, - -3.006489e-001, - -3.235953e+000, - 9.969505e-001, - -1.102864e+000, - -1.644399e-001, - 2.160645e+000, - 5.685422e+000, - -2.867248e+000, - -1.020916e+000, - 2.064591e-001, - 1.192668e+000, - 5.029621e-001, - // albedo 1, turbidity 3 - -1.120417e+000, - -1.543428e-001, - -2.173869e+000, - 2.965267e+000, - -1.062190e-001, - 8.112859e-001, - 1.448682e-001, - 4.993622e+000, - 6.373394e-001, - -1.168618e+000, - -1.948508e-001, - -6.247560e-001, - 2.203402e+000, - -2.724794e-001, - 8.364691e-001, - 5.608377e-002, - 4.262497e+000, - 6.310098e-001, - -1.080229e+000, - -2.282841e-001, - 2.194035e+000, - -1.203336e+000, - -3.861545e-001, - 2.234045e+000, - 1.553866e-001, - -3.266039e+000, - 8.246847e-001, - -1.101698e+000, - 2.182410e-002, - -1.179116e+000, - 8.533844e-001, - 8.777171e-001, - -1.222988e+000, - 5.021882e-001, - 9.364642e+000, - 4.790363e-001, - -1.047144e+000, - -2.539571e-001, - 3.684827e+000, - 9.827861e-002, - -2.297266e-001, - 3.038327e+000, - -2.609445e-001, - -3.685112e+000, - 8.596057e-001, - -1.103227e+000, - -1.861499e-001, - 2.098952e+000, - 1.030900e-001, - -4.268311e+000, - -1.120060e+000, - 2.879792e-001, - 7.160893e-001, - 6.213207e-001, - // albedo 1, turbidity 4 - -1.155288e+000, - -2.006105e-001, - -5.822630e-002, - 3.970794e-001, - -2.828885e-001, - 5.093569e-001, - 1.631119e-001, - 4.152479e+000, - 6.357376e-001, - -1.241627e+000, - -2.673712e-001, - -6.444494e-001, - 2.257014e+000, - -1.630843e+000, - 5.967071e-001, - 9.888683e-003, - 4.308732e+000, - 6.751366e-001, - -1.136812e+000, - -2.811418e-001, - 2.220215e+000, - -1.535870e+000, - 2.354743e+000, - 2.041362e+000, - 2.387976e-001, - -3.453756e+000, - 7.672245e-001, - -1.028322e+000, - 9.134962e-002, - -1.151053e+000, - 6.511620e-001, - -5.683098e+000, - -2.001006e+000, - 6.430642e-001, - 8.523367e+000, - 5.422240e-001, - -1.076830e+000, - -3.101207e-001, - 3.052794e+000, - 3.177593e-001, - 3.054756e+000, - 3.386727e+000, - -2.312489e-001, - -3.908802e+000, - 7.978614e-001, - -1.107083e+000, - -1.880372e-001, - 2.001810e+000, - -3.352202e-003, - -1.526356e+000, - -1.480550e+000, - 3.486524e-001, - 7.220325e-001, - 6.581821e-001, - // albedo 1, turbidity 5 - -1.214879e+000, - -2.719222e-001, - 2.247747e-001, - 1.509740e-002, - -5.438281e-001, - 3.728351e-001, - 1.749880e-001, - 3.132220e+000, - 6.001432e-001, - -1.424202e+000, - -4.768943e-001, - -6.396040e-001, - 2.060101e+000, - -1.113780e+000, - 6.993089e-001, - -2.098291e-002, - 2.504826e+000, - 6.757213e-001, - -1.048548e+000, - -1.173837e-001, - 1.885902e+000, - -3.700301e+000, - 4.667326e+000, - 1.344798e+000, - 2.140261e-001, - 1.525414e-001, - 8.450168e-001, - -1.056271e+000, - -5.272364e-002, - -1.391708e+000, - 9.711492e+000, - -1.742761e+001, - -1.677628e+000, - 6.906304e-001, - 4.107662e+000, - 4.268005e-001, - -1.072328e+000, - -2.450563e-001, - 3.125155e+000, - -2.470389e+000, - 6.794968e+000, - 2.678049e+000, - -2.092059e-001, - -1.651858e+000, - 8.708740e-001, - -1.107628e+000, - -2.089585e-001, - 1.799168e+000, - 4.621596e-001, - -5.008181e+000, - -1.121127e+000, - 3.917217e-001, - 2.703209e-001, - 6.449597e-001, - // albedo 1, turbidity 6 - -1.249741e+000, - -3.073987e-001, - 1.398829e-001, - -2.878563e-003, - -5.008845e+000, - 4.535605e-001, - 1.447766e-001, - 3.091173e+000, - 6.138128e-001, - -1.577209e+000, - -6.213162e-001, - 2.895282e-001, - 1.670732e+000, - 8.708786e+000, - 2.480283e-001, - 7.326386e-002, - 1.395638e+000, - 5.814691e-001, - -1.015394e+000, - -9.306378e-002, - 4.870291e-001, - -6.558243e+000, - -1.073347e+001, - 1.842159e+000, - 2.135043e-002, - 1.655269e+000, - 9.750505e-001, - -1.030222e+000, - -3.712071e-002, - -4.565649e-001, - 1.827249e+001, - -4.505703e+000, - -2.635230e+000, - 9.447498e-001, - 2.450865e+000, - 2.757082e-001, - -1.086063e+000, - -2.709359e-001, - 2.527868e+000, - -1.786375e+000, - -2.329338e+000, - 3.367729e+000, - -4.201670e-001, - -9.372873e-001, - 9.570917e-001, - -1.113156e+000, - -2.162986e-001, - 1.815038e+000, - 1.036606e-001, - -1.106537e+000, - -1.657558e+000, - 4.923976e-001, - -1.768985e-002, - 6.218745e-001, - // albedo 1, turbidity 7 - -1.345662e+000, - -4.038158e-001, - 1.601105e-001, - -6.892546e-003, - -5.010308e+000, - 3.903794e-001, - 1.543535e-001, - 2.538245e+000, - 5.555141e-001, - -1.998866e+000, - -9.786972e-001, - 5.763250e-001, - 1.007104e+000, - 8.983795e+000, - 3.752110e-001, - 7.375525e-002, - 1.792659e-001, - 4.969463e-001, - -7.854213e-001, - 1.186171e-001, - -1.925047e-001, - -3.567464e+000, - -8.901606e+000, - 1.181923e+000, - 4.049067e-002, - 3.603602e+000, - 1.081550e+000, - -1.113558e+000, - -1.964692e-001, - -6.175963e-002, - 7.345047e+000, - -5.293662e+000, - -1.720046e+000, - 8.863695e-001, - -1.699694e-001, - 2.184709e-001, - -1.077319e+000, - -2.429937e-001, - 2.226652e+000, - 8.082352e+000, - -5.647382e-001, - 2.187018e+000, - -3.571678e-001, - -2.370890e-001, - 9.528157e-001, - -1.101702e+000, - -2.020333e-001, - 1.637670e+000, - 5.276716e-001, - -4.006007e+000, - -1.066501e+000, - 4.548015e-001, - 4.055769e-001, - 6.485706e-001, - // albedo 1, turbidity 8 - -1.411469e+000, - -4.870956e-001, - 1.017578e-001, - -8.806763e-003, - -5.014847e+000, - 4.306981e-001, - 1.278033e-001, - 2.361142e+000, - 5.472925e-001, - -2.735007e+000, - -1.453253e+000, - 5.783189e-001, - 5.673243e-001, - 9.968637e+000, - 2.236397e-001, - 1.860109e-001, - -3.781953e-001, - 2.505082e-001, - -7.371503e-001, - 1.290592e-001, - -5.349577e-001, - -1.885854e+000, - -8.623054e+000, - 1.078614e+000, - -5.694996e-002, - 4.526279e+000, - 1.347569e+000, - -9.678370e-001, - -2.562830e-001, - 2.961987e-001, - 2.461144e+000, - -4.753928e+000, - -1.657373e+000, - 8.388825e-001, - -2.440974e+000, - 1.816225e-002, - -1.148918e+000, - -2.271366e-001, - 1.817890e+000, - 1.097345e+001, - -1.126160e+000, - 1.993895e+000, - -2.870862e-001, - 7.269217e-001, - 1.032783e+000, - -1.090291e+000, - -2.315314e-001, - 1.491197e+000, - 9.632479e+000, - -4.323932e+000, - -1.326631e+000, - 3.604933e-001, - 1.905995e-001, - 6.312241e-001, - // albedo 1, turbidity 9 - -1.552618e+000, - -6.336918e-001, - 4.605315e-002, - -8.452985e-003, - -4.979015e+000, - 3.484674e-001, - 8.791637e-002, - 2.297399e+000, - 5.705230e-001, - -2.770597e+000, - -1.302036e+000, - 3.421676e-001, - 1.220769e+000, - 7.584372e+000, - 4.050789e-001, - 4.478808e-002, - 9.435710e-001, - 2.393878e-001, - -2.631791e+000, - -1.247576e+000, - -8.423940e-001, - -3.955998e+000, - -5.341100e+000, - 6.385142e-001, - 3.872948e-001, - 2.279807e+000, - 1.101259e+000, - 1.875824e-001, - 3.564184e-001, - 7.973268e-001, - 7.159160e+000, - -3.857340e+000, - -9.227702e-001, - 8.283793e-002, - -1.444145e+000, - 3.654244e-001, - -1.489693e+000, - -4.947623e-001, - 1.253918e+000, - 3.949282e+000, - -1.320903e+000, - 1.088652e+000, - 1.489763e-001, - -3.855853e-001, - 8.130960e-001, - -1.042349e+000, - -2.134514e-001, - 1.289359e+000, - -3.129206e-003, - -2.385397e+000, - -7.642278e-001, - 3.772293e-001, - 3.683001e-001, - 6.811674e-001, - // albedo 1, turbidity 10 - -1.924886e+000, - -9.354584e-001, - -1.879067e-001, - 1.267892e+000, - -1.174622e+000, - 5.570232e-001, - -1.060836e-005, - 2.002481e+000, - 9.001398e-001, - -1.556107e+000, - -8.200410e-001, - -1.065249e-001, - -3.241942e-001, - 1.552504e-001, - 7.662815e-002, - -2.568474e-002, - 1.738474e+000, - -2.100942e-001, - -7.169297e+000, - -2.972878e+000, - -1.324108e+000, - 7.276378e-003, - 2.638975e+000, - 1.186150e+000, - 5.695709e-001, - 2.027718e+000, - 1.328077e+000, - 1.889259e+000, - 2.600110e-001, - 1.309033e+000, - 1.187864e+000, - -6.905754e+000, - -1.163025e+000, - -1.642758e-001, - -1.774036e+000, - 2.566466e-001, - -1.816439e+000, - -3.601966e-001, - 6.367922e-001, - 6.798160e+000, - -6.431562e-001, - 9.014269e-001, - 2.490693e-001, - -6.685128e-003, - 8.542883e-001, - -9.684886e-001, - -3.866519e-001, - 1.268224e+000, - -4.187273e-003, - -1.833316e+000, - -4.626197e-001, - 2.263859e-001, - -5.583963e-001, - 6.650112e-001, -}; - -double datasetRad640[] = -{ - // albedo 0, turbidity 1 - 1.197895e-001, - 7.750667e-002, - 2.407021e-001, - 3.903099e-001, - 2.932408e-001, - 3.006399e-001, - // albedo 0, turbidity 2 - 1.209424e-001, - 8.265434e-002, - 2.083945e-001, - 5.853826e-001, - 2.663490e-001, - 3.373078e-001, - // albedo 0, turbidity 3 - 1.161191e-001, - 9.288397e-002, - 1.219496e-001, - 9.247264e-001, - 2.049420e-001, - 4.043150e-001, - // albedo 0, turbidity 4 - 1.073493e-001, - 1.169092e-001, - -6.161409e-002, - 1.431414e+000, - 1.494847e-001, - 4.931987e-001, - // albedo 0, turbidity 5 - 9.794193e-002, - 1.457214e-001, - -2.558067e-001, - 1.850120e+000, - 1.802584e-001, - 5.523752e-001, - // albedo 0, turbidity 6 - 9.153358e-002, - 1.740591e-001, - -4.147944e-001, - 2.143293e+000, - 1.718393e-001, - 6.142311e-001, - // albedo 0, turbidity 7 - 8.281154e-002, - 2.131901e-001, - -6.172447e-001, - 2.462224e+000, - 2.434283e-001, - 6.958915e-001, - // albedo 0, turbidity 8 - 7.214826e-002, - 2.499471e-001, - -8.009912e-001, - 2.650458e+000, - 4.904950e-001, - 8.061404e-001, - // albedo 0, turbidity 9 - 6.109653e-002, - 2.500028e-001, - -7.962813e-001, - 2.317194e+000, - 1.174011e+000, - 9.080407e-001, - // albedo 0, turbidity 10 - 5.281779e-002, - 1.966643e-001, - -5.387787e-001, - 1.359134e+000, - 2.260367e+000, - 1.063031e+000, - // albedo 1, turbidity 1 - 1.241851e-001, - 9.705702e-002, - 2.016387e-001, - 4.445551e-001, - 6.215866e-001, - 7.528173e-001, - // albedo 1, turbidity 2 - 1.248417e-001, - 1.001877e-001, - 1.809281e-001, - 6.156329e-001, - 6.384930e-001, - 8.001681e-001, - // albedo 1, turbidity 3 - 1.215185e-001, - 1.116381e-001, - 9.409322e-002, - 9.385153e-001, - 6.300761e-001, - 8.884105e-001, - // albedo 1, turbidity 4 - 1.132146e-001, - 1.313387e-001, - -7.312012e-002, - 1.408822e+000, - 6.509308e-001, - 1.009256e+000, - // albedo 1, turbidity 5 - 1.032816e-001, - 1.663390e-001, - -2.911491e-001, - 1.869933e+000, - 6.563583e-001, - 1.150412e+000, - // albedo 1, turbidity 6 - 9.701537e-002, - 1.883206e-001, - -4.243771e-001, - 2.104057e+000, - 7.155674e-001, - 1.228579e+000, - // albedo 1, turbidity 7 - 8.841369e-002, - 2.160578e-001, - -5.725878e-001, - 2.290829e+000, - 9.251758e-001, - 1.303580e+000, - // albedo 1, turbidity 8 - 7.850642e-002, - 2.390426e-001, - -6.946719e-001, - 2.320692e+000, - 1.325887e+000, - 1.424719e+000, - // albedo 1, turbidity 9 - 6.825538e-002, - 2.253718e-001, - -6.265067e-001, - 1.821317e+000, - 2.158738e+000, - 1.529418e+000, - // albedo 1, turbidity 10 - 5.985528e-002, - 1.644544e-001, - -3.362673e-001, - 7.751736e-001, - 3.306230e+000, - 1.654105e+000, -}; - -double dataset680[] = -{ - // albedo 0, turbidity 1 - -1.112655e+000, - -1.844098e-001, - -3.170582e+000, - 5.334685e+000, - -6.690891e-002, - 1.561122e+000, - -2.792088e-006, - 1.400688e+000, - 6.639418e-001, - -1.138469e+000, - -1.797086e-001, - 1.271179e+000, - 1.158372e+000, - -1.687824e-001, - 1.414051e+000, - 4.258569e-003, - 2.135675e+000, - 5.322718e-001, - -1.026337e+000, - -1.861539e-001, - 2.119648e+000, - -6.753200e-001, - -1.972700e-001, - 2.384659e+000, - -1.304972e-002, - -1.804518e+000, - 1.207802e+000, - -1.198321e+000, - -1.585305e-001, - 1.339219e+000, - 5.796904e-001, - -5.143433e-002, - 1.107455e+000, - 2.551349e-002, - 3.346946e+000, - -3.387602e-002, - -9.935091e-001, - -1.747698e-001, - 2.816779e+000, - -3.496148e-001, - 1.832218e+000, - 2.324658e+000, - -3.408305e-002, - -1.618451e+000, - 1.189512e+000, - -1.092682e+000, - -1.840784e-001, - 2.455887e+000, - 1.441429e-001, - -4.002347e+000, - 1.186375e+000, - 3.634755e-002, - 3.070963e-001, - 5.512501e-001, - // albedo 0, turbidity 2 - -1.104975e+000, - -1.425541e-001, - -1.889148e+000, - 3.408593e+000, - -1.252648e-001, - 1.396095e+000, - 8.358812e-002, - 3.814297e+000, - 6.848154e-001, - -1.131570e+000, - -1.500053e-001, - -1.048539e+000, - 3.133642e+000, - -2.651219e-001, - 1.193999e+000, - 7.013543e-002, - 4.592749e+000, - 6.857750e-001, - -1.030016e+000, - -1.667752e-001, - 6.179600e+000, - -5.163198e+000, - -4.084328e-001, - 2.617798e+000, - 1.966627e-003, - -2.417731e+000, - 8.402310e-001, - -1.167563e+000, - -3.644294e-002, - -4.501893e+000, - 4.471663e+000, - -5.377956e-001, - 4.971351e-002, - 4.621337e-001, - 1.014187e+001, - 4.411276e-001, - -1.018402e+000, - -2.068288e-001, - 4.710566e+000, - -1.425858e+000, - 1.287815e-001, - 3.605281e+000, - -2.164599e-001, - -4.336932e+000, - 9.051639e-001, - -1.078985e+000, - -1.995548e-001, - 1.678948e+000, - 3.074167e-001, - -1.642830e+000, - -1.235470e-001, - 2.735898e-001, - 6.360197e-001, - 5.870665e-001, - // albedo 0, turbidity 3 - -1.132881e+000, - -1.676238e-001, - -1.179974e+000, - 1.902080e+000, - -7.980402e-002, - 8.946611e-001, - 1.939671e-001, - 3.793414e+000, - 6.357246e-001, - -1.138356e+000, - -1.681053e-001, - 1.548320e+000, - -6.001024e-001, - -4.138892e-001, - 2.586807e-001, - 2.126762e-001, - 4.742849e+000, - 5.910253e-001, - -1.093982e+000, - -1.847904e-001, - 1.234133e+000, - -4.707125e-001, - 1.076579e+000, - 3.355751e+000, - 5.394600e-002, - -2.314910e+000, - 8.900752e-001, - -1.117812e+000, - -6.182272e-002, - -4.681118e-001, - 5.075227e+000, - -1.561122e+001, - -2.343845e+000, - 5.618788e-001, - 7.005713e+000, - 4.622191e-001, - -1.013135e+000, - -1.529086e-001, - 1.960772e+000, - -3.022528e+000, - 8.938126e+000, - 4.411437e+000, - 3.156643e-002, - -1.449180e+000, - 8.181914e-001, - -1.087086e+000, - -2.231900e-001, - 1.871061e+000, - 1.830836e+000, - -4.397140e+000, - -5.441402e-001, - 2.728682e-001, - -5.607736e-002, - 6.741811e-001, - // albedo 0, turbidity 4 - -1.176035e+000, - -2.099056e-001, - -8.221907e-001, - 1.520994e+000, - -2.507738e-001, - 9.100863e-001, - 1.507234e-001, - 3.661138e+000, - 6.726424e-001, - -1.140180e+000, - -1.918480e-001, - 2.844393e-001, - -3.842927e-001, - -5.520764e-001, - -1.868484e-001, - 2.247948e-001, - 5.381202e+000, - 6.059726e-001, - -1.282085e+000, - -3.059464e-001, - 1.619956e+000, - -1.362117e+000, - 2.324649e+000, - 3.350678e+000, - 2.102082e-001, - -4.028753e+000, - 8.172091e-001, - -9.092985e-001, - 4.843416e-002, - -1.076741e+000, - 8.143038e+000, - -1.618418e+001, - -3.681285e+000, - 5.217800e-001, - 7.307672e+000, - 5.312006e-001, - -1.110248e+000, - -2.047143e-001, - 1.565253e+000, - -4.575474e+000, - 8.737741e+000, - 5.023419e+000, - 2.469230e-001, - -1.716906e+000, - 7.856742e-001, - -1.054900e+000, - -2.018466e-001, - 1.352034e+000, - 2.656066e+000, - -4.403444e+000, - -1.479998e+000, - 3.939305e-001, - 6.455032e-001, - 6.775162e-001, - // albedo 0, turbidity 5 - -1.237521e+000, - -2.734963e-001, - -4.554763e-001, - 3.417711e-001, - 2.054204e-001, - 3.954470e-001, - 2.366979e-001, - 3.239693e+000, - 6.083737e-001, - -1.354583e+000, - -4.251172e-001, - -3.241668e-001, - 2.077967e+000, - -1.910410e+000, - 8.755633e-001, - -8.365829e-002, - 2.443727e+000, - 7.260119e-001, - -1.152500e+000, - -1.277879e-001, - 1.089367e+000, - -4.497520e+000, - 5.636501e+000, - 1.249272e+000, - 5.829396e-001, - 9.198423e-001, - 7.039872e-001, - -9.782313e-001, - -8.253891e-002, - -5.673470e-001, - 1.098032e+001, - -1.689550e+001, - -1.619205e+000, - 2.125660e-001, - 2.080566e+000, - 6.315535e-001, - -1.064286e+000, - -1.710957e-001, - 9.336921e-001, - -5.525059e+000, - 8.053084e+000, - 2.664602e+000, - 4.815015e-001, - 4.884965e-001, - 7.093015e-001, - -1.067798e+000, - -1.817268e-001, - 1.095720e+000, - 3.551145e+000, - -5.009504e+000, - -4.802047e-001, - 4.854159e-001, - 8.021585e-001, - 7.133339e-001, - // albedo 0, turbidity 6 - -1.251896e+000, - -2.936510e-001, - -3.090944e-002, - -5.488869e-003, - -6.577788e-001, - 4.577691e-001, - 1.780002e-001, - 3.335561e+000, - 6.394482e-001, - -1.615603e+000, - -6.405318e-001, - -4.651954e-001, - 2.332689e+000, - -1.893131e-001, - 3.391170e-001, - 3.495888e-002, - 1.058634e+000, - 6.310524e-001, - -9.703572e-001, - 1.437971e-002, - 6.532383e-001, - -6.450045e+000, - 4.026380e+000, - 2.198628e+000, - 2.684967e-001, - 2.873804e+000, - 8.626816e-001, - -1.053437e+000, - -1.577255e-001, - -2.354526e-001, - 1.753047e+001, - -1.802766e+001, - -3.193379e+000, - 6.264380e-001, - 3.733714e-001, - 4.466776e-001, - -1.051388e+000, - -1.690749e-001, - 6.925698e-001, - -7.450365e+000, - 7.747780e+000, - 3.681960e+000, - 1.688173e-001, - 9.054528e-001, - 8.229209e-001, - -1.060369e+000, - -1.751603e-001, - 8.678290e-001, - 5.136962e+000, - -5.014566e+000, - -1.283438e+000, - 6.547844e-001, - 9.420523e-001, - 6.738511e-001, - // albedo 0, turbidity 7 - -1.358251e+000, - -3.909003e-001, - -7.590093e-002, - -8.010253e-003, - -2.417641e-001, - 5.031789e-001, - 1.882499e-001, - 2.807060e+000, - 5.884485e-001, - -2.043506e+000, - -9.923881e-001, - -4.530797e-001, - 1.750575e+000, - -4.362236e-001, - 2.997323e-001, - 2.328504e-002, - 1.626543e-001, - 5.806819e-001, - -7.280672e-001, - 2.228069e-001, - 2.169765e-001, - -3.681736e+000, - 4.308793e+000, - 1.308622e+000, - 3.451835e-001, - 4.037459e+000, - 9.113772e-001, - -1.155299e+000, - -3.079453e-001, - -1.640569e-001, - 7.663297e+000, - -1.327817e+001, - -1.431157e+000, - 4.096359e-001, - -9.185502e-001, - 4.578034e-001, - -1.006427e+000, - -1.250087e-001, - 7.477012e-001, - 2.612704e+000, - 2.531799e+000, - 1.565371e+000, - 3.452604e-001, - 9.129266e-001, - 7.684386e-001, - -1.068759e+000, - -1.729191e-001, - 5.265652e-001, - 7.074812e+000, - -4.259958e+000, - -4.833255e-001, - 6.043380e-001, - 1.489203e+000, - 7.089074e-001, - // albedo 0, turbidity 8 - -1.398983e+000, - -4.500153e-001, - -5.189309e-001, - 1.546325e-001, - 4.187327e-001, - 2.811516e-001, - 2.379667e-001, - 2.801040e+000, - 5.198375e-001, - -2.970455e+000, - -1.529948e+000, - 1.094532e-001, - 7.382263e-001, - -1.024683e+000, - 2.074091e-001, - 1.397605e-001, - -6.743828e-001, - 3.496944e-001, - -3.942086e-001, - 3.424842e-001, - -1.253259e+000, - -9.268654e-001, - 5.636065e+000, - 8.224289e-001, - 2.452235e-001, - 5.864258e+000, - 1.202820e+000, - -1.181174e+000, - -4.197175e-001, - 1.429102e+000, - -7.894317e-003, - -1.239152e+001, - -5.753431e-001, - 3.552180e-001, - -4.495555e+000, - 2.141883e-001, - -1.060281e+000, - -1.080598e-001, - -3.276480e-001, - 1.369250e+001, - 1.504389e+000, - 6.401191e-001, - 2.437501e-001, - 3.212918e+000, - 9.172133e-001, - -1.037564e+000, - -2.018083e-001, - 6.250668e-001, - -2.525843e-003, - -3.269998e+000, - -2.649814e-001, - 6.600589e-001, - 3.337508e-001, - 6.516131e-001, - // albedo 0, turbidity 9 - -1.610481e+000, - -6.353902e-001, - -5.968977e-001, - 1.414037e+000, - -7.941453e-001, - 7.888684e-001, - 2.209045e-002, - 2.615106e+000, - 6.870260e-001, - -3.073343e+000, - -1.365905e+000, - -2.651943e-001, - -1.685310e+000, - 4.755874e-001, - -1.110669e-001, - 2.561961e-001, - 1.222045e+000, - 3.362780e-002, - -2.207768e+000, - -1.009608e+000, - -1.329601e+000, - 3.393091e+000, - 3.419104e+000, - -4.733375e-002, - 5.989185e-001, - 2.814641e+000, - 1.245189e+000, - -1.981173e-002, - 2.018414e-001, - 1.457765e+000, - -6.316169e+000, - -6.640569e+000, - 7.150646e-001, - -2.993748e-001, - -2.703376e+000, - 3.218596e-001, - -1.435873e+000, - -3.390505e-001, - -3.859047e-001, - 1.457464e+001, - -1.121591e+000, - -6.089868e-002, - 5.319220e-001, - 1.852395e+000, - 8.379521e-001, - -9.812568e-001, - -2.273751e-001, - 5.108069e-001, - -3.735693e-003, - -2.547988e+000, - -4.492561e-001, - 5.069199e-001, - 2.977910e-001, - 6.639273e-001, - // albedo 0, turbidity 10 - -2.056405e+000, - -9.703512e-001, - -3.731953e-001, - 2.052022e+000, - -1.445283e+000, - 6.103743e-001, - -9.389644e-006, - 2.198652e+000, - 8.567335e-001, - -2.105651e+000, - -8.924283e-001, - -6.868702e-001, - -1.665838e+000, - 4.795702e-001, - 5.228080e-001, - -4.272483e-002, - 2.661317e+000, - -1.154062e-001, - -6.179767e+000, - -2.651580e+000, - -1.527652e+000, - 2.692054e+000, - 2.293427e+000, - -1.005611e-001, - 9.545323e-001, - 1.367438e+000, - 1.169193e+000, - 1.240848e+000, - 1.126706e-001, - 1.620422e+000, - -3.384604e+000, - -5.545532e+000, - 4.928203e-001, - -5.999585e-001, - -1.407078e+000, - 4.193816e-001, - -1.539149e+000, - -2.081890e-001, - -4.552234e-001, - 1.056410e+001, - -1.048637e+000, - -2.780921e-001, - 5.682296e-001, - 6.785092e-001, - 7.729892e-001, - -1.036841e+000, - -4.359099e-001, - 4.767834e-001, - -3.794262e-003, - -1.980492e+000, - 9.954067e-002, - 3.037557e-001, - 2.156592e-002, - 6.845201e-001, - // albedo 1, turbidity 1 - -1.110980e+000, - -1.799491e-001, - -3.168600e+000, - 5.336662e+000, - -6.318131e-002, - 1.559251e+000, - 3.204341e-003, - 1.401140e+000, - 6.638144e-001, - -1.132332e+000, - -1.786787e-001, - 1.272954e+000, - 1.160211e+000, - -1.685885e-001, - 1.409550e+000, - 7.140682e-003, - 2.136473e+000, - 5.320908e-001, - -1.015776e+000, - -1.825058e-001, - 2.122848e+000, - -6.725506e-001, - -1.976294e-001, - 2.376807e+000, - -1.859856e-002, - -1.803033e+000, - 1.207528e+000, - -1.189845e+000, - -1.509036e-001, - 1.345709e+000, - 5.832609e-001, - -5.130839e-002, - 1.097035e+000, - 2.686911e-002, - 3.349361e+000, - -3.431297e-002, - -1.000281e+000, - -1.696328e-001, - 2.829408e+000, - -3.466041e-001, - 1.832532e+000, - 2.314637e+000, - -2.721994e-002, - -1.614939e+000, - 1.188720e+000, - -1.120411e+000, - -1.974172e-001, - 2.474172e+000, - 1.453506e-001, - -4.002206e+000, - 1.180333e+000, - 2.229171e-002, - 3.112615e-001, - 5.505539e-001, - // albedo 1, turbidity 2 - -1.112667e+000, - -1.574855e-001, - -2.284814e+000, - 4.255050e+000, - -1.386097e-001, - 1.459506e+000, - 4.508931e-002, - 2.944474e+000, - 7.339984e-001, - -1.113577e+000, - -1.331062e-001, - -1.828757e+000, - 3.910596e+000, - -2.095519e-001, - 1.159335e+000, - 9.311608e-002, - 4.517295e+000, - 6.365313e-001, - -1.061651e+000, - -2.007134e-001, - 5.907472e+000, - -4.808769e+000, - -2.120206e-001, - 2.727568e+000, - -4.222666e-002, - -2.599674e+000, - 9.265659e-001, - -1.136633e+000, - -4.281875e-003, - -3.407541e+000, - 4.132332e+000, - -3.866153e-001, - -5.082717e-001, - 4.828348e-001, - 9.797167e+000, - 3.325034e-001, - -1.027909e+000, - -2.334388e-001, - 4.972147e+000, - -1.499736e+000, - 9.598438e-002, - 2.744895e+000, - -3.558702e-001, - -4.288054e+000, - 1.000138e+000, - -1.102843e+000, - -1.875642e-001, - 2.087760e+000, - 3.692600e-001, - -6.520835e-001, - -9.598766e-001, - 2.984231e-001, - 4.045786e-001, - 5.091931e-001, - // albedo 1, turbidity 3 - -1.117485e+000, - -1.492968e-001, - -2.639425e+000, - 3.672106e+000, - -1.058342e-001, - 1.098101e+000, - 1.544782e-001, - 4.496691e+000, - 6.582312e-001, - -1.123872e+000, - -1.467158e-001, - 3.049045e+000, - -2.607634e+000, - -2.505495e-001, - -8.310458e-002, - 3.333822e-001, - 4.631418e+000, - 5.120491e-001, - -1.118262e+000, - -2.462050e-001, - -8.333919e-002, - 2.438788e+000, - 6.143236e-001, - 3.745903e+000, - -2.043295e-001, - -3.451983e+000, - 1.056003e+000, - -1.095394e+000, - 2.009680e-002, - 8.468659e-001, - 1.230624e-002, - -8.638525e+000, - -2.989487e+000, - 8.735734e-001, - 8.533740e+000, - 2.548062e-001, - -1.035035e+000, - -2.296018e-001, - 2.722309e+000, - 1.849369e-001, - 3.440975e+000, - 4.372083e+000, - -4.747494e-001, - -2.984092e+000, - 1.009737e+000, - -1.113497e+000, - -1.931400e-001, - 2.288509e+000, - 4.973129e-002, - -1.353292e-001, - -1.587772e+000, - 4.073801e-001, - -8.180513e-003, - 5.682569e-001, - // albedo 1, turbidity 4 - -1.172242e+000, - -2.084847e-001, - -1.212027e+000, - 1.991627e+000, - -1.403495e-001, - 7.684996e-001, - 1.582914e-001, - 3.407597e+000, - 6.659386e-001, - -1.167834e+000, - -2.117291e-001, - 1.196578e+000, - -1.438719e+000, - -3.137939e-001, - -4.537552e-002, - 2.260096e-001, - 4.659389e+000, - 5.776369e-001, - -1.222298e+000, - -2.893306e-001, - 9.080116e-001, - 1.413518e+000, - 1.709237e+000, - 2.915962e+000, - 8.464584e-002, - -3.867076e+000, - 9.110543e-001, - -9.554071e-001, - 6.610246e-002, - -3.323811e-001, - 2.702543e+000, - -1.345592e+001, - -3.119309e+000, - 7.740473e-001, - 7.452516e+000, - 3.929172e-001, - -1.119763e+000, - -2.579942e-001, - 2.830634e+000, - -1.333418e+000, - 6.825773e+000, - 4.230596e+000, - -2.654108e-001, - -2.669457e+000, - 9.126183e-001, - -1.084261e+000, - -2.086570e-001, - 2.248616e+000, - 6.993871e-001, - -2.391760e+000, - -1.738827e+000, - 3.674794e-001, - -5.324741e-001, - 6.183292e-001, - // albedo 1, turbidity 5 - -1.226325e+000, - -2.688667e-001, - -1.462040e-001, - 4.749868e-001, - -8.718681e-002, - 4.956704e-001, - 1.752427e-001, - 2.933911e+000, - 6.470198e-001, - -1.359737e+000, - -3.985716e-001, - -1.570034e-001, - 1.277905e+000, - -1.314322e+000, - 4.320873e-001, - 8.532731e-002, - 2.774395e+000, - 6.318556e-001, - -1.088212e+000, - -1.688766e-001, - 1.399098e+000, - -3.254950e+000, - 4.733557e+000, - 2.079183e+000, - 1.907990e-001, - -9.540048e-001, - 8.714774e-001, - -1.034524e+000, - -1.050729e-002, - -8.054376e-001, - 1.166351e+001, - -1.879498e+001, - -3.021428e+000, - 7.755251e-001, - 4.516574e+000, - 4.092690e-001, - -1.076150e+000, - -2.551781e-001, - 2.797790e+000, - -5.437950e+000, - 9.156159e+000, - 3.988462e+000, - -2.324172e-001, - -2.124766e+000, - 8.863276e-001, - -1.103432e+000, - -2.058047e-001, - 2.117130e+000, - 2.401558e+000, - -5.015370e+000, - -1.829480e+000, - 4.046378e-001, - -2.078794e-001, - 6.449045e-001, - // albedo 1, turbidity 6 - -1.263516e+000, - -3.133966e-001, - 3.174560e-001, - -4.989246e-003, - -2.317630e+000, - 3.963746e-001, - 1.677262e-001, - 2.563898e+000, - 6.335899e-001, - -1.577927e+000, - -5.893907e-001, - -2.991531e-001, - 1.783728e+000, - 3.693827e+000, - 5.704918e-001, - 6.768069e-002, - 2.215180e+000, - 6.196162e-001, - -9.191335e-001, - -4.529201e-002, - 1.577262e+000, - -6.455191e+000, - -4.020064e+000, - 1.309911e+000, - 1.373281e-001, - -7.178508e-001, - 9.243738e-001, - -1.144508e+000, - -9.289247e-002, - -1.606387e+000, - 2.061805e+001, - -1.051527e+001, - -2.077164e+000, - 8.328239e-001, - 4.729795e+000, - 3.298487e-001, - -1.018834e+000, - -2.186851e-001, - 3.321767e+000, - -7.887012e+000, - 3.374834e+000, - 3.005232e+000, - -2.515037e-001, - -2.656610e+000, - 9.316017e-001, - -1.125230e+000, - -2.422532e-001, - 1.850916e+000, - 6.213105e+000, - -5.017914e+000, - -1.644457e+000, - 3.811828e-001, - -1.772362e-001, - 6.297360e-001, - // albedo 1, turbidity 7 - -1.365631e+000, - -4.017085e-001, - 1.942501e-001, - -7.073927e-003, - -1.461125e-001, - 4.898017e-001, - 1.623346e-001, - 2.330174e+000, - 5.983242e-001, - -1.957177e+000, - -9.640834e-001, - -2.217521e-001, - 1.316645e+000, - -1.907085e-001, - 1.134191e-002, - 9.704476e-002, - 3.828565e-002, - 5.538419e-001, - -7.832629e-001, - 1.949904e-001, - 6.232354e-001, - -2.947737e+000, - 3.702377e+000, - 2.212239e+000, - 9.128296e-002, - 3.131504e+000, - 9.923939e-001, - -1.121562e+000, - -2.704893e-001, - -5.161748e-001, - 8.115427e+000, - -1.443497e+001, - -3.292676e+000, - 8.232212e-001, - -1.548451e-002, - 3.199244e-001, - -1.059207e+000, - -1.613941e-001, - 2.375866e+000, - -9.517705e-002, - 4.514722e+000, - 3.755824e+000, - -1.696953e-001, - -2.539157e-001, - 8.992553e-001, - -1.108877e+000, - -2.404852e-001, - 1.830175e+000, - 2.808956e+000, - -4.932362e+000, - -2.042775e+000, - 4.168739e-001, - -2.534590e-001, - 6.533212e-001, - // albedo 1, turbidity 8 - -1.405398e+000, - -4.540068e-001, - -4.766512e-001, - 1.871207e-001, - 5.535070e-001, - -4.467365e-002, - 2.846366e-001, - 2.443422e+000, - 5.035706e-001, - -2.843953e+000, - -1.562366e+000, - 8.527921e-001, - 5.991182e-001, - -9.984088e-001, - 7.599314e-001, - -2.025184e-002, - -1.515050e+000, - 4.397429e-001, - -5.156586e-001, - 3.789775e-001, - -1.194407e+000, - -7.591558e-001, - 4.515532e+000, - 4.795814e-001, - 3.163186e-001, - 5.993132e+000, - 1.096327e+000, - -1.070353e+000, - -4.037269e-001, - 1.108932e+000, - 1.269159e+000, - -1.099135e+001, - -1.049849e+000, - 4.644725e-001, - -4.387074e+000, - 2.704008e-001, - -1.136211e+000, - -1.473182e-001, - 1.235769e+000, - 5.725364e+000, - 1.712036e+000, - 1.630777e+000, - 3.656685e-002, - 2.082798e+000, - 9.036801e-001, - -1.083101e+000, - -2.468910e-001, - 1.894919e+000, - 6.574012e+000, - -4.949098e+000, - -1.132033e+000, - 3.336584e-001, - -7.321133e-001, - 6.606587e-001, - // albedo 1, turbidity 9 - -1.609910e+000, - -6.550380e-001, - -5.773346e-001, - 1.426156e+000, - -5.000686e-001, - 8.257866e-001, - 1.839148e-002, - 2.106656e+000, - 6.957214e-001, - -3.047283e+000, - -1.421592e+000, - -4.003615e-001, - -6.531692e-001, - 5.643821e-001, - -2.693762e-001, - 2.295553e-001, - 5.533910e-001, - 2.751822e-002, - -2.160824e+000, - -9.212504e-001, - -8.438420e-001, - 1.466021e+000, - 1.124686e+000, - -6.848173e-002, - 6.224893e-001, - 3.137662e+000, - 1.224147e+000, - 1.444817e-002, - 1.418426e-001, - 7.055176e-001, - -1.787432e+000, - -1.625625e+000, - 7.638401e-001, - -3.309940e-001, - -3.414755e+000, - 3.580691e-001, - -1.480512e+000, - -3.141638e-001, - 1.193403e+000, - 6.152773e+000, - -3.314867e+000, - 1.345353e-001, - 5.359935e-001, - 1.409582e+000, - 8.072343e-001, - -1.016066e+000, - -2.346375e-001, - 1.457587e+000, - -2.761458e-003, - -2.546952e+000, - -6.058542e-001, - 3.134230e-001, - -2.232281e-001, - 6.760089e-001, - // albedo 1, turbidity 10 - -2.019395e+000, - -9.550942e-001, - -1.187885e-001, - 1.995372e+000, - -1.604228e+000, - 4.995785e-001, - -9.647137e-006, - 1.929333e+000, - 8.659254e-001, - -2.071307e+000, - -9.485438e-001, - -3.817151e-001, - -1.657017e+000, - 9.488626e-001, - 5.816145e-001, - -3.856514e-002, - 1.677756e+000, - -1.262572e-001, - -6.388445e+000, - -2.738739e+000, - -9.872469e-001, - 2.450058e+000, - 1.075999e+000, - 2.305434e-002, - 8.598771e-001, - 1.853582e+000, - 1.180017e+000, - 1.742851e+000, - 2.950102e-001, - 1.015937e+000, - -2.511194e+000, - -3.829361e+000, - -1.126698e-001, - -4.564605e-001, - -2.097128e+000, - 4.012648e-001, - -1.845177e+000, - -3.242819e-001, - 7.060963e-001, - 7.747868e+000, - -1.721532e+000, - 6.057347e-001, - 4.266212e-001, - 3.153697e-001, - 7.958222e-001, - -9.599955e-001, - -3.732025e-001, - 1.381129e+000, - -3.983023e-003, - -1.941446e+000, - -5.943490e-001, - 2.269207e-001, - -7.249738e-001, - 6.710888e-001, -}; - -double datasetRad680[] = -{ - // albedo 0, turbidity 1 - 1.069136e-001, - 7.429652e-002, - 2.056544e-001, - 2.763020e-001, - 2.214969e-001, - 2.265690e-001, - // albedo 0, turbidity 2 - 1.104352e-001, - 7.802008e-002, - 1.987620e-001, - 4.426471e-001, - 1.961324e-001, - 2.622675e-001, - // albedo 0, turbidity 3 - 1.098059e-001, - 7.983873e-002, - 1.632683e-001, - 7.073005e-001, - 1.731280e-001, - 3.099027e-001, - // albedo 0, turbidity 4 - 1.031706e-001, - 8.474020e-002, - 5.727517e-002, - 1.115427e+000, - 1.666019e-001, - 3.729170e-001, - // albedo 0, turbidity 5 - 9.321128e-002, - 1.157084e-001, - -1.460692e-001, - 1.597840e+000, - 1.062877e-001, - 4.640498e-001, - // albedo 0, turbidity 6 - 8.816825e-002, - 1.391452e-001, - -2.899934e-001, - 1.874267e+000, - 1.135532e-001, - 5.090668e-001, - // albedo 0, turbidity 7 - 7.855885e-002, - 1.795611e-001, - -5.035302e-001, - 2.242952e+000, - 1.336585e-001, - 5.946044e-001, - // albedo 0, turbidity 8 - 6.763602e-002, - 2.205196e-001, - -7.151851e-001, - 2.508741e+000, - 3.330016e-001, - 6.895142e-001, - // albedo 0, turbidity 9 - 5.687157e-002, - 2.382926e-001, - -7.951639e-001, - 2.380214e+000, - 8.486318e-001, - 8.192685e-001, - // albedo 0, turbidity 10 - 4.804473e-002, - 1.966076e-001, - -5.859989e-001, - 1.534534e+000, - 1.866946e+000, - 9.528688e-001, - // albedo 1, turbidity 1 - 1.109470e-001, - 8.190043e-002, - 2.023152e-001, - 2.721896e-001, - 5.193682e-001, - 5.401298e-001, - // albedo 1, turbidity 2 - 1.147364e-001, - 8.626295e-002, - 1.944652e-001, - 4.314563e-001, - 5.265573e-001, - 5.928457e-001, - // albedo 1, turbidity 3 - 1.138018e-001, - 9.568157e-002, - 1.324943e-001, - 7.414987e-001, - 4.882138e-001, - 6.992066e-001, - // albedo 1, turbidity 4 - 1.069268e-001, - 1.061070e-001, - 8.235325e-003, - 1.173655e+000, - 5.092401e-001, - 8.123288e-001, - // albedo 1, turbidity 5 - 9.671533e-002, - 1.365510e-001, - -1.887680e-001, - 1.636105e+000, - 4.931799e-001, - 9.534092e-001, - // albedo 1, turbidity 6 - 9.120079e-002, - 1.542261e-001, - -3.079008e-001, - 1.860609e+000, - 5.696775e-001, - 1.003946e+000, - // albedo 1, turbidity 7 - 8.298575e-002, - 1.891728e-001, - -5.047613e-001, - 2.191998e+000, - 6.314728e-001, - 1.138476e+000, - // albedo 1, turbidity 8 - 7.299294e-002, - 2.200614e-001, - -6.649578e-001, - 2.320101e+000, - 9.665028e-001, - 1.260207e+000, - // albedo 1, turbidity 9 - 6.270944e-002, - 2.186724e-001, - -6.537155e-001, - 1.958369e+000, - 1.721545e+000, - 1.362280e+000, - // albedo 1, turbidity 10 - 5.423905e-002, - 1.687944e-001, - -4.102190e-001, - 1.017356e+000, - 2.817177e+000, - 1.498748e+000, -}; - -double dataset720[] = -{ - // albedo 0, turbidity 1 - -1.110553e+000, - -1.675726e-001, - -2.349324e-001, - 2.433790e+000, - -1.342878e-001, - 1.755516e+000, - -1.879493e-006, - 1.509217e+000, - 7.216495e-001, - -1.149960e+000, - -2.418229e-001, - 2.341927e+000, - 1.486508e-001, - -4.333388e-001, - 9.028740e-001, - 9.450710e-003, - -3.134790e-001, - 5.923234e-001, - -9.702430e-001, - -5.384657e-002, - 3.025898e+000, - -6.450284e-001, - 9.728166e-001, - 3.532967e+000, - -2.429753e-002, - 1.343614e+000, - 1.067807e+000, - -1.278773e+000, - -2.072018e-001, - -2.458359e-001, - 3.749133e-001, - -9.580484e+000, - 3.066020e-001, - 4.056471e-002, - 4.343208e+000, - 1.865704e-001, - -9.511618e-001, - -1.674143e-001, - 4.195842e+000, - -1.205785e-001, - 2.160133e+000, - 3.048813e+000, - -4.826924e-002, - -3.779096e+000, - 1.024834e+000, - -1.095577e+000, - -1.855865e-001, - 1.973593e+000, - 7.894097e-002, - 9.578182e-001, - 8.565674e-001, - 4.663966e-002, - 7.375811e-001, - 5.577192e-001, - // albedo 0, turbidity 2 - -1.099352e+000, - -1.338612e-001, - -8.419373e-001, - 2.710346e+000, - -2.241044e-001, - 1.645463e+000, - 7.621625e-002, - 3.548772e+000, - 7.268231e-001, - -1.140694e+000, - -1.723890e-001, - 1.413194e+000, - 3.429051e-001, - -4.431396e-001, - 9.757402e-001, - 1.248306e-001, - 1.780103e+000, - 6.637254e-001, - -9.861499e-001, - -8.032931e-002, - 2.396682e+000, - 7.281382e-001, - 1.472495e-001, - 3.316479e+000, - -1.028439e-001, - 3.729469e+000, - 9.059004e-001, - -1.233397e+000, - -9.896833e-002, - -1.679568e+000, - 1.542653e+000, - -9.977726e+000, - -6.579124e-001, - 6.386315e-001, - 6.157752e+000, - 3.985939e-001, - -9.438092e-001, - -1.629239e-001, - 4.213446e+000, - -3.419684e-001, - 2.110121e+000, - 3.552183e+000, - -2.817116e-001, - -3.323718e+000, - 8.785077e-001, - -1.120794e+000, - -2.121477e-001, - 1.326767e+000, - 2.317528e-001, - 5.648291e-001, - 4.155089e-001, - 3.048162e-001, - 3.186797e-001, - 6.285665e-001, - // albedo 0, turbidity 3 - -1.117191e+000, - -1.510453e-001, - -3.511136e-001, - 1.706946e+000, - -3.820460e-001, - 1.228101e+000, - 1.641555e-001, - 3.663544e+000, - 6.846104e-001, - -1.130950e+000, - -1.622534e-001, - 1.197076e+000, - -1.342532e+000, - 6.608991e-002, - -1.955817e-001, - 3.515286e-001, - 3.237403e+000, - 5.732364e-001, - -1.103903e+000, - -1.810472e-001, - 1.254237e+000, - 3.367565e+000, - -1.746589e+000, - 4.464939e+000, - -2.831757e-001, - -2.424241e-001, - 9.961252e-001, - -1.107818e+000, - -2.407723e-002, - -7.518594e-001, - 7.115830e+000, - -1.603375e+001, - -4.077248e+000, - 1.210904e+000, - 6.281392e+000, - 2.496837e-001, - -1.012153e+000, - -1.911658e-001, - 2.357463e+000, - -2.392720e+000, - 7.080581e+000, - 6.002768e+000, - -5.120158e-001, - -2.039879e+000, - 1.008071e+000, - -1.083766e+000, - -1.889743e-001, - 1.669813e+000, - 1.205140e+000, - -2.973102e+000, - -1.420288e+000, - 5.838643e-001, - 1.338574e-001, - 5.902153e-001, - // albedo 0, turbidity 4 - -1.176390e+000, - -2.045914e-001, - -1.035177e+000, - 1.521425e+000, - -9.698257e-002, - 7.561111e-001, - 2.338582e-001, - 3.264500e+000, - 6.520267e-001, - -1.132876e+000, - -1.921539e-001, - 9.661015e-001, - -2.470184e-001, - -5.825797e-001, - 5.044517e-001, - 1.418233e-001, - 4.416172e+000, - 6.580570e-001, - -1.296062e+000, - -2.855719e-001, - 1.143329e+000, - -1.640682e+000, - 1.921828e+000, - 1.625086e+000, - 5.248871e-001, - -3.757434e+000, - 7.293814e-001, - -9.026255e-001, - 2.670242e-002, - -8.632572e-001, - 7.076787e+000, - -1.407525e+001, - -1.251814e+000, - 1.806495e-001, - 6.575978e+000, - 6.367149e-001, - -1.103623e+000, - -1.818983e-001, - 1.490037e+000, - -3.276017e+000, - 6.936153e+000, - 2.689183e+000, - 5.705211e-001, - -1.354153e+000, - 7.095230e-001, - -1.049370e+000, - -1.854814e-001, - 1.385509e+000, - 1.714977e+000, - -3.205204e+000, - -1.161420e-001, - 3.453320e-001, - 4.355508e-001, - 7.115006e-001, - // albedo 0, turbidity 5 - -1.225291e+000, - -2.574996e-001, - -4.766919e-001, - 4.951357e-001, - 5.242961e-002, - 4.702062e-001, - 2.428653e-001, - 3.095075e+000, - 6.424221e-001, - -1.318856e+000, - -3.713082e-001, - -4.987985e-001, - 2.026237e+000, - -1.457426e+000, - 7.809557e-001, - 1.419197e-003, - 2.776845e+000, - 7.058454e-001, - -1.168038e+000, - -1.572586e-001, - 1.786834e+000, - -4.594005e+000, - 4.780600e+000, - 1.639416e+000, - 5.324063e-001, - -1.000719e+000, - 7.325083e-001, - -9.862998e-001, - -7.482649e-002, - -1.332445e+000, - 1.329260e+001, - -1.803019e+001, - -2.669936e+000, - 3.591475e-001, - 3.852972e+000, - 5.714399e-001, - -1.049025e+000, - -1.404280e-001, - 1.342894e+000, - -5.633938e+000, - 8.396123e+000, - 3.809869e+000, - 4.313231e-001, - -5.373938e-001, - 7.693298e-001, - -1.069033e+000, - -2.091865e-001, - 1.088280e+000, - 3.125506e+000, - -4.664580e+000, - -1.191484e+000, - 5.195344e-001, - 3.961673e-001, - 6.817393e-001, - // albedo 0, turbidity 6 - -1.267895e+000, - -3.004228e-001, - -5.149611e-001, - 4.302967e-001, - 1.504018e-001, - 3.700643e-001, - 2.354209e-001, - 2.887788e+000, - 6.298388e-001, - -1.551925e+000, - -5.917820e-001, - -5.915642e-001, - 2.016019e+000, - -1.252286e+000, - 8.651065e-001, - 7.721402e-003, - 1.148828e+000, - 6.589887e-001, - -9.782795e-001, - 3.652455e-002, - 1.331304e+000, - -4.804135e+000, - 5.130801e+000, - 1.052586e+000, - 4.439877e-001, - 2.100157e+000, - 8.308236e-001, - -1.077598e+000, - -2.015253e-001, - -1.037818e+000, - 1.307045e+001, - -1.715211e+001, - -1.607252e+000, - 4.472382e-001, - 6.802371e-001, - 4.848934e-001, - -1.025969e+000, - -1.170376e-001, - 1.139546e+000, - -3.374680e+000, - 6.330035e+000, - 2.199093e+000, - 3.928627e-001, - 8.428666e-001, - 7.960910e-001, - -1.062382e+000, - -1.881842e-001, - 8.863153e-001, - 4.266858e+000, - -5.011692e+000, - -4.086830e-001, - 5.889147e-001, - 5.341939e-001, - 6.866073e-001, - // albedo 0, turbidity 7 - -1.352417e+000, - -3.836953e-001, - -5.951560e-001, - 4.053297e-001, - 2.468304e-001, - 2.565711e-001, - 2.321365e-001, - 2.512376e+000, - 6.089904e-001, - -1.976438e+000, - -9.152777e-001, - -4.417666e-001, - 1.790189e+000, - -1.085567e+000, - 4.562228e-001, - 2.133332e-002, - 4.989856e-001, - 6.257100e-001, - -7.197412e-001, - 2.165210e-001, - 6.233215e-001, - -3.960686e+000, - 4.694083e+000, - 2.062797e+000, - 3.121864e-001, - 2.942681e+000, - 8.846033e-001, - -1.189984e+000, - -3.151612e-001, - -5.020073e-001, - 1.015136e+001, - -1.483684e+001, - -3.476730e+000, - 6.049863e-001, - -1.941153e-001, - 4.281015e-001, - -9.781383e-001, - -8.764833e-002, - 8.290915e-001, - 1.086960e-001, - 4.467570e+000, - 3.905633e+000, - 1.975895e-001, - 6.964295e-001, - 8.333166e-001, - -1.081242e+000, - -2.051949e-001, - 6.056482e-001, - 5.219268e+000, - -4.410608e+000, - -1.963212e+000, - 7.277904e-001, - 8.509624e-001, - 6.689251e-001, - // albedo 0, turbidity 8 - -1.443212e+000, - -4.725757e-001, - -9.477961e-001, - 2.671049e-001, - 6.163577e-001, - -3.965036e-001, - 4.071134e-001, - 2.464218e+000, - 4.997820e-001, - -3.021428e+000, - -1.558459e+000, - 1.389763e-001, - 1.122031e+000, - -1.014816e+000, - 1.265687e+000, - -1.649604e-001, - -6.627923e-001, - 5.494665e-001, - -1.593477e-001, - 5.076305e-001, - -7.283933e-001, - -1.265076e+000, - 3.904153e+000, - -8.196757e-002, - 6.585734e-001, - 4.998464e+000, - 9.330667e-001, - -1.378374e+000, - -5.064534e-001, - 7.231197e-001, - 1.385088e+000, - -9.500118e+000, - -4.806746e-001, - 1.067642e-001, - -3.297209e+000, - 4.441955e-001, - -9.436176e-001, - -6.189764e-002, - 1.144482e-001, - 9.137694e+000, - 2.948867e-001, - 1.224655e+000, - 3.675148e-001, - 2.124090e+000, - 8.014519e-001, - -1.078915e+000, - -2.051854e-001, - 4.754209e-001, - 5.826389e-003, - -2.498632e+000, - -8.265078e-001, - 7.644670e-001, - 6.066256e-001, - 6.811963e-001, - // albedo 0, turbidity 9 - -1.621711e+000, - -6.425839e-001, - -7.307813e-001, - 1.109519e+000, - -4.107299e-001, - 7.789953e-001, - 7.764812e-002, - 2.335627e+000, - 6.230915e-001, - -4.003597e+000, - -1.736865e+000, - -6.062450e-001, - -7.370264e-001, - 7.002778e-001, - -4.140325e-001, - 3.926087e-001, - 8.316399e-001, - 1.516341e-001, - -7.696712e-001, - -3.872306e-001, - -1.159436e+000, - 1.660752e+000, - 2.031840e+000, - -7.697685e-001, - 5.481684e-001, - 2.788249e+000, - 1.112977e+000, - -8.506589e-001, - -5.430791e-002, - 1.088719e+000, - -2.513532e+000, - -4.144477e+000, - 2.760914e+000, - -3.011272e-001, - -2.383556e+000, - 4.496070e-001, - -1.150061e+000, - -3.009215e-001, - -9.176868e-002, - 8.996074e+000, - -1.753862e+000, - -2.428423e+000, - 5.764492e-001, - 1.218492e+000, - 7.552230e-001, - -1.020853e+000, - -1.499849e-001, - 3.437744e-001, - -2.339597e-003, - -2.646520e+000, - 1.378457e+000, - 6.708410e-001, - 9.149680e-001, - 6.961806e-001, - // albedo 0, turbidity 10 - -1.982394e+000, - -9.369621e-001, - -3.767595e-001, - 2.514582e+000, - -1.501415e+000, - 6.258952e-001, - -5.260430e-006, - 2.100142e+000, - 7.824077e-001, - -3.432415e+000, - -1.264283e+000, - -9.042363e-001, - -2.930432e+000, - 8.249096e-001, - 7.244840e-001, - 3.055253e-002, - 2.527405e+000, - -2.107031e-003, - -4.333533e+000, - -2.156157e+000, - -8.341654e-001, - 5.048387e+000, - 1.803580e+000, - -9.318434e-001, - 1.085401e+000, - 8.728330e-001, - 1.050061e+000, - 4.889224e-001, - 5.956721e-002, - 8.445388e-001, - -7.479177e+000, - -4.049292e+000, - 1.199966e+000, - -7.060560e-001, - -9.742353e-001, - 4.893674e-001, - -1.347508e+000, - -1.874523e-001, - -5.063342e-002, - 1.299813e+001, - -1.707387e+000, - -4.076088e-001, - 6.119042e-001, - 3.717790e-001, - 7.662157e-001, - -1.047037e+000, - -3.743109e-001, - 3.452375e-001, - -3.615559e-003, - -2.169432e+000, - -7.166880e-002, - 3.747046e-001, - 2.746126e-001, - 6.773818e-001, - // albedo 1, turbidity 1 - -1.105396e+000, - -1.663441e-001, - -2.359634e-001, - 2.476496e+000, - -1.329052e-001, - 1.715759e+000, - 2.103991e-003, - 1.421966e+000, - 6.270733e-001, - -1.132480e+000, - -2.330883e-001, - 2.273938e+000, - 2.422717e-001, - -4.159883e-001, - 9.350714e-001, - 1.432347e-002, - -4.176684e-001, - 4.664640e-001, - -1.036155e+000, - -9.432450e-002, - 3.117262e+000, - -6.369808e-001, - 1.060389e+000, - 3.386481e+000, - -4.605081e-002, - 1.248000e+000, - 9.701974e-001, - -1.162485e+000, - -1.382303e-001, - 1.544122e-001, - 3.716511e-001, - -9.520209e+000, - -2.739605e-001, - 8.489054e-002, - 4.371570e+000, - 7.694391e-002, - -1.031787e+000, - -2.165067e-001, - 4.446666e+000, - -1.470711e-001, - 2.143436e+000, - 1.922123e+000, - -9.589030e-002, - -3.594664e+000, - 8.629249e-001, - -1.081125e+000, - -1.623953e-001, - 2.048137e+000, - 8.639386e-002, - 1.225845e+000, - 1.239255e-001, - 8.366038e-002, - 8.322625e-001, - 5.604708e-001, - // albedo 1, turbidity 2 - -1.112606e+000, - -1.514491e-001, - -1.608942e+000, - 3.592344e+000, - -1.616115e-001, - 1.593861e+000, - 5.488306e-002, - 2.854783e+000, - 7.519999e-001, - -1.098630e+000, - -1.410161e-001, - 2.155487e+000, - -4.381610e-001, - -3.635146e-001, - 1.313843e+000, - 1.201277e-001, - 2.469958e+000, - 6.481071e-001, - -1.077575e+000, - -1.275645e-001, - 1.418205e+000, - 2.057232e+000, - -7.778503e-002, - 2.433840e+000, - -7.094034e-002, - 3.347259e+000, - 9.344752e-001, - -1.099714e+000, - -4.474282e-002, - -1.247041e-001, - -1.578342e-001, - -7.968895e+000, - 1.730912e-001, - 5.303765e-001, - 5.523179e+000, - 3.840340e-001, - -1.061945e+000, - -2.200148e-001, - 4.333103e+000, - 1.818948e-002, - 1.907751e+000, - 1.560633e+000, - -3.182192e-001, - -3.010282e+000, - 8.844351e-001, - -1.087782e+000, - -1.709041e-001, - 1.834683e+000, - 7.351214e-002, - 1.282669e+000, - 2.075884e-001, - 2.698971e-001, - 3.373859e-001, - 5.808336e-001, - // albedo 1, turbidity 3 - -1.121417e+000, - -1.551220e-001, - -1.527123e+000, - 2.788105e+000, - -1.477847e-001, - 1.152139e+000, - 1.742181e-001, - 3.473417e+000, - 6.737050e-001, - -1.118910e+000, - -1.496848e-001, - 2.736873e+000, - -1.829596e+000, - -3.411991e-001, - 1.177538e-001, - 2.960683e-001, - 3.273898e+000, - 5.743833e-001, - -1.121145e+000, - -1.980292e-001, - -5.407002e-001, - 2.886807e+000, - 4.877852e-001, - 3.692424e+000, - -1.104033e-001, - -2.358878e-001, - 9.976295e-001, - -1.078889e+000, - -1.541161e-003, - 1.370650e+000, - 1.644450e+000, - -1.425572e+001, - -3.075430e+000, - 9.346385e-001, - 5.871863e+000, - 2.618026e-001, - -1.053346e+000, - -2.262166e-001, - 2.532003e+000, - -8.720058e-001, - 7.667901e+000, - 4.357082e+000, - -5.367969e-001, - -2.073329e+000, - 1.023965e+000, - -1.100093e+000, - -1.810893e-001, - 2.566430e+000, - 4.757700e-001, - -2.069684e+000, - -1.585209e+000, - 4.693140e-001, - -6.719615e-001, - 5.569453e-001, - // albedo 1, turbidity 4 - -1.181528e+000, - -2.151896e-001, - -1.076470e+000, - 2.037517e+000, - -1.683559e-001, - 8.780110e-001, - 1.782773e-001, - 2.768650e+000, - 6.743293e-001, - -1.142132e+000, - -1.825403e-001, - 1.320992e+000, - -1.895472e+000, - -2.160241e-001, - -2.079637e-001, - 3.424953e-001, - 4.333355e+000, - 5.663420e-001, - -1.225408e+000, - -2.906477e-001, - 8.323962e-001, - 2.176300e+000, - 1.943859e+000, - 3.003671e+000, - 1.130255e-001, - -4.449977e+000, - 8.867390e-001, - -9.815988e-001, - 5.577004e-002, - -4.240348e-001, - 1.488466e+000, - -1.279361e+001, - -3.110899e+000, - 7.360104e-001, - 7.937751e+000, - 4.474817e-001, - -1.103439e+000, - -2.481553e-001, - 3.045691e+000, - -6.993993e-001, - 6.081464e+000, - 3.986228e+000, - -1.616828e-001, - -3.373973e+000, - 8.572294e-001, - -1.081695e+000, - -1.943361e-001, - 2.303236e+000, - 3.906537e-001, - -1.498982e+000, - -1.372140e+000, - 3.379214e-001, - -4.953601e-001, - 6.521383e-001, - // albedo 1, turbidity 5 - -1.235776e+000, - -2.745978e-001, - 2.205316e-002, - 4.505193e-001, - -1.569202e-001, - 5.065039e-001, - 2.016320e-001, - 2.449382e+000, - 6.535188e-001, - -1.268478e+000, - -3.078367e-001, - -2.041769e-001, - 1.189583e+000, - -1.311782e+000, - 4.724677e-001, - 1.025764e-001, - 3.300615e+000, - 6.689797e-001, - -1.190389e+000, - -2.597641e-001, - 1.377486e+000, - -2.289003e+000, - 4.214767e+000, - 1.900318e+000, - 3.126604e-001, - -2.537399e+000, - 7.980811e-001, - -9.632300e-001, - 7.067379e-002, - -6.690546e-001, - 9.507059e+000, - -1.721426e+001, - -2.850631e+000, - 6.931159e-001, - 5.722238e+000, - 4.856193e-001, - -1.119689e+000, - -3.019499e-001, - 2.657474e+000, - -5.208105e+000, - 1.015200e+001, - 3.863887e+000, - -1.603721e-001, - -3.132328e+000, - 8.543154e-001, - -1.078742e+000, - -1.840880e-001, - 2.341448e+000, - 2.576821e+000, - -5.011296e+000, - -1.671996e+000, - 3.955131e-001, - -4.700684e-001, - 6.516593e-001, - // albedo 1, turbidity 6 - -1.263449e+000, - -3.016185e-001, - -1.680842e-001, - 4.791728e-001, - -8.989862e-002, - 5.069014e-001, - 1.892810e-001, - 2.535339e+000, - 6.506411e-001, - -1.544305e+000, - -5.656222e-001, - -2.084263e-001, - 1.312304e+000, - -8.580598e-001, - 4.039133e-001, - 1.008588e-001, - 1.268784e+000, - 6.333075e-001, - -9.436041e-001, - -1.620107e-002, - 1.253874e+000, - -3.499120e+000, - 4.452594e+000, - 1.870490e+000, - 1.524710e-001, - 8.031346e-001, - 8.930942e-001, - -1.106718e+000, - -1.102586e-001, - -8.803979e-001, - 1.326904e+001, - -1.878253e+001, - -2.994671e+000, - 9.501205e-001, - 2.284893e+000, - 3.662824e-001, - -1.048783e+000, - -2.156089e-001, - 2.786728e+000, - -4.862603e+000, - 8.438175e+000, - 3.683031e+000, - -3.092444e-001, - -1.293934e+000, - 9.110045e-001, - -1.108140e+000, - -2.156079e-001, - 2.181504e+000, - 2.124553e+000, - -5.007442e+000, - -1.711417e+000, - 4.904871e-001, - -8.710312e-001, - 6.376965e-001, - // albedo 1, turbidity 7 - -1.345282e+000, - -3.856197e-001, - -1.975094e-001, - 3.016919e-001, - 2.765844e-001, - 2.092275e-001, - 2.251325e-001, - 2.058589e+000, - 6.014266e-001, - -1.907309e+000, - -8.881952e-001, - -4.827860e-001, - 1.495665e+000, - -9.243173e-001, - 3.864061e-001, - 7.491538e-002, - 2.719526e-001, - 6.046039e-001, - -7.540737e-001, - 1.800167e-001, - 1.174575e+000, - -3.052295e+000, - 4.669060e+000, - 1.793876e+000, - 1.664066e-001, - 2.376187e+000, - 9.261122e-001, - -1.165479e+000, - -2.500464e-001, - -9.603937e-001, - 8.919733e+000, - -1.561899e+001, - -2.850650e+000, - 8.368531e-001, - 3.404393e-001, - 3.694265e-001, - -1.032259e+000, - -1.593662e-001, - 2.621639e+000, - -5.369281e-001, - 6.011517e+000, - 3.234312e+000, - -1.842335e-001, - -3.749684e-001, - 8.913063e-001, - -1.119906e+000, - -2.533313e-001, - 2.017975e+000, - 4.776492e-001, - -5.005474e+000, - -1.503414e+000, - 4.694448e-001, - -1.039200e+000, - 6.438630e-001, - // albedo 1, turbidity 8 - -1.457842e+000, - -4.806585e-001, - -6.807833e-001, - 2.682520e-001, - 5.586195e-001, - -2.806536e-001, - 3.694491e-001, - 2.169304e+000, - 4.997873e-001, - -2.906600e+000, - -1.558470e+000, - 4.048869e-001, - 1.012321e+000, - -8.709928e-001, - 9.025637e-001, - -9.171486e-002, - -1.279805e+000, - 5.327924e-001, - -2.500868e-001, - 5.175467e-001, - -4.366020e-001, - -1.156645e+000, - 3.657335e+000, - 4.092973e-001, - 4.611188e-001, - 4.971048e+000, - 9.789196e-001, - -1.282240e+000, - -4.792753e-001, - 3.824491e-001, - 2.061672e+000, - -9.474747e+000, - -1.080446e+000, - 3.852100e-001, - -3.234591e+000, - 3.696703e-001, - -1.046065e+000, - -1.097023e-001, - 1.672284e+000, - 4.799701e+000, - 1.286403e+000, - 1.712569e+000, - 1.099301e-001, - 1.214451e+000, - 8.572886e-001, - -1.104124e+000, - -2.576744e-001, - 1.919030e+000, - -1.296687e-003, - -3.500874e+000, - -1.048831e+000, - 3.929400e-001, - -9.229794e-001, - 6.687909e-001, - // albedo 1, turbidity 9 - -1.658918e+000, - -6.637256e-001, - -1.162850e+000, - 1.829549e+000, - -2.525065e-001, - 8.624803e-001, - 5.214746e-002, - 1.977784e+000, - 6.455044e-001, - -3.553256e+000, - -1.639022e+000, - -8.821743e-001, - -2.660037e-001, - 5.168738e-001, - -8.582770e-001, - 4.110780e-001, - 1.034123e-001, - 1.039852e-001, - -1.299367e+000, - -4.890457e-001, - -5.595307e-001, - 1.129115e+000, - 5.445041e-001, - 5.361314e-001, - 4.579589e-001, - 3.385708e+000, - 1.184267e+000, - -4.366852e-001, - -2.303554e-002, - 5.417530e-001, - -9.106900e-001, - -4.398484e-001, - 3.178252e-001, - -2.132156e-001, - -3.682761e+000, - 3.754470e-001, - -1.334075e+000, - -2.466639e-001, - 1.293237e+000, - 4.685982e+000, - -4.032879e+000, - 4.666293e-001, - 5.337822e-001, - 1.603290e+000, - 8.067400e-001, - -1.052460e+000, - -2.501759e-001, - 1.601487e+000, - 1.713504e+000, - -2.810006e+000, - -8.042597e-001, - 3.216101e-001, - -5.944876e-001, - 6.740783e-001, - // albedo 1, turbidity 10 - -1.974746e+000, - -9.111910e-001, - -2.159155e-001, - 2.437415e+000, - -1.592257e+000, - 6.133797e-001, - -6.243023e-006, - 1.960399e+000, - 7.806415e-001, - -2.677119e+000, - -1.100702e+000, - -6.847246e-001, - -2.820855e+000, - 1.577837e+000, - 6.243833e-001, - 2.218481e-002, - 1.568717e+000, - 2.327673e-002, - -5.323827e+000, - -2.461050e+000, - -3.941307e-001, - 4.908417e+000, - -1.657232e-001, - -9.501763e-001, - 1.063520e+000, - 1.455622e+000, - 9.781890e-001, - 1.325000e+000, - 3.538115e-001, - 1.783573e-001, - -6.903650e+000, - -8.079921e-001, - 1.215973e+000, - -6.852540e-001, - -1.735835e+000, - 5.744662e-001, - -1.741196e+000, - -3.448017e-001, - 1.242377e+000, - 1.098613e+001, - -3.386782e+000, - -3.128683e-001, - 5.792848e-001, - 1.364330e-002, - 7.112763e-001, - -9.762671e-001, - -3.368355e-001, - 1.374728e+000, - -3.312353e-003, - -2.576919e+000, - -1.778015e-001, - 2.024288e-001, - -6.128666e-001, - 6.917938e-001, -}; - -double datasetRad720[] = -{ - // albedo 0, turbidity 1 - 9.147390e-002, - 7.018942e-002, - 1.622668e-001, - 2.036338e-001, - 1.635090e-001, - 1.713774e-001, - // albedo 0, turbidity 2 - 9.909969e-002, - 7.154626e-002, - 1.772161e-001, - 3.305464e-001, - 1.553279e-001, - 1.987828e-001, - // albedo 0, turbidity 3 - 1.013563e-001, - 6.482712e-002, - 1.919424e-001, - 5.177933e-001, - 1.653095e-001, - 2.316577e-001, - // albedo 0, turbidity 4 - 9.553482e-002, - 7.250944e-002, - 9.582747e-002, - 9.293376e-001, - 1.096383e-001, - 3.115109e-001, - // albedo 0, turbidity 5 - 8.787796e-002, - 9.182246e-002, - -6.114610e-002, - 1.352986e+000, - 6.824176e-002, - 3.863098e-001, - // albedo 0, turbidity 6 - 8.211688e-002, - 1.136177e-001, - -2.007215e-001, - 1.645362e+000, - 4.150372e-002, - 4.378610e-001, - // albedo 0, turbidity 7 - 7.400462e-002, - 1.477923e-001, - -3.967754e-001, - 2.001798e+000, - 6.469253e-002, - 5.049746e-001, - // albedo 0, turbidity 8 - 6.300931e-002, - 1.904274e-001, - -6.189626e-001, - 2.322083e+000, - 2.089235e-001, - 5.945747e-001, - // albedo 0, turbidity 9 - 5.200819e-002, - 2.169587e-001, - -7.460159e-001, - 2.320149e+000, - 6.242710e-001, - 7.185568e-001, - // albedo 0, turbidity 10 - 4.329013e-002, - 1.900081e-001, - -6.070381e-001, - 1.647416e+000, - 1.517600e+000, - 8.465953e-001, - // albedo 1, turbidity 1 - 9.457245e-002, - 7.644762e-002, - 1.578740e-001, - 2.074747e-001, - 3.827800e-001, - 4.125345e-001, - // albedo 1, turbidity 2 - 1.013784e-001, - 8.198680e-002, - 1.620652e-001, - 3.461549e-001, - 3.867509e-001, - 4.653134e-001, - // albedo 1, turbidity 3 - 1.040624e-001, - 7.855947e-002, - 1.633979e-001, - 5.501949e-001, - 4.194008e-001, - 5.300353e-001, - // albedo 1, turbidity 4 - 9.866276e-002, - 8.661824e-002, - 6.828152e-002, - 9.529887e-001, - 4.147963e-001, - 6.531589e-001, - // albedo 1, turbidity 5 - 9.141347e-002, - 1.084182e-001, - -9.664085e-002, - 1.383297e+000, - 4.048587e-001, - 7.736555e-001, - // albedo 1, turbidity 6 - 8.553065e-002, - 1.271555e-001, - -2.233165e-001, - 1.643686e+000, - 4.299472e-001, - 8.400556e-001, - // albedo 1, turbidity 7 - 7.765393e-002, - 1.591606e-001, - -4.067067e-001, - 1.968938e+000, - 4.995870e-001, - 9.464057e-001, - // albedo 1, turbidity 8 - 6.756910e-002, - 1.954915e-001, - -6.050275e-001, - 2.224385e+000, - 7.084781e-001, - 1.098066e+000, - // albedo 1, turbidity 9 - 5.751694e-002, - 2.034682e-001, - -6.417645e-001, - 1.994080e+000, - 1.364626e+000, - 1.202615e+000, - // albedo 1, turbidity 10 - 4.881952e-002, - 1.632172e-001, - -4.409641e-001, - 1.162848e+000, - 2.405383e+000, - 1.327313e+000, -}; - - - -double* datasets[] = -{ - dataset320, - dataset360, - dataset400, - dataset440, - dataset480, - dataset520, - dataset560, - dataset600, - dataset640, - dataset680, - dataset720 -}; - -double* datasetsRad[] = -{ - datasetRad320, - datasetRad360, - datasetRad400, - datasetRad440, - datasetRad480, - datasetRad520, - datasetRad560, - datasetRad600, - datasetRad640, - datasetRad680, - datasetRad720 -}; - - -double datasetXYZ1[] = -{ - // albedo 0, turbidity 1 - -1.101486e+000, - -1.625977e-001, - -1.638708e+000, - 2.691125e+000, - -1.570727e-001, - 9.434333e-001, - 5.944289e-002, - 4.597857e+000, - 5.192436e-001, - -1.146219e+000, - -1.731352e-001, - -2.017772e+000, - 3.407866e+000, - -1.226220e-001, - 6.479211e-001, - 2.885115e-002, - 5.453907e+000, - 3.603228e-001, - -1.053996e+000, - -1.654194e-001, - 4.328823e+000, - -3.101506e+000, - -7.300690e-001, - 2.099738e+000, - -8.055807e-002, - 1.000556e+000, - 1.125343e+000, - -1.149056e+000, - -2.619810e-001, - 9.589140e-002, - 2.150554e+000, - 9.517496e-001, - 7.542357e-001, - 9.669580e-002, - -1.252807e-001, - 6.431416e-002, - -1.020209e+000, - -1.368326e-001, - 1.895474e+000, - -2.187264e+000, - -6.141343e+000, - 1.825375e+000, - -8.482316e-002, - 2.658493e+000, - 9.470160e-001, - -1.076820e+000, - -1.440642e-001, - 1.432733e+000, - 3.413745e+000, - -2.344518e+000, - 1.213725e+000, - 6.208270e-002, - 3.030371e+000, - 4.998994e-001, - // albedo 0, turbidity 2 - -1.117775e+000, - -1.779226e-001, - -5.134562e+000, - 6.252734e+000, - -8.102730e-002, - 1.049450e+000, - 4.085968e-002, - 4.424605e+000, - 6.475802e-001, - -1.140066e+000, - -1.751408e-001, - 2.533825e+000, - -2.137066e+000, - -1.325967e-001, - 2.837325e-001, - 1.524333e-001, - 5.763824e+000, - 4.045794e-001, - -1.080149e+000, - -2.581561e-001, - 1.743889e+000, - 1.338846e+000, - -6.270160e-001, - 2.415543e+000, - -1.451883e-001, - -2.887826e+000, - 1.095943e+000, - -1.088968e+000, - -3.315172e-002, - -5.423126e-001, - -1.285017e+000, - -2.836525e-001, - 1.106355e-002, - 3.408528e-001, - 7.823781e+000, - 3.120904e-001, - -1.061339e+000, - -2.798560e-001, - 2.462703e+000, - -7.622134e-001, - -9.415643e+000, - 2.173416e+000, - -1.482007e-001, - -2.137092e+000, - 8.709323e-001, - -1.069052e+000, - -1.377888e-001, - 1.204842e+000, - 7.566803e+000, - -2.862954e+000, - 5.810028e-001, - 1.703831e-001, - 3.183023e+000, - 4.999642e-001, - // albedo 0, turbidity 3 - -1.132202e+000, - -1.944061e-001, - -3.088318e+000, - 3.790264e+000, - -1.082306e-001, - 8.484089e-001, - 7.280150e-002, - 4.559532e+000, - 6.448053e-001, - -1.146339e+000, - -1.873527e-001, - 2.717645e-001, - -2.760341e-001, - -1.711107e-001, - 1.650634e-001, - 1.865217e-001, - 6.227743e+000, - 4.657157e-001, - -1.113398e+000, - -2.525943e-001, - 2.464015e+000, - -1.010793e+000, - -4.516208e-001, - 2.181247e+000, - -7.235616e-002, - -1.881470e+000, - 1.014248e+000, - -1.046335e+000, - -5.917753e-004, - -1.524205e+000, - 2.852940e+000, - -2.478880e-001, - -3.286072e-001, - 4.540589e-001, - 7.871340e+000, - 3.592995e-001, - -1.072484e+000, - -2.566241e-001, - 2.273554e+000, - -6.831235e+000, - -5.012665e+000, - 2.159977e+000, - -5.481960e-002, - -1.052033e+000, - 8.894254e-001, - -1.067337e+000, - -1.595660e-001, - 1.088576e+000, - 1.354817e+001, - -3.811848e+000, - 3.518446e-001, - 1.510721e-001, - 2.573394e+000, - 6.071131e-001, - // albedo 0, turbidity 4 - -1.185647e+000, - -2.528115e-001, - -2.437674e+000, - 2.796612e+000, - -9.607830e-002, - 7.181786e-001, - 8.286644e-002, - 4.029493e+000, - 6.385637e-001, - -1.214985e+000, - -2.837320e-001, - -8.427044e-001, - 1.109678e+000, - -1.623519e-001, - 2.800385e-001, - 7.769566e-002, - 4.862665e+000, - 5.863215e-001, - -1.126346e+000, - -2.190142e-001, - 2.404206e+000, - -2.029997e+000, - -4.848325e-001, - 1.914520e+000, - 9.543178e-002, - 4.312553e-001, - 8.722100e-001, - -1.028901e+000, - -3.047034e-002, - -1.765204e+000, - 3.312119e+000, - 5.016337e-001, - -1.300037e+000, - 5.202519e-001, - 5.196915e+000, - 4.632371e-001, - -1.064053e+000, - -2.335792e-001, - 1.899585e+000, - -6.412736e+000, - -4.247619e+000, - 2.799190e+000, - 1.558133e-002, - 2.116759e-001, - 8.234323e-001, - -1.074179e+000, - -1.736113e-001, - 7.909836e-001, - 1.156281e+001, - -3.300053e+000, - -5.142526e-001, - 2.666226e-001, - 2.352668e+000, - 6.596287e-001, - // albedo 0, turbidity 5 - -1.228849e+000, - -3.037428e-001, - -3.471341e-001, - 4.350544e-001, - -3.647964e-001, - 4.740405e-001, - 1.095041e-001, - 3.715388e+000, - 5.953906e-001, - -1.421982e+000, - -5.415118e-001, - -3.421059e-001, - 1.905995e+000, - -1.654769e+000, - 4.861404e-001, - 1.314065e-002, - 1.846742e+000, - 6.325141e-001, - -1.061932e+000, - -4.597166e-002, - 5.943122e-001, - -4.096098e+000, - 5.060566e+000, - 1.243269e+000, - 7.660147e-002, - 4.778453e+000, - 8.933671e-001, - -1.018600e+000, - -1.588265e-001, - -4.221715e-001, - 9.524085e+000, - -1.745260e+001, - -8.306124e-001, - 5.802910e-001, - 4.240811e-001, - 4.185031e-001, - -1.078570e+000, - -1.951610e-001, - 1.028815e+000, - 1.154640e+000, - 4.418362e+000, - 1.663718e+000, - -2.890672e-002, - 2.142532e+000, - 8.181486e-001, - -1.054656e+000, - -1.499753e-001, - 5.109586e-001, - 1.239675e+000, - -4.846160e+000, - 4.503893e-002, - 5.210647e-001, - 2.768949e+000, - 6.726095e-001, - // albedo 0, turbidity 6 - -1.256198e+000, - -3.347739e-001, - -1.209987e+000, - 8.285029e-001, - 1.180869e-001, - 1.753936e-001, - 2.088779e-001, - 3.590526e+000, - 4.999286e-001, - -1.604654e+000, - -7.062520e-001, - -4.240035e-001, - 1.467255e+000, - -4.714837e-001, - 8.506681e-001, - -1.248613e-001, - 1.220216e+000, - 6.542021e-001, - -9.581498e-001, - 2.839298e-002, - 5.118732e-001, - -1.117046e+000, - 4.644809e-001, - 8.577887e-001, - 2.391953e-001, - 5.085931e+000, - 8.500554e-001, - -1.071832e+000, - -2.011442e-001, - -5.882682e-001, - 1.436666e+000, - -2.262832e+000, - -7.777687e-001, - 5.609258e-001, - 8.731629e-002, - 4.618670e-001, - -1.057077e+000, - -1.912628e-001, - 8.410181e-001, - -2.331775e+000, - 3.637049e-001, - 1.638660e+000, - 1.467789e-002, - 1.976998e+000, - 8.168068e-001, - -1.057954e+000, - -1.468896e-001, - 3.321536e-001, - 5.437255e+000, - -4.671045e+000, - -1.358064e-001, - 5.785188e-001, - 3.014237e+000, - 6.672890e-001, - // albedo 0, turbidity 7 - -1.343903e+000, - -4.205350e-001, - -9.993870e-001, - 7.287143e-001, - 4.537888e-002, - 3.291653e-001, - 1.521443e-001, - 3.265017e+000, - 5.012229e-001, - -1.895822e+000, - -9.783864e-001, - 1.424146e+000, - 4.344237e-002, - -8.684624e-001, - 8.203909e-001, - -2.548241e-002, - 1.499495e-001, - 4.605675e-001, - -9.140175e-001, - 1.289977e-001, - -1.664735e+000, - -1.162182e+000, - 1.228762e+000, - -3.508682e-002, - 1.841621e-001, - 6.921907e+000, - 1.095041e+000, - -1.045760e+000, - -3.250604e-001, - 1.079474e+000, - 5.770621e-002, - -1.120456e+001, - 3.498680e-001, - 4.705944e-001, - -3.353592e+000, - 2.717154e-001, - -1.064820e+000, - -1.287183e-001, - 6.377933e-002, - 1.857799e+001, - -3.852349e-001, - 3.275219e-001, - 5.074330e-002, - 3.863174e+000, - 8.538603e-001, - -1.051704e+000, - -1.720625e-001, - 3.343374e-001, - 1.230333e-002, - -3.119730e+000, - 9.286937e-003, - 5.504549e-001, - 2.165011e+000, - 6.772012e-001, - // albedo 0, turbidity 8 - -1.400958e+000, - -4.962991e-001, - -1.472534e+000, - 1.637928e+000, - -1.500740e-001, - 6.363313e-001, - 3.398782e-002, - 3.062964e+000, - 6.181961e-001, - -2.281140e+000, - -1.212929e+000, - 2.066309e+000, - -9.078293e-001, - -7.786086e-001, - 2.674922e-001, - 9.910386e-002, - 3.526180e-001, - 1.031765e-001, - -1.247570e+000, - -1.860524e-001, - -2.480103e+000, - -1.214462e+000, - 4.921450e-001, - 5.073764e-001, - 2.070932e-001, - 5.946086e+000, - 1.371012e+000, - -7.111959e-001, - -1.678064e-001, - 1.754787e+000, - 1.078337e+000, - -8.236462e+000, - -3.652583e-001, - 2.819599e-001, - -3.560758e+000, - 1.289778e-001, - -1.216962e+000, - -2.426196e-001, - -2.761225e-001, - 1.188950e+001, - -6.400520e-001, - 7.522732e-001, - 1.634544e-001, - 3.030162e+000, - 9.178231e-001, - -1.019668e+000, - -1.934685e-001, - 4.011653e-001, - 1.038563e+001, - -3.673953e+000, - -5.730092e-001, - 3.768768e-001, - 1.519136e+000, - 6.627072e-001, - // albedo 0, turbidity 9 - -1.543709e+000, - -6.636039e-001, - -1.809906e+000, - 2.170911e+000, - -1.937131e-001, - 7.968612e-001, - -8.460147e-006, - 2.686099e+000, - 9.000913e-001, - -2.001654e+000, - -9.594942e-001, - 2.079997e+000, - -1.353312e+000, - -5.482266e-001, - -1.459976e-003, - -2.624163e-002, - 1.834867e+000, - -2.747675e-001, - -3.241391e+000, - -1.537084e+000, - -2.481444e+000, - -7.635039e-001, - -7.605263e-001, - 5.191508e-001, - 5.847757e-001, - 3.257599e+000, - 1.487922e+000, - 2.689125e-001, - 2.598647e-001, - 1.725140e+000, - -2.635218e-001, - -3.626237e+000, - 8.275047e-002, - -2.856604e-001, - -2.307654e+000, - 2.134944e-001, - -1.463897e+000, - -4.116973e-001, - -1.916056e-001, - 1.574040e+001, - -3.593091e+000, - -1.773656e-001, - 3.519763e-001, - 1.614908e+000, - 8.302769e-001, - -9.864921e-001, - -2.005394e-001, - 2.091380e-001, - 4.013374e-002, - -2.015258e+000, - 1.418678e-001, - 4.259543e-001, - 1.368687e+000, - 6.820722e-001, - // albedo 0, turbidity 10 - -2.262384e+000, - -1.148119e+000, - -3.593889e+000, - 3.776156e+000, - -6.404236e-002, - 6.193772e-001, - -7.094359e-006, - 2.237025e+000, - 8.931620e-001, - -1.276920e+000, - -8.302892e-001, - 3.189973e+000, - -2.359861e+000, - -2.929750e-001, - 1.562370e-001, - -7.604893e-003, - 1.609136e+000, - -2.270658e-001, - -6.611222e+000, - -2.656391e+000, - -3.600171e+000, - 1.023390e+000, - 6.030035e-001, - 9.329641e-001, - 1.651021e-001, - 3.756497e+000, - 1.403624e+000, - 1.026923e+000, - 2.946641e-002, - 1.795470e+000, - 2.540858e-001, - -5.953577e+000, - -4.162474e-001, - 3.559647e-001, - -1.540672e+000, - 1.581254e-001, - -1.547540e+000, - -6.243264e-001, - 1.732470e-001, - 1.096480e+001, - -1.286094e+000, - -2.143584e-001, - -1.972282e-001, - -1.319792e-001, - 8.731654e-001, - -9.875272e-001, - -1.822978e-001, - 4.548775e-002, - 5.387053e+000, - -3.062190e+000, - 2.906349e-001, - 4.781276e-001, - 1.300372e+000, - 6.730039e-001, - // albedo 1, turbidity 1 - -1.104052e+000, - -1.634691e-001, - -1.387391e+000, - 2.942748e+000, - -2.259220e-001, - 1.010486e+000, - 2.204942e-002, - 4.310299e+000, - 5.138674e-001, - -1.116156e+000, - -1.683774e-001, - -1.858271e+000, - 3.430711e+000, - -2.377475e-001, - 8.108399e-001, - 1.060377e-002, - 5.208319e+000, - 3.989719e-001, - -1.078962e+000, - -1.538849e-001, - 4.367510e+000, - -3.165369e+000, - -6.711199e-001, - 2.062774e+000, - -3.202848e-002, - 8.503602e-001, - 9.692679e-001, - -1.111541e+000, - -2.728946e-001, - 2.255183e-001, - 2.174348e+000, - 1.031057e+000, - 3.183663e-001, - 3.920242e-002, - -1.516022e-001, - -2.159894e-002, - -1.039419e+000, - -1.206100e-001, - 2.290060e+000, - -2.243307e+000, - -6.142358e+000, - 1.056594e+000, - -3.303547e-002, - 2.713636e+000, - 9.106202e-001, - -1.076578e+000, - -1.432110e-001, - 1.639488e+000, - 3.282302e+000, - -2.493190e+000, - 5.608864e-001, - 2.261511e-002, - 3.056882e+000, - 5.003018e-001, - // albedo 1, turbidity 2 - -1.114018e+000, - -1.764798e-001, - -7.677623e+000, - 8.808307e+000, - -4.847876e-002, - 9.534913e-001, - 5.618491e-002, - 4.212917e+000, - 6.023125e-001, - -1.126231e+000, - -1.672111e-001, - 4.388054e+000, - -3.703504e+000, - -8.553161e-002, - 2.885906e-001, - 1.306424e-001, - 5.639266e+000, - 4.398425e-001, - -1.099800e+000, - -2.630132e-001, - 4.787770e-001, - 2.105288e+000, - -5.251653e-001, - 2.427252e+000, - -1.246785e-001, - -2.933590e+000, - 1.063575e+000, - -1.057713e+000, - -3.084726e-002, - 6.768199e-001, - -1.044275e+000, - 4.866777e-001, - -4.646566e-001, - 3.030455e-001, - 7.489353e+000, - 3.358166e-001, - -1.076440e+000, - -2.718000e-001, - 2.524154e+000, - -4.838771e-001, - -9.977367e+000, - 1.820647e+000, - -1.723508e-001, - -2.072269e+000, - 8.536330e-001, - -1.070888e+000, - -1.374705e-001, - 1.629302e+000, - 3.428098e+000, - -2.601212e+000, - -2.974475e-001, - 1.394611e-001, - 2.984174e+000, - 5.419294e-001, - // albedo 1, turbidity 3 - -1.130412e+000, - -1.933669e-001, - -4.857386e+000, - 5.769973e+000, - -7.535259e-002, - 8.797336e-001, - 5.043900e-002, - 4.337387e+000, - 6.753643e-001, - -1.161688e+000, - -1.960287e-001, - 1.106545e+000, - -8.577884e-001, - -9.360930e-002, - -7.801522e-002, - 1.647885e-001, - 5.848615e+000, - 4.471543e-001, - -1.067258e+000, - -2.455886e-001, - 2.084800e+000, - -5.197051e-001, - -5.325673e-001, - 2.777012e+000, - -8.039336e-002, - -2.543091e+000, - 1.079026e+000, - -1.097567e+000, - -5.464719e-003, - -8.165063e-001, - 2.596105e+000, - 9.459394e-001, - -1.468011e+000, - 4.630859e-001, - 8.461670e+000, - 2.460684e-001, - -1.035713e+000, - -2.587340e-001, - 2.864353e+000, - -6.828294e+000, - -6.971908e+000, - 2.583928e+000, - -1.921443e-001, - -1.937886e+000, - 1.017362e+000, - -1.096681e+000, - -1.527298e-001, - 1.482432e+000, - 1.313477e+001, - -3.016722e+000, - -8.479338e-001, - 1.294546e-001, - 2.716000e+000, - 4.999595e-001, - // albedo 1, turbidity 4 - -1.169876e+000, - -2.412093e-001, - -3.946023e+000, - 4.525235e+000, - -6.225248e-002, - 6.686438e-001, - 7.725227e-002, - 3.834185e+000, - 6.336494e-001, - -1.225511e+000, - -2.825782e-001, - -1.528308e-001, - 4.349972e-001, - -9.851306e-002, - 2.563982e-001, - 7.882497e-002, - 4.716580e+000, - 5.901271e-001, - -1.096536e+000, - -2.581517e-001, - 2.344027e+000, - -1.068223e+000, - -4.165502e-001, - 2.094143e+000, - 4.314056e-003, - -1.406154e+000, - 9.368852e-001, - -1.056016e+000, - 2.810766e-002, - -1.383733e+000, - 2.916831e+000, - 7.615073e-001, - -1.587747e+000, - 5.845122e-001, - 7.180950e+000, - 3.747069e-001, - -1.054600e+000, - -2.844119e-001, - 2.873617e+000, - -6.879472e+000, - -6.837078e+000, - 2.552183e+000, - -1.730378e-001, - -1.664886e+000, - 9.019748e-001, - -1.100561e+000, - -1.705639e-001, - 1.407614e+000, - 1.211381e+001, - -3.074279e+000, - -9.390883e-001, - 1.811676e-001, - 2.093695e+000, - 5.995081e-001, - // albedo 1, turbidity 5 - -1.208279e+000, - -2.897170e-001, - -1.476546e-001, - 5.890126e-001, - -4.981961e-001, - 4.583529e-001, - 8.688694e-002, - 3.436587e+000, - 6.179337e-001, - -1.431865e+000, - -5.637869e-001, - 1.387813e-001, - 1.280784e+000, - -1.554694e+000, - 3.086383e-001, - 5.996838e-002, - 1.263023e+000, - 5.584827e-001, - -1.008065e+000, - -1.511029e-002, - 3.503926e-001, - -3.436937e+000, - 5.368936e+000, - 1.418578e+000, - -1.024279e-002, - 4.433483e+000, - 1.012857e+000, - -1.063774e+000, - -1.747988e-001, - 1.386619e-001, - 9.452941e+000, - -1.800934e+001, - -1.193473e+000, - 6.588347e-001, - 4.905837e-001, - 2.953989e-001, - -1.067953e+000, - -1.932052e-001, - 1.877574e+000, - 4.291478e-001, - 3.924028e+000, - 1.870800e+000, - -2.168527e-001, - 1.746841e+000, - 8.941231e-001, - -1.091804e+000, - -1.887841e-001, - 1.459507e+000, - -2.411611e-003, - -5.007685e+000, - -5.384484e-001, - 3.273158e-001, - 1.389896e+000, - 6.481899e-001, - // albedo 1, turbidity 6 - -1.244637e+000, - -3.352956e-001, - -7.729831e-001, - 9.902457e-001, - -6.408322e-002, - 4.089615e-001, - 1.079801e-001, - 3.069518e+000, - 5.700739e-001, - -1.582813e+000, - -7.186917e-001, - -2.051782e+000, - 2.745735e+000, - -5.882307e-002, - 2.724410e-001, - 4.057660e-002, - 8.511673e-001, - 5.731486e-001, - -9.671558e-001, - 1.950082e-002, - 1.810232e+000, - -1.217155e+000, - -1.071386e-001, - 1.908662e+000, - -8.193543e-002, - 4.082294e+000, - 1.012666e+000, - -1.060235e+000, - -1.751755e-001, - -8.530449e-001, - 1.475536e+000, - -6.133057e-001, - -1.967505e+000, - 8.653180e-001, - 9.681735e-001, - 2.746134e-001, - -1.070553e+000, - -2.087976e-001, - 2.149017e+000, - -3.787703e+000, - -1.475900e+000, - 2.401470e+000, - -2.897798e-001, - 1.002619e+000, - 9.514204e-001, - -1.097750e+000, - -1.941377e-001, - 1.296961e+000, - 7.603643e+000, - -5.010009e+000, - -9.621720e-001, - 3.499847e-001, - 1.552155e+000, - 6.142077e-001, - // albedo 1, turbidity 7 - -1.317243e+000, - -4.124129e-001, - -2.112784e-001, - 2.358159e-001, - 7.933267e-002, - 2.953331e-001, - 1.393908e-001, - 2.797095e+000, - 5.001629e-001, - -1.936943e+000, - -1.047386e+000, - 7.900712e-001, - 7.391704e-001, - -1.761740e+000, - 4.555495e-001, - 7.089075e-003, - -4.904502e-001, - 4.687010e-001, - -7.950385e-001, - 2.145152e-001, - -7.466747e-001, - -1.478622e+000, - 5.440532e+000, - 1.045622e+000, - 2.731993e-002, - 6.502641e+000, - 1.131266e+000, - -1.144490e+000, - -3.809627e-001, - 6.924196e-001, - 2.313561e+000, - -1.492566e+001, - -1.261390e+000, - 6.493101e-001, - -3.111817e+000, - 2.197202e-001, - -1.033182e+000, - -1.134661e-001, - 1.362390e+000, - 7.974857e+000, - 2.098611e+000, - 1.676310e+000, - -1.459275e-001, - 3.060691e+000, - 9.001197e-001, - -1.099954e+000, - -2.081654e-001, - 1.288675e+000, - 3.154435e+000, - -4.977442e+000, - -7.563663e-001, - 3.316278e-001, - 1.310469e+000, - 6.638634e-001, - // albedo 1, turbidity 8 - -1.398360e+000, - -5.091482e-001, - -6.128087e-001, - 1.064324e+000, - -2.655754e-001, - 5.784825e-001, - 2.447271e-002, - 2.556213e+000, - 6.406131e-001, - -2.292408e+000, - -1.287064e+000, - 1.698575e+000, - -4.555523e-001, - -1.098610e+000, - 4.172403e-002, - 1.458605e-001, - -4.711102e-001, - 4.042647e-002, - -1.098655e+000, - -5.631273e-002, - -1.686446e+000, - -1.324818e+000, - 6.189470e-001, - 1.015319e+000, - 4.519728e-002, - 6.306605e+000, - 1.495579e+000, - -8.179258e-001, - -2.762936e-001, - 1.360129e+000, - 1.082906e+000, - -8.142899e+000, - -1.145783e+000, - 4.835959e-001, - -4.634913e+000, - -9.753444e-003, - -1.182319e+000, - -1.786040e-001, - 9.066952e-001, - 1.133717e+001, - -1.070025e+000, - 1.405348e+000, - -7.513401e-002, - 3.297654e+000, - 1.003184e+000, - -1.060857e+000, - -2.086912e-001, - 1.253454e+000, - 8.836029e+000, - -4.146867e+000, - -8.924448e-001, - 2.793886e-001, - 9.711994e-001, - 6.371753e-001, - // albedo 1, turbidity 9 - -1.521357e+000, - -6.741763e-001, - -1.153037e+000, - 1.777504e+000, - -2.339845e-001, - 7.149374e-001, - -8.169860e-006, - 2.158744e+000, - 9.000908e-001, - -2.063901e+000, - -1.050348e+000, - 1.888832e+000, - -7.193047e-001, - -6.376830e-001, - -8.892313e-002, - -2.207132e-002, - 9.541427e-001, - -2.903996e-001, - -3.079068e+000, - -1.419114e+000, - -1.810205e+000, - -1.419799e+000, - -6.498295e-001, - 9.599459e-001, - 4.898180e-001, - 3.881219e+000, - 1.541392e+000, - 3.182043e-001, - 1.995494e-001, - 1.434280e+000, - 1.894230e-001, - -4.081692e+000, - -9.559909e-001, - -1.349792e-001, - -3.617047e+000, - 1.281326e-001, - -1.521852e+000, - -3.451241e-001, - 7.272857e-001, - 1.443762e+001, - -3.427250e+000, - 9.841537e-001, - 2.142994e-001, - 2.000402e+000, - 8.885077e-001, - -1.000647e+000, - -2.295867e-001, - 1.144994e+000, - -2.393324e-003, - -2.630422e+000, - -6.861019e-001, - 2.825890e-001, - 5.805290e-001, - 6.620424e-001, - // albedo 1, turbidity 10 - -1.923394e+000, - -1.036111e+000, - -2.560678e+000, - 2.987334e+000, - -7.660880e-002, - 6.060592e-001, - -7.414202e-006, - 1.792845e+000, - 9.001463e-001, - -1.938155e+000, - -1.049658e+000, - 2.934957e+000, - -2.112628e+000, - -3.195476e-001, - -2.020638e-002, - -9.686121e-003, - 1.455635e+000, - -2.181714e-001, - -5.889712e+000, - -2.639521e+000, - -2.752599e+000, - 8.110383e-001, - 5.758426e-001, - 1.080493e+000, - 2.073045e-001, - 2.349084e+000, - 1.355521e+000, - 1.037526e+000, - 1.432077e-001, - 1.320726e+000, - 2.881663e-001, - -5.803075e+000, - -8.863853e-001, - 2.717468e-001, - -5.351612e-001, - 2.186762e-001, - -1.507983e+000, - -5.787687e-001, - 1.138616e+000, - 1.024246e+001, - -1.554095e+000, - 5.415668e-001, - -1.499505e-001, - -1.523118e+000, - 8.418226e-001, - -1.031267e+000, - -2.072990e-001, - 7.887604e-001, - 4.217895e+000, - -2.995052e+000, - -4.380607e-001, - 3.324471e-001, - 1.063346e+000, - 6.807500e-001, -}; - -double datasetXYZRad1[] = -{ - // albedo 0, turbidity 1 - 9.005710e-003, - 8.182992e-003, - 6.957843e-003, - 6.306849e-002, - 3.425256e-002, - 4.218684e-002, - // albedo 0, turbidity 2 - 8.928056e-003, - 8.633753e-003, - 4.500547e-003, - 7.073306e-002, - 3.305915e-002, - 4.362185e-002, - // albedo 0, turbidity 3 - 8.848416e-003, - 9.009571e-003, - 2.113216e-003, - 7.825675e-002, - 3.201372e-002, - 4.500035e-002, - // albedo 0, turbidity 4 - 8.679785e-003, - 9.554857e-003, - -1.631724e-003, - 8.887206e-002, - 3.173559e-002, - 4.661125e-002, - // albedo 0, turbidity 5 - 8.490013e-003, - 1.008158e-002, - -5.387675e-003, - 9.934433e-002, - 3.160711e-002, - 4.814191e-002, - // albedo 0, turbidity 6 - 8.176708e-003, - 1.116184e-002, - -1.232061e-002, - 1.152735e-001, - 3.149746e-002, - 5.090645e-002, - // albedo 0, turbidity 7 - 7.825887e-003, - 1.217907e-002, - -1.904565e-002, - 1.307615e-001, - 3.150599e-002, - 5.372829e-002, - // albedo 0, turbidity 8 - 7.509914e-003, - 1.349140e-002, - -2.655743e-002, - 1.453788e-001, - 3.160182e-002, - 5.709059e-002, - // albedo 0, turbidity 9 - 7.185144e-003, - 1.470882e-002, - -3.373863e-002, - 1.591499e-001, - 3.221303e-002, - 6.023953e-002, - // albedo 0, turbidity 10 - 6.992372e-003, - 1.542746e-002, - -3.779775e-002, - 1.657643e-001, - 3.455624e-002, - 6.176418e-002, - // albedo 1, turbidity 1 - 9.606797e-003, - 9.089278e-003, - 8.202458e-003, - 5.641609e-002, - 8.358347e-002, - 9.499950e-002, - // albedo 1, turbidity 2 - 9.539700e-003, - 9.514892e-003, - 5.777662e-003, - 6.403082e-002, - 8.257854e-002, - 9.744811e-002, - // albedo 1, turbidity 3 - 9.456190e-003, - 9.927642e-003, - 3.328348e-003, - 7.160160e-002, - 8.173734e-002, - 9.982680e-002, - // albedo 1, turbidity 4 - 9.276166e-003, - 1.052422e-002, - -5.679250e-004, - 8.230185e-002, - 8.188579e-002, - 1.026310e-001, - // albedo 1, turbidity 5 - 9.076613e-003, - 1.109440e-002, - -4.469722e-003, - 9.292079e-002, - 8.205840e-002, - 1.054416e-001, - // albedo 1, turbidity 6 - 8.801736e-003, - 1.192704e-002, - -1.043735e-002, - 1.063672e-001, - 8.512298e-002, - 1.085586e-001, - // albedo 1, turbidity 7 - 8.474727e-003, - 1.277127e-002, - -1.644412e-002, - 1.197926e-001, - 8.806212e-002, - 1.118848e-001, - // albedo 1, turbidity 8 - 8.155408e-003, - 1.379662e-002, - -2.265334e-002, - 1.312810e-001, - 9.129692e-002, - 1.156650e-001, - // albedo 1, turbidity 9 - 7.820697e-003, - 1.475906e-002, - -2.864690e-002, - 1.420061e-001, - 9.520393e-002, - 1.192700e-001, - // albedo 1, turbidity 10 - 7.644931e-003, - 1.534608e-002, - -3.196959e-002, - 1.464542e-001, - 9.985241e-002, - 1.208171e-001, -}; - -double datasetXYZ2[] = -{ - // albedo 0, turbidity 1 - -1.122914e+000, - -1.807235e-001, - -1.619165e+000, - 2.731045e+000, - -1.975906e-001, - 9.087980e-001, - 4.034744e-002, - 4.576616e+000, - 5.161273e-001, - -1.154388e+000, - -1.988315e-001, - -2.030717e+000, - 3.373363e+000, - -2.460481e-001, - 6.460481e-001, - 3.157532e-002, - 5.421385e+000, - 3.782806e-001, - -1.079334e+000, - -1.658789e-001, - 4.322620e+000, - -3.142670e+000, - -7.643807e-001, - 2.131864e+000, - -9.013664e-002, - 9.705869e-001, - 1.078954e+000, - -1.134921e+000, - -2.543435e-001, - 9.573512e-002, - 2.124979e+000, - 9.555775e-001, - 8.037731e-001, - 1.184837e-001, - -1.496420e-001, - -8.840597e-003, - -1.049115e+000, - -1.444870e-001, - 1.981646e+000, - -2.194727e+000, - -6.137320e+000, - 1.876768e+000, - -1.074934e-001, - 2.649021e+000, - 8.652867e-001, - -1.072213e+000, - -1.379147e-001, - 1.507428e+000, - 3.410012e+000, - -2.362891e+000, - 1.245730e+000, - 7.913373e-002, - 3.022137e+000, - 4.999200e-001, - // albedo 0, turbidity 2 - -1.131878e+000, - -1.911417e-001, - -5.546343e+000, - 6.486312e+000, - -7.540655e-002, - 9.642554e-001, - 3.999667e-002, - 4.609125e+000, - 6.292406e-001, - -1.126486e+000, - -1.582147e-001, - 2.323428e+000, - -2.107498e+000, - -1.516963e-001, - 2.866962e-001, - 1.540643e-001, - 7.073975e+000, - 3.562770e-001, - -1.159513e+000, - -3.101117e-001, - 1.722605e+000, - 8.457975e-001, - -5.367977e-001, - 2.084499e+000, - -1.638125e-001, - -3.350490e+000, - 1.149230e+000, - -1.026013e+000, - -1.328421e-004, - -2.569728e-001, - 6.293616e-002, - -7.518545e-001, - 4.849009e-001, - 3.378441e-001, - 7.293808e+000, - 2.684199e-001, - -1.107049e+000, - -2.912417e-001, - 2.313578e+000, - -2.877340e+000, - -8.789791e+000, - 1.964722e+000, - -1.326046e-001, - -1.641421e+000, - 9.088870e-001, - -1.062899e+000, - -1.366999e-001, - 1.374840e+000, - 9.253357e+000, - -3.285853e+000, - 7.598081e-001, - 1.518365e-001, - 2.825418e+000, - 4.999470e-001, - // albedo 0, turbidity 3 - -1.149828e+000, - -2.119093e-001, - -3.083260e+000, - 3.704001e+000, - -1.121437e-001, - 8.021617e-001, - 5.920592e-002, - 4.604865e+000, - 6.398452e-001, - -1.173890e+000, - -2.156342e-001, - 2.565790e-001, - -1.267097e-001, - -2.072132e-001, - 1.829126e-001, - 1.283318e-001, - 6.095559e+000, - 4.937362e-001, - -1.116949e+000, - -2.482856e-001, - 2.218113e+000, - -8.794890e-001, - -5.644284e-001, - 2.082300e+000, - -5.169108e-002, - -7.659116e-001, - 9.558886e-001, - -1.054217e+000, - 8.365248e-004, - -1.216753e+000, - 2.368297e+000, - -7.221626e-001, - -2.645171e-001, - 4.218527e-001, - 6.847504e+000, - 4.451660e-001, - -1.078108e+000, - -2.751379e-001, - 2.237058e+000, - -6.031771e+000, - -6.013303e+000, - 2.276389e+000, - -3.578611e-002, - -1.090788e+000, - 8.050813e-001, - -1.074500e+000, - -1.518904e-001, - 1.142963e+000, - 1.249282e+001, - -3.264809e+000, - 3.225364e-001, - 1.546626e-001, - 2.625043e+000, - 6.604471e-001, - // albedo 0, turbidity 4 - -1.204183e+000, - -2.690555e-001, - -2.118885e+000, - 2.333211e+000, - -9.144809e-002, - 6.235965e-001, - 9.022505e-002, - 4.107881e+000, - 5.935340e-001, - -1.249364e+000, - -3.302901e-001, - -1.015855e+000, - 1.626302e+000, - -2.098635e-001, - 3.586044e-001, - 3.433743e-002, - 4.259679e+000, - 6.186639e-001, - -1.130739e+000, - -1.893714e-001, - 2.212068e+000, - -2.632060e+000, - -5.355575e-001, - 1.855859e+000, - 5.156915e-002, - 2.331263e+000, - 8.620975e-001, - -1.029212e+000, - -5.804296e-002, - -1.456592e+000, - 4.450693e+000, - 4.508010e-001, - -1.190723e+000, - 5.486355e-001, - 3.324973e+000, - 4.658997e-001, - -1.071594e+000, - -2.295521e-001, - 1.797098e+000, - -8.426178e+000, - -4.838257e+000, - 2.749226e+000, - -7.145818e-003, - 9.376112e-001, - 8.234331e-001, - -1.076084e+000, - -1.644066e-001, - 8.169316e-001, - 1.447937e+001, - -3.328583e+000, - -4.635255e-001, - 2.876957e-001, - 2.371624e+000, - 6.607566e-001, - // albedo 0, turbidity 5 - -1.249210e+000, - -3.222757e-001, - -3.993402e-001, - 4.023211e-001, - -2.849433e-001, - 4.535075e-001, - 1.115902e-001, - 3.744528e+000, - 5.563504e-001, - -1.477704e+000, - -6.045061e-001, - -3.822014e-001, - 1.661732e+000, - -1.238864e+000, - 4.237514e-001, - 8.886169e-003, - 1.420669e+000, - 6.186606e-001, - -1.035944e+000, - 6.890505e-003, - 6.684449e-001, - -2.790536e+000, - 3.601830e+000, - 1.380572e+000, - -5.081267e-003, - 6.133132e+000, - 9.371410e-001, - -1.055090e+000, - -2.222588e-001, - -5.205025e-001, - 5.816522e+000, - -1.516023e+001, - -1.026305e+000, - 6.623858e-001, - -9.657356e-001, - 3.741606e-001, - -1.059766e+000, - -1.598774e-001, - 1.157297e+000, - 5.532982e+000, - 2.638082e+000, - 2.027566e+000, - -1.199808e-001, - 2.770544e+000, - 8.444287e-001, - -1.066947e+000, - -1.591492e-001, - 4.375334e-001, - 4.423892e-001, - -4.533511e+000, - -3.404865e-001, - 5.901014e-001, - 2.719634e+000, - 6.625956e-001, - // albedo 0, turbidity 6 - -1.284441e+000, - -3.609807e-001, - -9.984029e-001, - 7.536405e-001, - 2.158548e-002, - 3.401340e-001, - 1.517400e-001, - 3.584038e+000, - 4.998561e-001, - -1.642638e+000, - -7.512595e-001, - -5.758545e-001, - 1.892728e+000, - -6.026600e-001, - 6.764253e-001, - -6.644974e-002, - 9.368823e-001, - 5.881781e-001, - -9.687452e-001, - 5.694871e-002, - 4.808739e-001, - -2.494357e+000, - 7.817431e-001, - 9.839932e-001, - 1.281253e-001, - 6.408919e+000, - 9.352341e-001, - -1.067115e+000, - -2.459833e-001, - -4.332687e-001, - 4.019233e+000, - -2.284292e+000, - -7.820544e-001, - 5.997262e-001, - -1.481944e+000, - 4.002165e-001, - -1.062319e+000, - -1.694356e-001, - 8.089156e-001, - -5.809914e+000, - -3.376530e-001, - 1.664714e+000, - 1.171593e-002, - 2.709085e+000, - 8.406936e-001, - -1.059995e+000, - -1.476748e-001, - 3.041194e-001, - 9.109686e+000, - -4.692319e+000, - -2.445953e-001, - 5.867979e-001, - 3.010372e+000, - 6.649859e-001, - // albedo 0, turbidity 7 - -1.356626e+000, - -4.344649e-001, - -1.447889e+000, - 1.316070e+000, - -3.231971e-002, - 4.115335e-001, - 1.070600e-001, - 3.299847e+000, - 5.078718e-001, - -1.908978e+000, - -9.880442e-001, - 1.734223e+000, - -3.331857e-001, - -6.564627e-001, - 7.778246e-001, - -2.493316e-003, - 2.301123e-001, - 4.057979e-001, - -9.822537e-001, - 7.415023e-002, - -1.823900e+000, - -5.375540e-001, - 7.367396e-001, - 3.368504e-002, - 1.007106e-001, - 7.096159e+000, - 1.148616e+000, - -9.972614e-001, - -2.851500e-001, - 1.076035e+000, - -1.429468e+000, - -1.018551e+001, - 3.978549e-001, - 5.298517e-001, - -3.271319e+000, - 2.447665e-001, - -1.091570e+000, - -1.638435e-001, - 1.867819e-001, - 1.968715e+001, - -9.281292e-001, - 2.334219e-001, - -8.687501e-003, - 3.377805e+000, - 8.598541e-001, - -1.048522e+000, - -1.614766e-001, - 2.718072e-001, - 7.482388e-003, - -3.077932e+000, - 8.851555e-002, - 5.774509e-001, - 2.395370e+000, - 6.787352e-001, - // albedo 0, turbidity 8 - -1.402258e+000, - -5.000147e-001, - -1.953453e+000, - 2.236805e+000, - -1.565432e-001, - 7.284951e-001, - 7.637932e-003, - 3.157646e+000, - 6.973669e-001, - -2.139018e+000, - -1.131695e+000, - 2.538143e+000, - -1.588990e+000, - -5.632198e-001, - 2.000549e-001, - 5.533031e-002, - 4.863742e-001, - -3.692560e-002, - -1.508179e+000, - -3.385328e-001, - -2.890536e+000, - 4.392917e-001, - -2.160104e-001, - 4.321423e-001, - 2.859367e-001, - 6.164596e+000, - 1.460664e+000, - -5.946662e-001, - -1.226202e-001, - 1.975459e+000, - -4.214771e+000, - -6.102017e+000, - 1.242637e-001, - 1.413993e-001, - -3.812389e+000, - 1.352672e-001, - -1.243217e+000, - -2.621981e-001, - -2.366563e-001, - 2.337274e+001, - -3.000507e+000, - 7.773696e-002, - 1.592284e-001, - 2.841483e+000, - 8.722272e-001, - -1.016039e+000, - -1.664222e-001, - 2.477921e-001, - 3.645234e-002, - -2.538394e+000, - -5.133680e-002, - 5.200253e-001, - 1.965000e+000, - 6.779353e-001, - // albedo 0, turbidity 9 - -1.603220e+000, - -7.076823e-001, - -2.233113e+000, - 2.499871e+000, - -1.306915e-001, - 7.341952e-001, - -8.135566e-006, - 2.650817e+000, - 9.001136e-001, - -1.848857e+000, - -8.949301e-001, - 2.568410e+000, - -1.739167e+000, - -4.613569e-001, - 2.355479e-002, - -1.885319e-002, - 1.873327e+000, - -2.914893e-001, - -3.533969e+000, - -1.665575e+000, - -2.860794e+000, - -2.842810e-001, - -2.235740e-001, - 6.939897e-001, - 4.165640e-001, - 3.409915e+000, - 1.543612e+000, - 4.143747e-001, - 3.149978e-001, - 1.888906e+000, - -1.013183e+000, - -4.994871e+000, - -2.117057e-001, - -5.263550e-002, - -2.147159e+000, - 1.293928e-001, - -1.522103e+000, - -4.654974e-001, - -1.701403e-001, - 1.692673e+001, - -2.752530e+000, - 7.045914e-002, - 1.899328e-001, - 1.276994e+000, - 8.783455e-001, - -9.829618e-001, - -2.093400e-001, - 2.225879e-001, - -1.929224e-004, - -2.153428e+000, - -2.570729e-002, - 4.314043e-001, - 1.287312e+000, - 6.728048e-001, - // albedo 0, turbidity 10 - -2.204582e+000, - -1.133269e+000, - -3.567686e+000, - 3.691437e+000, - -5.609072e-002, - 5.815449e-001, - -7.619855e-006, - 2.272998e+000, - 9.001409e-001, - -1.295809e+000, - -8.555245e-001, - 3.224414e+000, - -2.416681e+000, - -2.909513e-001, - 1.419765e-001, - -4.780137e-003, - 1.653556e+000, - -2.383716e-001, - -6.623633e+000, - -2.685647e+000, - -3.573099e+000, - 1.039728e+000, - 6.517956e-001, - 9.342824e-001, - 9.620348e-002, - 3.719962e+000, - 1.413863e+000, - 1.011824e+000, - -4.712038e-003, - 1.840273e+000, - 2.670188e-001, - -5.934827e+000, - -4.000691e-001, - 4.055636e-001, - -1.576287e+000, - 1.625110e-001, - -1.528649e+000, - -6.319570e-001, - 1.759796e-001, - 1.096345e+001, - -1.281789e+000, - -2.029316e-001, - -2.287413e-001, - -1.879906e-001, - 8.681681e-001, - -1.004153e+000, - -1.969335e-001, - 3.961794e-002, - 5.389883e+000, - -3.037866e+000, - 2.821557e-001, - 4.772254e-001, - 1.246164e+000, - 6.737333e-001, - // albedo 1, turbidity 1 - -1.119344e+000, - -1.778838e-001, - -1.508412e+000, - 2.870124e+000, - -2.239333e-001, - 8.733617e-001, - 2.986154e-002, - 4.430712e+000, - 5.135851e-001, - -1.135624e+000, - -1.892481e-001, - -1.925788e+000, - 3.394714e+000, - -2.507147e-001, - 6.564287e-001, - 1.890654e-002, - 5.264438e+000, - 3.955314e-001, - -1.089894e+000, - -1.644770e-001, - 4.378723e+000, - -3.163341e+000, - -7.647141e-001, - 2.071685e+000, - -5.411723e-002, - 8.601366e-001, - 1.014955e+000, - -1.115740e+000, - -2.553530e-001, - 2.736970e-001, - 2.183258e+000, - 9.796187e-001, - 4.044719e-001, - 6.919363e-002, - -1.499169e-001, - -5.072956e-002, - -1.044489e+000, - -1.247379e-001, - 2.360130e+000, - -2.225798e+000, - -6.163017e+000, - 1.085341e+000, - -6.292495e-002, - 2.724664e+000, - 8.346156e-001, - -1.083384e+000, - -1.428958e-001, - 1.674826e+000, - 3.290022e+000, - -2.508268e+000, - 5.171812e-001, - 4.707754e-002, - 3.056420e+000, - 5.205018e-001, - // albedo 1, turbidity 2 - -1.126203e+000, - -1.874434e-001, - -8.225386e+000, - 9.269649e+000, - -4.877404e-002, - 9.126623e-001, - 4.343544e-002, - 4.398148e+000, - 6.048192e-001, - -1.127515e+000, - -1.550387e-001, - 4.222531e+000, - -3.896625e+000, - -9.271714e-002, - 2.272982e-001, - 1.474878e-001, - 7.073835e+000, - 3.534149e-001, - -1.140955e+000, - -3.141082e-001, - 7.494281e-001, - 1.928069e+000, - -5.030279e-001, - 2.213426e+000, - -1.778000e-001, - -4.450330e+000, - 1.208623e+000, - -1.036406e+000, - 6.146237e-003, - 4.836567e-001, - -4.637645e-001, - 3.971223e-001, - -8.322950e-002, - 3.525289e-001, - 8.416154e+000, - 1.781471e-001, - -1.091202e+000, - -2.793346e-001, - 2.677430e+000, - -1.228281e+000, - -9.791189e+000, - 1.628287e+000, - -2.033050e-001, - -2.250860e+000, - 9.727505e-001, - -1.077631e+000, - -1.444596e-001, - 1.677057e+000, - 3.028066e+000, - -2.741089e+000, - -2.423031e-001, - 1.570363e-001, - 2.711075e+000, - 5.193949e-001, - // albedo 1, turbidity 3 - -1.145360e+000, - -2.105117e-001, - -5.077634e+000, - 5.952346e+000, - -7.390363e-002, - 8.359362e-001, - 3.894082e-002, - 4.272124e+000, - 6.689348e-001, - -1.169021e+000, - -1.984243e-001, - 1.727631e+000, - -1.660273e+000, - -1.204151e-001, - -3.657555e-002, - 1.396934e-001, - 6.459890e+000, - 4.429674e-001, - -1.095745e+000, - -2.703153e-001, - 1.524693e+000, - 4.786023e-001, - -5.195445e-001, - 2.454992e+000, - -9.359784e-002, - -2.494334e+000, - 1.062193e+000, - -1.080084e+000, - 1.859535e-002, - -5.240918e-001, - 1.058138e+000, - 3.243268e-001, - -1.013826e+000, - 4.696901e-001, - 8.386396e+000, - 2.995756e-001, - -1.055753e+000, - -2.828392e-001, - 2.890561e+000, - -3.996377e+000, - -8.871250e+000, - 2.270188e+000, - -2.078015e-001, - -2.350737e+000, - 9.407089e-001, - -1.098941e+000, - -1.572908e-001, - 1.543062e+000, - 8.155922e+000, - -2.961933e+000, - -6.409603e-001, - 1.797896e-001, - 2.512159e+000, - 5.535961e-001, - // albedo 1, turbidity 4 - -1.184914e+000, - -2.566244e-001, - -3.846003e+000, - 4.420609e+000, - -6.973320e-002, - 6.818036e-001, - 5.691508e-002, - 3.866452e+000, - 6.359155e-001, - -1.261831e+000, - -3.275588e-001, - 7.852943e-002, - 2.205681e-001, - -9.853502e-002, - 4.286207e-002, - 9.083512e-002, - 4.172143e+000, - 5.440606e-001, - -1.078705e+000, - -2.152762e-001, - 1.912472e+000, - -1.012286e+000, - -4.044678e-001, - 2.400412e+000, - -8.055112e-002, - 4.643356e-001, - 1.007864e+000, - -1.086128e+000, - -1.844862e-002, - -1.041382e+000, - 3.081237e+000, - 6.333381e-001, - -1.901209e+000, - 6.588684e-001, - 5.373024e+000, - 3.074915e-001, - -1.041302e+000, - -2.639676e-001, - 2.783729e+000, - -7.142120e+000, - -7.159345e+000, - 2.843385e+000, - -2.319381e-001, - -9.181803e-001, - 9.458627e-001, - -1.115824e+000, - -1.814189e-001, - 1.440363e+000, - 1.228528e+001, - -3.111162e+000, - -1.091867e+000, - 2.170530e-001, - 1.853334e+000, - 5.820210e-001, - // albedo 1, turbidity 5 - -1.232446e+000, - -3.127409e-001, - -1.622789e-001, - 4.915046e-001, - -4.065352e-001, - 4.224392e-001, - 9.198375e-002, - 3.391924e+000, - 5.731891e-001, - -1.443917e+000, - -5.875923e-001, - 1.658220e-001, - 1.351501e+000, - -1.644611e+000, - 3.257529e-001, - 3.153559e-002, - 1.195318e+000, - 5.653871e-001, - -1.043103e+000, - -1.694476e-002, - 2.932353e-001, - -2.984651e+000, - 4.702246e+000, - 1.309969e+000, - -1.346309e-002, - 5.174512e+000, - 1.009478e+000, - -1.048629e+000, - -1.972413e-001, - 1.662522e-001, - 7.139297e+000, - -1.583388e+001, - -9.428178e-001, - 6.162218e-001, - -4.325526e-001, - 3.161814e-001, - -1.077482e+000, - -1.788140e-001, - 1.914283e+000, - 2.374649e+000, - 2.030094e+000, - 1.702760e+000, - -1.769197e-001, - 2.149751e+000, - 8.693740e-001, - -1.094960e+000, - -1.913894e-001, - 1.426293e+000, - -2.499581e-003, - -5.010191e+000, - -5.223956e-001, - 3.183908e-001, - 1.428610e+000, - 6.591116e-001, - // albedo 1, turbidity 6 - -1.264029e+000, - -3.549419e-001, - -1.406577e+000, - 1.507000e+000, - -8.434063e-003, - 3.365377e-001, - 1.289022e-001, - 3.066945e+000, - 5.080897e-001, - -1.610970e+000, - -7.451223e-001, - -7.941481e-001, - 1.856694e+000, - -1.795623e-001, - 3.454217e-001, - -2.784437e-003, - 7.329015e-001, - 5.715167e-001, - -9.666391e-001, - 3.876303e-002, - 8.648352e-001, - -1.587177e+000, - 5.145482e-002, - 1.711765e+000, - -5.636895e-002, - 5.223236e+000, - 1.024660e+000, - -1.080803e+000, - -2.247415e-001, - -2.913792e-001, - 3.381244e+000, - -6.921786e-001, - -1.689096e+000, - 7.923716e-001, - -5.143487e-001, - 2.724712e-001, - -1.059741e+000, - -1.809840e-001, - 1.942598e+000, - -7.101628e+000, - -2.477121e+000, - 2.198085e+000, - -2.267978e-001, - 1.738299e+000, - 9.444295e-001, - -1.103098e+000, - -1.914456e-001, - 1.299857e+000, - 1.221396e+001, - -4.937333e+000, - -8.898276e-001, - 3.150947e-001, - 1.699920e+000, - 6.222964e-001, - // albedo 1, turbidity 7 - -1.331835e+000, - -4.251342e-001, - -6.041415e-001, - 7.867983e-001, - -1.040816e-001, - 4.133208e-001, - 8.617309e-002, - 2.875871e+000, - 5.195064e-001, - -1.926241e+000, - -1.044496e+000, - 1.348627e+000, - 5.796068e-002, - -9.951364e-001, - 3.106924e-001, - 7.828124e-002, - -5.033876e-001, - 3.443558e-001, - -8.746306e-001, - 1.684892e-001, - -1.131114e+000, - -1.142233e+000, - 2.657255e+000, - 1.083562e+000, - -1.051614e-001, - 7.051685e+000, - 1.280761e+000, - -1.092601e+000, - -3.652440e-001, - 8.395056e-001, - 1.876542e+000, - -1.293821e+001, - -1.197457e+000, - 7.676588e-001, - -3.675501e+000, - 8.835534e-002, - -1.058669e+000, - -1.227902e-001, - 1.351437e+000, - 1.010666e+001, - 1.334936e+000, - 1.644623e+000, - -2.421837e-001, - 3.267276e+000, - 9.679541e-001, - -1.100225e+000, - -2.126091e-001, - 1.294536e+000, - 4.106722e+000, - -4.882368e+000, - -8.109179e-001, - 3.455974e-001, - 1.171128e+000, - 6.467468e-001, - // albedo 1, turbidity 8 - -1.392910e+000, - -5.069860e-001, - -1.142949e+000, - 1.640913e+000, - -1.966830e-001, - 6.482210e-001, - 6.953198e-003, - 2.652369e+000, - 6.996688e-001, - -2.172107e+000, - -1.209059e+000, - 2.139161e+000, - -1.059948e+000, - -5.782265e-001, - 4.811473e-002, - 8.485675e-002, - -3.292543e-001, - -6.032595e-002, - -1.335264e+000, - -2.069000e-001, - -1.982960e+000, - 8.070808e-001, - -4.710386e-001, - 9.418094e-001, - 1.195574e-001, - 6.509415e+000, - 1.546262e+000, - -6.990349e-001, - -2.244664e-001, - 1.513781e+000, - -6.074608e+000, - -6.749382e+000, - -9.377171e-001, - 4.125712e-001, - -4.914209e+000, - 5.574207e-003, - -1.214571e+000, - -1.960482e-001, - 9.045432e-001, - 2.394870e+001, - -2.765233e+000, - 1.132797e+000, - -8.917130e-002, - 3.246801e+000, - 9.419349e-001, - -1.059957e+000, - -1.995737e-001, - 1.176967e+000, - 1.405613e-003, - -3.383990e+000, - -7.123966e-001, - 3.495155e-001, - 1.196716e+000, - 6.635052e-001, - // albedo 1, turbidity 9 - -1.584877e+000, - -7.262168e-001, - -1.740843e+000, - 2.262110e+000, - -1.295187e-001, - 6.690681e-001, - -7.904979e-006, - 2.078188e+000, - 9.001230e-001, - -1.904657e+000, - -9.791879e-001, - 2.526185e+000, - -1.393353e+000, - -4.377071e-001, - -7.490654e-003, - -1.508279e-002, - 1.086965e+000, - -3.083812e-001, - -3.371479e+000, - -1.560656e+000, - -2.231093e+000, - -2.427120e-001, - -2.338193e-001, - 9.563028e-001, - 3.304433e-001, - 3.739686e+000, - 1.599714e+000, - 4.387745e-001, - 2.628599e-001, - 1.524571e+000, - -1.970968e+000, - -5.345634e+000, - -9.987550e-001, - 9.361642e-002, - -3.014998e+000, - 4.664222e-002, - -1.546981e+000, - -4.036780e-001, - 8.325325e-001, - 1.715800e+001, - -2.851827e+000, - 1.017658e+000, - 5.047605e-002, - 1.280570e+000, - 9.205303e-001, - -1.007805e+000, - -2.280094e-001, - 1.094464e+000, - -2.536201e-003, - -2.625881e+000, - -7.694080e-001, - 3.014068e-001, - 6.863553e-001, - 6.618797e-001, - // albedo 1, turbidity 10 - -2.053568e+000, - -1.118817e+000, - -2.476651e+000, - 2.850408e+000, - -6.473262e-002, - 5.621066e-001, - -7.416765e-006, - 1.745013e+000, - 9.001462e-001, - -1.709489e+000, - -9.819671e-001, - 2.761507e+000, - -1.714474e+000, - -3.528594e-001, - -4.119396e-002, - -4.730579e-003, - 1.499789e+000, - -2.391912e-001, - -6.391469e+000, - -2.761260e+000, - -2.577416e+000, - 3.597562e-002, - 5.989102e-001, - 1.364694e+000, - 9.601535e-002, - 2.454903e+000, - 1.416630e+000, - 1.216754e+000, - 9.574717e-002, - 1.225522e+000, - 1.738200e+000, - -5.694060e+000, - -1.293189e+000, - 3.689231e-001, - -6.089362e-001, - 1.579300e-001, - -1.525011e+000, - -5.441954e-001, - 1.133633e+000, - 1.006755e+001, - -2.040823e+000, - 8.661522e-001, - -2.113994e-001, - -1.412329e+000, - 8.753097e-001, - -1.042371e+000, - -2.363937e-001, - 7.521052e-001, - 2.049669e-002, - -1.941391e+000, - -4.961140e-001, - 3.981498e-001, - 9.201797e-001, - 6.656735e-001, -}; - -double datasetXYZRad2[] = -{ - // albedo 0, turbidity 1 - 9.427554e-003, - 8.058571e-003, - 7.941874e-003, - 7.152767e-002, - 3.420213e-002, - 4.486364e-002, - // albedo 0, turbidity 2 - 9.343795e-003, - 8.500973e-003, - 5.220239e-003, - 7.911633e-002, - 3.371270e-002, - 4.595605e-002, - // albedo 0, turbidity 3 - 9.223919e-003, - 8.979357e-003, - 2.266151e-003, - 8.695394e-002, - 3.307117e-002, - 4.712533e-002, - // albedo 0, turbidity 4 - 9.022225e-003, - 9.826422e-003, - -2.734701e-003, - 9.906042e-002, - 3.211211e-002, - 4.915850e-002, - // albedo 0, turbidity 5 - 8.790138e-003, - 1.065429e-002, - -7.647537e-003, - 1.108126e-001, - 3.142813e-002, - 5.104678e-002, - // albedo 0, turbidity 6 - 8.449344e-003, - 1.204669e-002, - -1.569449e-002, - 1.276238e-001, - 3.143630e-002, - 5.399848e-002, - // albedo 0, turbidity 7 - 8.102946e-003, - 1.323220e-002, - -2.319017e-002, - 1.435403e-001, - 3.189872e-002, - 5.687037e-002, - // albedo 0, turbidity 8 - 7.772349e-003, - 1.470008e-002, - -3.103115e-002, - 1.578796e-001, - 3.281949e-002, - 6.018986e-002, - // albedo 0, turbidity 9 - 7.429019e-003, - 1.602571e-002, - -3.840462e-002, - 1.712024e-001, - 3.422270e-002, - 6.336843e-002, - // albedo 0, turbidity 10 - 7.217988e-003, - 1.684335e-002, - -4.272209e-002, - 1.780005e-001, - 3.647559e-002, - 6.525172e-002, - // albedo 1, turbidity 1 - 1.007930e-002, - 9.469359e-003, - 7.751882e-003, - 6.735888e-002, - 8.607559e-002, - 1.024772e-001, - // albedo 1, turbidity 2 - 9.994748e-003, - 1.000808e-002, - 4.606871e-003, - 7.572962e-002, - 8.492733e-002, - 1.050286e-001, - // albedo 1, turbidity 3 - 9.867055e-003, - 1.050709e-002, - 1.632528e-003, - 8.364781e-002, - 8.428999e-002, - 1.073660e-001, - // albedo 1, turbidity 4 - 9.657944e-003, - 1.132287e-002, - -3.178687e-003, - 9.510100e-002, - 8.436936e-002, - 1.103412e-001, - // albedo 1, turbidity 5 - 9.423656e-003, - 1.209974e-002, - -7.969914e-003, - 1.064676e-001, - 8.451926e-002, - 1.133836e-001, - // albedo 1, turbidity 6 - 9.102522e-003, - 1.313191e-002, - -1.453139e-002, - 1.197732e-001, - 8.837563e-002, - 1.164319e-001, - // albedo 1, turbidity 7 - 8.758492e-003, - 1.408607e-002, - -2.093813e-002, - 1.327661e-001, - 9.241165e-002, - 1.195703e-001, - // albedo 1, turbidity 8 - 8.449389e-003, - 1.515206e-002, - -2.716582e-002, - 1.432571e-001, - 9.701279e-002, - 1.230409e-001, - // albedo 1, turbidity 9 - 8.119285e-003, - 1.608683e-002, - -3.295498e-002, - 1.527686e-001, - 1.021520e-001, - 1.266069e-001, - // albedo 1, turbidity 10 - 7.942180e-003, - 1.664579e-002, - -3.594293e-002, - 1.559130e-001, - 1.083492e-001, - 1.276285e-001, -}; - -double datasetXYZ3[] = -{ - // albedo 0, turbidity 1 - -1.311888e+000, - -4.420623e-001, - -8.214623e+000, - 8.648177e+000, - -3.635749e-002, - 5.335267e-001, - 1.131124e-002, - 3.149016e+000, - 4.999443e-001, - -1.425950e+000, - -5.484125e-001, - -1.397730e+000, - 2.129249e+000, - -8.008800e-002, - 5.424854e-001, - 9.998297e-003, - 2.644282e+000, - 5.135004e-001, - -1.104356e+000, - -1.940769e-001, - 2.507502e+000, - -3.111118e+000, - -1.123243e-001, - 4.371704e-001, - -1.567242e-002, - 5.499670e+000, - 4.026340e-001, - -1.192319e+000, - -4.462048e-001, - 5.371843e-001, - 1.752080e+000, - -5.827109e-001, - 1.447609e+000, - 4.110161e-002, - -3.291197e+000, - 8.331939e-001, - -1.005527e+000, - -1.072900e-001, - 1.013645e+000, - -6.226680e-001, - 7.023087e-001, - 5.090545e-001, - -6.104120e-002, - 4.522197e+000, - 6.585009e-001, - -1.074276e+000, - -1.717007e-001, - 8.668669e-001, - 1.635690e-001, - -5.004160e+000, - 1.450587e+000, - 1.000051e-001, - 3.366395e+000, - 4.999445e-001, - // albedo 0, turbidity 2 - -1.331333e+000, - -4.626283e-001, - -6.305924e+000, - 6.766781e+000, - -5.051313e-002, - 5.556381e-001, - 4.156655e-003, - 3.095492e+000, - 5.777151e-001, - -1.575536e+000, - -7.238005e-001, - 2.173605e-002, - 9.741010e-001, - -1.103266e-001, - 5.139781e-001, - 1.587703e-002, - 1.459081e+000, - 2.112299e-001, - -8.709656e-001, - 6.710823e-002, - 1.020573e+000, - -2.360032e+000, - -1.540314e-001, - 4.154631e-001, - -1.385436e-002, - 7.471963e+000, - 1.182792e+000, - -1.285011e+000, - -5.166853e-001, - 8.665324e-001, - 1.692490e+000, - -7.961840e-001, - 1.256981e+000, - 1.009228e-001, - -3.544266e+000, - 2.688645e-001, - -9.893626e-001, - -9.370750e-002, - 7.783371e-001, - -8.390834e-001, - 1.050487e-001, - 6.421791e-001, - -6.671917e-002, - 4.897068e+000, - 8.901579e-001, - -1.076705e+000, - -1.802849e-001, - 8.245262e-001, - 3.292666e-001, - -5.004096e+000, - 1.146985e+000, - 1.568911e-001, - 3.093827e+000, - 5.240784e-001, - // albedo 0, turbidity 3 - -1.350265e+000, - -4.789632e-001, - -4.518654e+000, - 4.892352e+000, - -6.730528e-002, - 5.459274e-001, - 6.104279e-003, - 3.152799e+000, - 5.387910e-001, - -1.655122e+000, - -8.206123e-001, - 6.170559e-001, - 2.808772e-001, - -1.358176e-001, - 5.332729e-001, - 2.780488e-002, - 1.104735e+000, - 2.869065e-001, - -7.543663e-001, - 1.668019e-001, - 2.587982e-001, - -1.385098e+000, - -2.965985e-001, - 1.255789e-001, - -5.621719e-002, - 7.402862e+000, - 1.248826e+000, - -1.305139e+000, - -4.469096e-001, - 4.910604e-001, - 1.908400e+000, - -4.318161e-001, - 1.569090e+000, - 1.923636e-001, - -1.167472e+000, - 2.045414e-001, - -9.935607e-001, - -1.439402e-001, - 8.263513e-001, - -2.915009e+000, - -5.527549e+000, - 8.037532e-002, - -7.526778e-003, - 3.769175e+000, - 8.937858e-001, - -1.083111e+000, - -1.916481e-001, - 7.362846e-001, - 4.367754e+000, - -4.060770e+000, - 1.350372e+000, - 1.200770e-001, - 2.889067e+000, - 5.899180e-001, - // albedo 0, turbidity 4 - -1.373374e+000, - -5.100680e-001, - -3.039093e+000, - 3.413389e+000, - -9.466214e-002, - 4.973266e-001, - 8.466897e-003, - 3.014455e+000, - 5.101163e-001, - -1.840141e+000, - -9.808119e-001, - 6.416855e-001, - 1.635225e-001, - -1.891191e-001, - 4.956113e-001, - 1.624685e-002, - 9.842522e-001, - 4.001240e-001, - -6.544802e-001, - 1.776027e-001, - -1.115127e-001, - -1.815564e-001, - -5.015203e-001, - 3.345275e-001, - -6.851344e-002, - 6.281235e+000, - 1.105559e+000, - -1.301369e+000, - -3.174570e-001, - 6.940684e-002, - -6.766562e-001, - -2.472675e-001, - 9.532933e-001, - 2.652804e-001, - 1.382351e+000, - 3.872409e-001, - -1.000531e+000, - -2.370102e-001, - 8.777148e-001, - 2.465815e+000, - -1.032874e+001, - 3.288488e-001, - 2.599159e-002, - 2.171819e+000, - 7.430662e-001, - -1.106629e+000, - -2.267646e-001, - 6.647827e-001, - 8.473269e-001, - -1.995761e+000, - 9.933816e-001, - 1.593503e-001, - 2.349060e+000, - 6.768979e-001, - // albedo 0, turbidity 5 - -1.451695e+000, - -5.853568e-001, - -2.498264e+000, - 2.828335e+000, - -1.021180e-001, - 4.463749e-001, - 1.084684e-002, - 2.835571e+000, - 5.003887e-001, - -1.883066e+000, - -1.028171e+000, - 1.581882e+000, - -1.304488e+000, - -2.563745e-001, - 5.796013e-001, - 4.006731e-002, - 1.172546e+000, - 4.705877e-001, - -8.036150e-001, - 1.421039e-002, - -1.224287e+000, - 3.345430e+000, - -7.822678e-002, - -8.034004e-002, - -1.981820e-001, - 5.281135e+000, - 1.054045e+000, - -1.107203e+000, - -1.301295e-001, - 4.868606e-001, - -4.658867e+000, - -8.327308e+000, - 1.360841e+000, - 4.849250e-001, - 2.170094e+000, - 3.667511e-001, - -1.113339e+000, - -3.526006e-001, - 5.749117e-001, - 9.771155e+000, - -1.239915e+000, - -3.274243e-001, - -1.014052e-001, - 1.580264e+000, - 7.824541e-001, - -1.071144e+000, - -2.129768e-001, - 6.020160e-001, - 1.069035e-003, - -3.513311e+000, - 1.059215e+000, - 1.897841e-001, - 2.314860e+000, - 6.921064e-001, - // albedo 0, turbidity 6 - -1.475550e+000, - -6.235784e-001, - -2.739219e+000, - 3.102316e+000, - -9.871396e-002, - 4.894712e-001, - 1.512045e-003, - 2.716438e+000, - 5.202016e-001, - -2.100286e+000, - -1.174158e+000, - 1.810953e+000, - -1.623774e+000, - -2.261133e-001, - 5.442875e-001, - 4.655874e-002, - 1.098479e+000, - 3.540358e-001, - -5.874487e-001, - 1.046816e-001, - -1.318062e+000, - 3.853206e+000, - -1.574024e-001, - -7.611052e-002, - -2.255800e-001, - 5.023688e+000, - 1.139217e+000, - -1.255342e+000, - -1.702924e-001, - 1.930147e-001, - -6.472261e+000, - -7.280723e+000, - 1.320492e+000, - 5.794775e-001, - 2.703602e+000, - 3.045391e-001, - -1.036406e+000, - -3.366023e-001, - 6.357367e-001, - 1.135332e+001, - -8.266441e-001, - -5.135191e-001, - -1.539050e-001, - 1.191031e+000, - 8.387967e-001, - -1.102701e+000, - -2.398535e-001, - 4.559688e-001, - -2.013559e-003, - -3.550343e+000, - 1.051510e+000, - 2.182405e-001, - 2.311132e+000, - 6.821927e-001, - // albedo 0, turbidity 7 - -1.547031e+000, - -6.877917e-001, - -3.473587e+000, - 3.780188e+000, - -7.225087e-002, - 4.498234e-001, - -9.858722e-007, - 2.658526e+000, - 5.167507e-001, - -2.064595e+000, - -1.170986e+000, - 2.388138e+000, - -2.247533e+000, - -1.622052e-001, - 5.117292e-001, - 5.911014e-002, - 1.131937e+000, - 3.718462e-001, - -9.685079e-001, - -2.158542e-001, - -1.719697e+000, - 3.990801e+000, - -7.427683e-002, - 2.332378e-001, - -2.661236e-001, - 4.625093e+000, - 1.104653e+000, - -8.970945e-001, - 8.323946e-002, - 3.367617e-001, - -6.209571e+000, - -6.061473e+000, - 6.627023e-001, - 6.095066e-001, - 2.260073e+000, - 3.429540e-001, - -1.198498e+000, - -4.510515e-001, - 4.388823e-001, - 1.113762e+001, - -1.660976e+000, - -9.334453e-002, - -1.097612e-001, - 1.301591e+000, - 8.116829e-001, - -1.082711e+000, - -2.783680e-001, - 4.468370e-001, - 6.363411e-001, - -2.892323e+000, - 5.460732e-001, - 2.027693e-001, - 1.745605e+000, - 6.915067e-001, - // albedo 0, turbidity 8 - -1.698899e+000, - -8.367919e-001, - -4.302314e+000, - 4.563539e+000, - -4.785560e-002, - 4.111800e-001, - -1.874868e-006, - 2.392578e+000, - 5.671278e-001, - -2.186667e+000, - -1.203216e+000, - 3.101762e+000, - -3.003775e+000, - -1.159056e-001, - 3.095751e-001, - 6.628745e-002, - 1.421465e+000, - 2.244936e-001, - -1.432555e+000, - -7.167314e-001, - -2.167274e+000, - 4.075338e+000, - 6.408773e-002, - 8.131324e-001, - -2.893191e-001, - 3.927968e+000, - 1.227801e+000, - -5.759409e-001, - 3.350147e-001, - 5.792035e-001, - -6.077718e+000, - -5.495646e+000, - -3.000352e-001, - 6.441570e-001, - 1.466788e+000, - 2.406916e-001, - -1.311503e+000, - -5.925982e-001, - 3.307142e-001, - 1.089626e+001, - -1.249587e+000, - 5.174552e-001, - -1.492856e-001, - 9.061259e-001, - 8.814459e-001, - -1.089719e+000, - -3.246084e-001, - 3.677823e-001, - 1.541657e+000, - -3.032948e+000, - 4.760454e-002, - 2.299367e-001, - 1.476567e+000, - 6.684034e-001, - // albedo 0, turbidity 9 - -2.103618e+000, - -1.132994e+000, - -4.590875e+000, - 4.750566e+000, - -3.515167e-002, - 3.942989e-001, - -2.898367e-006, - 2.183169e+000, - 6.470920e-001, - -1.636508e+000, - -8.262485e-001, - 3.365690e+000, - -3.097147e+000, - -1.333573e-001, - 2.142492e-001, - 4.660433e-002, - 1.930268e+000, - 6.372777e-002, - -3.513446e+000, - -2.169842e+000, - -2.453532e+000, - 3.012257e+000, - 2.293273e-001, - 8.800788e-001, - -2.045822e-001, - 2.988254e+000, - 1.334491e+000, - 6.299066e-001, - 9.712599e-001, - 9.122987e-001, - -4.113695e+000, - -5.133434e+000, - -2.746053e-001, - 4.512841e-001, - 7.482225e-001, - 2.176656e-001, - -1.729124e+000, - -8.961104e-001, - 1.416097e-001, - 1.156449e+001, - -1.713114e+000, - 9.200428e-002, - -4.258075e-002, - 5.910965e-001, - 8.549823e-001, - -1.002796e+000, - -3.188077e-001, - 3.083129e-001, - 6.623051e-001, - -2.560582e+000, - 2.459886e-001, - 2.127178e-001, - 1.224087e+000, - 6.830473e-001, - // albedo 0, turbidity 10 - -2.774006e+000, - -1.579782e+000, - -3.983600e+000, - 4.085097e+000, - -3.032315e-002, - 3.048476e-001, - -4.148488e-006, - 1.965812e+000, - 7.195398e-001, - -1.133820e+000, - -7.717168e-001, - 2.805407e+000, - -2.464148e+000, - -1.506218e-001, - 1.790959e-001, - 4.858177e-002, - 1.824955e+000, - -3.404481e-002, - -6.492776e+000, - -3.311990e+000, - -2.236767e+000, - 1.846738e+000, - 3.120065e-001, - 6.711671e-001, - -1.968289e-001, - 3.151885e+000, - 1.340389e+000, - 1.261591e+000, - 6.328827e-001, - 6.625715e-001, - -2.573150e+000, - -4.327788e+000, - 2.392943e-001, - 4.142411e-001, - 1.626791e-001, - 2.558303e-001, - -1.635953e+000, - -8.632853e-001, - 3.638306e-001, - 1.178910e+001, - -2.213853e+000, - -5.985963e-001, - -1.411031e-001, - -4.697450e-002, - 8.275285e-001, - -1.036112e+000, - -3.064725e-001, - 6.676653e-002, - -2.658343e-003, - -2.226863e+000, - 6.336803e-001, - 3.174833e-001, - 1.300817e+000, - 6.757297e-001, - // albedo 1, turbidity 1 - -1.278934e+000, - -4.266107e-001, - -1.235449e+001, - 1.301378e+001, - -2.286229e-002, - 5.011387e-001, - 1.252610e-002, - 2.717347e+000, - 4.999421e-001, - -1.453838e+000, - -5.905132e-001, - 3.010002e+000, - -2.045614e+000, - -5.107792e-002, - 3.025847e-001, - 2.930079e-002, - 1.721588e+000, - 4.997147e-001, - -1.020968e+000, - -1.655083e-001, - 2.393053e-001, - -7.842962e-001, - -1.093614e-001, - 7.482797e-001, - -4.499164e-002, - 5.672841e+000, - 5.092278e-001, - -1.157174e+000, - -3.644371e-001, - 1.765101e+000, - 8.851871e-001, - -4.206434e-001, - 8.388970e-001, - 7.564143e-002, - -3.961135e+000, - 4.268443e-001, - -1.002681e+000, - -7.845491e-002, - 8.361537e-001, - -4.692559e-001, - -5.310315e-001, - 4.461649e-001, - -6.564163e-002, - 6.116065e+000, - 7.999559e-001, - -1.078227e+000, - -1.728760e-001, - 1.200918e+000, - 1.804492e-001, - -5.003140e+000, - 5.363958e-001, - 7.966617e-002, - 3.047472e+000, - 4.999439e-001, - // albedo 1, turbidity 2 - -1.315307e+000, - -4.637043e-001, - -8.460782e+000, - 9.039007e+000, - -2.854979e-002, - 4.312812e-001, - 1.962972e-002, - 2.633290e+000, - 5.353702e-001, - -1.479455e+000, - -6.406754e-001, - 1.726747e+000, - -5.285200e-001, - -7.870318e-002, - 5.230240e-001, - -4.621225e-003, - 1.380045e+000, - 3.265295e-001, - -9.582427e-001, - -6.316786e-002, - 4.850994e-001, - -1.439690e+000, - -1.342330e-001, - 2.835928e-001, - 8.701807e-003, - 6.390283e+000, - 1.026493e+000, - -1.165746e+000, - -3.814278e-001, - 1.422304e+000, - 1.154808e+000, - -6.366475e-001, - 1.159796e+000, - 7.795290e-002, - -3.713275e+000, - 3.796947e-001, - -1.014936e+000, - -8.039227e-002, - 8.741110e-001, - -5.380748e-001, - -2.829132e-001, - 3.008224e-001, - -5.677102e-002, - 6.161057e+000, - 8.319051e-001, - -1.071826e+000, - -1.735548e-001, - 1.149064e+000, - 1.867569e-001, - -5.002087e+000, - 3.926498e-001, - 1.190023e-001, - 2.923191e+000, - 5.123194e-001, - // albedo 1, turbidity 3 - -1.325328e+000, - -4.754775e-001, - -6.030560e+000, - 6.613063e+000, - -4.269386e-002, - 4.715374e-001, - 7.358240e-003, - 2.657615e+000, - 5.593666e-001, - -1.624180e+000, - -8.094649e-001, - 1.735206e+000, - -6.343355e-001, - -9.197103e-002, - 3.486869e-001, - 4.423550e-002, - 7.200739e-001, - 2.047150e-001, - -7.256930e-001, - 1.644973e-001, - -1.514868e-001, - -8.475176e-001, - -2.033383e-001, - 5.118070e-001, - -1.001742e-001, - 6.856190e+000, - 1.437906e+000, - -1.326390e+000, - -4.608617e-001, - 1.225254e+000, - 1.574815e+000, - -4.162977e-001, - 9.049236e-001, - 2.449473e-001, - -1.919735e+000, - -3.623446e-002, - -9.472798e-001, - -8.325384e-002, - 1.014683e+000, - -2.622519e+000, - -3.422335e+000, - 1.797932e-001, - -9.031335e-002, - 4.504420e+000, - 1.093961e+000, - -1.097737e+000, - -1.963290e-001, - 1.161926e+000, - 3.934307e+000, - -5.006855e+000, - 5.610052e-001, - 9.326543e-002, - 2.582889e+000, - 4.999522e-001, - // albedo 1, turbidity 4 - -1.355405e+000, - -5.136983e-001, - -3.702103e+000, - 4.227707e+000, - -5.697320e-002, - 3.973961e-001, - 1.259334e-002, - 2.530478e+000, - 5.263474e-001, - -1.746851e+000, - -9.649533e-001, - 8.702134e-001, - 3.591285e-001, - -1.363910e-001, - 5.205780e-001, - 2.734811e-002, - 2.767819e-001, - 3.181624e-001, - -6.762497e-001, - 2.385826e-001, - 7.976268e-002, - -1.129624e+000, - -2.516586e-001, - 2.778869e-001, - -1.092787e-001, - 6.853386e+000, - 1.277624e+000, - -1.307943e+000, - -4.480330e-001, - 5.995796e-001, - 1.612401e+000, - -6.924595e-001, - 8.015640e-001, - 3.344989e-001, - -9.589034e-001, - 1.453526e-001, - -9.700917e-001, - -1.197321e-001, - 1.241096e+000, - -2.502490e+000, - -3.753413e+000, - 1.769959e-001, - -8.447797e-002, - 3.447177e+000, - 9.516305e-001, - -1.091235e+000, - -1.919335e-001, - 9.970199e-001, - 3.549449e+000, - -4.306689e+000, - 4.962728e-001, - 1.238430e-001, - 2.758578e+000, - 6.013159e-001, - // albedo 1, turbidity 5 - -1.392447e+000, - -5.579332e-001, - -2.567321e+000, - 3.088258e+000, - -8.579040e-002, - 4.621026e-001, - 4.565959e-003, - 2.445922e+000, - 5.565956e-001, - -1.956557e+000, - -1.134455e+000, - 1.416415e+000, - -4.109731e-001, - -1.999037e-001, - 3.035066e-001, - 5.289490e-002, - 2.444984e-001, - 2.199443e-001, - -5.536306e-001, - 2.669274e-001, - -6.183169e-001, - 1.745223e-001, - -1.311617e-001, - 5.290580e-001, - -1.792890e-001, - 6.114569e+000, - 1.378717e+000, - -1.376163e+000, - -4.446270e-001, - 5.943493e-001, - 1.222020e+000, - -2.809079e+000, - 4.104369e-001, - 4.456987e-001, - -2.749475e-001, - 6.876941e-002, - -9.221449e-001, - -1.189414e-001, - 1.193682e+000, - -3.876951e+000, - -3.618624e+000, - 2.508265e-001, - -7.996779e-002, - 3.060098e+000, - 1.001817e+000, - -1.124365e+000, - -2.449169e-001, - 1.067130e+000, - 7.941036e+000, - -4.040194e+000, - 3.627627e-001, - 9.585876e-002, - 1.793268e+000, - 5.802275e-001, - // albedo 1, turbidity 6 - -1.416356e+000, - -5.884181e-001, - -2.434923e+000, - 2.989620e+000, - -9.143356e-002, - 4.306519e-001, - -6.626430e-007, - 2.370120e+000, - 5.543846e-001, - -2.036822e+000, - -1.235608e+000, - 2.235972e+000, - -1.594146e+000, - -2.250287e-001, - 4.041790e-001, - 6.020190e-002, - 1.324026e-001, - 2.311588e-001, - -6.100902e-001, - 2.187419e-001, - -1.458361e+000, - 3.029719e+000, - 8.679713e-002, - 2.147092e-001, - -2.294104e-001, - 5.602675e+000, - 1.338276e+000, - -1.245646e+000, - -3.217976e-001, - 8.337516e-001, - -4.097808e+000, - -7.336715e+000, - 7.497411e-001, - 5.383807e-001, - 7.421823e-001, - 1.409221e-001, - -1.020851e+000, - -2.276978e-001, - 1.089822e+000, - 7.262143e+000, - -1.712580e+000, - -2.187467e-001, - -1.665151e-001, - 1.999861e+000, - 9.036180e-001, - -1.082805e+000, - -2.009170e-001, - 9.834561e-001, - 1.962586e+000, - -3.968345e+000, - 5.620788e-001, - 1.501137e-001, - 2.293511e+000, - 6.539755e-001, - // albedo 1, turbidity 7 - -1.455097e+000, - -6.377708e-001, - -3.056790e+000, - 3.531290e+000, - -6.726070e-002, - 4.008309e-001, - -7.720256e-007, - 2.336308e+000, - 5.628152e-001, - -2.233654e+000, - -1.384154e+000, - 2.850003e+000, - -2.395164e+000, - -1.519300e-001, - 3.482269e-001, - 6.872621e-002, - 1.501730e-001, - 2.173574e-001, - -5.769213e-001, - 1.376470e-001, - -1.834490e+000, - 4.179173e+000, - 8.998180e-002, - 5.029472e-001, - -2.794634e-001, - 4.935213e+000, - 1.315894e+000, - -1.254086e+000, - -2.557369e-001, - 8.003818e-001, - -6.221100e+000, - -7.022007e+000, - 2.179719e-001, - 6.137258e-001, - 9.926229e-001, - 1.832485e-001, - -9.955460e-001, - -2.588225e-001, - 1.038675e+000, - 1.121541e+001, - -1.790333e+000, - 2.385889e-002, - -1.909201e-001, - 1.672978e+000, - 8.630985e-001, - -1.110471e+000, - -2.589342e-001, - 1.046373e+000, - 1.105839e+000, - -3.835543e+000, - 3.726309e-001, - 1.505174e-001, - 1.451357e+000, - 6.730513e-001, - // albedo 1, turbidity 8 - -1.635744e+000, - -8.131883e-001, - -4.173952e+000, - 4.643640e+000, - -4.347971e-002, - 3.723717e-001, - -2.050838e-006, - 2.010619e+000, - 5.933561e-001, - -2.214302e+000, - -1.311257e+000, - 3.795249e+000, - -3.352616e+000, - -1.225978e-001, - 3.357912e-001, - 5.780200e-002, - 7.000075e-001, - 1.532865e-001, - -1.240030e+000, - -5.251359e-001, - -2.462401e+000, - 4.199373e+000, - 2.198326e-001, - 5.820900e-001, - -2.528969e-001, - 3.969682e+000, - 1.323585e+000, - -7.335051e-001, - 1.348211e-001, - 1.117508e+000, - -5.736812e+000, - -5.947695e+000, - 5.484914e-003, - 5.667800e-001, - 4.203315e-001, - 1.901034e-001, - -1.218142e+000, - -4.652876e-001, - 8.454010e-001, - 1.094323e+001, - -1.555471e+000, - -6.514268e-004, - -1.486863e-001, - 1.215668e+000, - 8.730318e-001, - -1.060175e+000, - -2.649293e-001, - 1.050104e+000, - 3.755117e-001, - -3.691971e+000, - 3.635470e-001, - 1.517157e-001, - 1.040222e+000, - 6.741737e-001, - // albedo 1, turbidity 9 - -1.965171e+000, - -1.110977e+000, - -3.975371e+000, - 4.402380e+000, - -3.781046e-002, - 3.442826e-001, - -3.206313e-006, - 1.722681e+000, - 7.137791e-001, - -2.076631e+000, - -1.135266e+000, - 3.495989e+000, - -2.951976e+000, - -1.431175e-001, - 2.313894e-001, - 4.838592e-002, - 1.154473e+000, - -5.960279e-002, - -2.741027e+000, - -1.710606e+000, - -2.098317e+000, - 2.856980e+000, - 3.092012e-001, - 7.699211e-001, - -2.114227e-001, - 3.077816e+000, - 1.467774e+000, - 8.957317e-002, - 5.539637e-001, - 8.640813e-001, - -3.998637e+000, - -5.613935e+000, - -2.914646e-001, - 4.722521e-001, - -1.125185e-001, - 1.188316e-001, - -1.420326e+000, - -6.360910e-001, - 9.080250e-001, - 1.138477e+001, - -1.566010e+000, - 9.528291e-002, - -1.176358e-001, - 5.778964e-001, - 8.949048e-001, - -1.046287e+000, - -3.098941e-001, - 9.483681e-001, - 5.415214e-001, - -3.375804e+000, - 1.960618e-001, - 1.620471e-001, - 7.370266e-001, - 6.676636e-001, - // albedo 1, turbidity 10 - -2.805422e+000, - -1.616587e+000, - -4.192218e+000, - 4.466438e+000, - -2.546462e-002, - 3.308681e-001, - -4.461434e-006, - 1.619262e+000, - 7.556575e-001, - -1.725173e+000, - -1.156569e+000, - 3.580993e+000, - -2.892076e+000, - -1.189607e-001, - 1.286486e-001, - 4.079482e-002, - 1.063847e+000, - -6.582657e-002, - -5.636612e+000, - -2.816844e+000, - -2.322376e+000, - 2.161365e+000, - 2.108298e-001, - 6.220582e-001, - -1.804825e-001, - 3.007238e+000, - 1.307987e+000, - 9.476952e-001, - 1.996303e-001, - 6.847905e-001, - -2.704996e+000, - -3.436784e+000, - 2.883236e-001, - 4.180512e-001, - 1.200158e-001, - 3.259385e-001, - -1.433266e+000, - -6.003231e-001, - 1.164057e+000, - 1.018945e+001, - -2.896672e+000, - -6.514654e-001, - -1.962561e-001, - -1.267212e+000, - 7.789219e-001, - -1.009612e+000, - -1.798906e-001, - 4.963464e-001, - -2.286995e-003, - -2.469826e+000, - 6.499727e-001, - 3.226465e-001, - 1.912468e+000, - 6.786669e-001, -}; - -double datasetXYZRad3[] = -{ - // albedo 0, turbidity 1 - 6.748228e-003, - 1.245822e-002, - -2.299497e-002, - 1.149254e-001, - 7.674022e-002, - 8.293835e-002, - // albedo 0, turbidity 2 - 6.664536e-003, - 1.290106e-002, - -2.480392e-002, - 1.180803e-001, - 7.712743e-002, - 8.403643e-002, - // albedo 0, turbidity 3 - 6.559916e-003, - 1.325689e-002, - -2.649347e-002, - 1.207550e-001, - 7.786707e-002, - 8.478919e-002, - // albedo 0, turbidity 4 - 6.499438e-003, - 1.353255e-002, - -2.801609e-002, - 1.225208e-001, - 8.205891e-002, - 8.470021e-002, - // albedo 0, turbidity 5 - 6.397692e-003, - 1.376565e-002, - -2.953498e-002, - 1.240835e-001, - 8.626065e-002, - 8.439770e-002, - // albedo 0, turbidity 6 - 6.247701e-003, - 1.446960e-002, - -3.269905e-002, - 1.281632e-001, - 8.995242e-002, - 8.634051e-002, - // albedo 0, turbidity 7 - 6.090256e-003, - 1.497959e-002, - -3.532743e-002, - 1.310822e-001, - 9.449566e-002, - 8.775524e-002, - // albedo 0, turbidity 8 - 5.965851e-003, - 1.535956e-002, - -3.712273e-002, - 1.319752e-001, - 1.002717e-001, - 8.924543e-002, - // albedo 0, turbidity 9 - 5.817304e-003, - 1.562969e-002, - -3.870089e-002, - 1.324030e-001, - 1.059721e-001, - 9.073928e-002, - // albedo 0, turbidity 10 - 5.747920e-003, - 1.576308e-002, - -3.904300e-002, - 1.306544e-001, - 1.121448e-001, - 9.062238e-002, - // albedo 1, turbidity 1 - 7.815700e-003, - 1.183664e-002, - -1.186281e-002, - 8.121980e-002, - 1.759349e-001, - 1.758821e-001, - // albedo 1, turbidity 2 - 7.761406e-003, - 1.209518e-002, - -1.309164e-002, - 8.320275e-002, - 1.771012e-001, - 1.766797e-001, - // albedo 1, turbidity 3 - 7.686516e-003, - 1.228515e-002, - -1.424823e-002, - 8.478350e-002, - 1.785574e-001, - 1.773424e-001, - // albedo 1, turbidity 4 - 7.573618e-003, - 1.252190e-002, - -1.545068e-002, - 8.569616e-002, - 1.826553e-001, - 1.776316e-001, - // albedo 1, turbidity 5 - 7.431437e-003, - 1.271230e-002, - -1.662223e-002, - 8.623589e-002, - 1.869661e-001, - 1.777765e-001, - // albedo 1, turbidity 6 - 7.296445e-003, - 1.303427e-002, - -1.829775e-002, - 8.679538e-002, - 1.934616e-001, - 1.781220e-001, - // albedo 1, turbidity 7 - 7.131506e-003, - 1.322757e-002, - -1.966949e-002, - 8.662494e-002, - 2.003751e-001, - 1.782167e-001, - // albedo 1, turbidity 8 - 6.985675e-003, - 1.329179e-002, - -2.001190e-002, - 8.388650e-002, - 2.091531e-001, - 1.777761e-001, - // albedo 1, turbidity 9 - 6.809328e-003, - 1.332258e-002, - -2.050411e-002, - 8.151631e-002, - 2.168861e-001, - 1.779214e-001, - // albedo 1, turbidity 10 - 6.742967e-003, - 1.344217e-002, - -2.111739e-002, - 8.050785e-002, - 2.209232e-001, - 1.786115e-001, -}; - -double* datasetsXYZ[] = -{ - datasetXYZ1, - datasetXYZ2, - datasetXYZ3 -}; - -double* datasetsXYZRad[] = -{ - datasetXYZRad1, - datasetXYZRad2, - datasetXYZRad3 -}; \ No newline at end of file diff --git a/extern/skylight/README.txt b/extern/skylight/README.txt deleted file mode 100644 index 7ccf9ff..0000000 --- a/extern/skylight/README.txt +++ /dev/null @@ -1,33 +0,0 @@ -The files in this archive are a sample implementation of the analytical -skylight model presented in the SIGGRAPH 2012 paper - - - "An Analytic Model for Full Spectral Sky-Dome Radiance" - - by - - Lukas Hosek and Alexander Wilkie - Charles University in Prague, Czech Republic - - - Version: 1.0, May 11th, 2012 - - -Please visit http://cgg.mff.cuni.cz/projects/SkylightModelling/ to check if -an updated version of this code has been published! - - -This archive contains the following files: - -README.txt This file. - -ArHosekSkyModel.h Header file for the reference functions. Their - usage is explained there, and sample code for - calling them is given. - -ArHosekSkyModel.c Implementation of the functions. - -ArHosekSkyModelData.h Coefficient data. - -Please note that the source files are in C99, so that when e.g. compiling this -code with gcc, you have to add the "-std=c99" or "-std=gnu99" flags. \ No newline at end of file