|
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.
|