From: <ai...@us...> - 2013-10-30 20:12:20
|
Revision: 12641 http://sourceforge.net/p/plplot/code/12641 Author: airwin Date: 2013-10-30 20:12:17 +0000 (Wed, 30 Oct 2013) Log Message: ----------- Replace all BOZ constants by their decimal equivalents to reestablish the standards compliance lost by the last commit (since Fortran 95, 2003, and 2008 standards all do not allow BOZ constants to initialize integers for some strange reason). Modified Paths: -------------- trunk/bindings/f95/global_defines.sed trunk/bindings/f95/plplot_parameters.h Modified: trunk/bindings/f95/global_defines.sed =================================================================== --- trunk/bindings/f95/global_defines.sed 2013-10-30 17:29:31 UTC (rev 12640) +++ trunk/bindings/f95/global_defines.sed 2013-10-30 20:12:17 UTC (rev 12641) @@ -40,6 +40,25 @@ /^#define/ s?^#define *\(PL_NOTSET\)[ (]*\([^ ]*\)[ )]*\(.*\)$? real(kind=plflt), parameter :: \1 = \2.0_plflt\3\n real(kind=plflt), parameter :: PL_PI = 3.1415926535897932384_plflt\n real(kind=plflt), parameter :: PL_TWOPI = 2.0_plflt*PL_PI? +# Replace all hexadecimal BOZ constants by their decimal equivalents to maintain +# standards compliance rather than relying on an extension from the +# Fortran standards which allows BOZ constants in this context. +# (This extension is likely implemented by each different Fortran +# compiler, but you can never be sure.) + +/^#define/ s?z'0*\([0-9]\)'?\1? +/^#define/ s?z'0*f'?15? +/^#define/ s?z'0*\([0-9]\)0'?\1*16? +/^#define/ s?z'0*\([0-9]\)00'?\1*16*16? +/^#define/ s?z'0*\([0-9]\)000'?\1*16*16*16? +/^#define/ s?z'0*\([0-9]\)0000'?\1*16*16*16*16? +# This last one is one more than we currently need. +/^#define/ s?z'0*\([0-9]\)00000'?\1*16*16*16*16*16? + +# Note we could do the same transformation for octal BOZ constants, but we +# don't have any at present. + + # Comment the following line so that we do not use a special form for BOZ constants. #/^#define/ s?^#define *\([^ ]*\)[ (]*\([oz][^ ]*\)[ )]*\(.*\)$? integer :: \1 \3\n data \1 / \2 /? /^#define/ s?^#define *\([^ ]*\)[ (]*\([^ ]*\)[ )]*\(.*\)$? integer, parameter :: \1 = \2 \3? Modified: trunk/bindings/f95/plplot_parameters.h =================================================================== --- trunk/bindings/f95/plplot_parameters.h 2013-10-30 17:29:31 UTC (rev 12640) +++ trunk/bindings/f95/plplot_parameters.h 2013-10-30 20:12:17 UTC (rev 12641) @@ -29,16 +29,16 @@ integer, parameter :: PLESC_HAS_TEXT = 20 ! driver draws text integer, parameter :: PLESC_IMAGE = 21 ! handle image integer, parameter :: PLESC_IMAGEOPS = 22 ! plimage related operations - integer, parameter :: DRAW_LINEX = z'01' ! draw lines parallel to the X axis - integer, parameter :: DRAW_LINEY = z'02' ! draw lines parallel to the Y axis - integer, parameter :: DRAW_LINEXY = z'03' ! draw lines parallel to both the X and Y axes - integer, parameter :: MAG_COLOR = z'04' ! draw the mesh with a color dependent of the magnitude - integer, parameter :: BASE_CONT = z'08' ! draw contour plot at bottom xy plane - integer, parameter :: TOP_CONT = z'10' ! draw contour plot at top xy plane - integer, parameter :: SURF_CONT = z'20' ! draw contour plot at surface - integer, parameter :: DRAW_SIDES = z'40' ! draw sides - integer, parameter :: FACETED = z'80' ! draw outline for each square that makes up the surface - integer, parameter :: MESH = z'100' ! draw mesh + integer, parameter :: DRAW_LINEX = 1 ! draw lines parallel to the X axis + integer, parameter :: DRAW_LINEY = 2 ! draw lines parallel to the Y axis + integer, parameter :: DRAW_LINEXY = 3 ! draw lines parallel to both the X and Y axes + integer, parameter :: MAG_COLOR = 4 ! draw the mesh with a color dependent of the magnitude + integer, parameter :: BASE_CONT = 8 ! draw contour plot at bottom xy plane + integer, parameter :: TOP_CONT = 1*16 ! draw contour plot at top xy plane + integer, parameter :: SURF_CONT = 2*16 ! draw contour plot at surface + integer, parameter :: DRAW_SIDES = 4*16 ! draw sides + integer, parameter :: FACETED = 8*16 ! draw outline for each square that makes up the surface + integer, parameter :: MESH = 1*16*16 ! draw mesh integer, parameter :: PL_BIN_DEFAULT = 0 integer, parameter :: PL_BIN_CENTRED = 1 integer, parameter :: PL_BIN_NOEXPAND = 2 @@ -64,65 +64,65 @@ integer, parameter :: PL_LEGEND_BACKGROUND = 32 integer, parameter :: PL_LEGEND_BOUNDING_BOX = 64 integer, parameter :: PL_LEGEND_ROW_MAJOR = 128 - integer, parameter :: PL_COLORBAR_LABEL_LEFT = z'1' - integer, parameter :: PL_COLORBAR_LABEL_RIGHT = z'2' - integer, parameter :: PL_COLORBAR_LABEL_TOP = z'4' - integer, parameter :: PL_COLORBAR_LABEL_BOTTOM = z'8' - integer, parameter :: PL_COLORBAR_IMAGE = z'10' - integer, parameter :: PL_COLORBAR_SHADE = z'20' - integer, parameter :: PL_COLORBAR_GRADIENT = z'40' - integer, parameter :: PL_COLORBAR_CAP_NONE = z'80' - integer, parameter :: PL_COLORBAR_CAP_LOW = z'100' - integer, parameter :: PL_COLORBAR_CAP_HIGH = z'200' - integer, parameter :: PL_COLORBAR_SHADE_LABEL = z'400' - integer, parameter :: PL_COLORBAR_ORIENT_RIGHT = z'800' - integer, parameter :: PL_COLORBAR_ORIENT_TOP = z'1000' - integer, parameter :: PL_COLORBAR_ORIENT_LEFT = z'2000' - integer, parameter :: PL_COLORBAR_ORIENT_BOTTOM = z'4000' - integer, parameter :: PL_COLORBAR_BACKGROUND = z'8000' - integer, parameter :: PL_COLORBAR_BOUNDING_BOX = z'10000' + integer, parameter :: PL_COLORBAR_LABEL_LEFT = 1 + integer, parameter :: PL_COLORBAR_LABEL_RIGHT = 2 + integer, parameter :: PL_COLORBAR_LABEL_TOP = 4 + integer, parameter :: PL_COLORBAR_LABEL_BOTTOM = 8 + integer, parameter :: PL_COLORBAR_IMAGE = 1*16 + integer, parameter :: PL_COLORBAR_SHADE = 2*16 + integer, parameter :: PL_COLORBAR_GRADIENT = 4*16 + integer, parameter :: PL_COLORBAR_CAP_NONE = 8*16 + integer, parameter :: PL_COLORBAR_CAP_LOW = 1*16*16 + integer, parameter :: PL_COLORBAR_CAP_HIGH = 2*16*16 + integer, parameter :: PL_COLORBAR_SHADE_LABEL = 4*16*16 + integer, parameter :: PL_COLORBAR_ORIENT_RIGHT = 8*16*16 + integer, parameter :: PL_COLORBAR_ORIENT_TOP = 1*16*16*16 + integer, parameter :: PL_COLORBAR_ORIENT_LEFT = 2*16*16*16 + integer, parameter :: PL_COLORBAR_ORIENT_BOTTOM = 4*16*16*16 + integer, parameter :: PL_COLORBAR_BACKGROUND = 8*16*16*16 + integer, parameter :: PL_COLORBAR_BOUNDING_BOX = 1*16*16*16*16 integer, parameter :: PLSWIN_DEVICE = 1 ! device coordinates integer, parameter :: PLSWIN_WORLD = 2 ! world coordinates integer, parameter :: PL_X_AXIS = 1 ! The x-axis integer, parameter :: PL_Y_AXIS = 2 ! The y-axis integer, parameter :: PL_Z_AXIS = 3 ! The z-axis - integer, parameter :: PL_OPT_ENABLED = z'0001' ! Obsolete - integer, parameter :: PL_OPT_ARG = z'0002' ! Option has an argment - integer, parameter :: PL_OPT_NODELETE = z'0004' ! Don't delete after processing - integer, parameter :: PL_OPT_INVISIBLE = z'0008' ! Make invisible - integer, parameter :: PL_OPT_DISABLED = z'0010' ! Processing is disabled - integer, parameter :: PL_OPT_FUNC = z'0100' ! Call handler function - integer, parameter :: PL_OPT_BOOL = z'0200' ! Set *var = 1 - integer, parameter :: PL_OPT_INT = z'0400' ! Set *var = atoi(optarg) - integer, parameter :: PL_OPT_FLOAT = z'0800' ! Set *var = atof(optarg) - integer, parameter :: PL_OPT_STRING = z'1000' ! Set var = optarg - integer, parameter :: PL_PARSE_PARTIAL = z'0000' ! For backward compatibility - integer, parameter :: PL_PARSE_FULL = z'0001' ! Process fully & exit if error - integer, parameter :: PL_PARSE_QUIET = z'0002' ! Don't issue messages - integer, parameter :: PL_PARSE_NODELETE = z'0004' ! Don't delete options after - integer, parameter :: PL_PARSE_SHOWALL = z'0008' ! Show invisible options - integer, parameter :: PL_PARSE_OVERRIDE = z'0010' ! Obsolete - integer, parameter :: PL_PARSE_NOPROGRAM = z'0020' ! Program name NOT in *argv[0].. - integer, parameter :: PL_PARSE_NODASH = z'0040' ! Set if leading dash NOT required - integer, parameter :: PL_PARSE_SKIP = z'0080' ! Skip over unrecognized args + integer, parameter :: PL_OPT_ENABLED = 1 ! Obsolete + integer, parameter :: PL_OPT_ARG = 2 ! Option has an argment + integer, parameter :: PL_OPT_NODELETE = 4 ! Don't delete after processing + integer, parameter :: PL_OPT_INVISIBLE = 8 ! Make invisible + integer, parameter :: PL_OPT_DISABLED = 1*16 ! Processing is disabled + integer, parameter :: PL_OPT_FUNC = 1*16*16 ! Call handler function + integer, parameter :: PL_OPT_BOOL = 2*16*16 ! Set *var = 1 + integer, parameter :: PL_OPT_INT = 4*16*16 ! Set *var = atoi(optarg) + integer, parameter :: PL_OPT_FLOAT = 8*16*16 ! Set *var = atof(optarg) + integer, parameter :: PL_OPT_STRING = 1*16*16*16 ! Set var = optarg + integer, parameter :: PL_PARSE_PARTIAL = 0 ! For backward compatibility + integer, parameter :: PL_PARSE_FULL = 1 ! Process fully & exit if error + integer, parameter :: PL_PARSE_QUIET = 2 ! Don't issue messages + integer, parameter :: PL_PARSE_NODELETE = 4 ! Don't delete options after + integer, parameter :: PL_PARSE_SHOWALL = 8 ! Show invisible options + integer, parameter :: PL_PARSE_OVERRIDE = 1*16 ! Obsolete + integer, parameter :: PL_PARSE_NOPROGRAM = 2*16 ! Program name NOT in *argv[0].. + integer, parameter :: PL_PARSE_NODASH = 4*16 ! Set if leading dash NOT required + integer, parameter :: PL_PARSE_SKIP = 8*16 ! Skip over unrecognized args integer, parameter :: PL_FCI_MARK = ishft(1,31) - integer, parameter :: PL_FCI_IMPOSSIBLE = z'00000000' - integer, parameter :: PL_FCI_HEXDIGIT_MASK = z'f' - integer, parameter :: PL_FCI_HEXPOWER_MASK = z'7' - integer, parameter :: PL_FCI_HEXPOWER_IMPOSSIBLE = z'f' - integer, parameter :: PL_FCI_FAMILY = z'0' - integer, parameter :: PL_FCI_STYLE = z'1' - integer, parameter :: PL_FCI_WEIGHT = z'2' - integer, parameter :: PL_FCI_SANS = z'0' - integer, parameter :: PL_FCI_SERIF = z'1' - integer, parameter :: PL_FCI_MONO = z'2' - integer, parameter :: PL_FCI_SCRIPT = z'3' - integer, parameter :: PL_FCI_SYMBOL = z'4' - integer, parameter :: PL_FCI_UPRIGHT = z'0' - integer, parameter :: PL_FCI_ITALIC = z'1' - integer, parameter :: PL_FCI_OBLIQUE = z'2' - integer, parameter :: PL_FCI_MEDIUM = z'0' - integer, parameter :: PL_FCI_BOLD = z'1' + integer, parameter :: PL_FCI_IMPOSSIBLE = 0 + integer, parameter :: PL_FCI_HEXDIGIT_MASK = 15 + integer, parameter :: PL_FCI_HEXPOWER_MASK = 7 + integer, parameter :: PL_FCI_HEXPOWER_IMPOSSIBLE = 15 + integer, parameter :: PL_FCI_FAMILY = 0 + integer, parameter :: PL_FCI_STYLE = 1 + integer, parameter :: PL_FCI_WEIGHT = 2 + integer, parameter :: PL_FCI_SANS = 0 + integer, parameter :: PL_FCI_SERIF = 1 + integer, parameter :: PL_FCI_MONO = 2 + integer, parameter :: PL_FCI_SCRIPT = 3 + integer, parameter :: PL_FCI_SYMBOL = 4 + integer, parameter :: PL_FCI_UPRIGHT = 0 + integer, parameter :: PL_FCI_ITALIC = 1 + integer, parameter :: PL_FCI_OBLIQUE = 2 + integer, parameter :: PL_FCI_MEDIUM = 0 + integer, parameter :: PL_FCI_BOLD = 1 integer, parameter :: PL_MAXKEY = 16 integer, parameter :: PL_MAXWINDOWS = 64 ! Max number of windows/page tracked real(kind=plflt), parameter :: PL_NOTSET = -42.0_plflt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |