{"action":"created","issue":{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/107","repository_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic","labels_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/107/comments","events_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/107/events","html_url":"https://github.com/mpiforumbot/mpi-forum-historic/issues/107","id":167222423,"number":107,"title":"Types of predefined constants in Appendix A","user":{"login":"mpiforumbot","id":20617676,"avatar_url":"https://avatars.githubusercontent.com/u/20617676?v=3","gravatar_id":"","url":"https://api.github.com/users/mpiforumbot","html_url":"https://github.com/mpiforumbot","followers_url":"https://api.github.com/users/mpiforumbot/followers","following_url":"https://api.github.com/users/mpiforumbot/following{/other_user}","gists_url":"https://api.github.com/users/mpiforumbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mpiforumbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpiforumbot/subscriptions","organizations_url":"https://api.github.com/users/mpiforumbot/orgs","repos_url":"https://api.github.com/users/mpiforumbot/repos","events_url":"https://api.github.com/users/mpiforumbot/events{/privacy}","received_events_url":"https://api.github.com/users/mpiforumbot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/labels/MPI%202%5C.2","name":"MPI 2\\.2","color":"ededed"},{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/labels/Text%20committed","name":"Text committed","color":"d93f0b"},{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/labels/Text%20%5C(only%5C)%20changes","name":"Text \\(only\\) changes","color":"ededed"},{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/labels/Waiting%20for%20PDF%20reviews","name":"Waiting for PDF reviews","color":"fef2c0"}],"state":"open","locked":false,"assignee":{"login":"mpiforumbot","id":20617676,"avatar_url":"https://avatars.githubusercontent.com/u/20617676?v=3","gravatar_id":"","url":"https://api.github.com/users/mpiforumbot","html_url":"https://github.com/mpiforumbot","followers_url":"https://api.github.com/users/mpiforumbot/followers","following_url":"https://api.github.com/users/mpiforumbot/following{/other_user}","gists_url":"https://api.github.com/users/mpiforumbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mpiforumbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpiforumbot/subscriptions","organizations_url":"https://api.github.com/users/mpiforumbot/orgs","repos_url":"https://api.github.com/users/mpiforumbot/repos","events_url":"https://api.github.com/users/mpiforumbot/events{/privacy}","received_events_url":"https://api.github.com/users/mpiforumbot/received_events","type":"User","site_admin":false},"assignees":[{"login":"mpiforumbot","id":20617676,"avatar_url":"https://avatars.githubusercontent.com/u/20617676?v=3","gravatar_id":"","url":"https://api.github.com/users/mpiforumbot","html_url":"https://github.com/mpiforumbot","followers_url":"https://api.github.com/users/mpiforumbot/followers","following_url":"https://api.github.com/users/mpiforumbot/following{/other_user}","gists_url":"https://api.github.com/users/mpiforumbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mpiforumbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpiforumbot/subscriptions","organizations_url":"https://api.github.com/users/mpiforumbot/orgs","repos_url":"https://api.github.com/users/mpiforumbot/repos","events_url":"https://api.github.com/users/mpiforumbot/events{/privacy}","received_events_url":"https://api.github.com/users/mpiforumbot/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/milestones/8","html_url":"https://github.com/mpiforumbot/mpi-forum-historic/milestones/2009/07/27%20Chicago","labels_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/milestones/8/labels","id":1900469,"number":8,"title":"2009/07/27 Chicago","description":"","creator":{"login":"mpiforumbot","id":20617676,"avatar_url":"https://avatars.githubusercontent.com/u/20617676?v=3","gravatar_id":"","url":"https://api.github.com/users/mpiforumbot","html_url":"https://github.com/mpiforumbot","followers_url":"https://api.github.com/users/mpiforumbot/followers","following_url":"https://api.github.com/users/mpiforumbot/following{/other_user}","gists_url":"https://api.github.com/users/mpiforumbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mpiforumbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpiforumbot/subscriptions","organizations_url":"https://api.github.com/users/mpiforumbot/orgs","repos_url":"https://api.github.com/users/mpiforumbot/repos","events_url":"https://api.github.com/users/mpiforumbot/events{/privacy}","received_events_url":"https://api.github.com/users/mpiforumbot/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":30,"state":"closed","created_at":"2016-07-23T22:09:07Z","updated_at":"2016-07-24T08:04:58Z","due_on":"2009-07-29T04:00:00Z","closed_at":"2016-07-23T22:09:07Z"},"comments":47,"created_at":"2016-07-24T07:59:17Z","updated_at":"2016-07-24T08:10:18Z","closed_at":null,"body":"**Originally by _RolfRabenseifner_ on 2009-01-18 16:03:40 -0600**\n\n___\n## Description\n\nIn Annex A.1.1 pages 491ff, only the C++ columns have a \ntype information in the header. The missing C and Fortran\ntype is added by this proposal. \nAdditionally, only parts of the tables in Section A.1.1 have information on\nhow to declare the constants and predefined handles in C++\n(p493:6-13, p493:41-45, \n(p496:44-46 - see Ticket #59),\np497:20 (21-26), p497:29 (30-43), \np498:1 (2-19), p498:22 (23-26), p498:29 (30-39),\np498:42 (43-45), p499:20 (21-22)).\n  \nTo be consistent, all this information should be provided for \nall table entries.\n\np499:1-5 makes no sense in this section.\n(types should not be part of the A.1.1 Defined Constants section, \nthey can be found in A.1.2 Types).\n\nThe Appendixes A.1.1 and A.1.2 are hand-written and contain information\nthat is listet elsewhere in the standard only with a \"etc.\",\ne.g. MPI_COMPLEX8. Therefore, these parts of the standard should also be \nlisted in the appropriate index pages.\n(There is no need to list also the automatically generated entries\nin A.2 in the Function-Index)\n\n## Extended Scope\n\nNone.\n\n## History\n\nMPI-2.0 has defined this only for C++. \nFor C and Fortran, this information was never provided.\n\nThe C/Fortran parts have been prepared in ticket #76. Its content moved to this ticket.\n\n## Proposed Solution\n\n - p491:23, add:\n\n   Constants with the type {{const int}} may also be implemented as \n   literal integer constants substituted by the preprocessor.\n\n - p491:26-27, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       const int (or unnamed enum)[[BR]]\n   Fortran type: INTEGER\n\n - p493:1-14, the 3rd column is removed, \n   the column-header-line is substituted by type information,\n   and the table is split into two tables:\n\n   - \"Buffer Address Constants\" with MPI_BOTTOM and MPI_INPLACE\n       with two-line type information row:[[BR]]\n       C type: void * const                       | C++ type:[[BR]]\n       Fortran type: (predefined memory location) | void * const\n\n   - \"Assorted Constants\"  with the rest of rows, and\n       with two-line type information row:[[BR]]\n       C type: const int (or unnamed enum) | C++ type:[[BR]]\n       Fortran type: INTEGER               | const int (or unnamed enum) \n   \n - p493:16, add an additional row:\n\n   Fortran type: INTEGER\n\n - p493:23, add an additional row:\n\n   Fortran type: INTEGER\n\n - p493:30, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Errhandler[[BR]]\n   Fortran type: INTEGER\n\n - 493:36-45, the 3rd column is removed and the type information is\n   written in an additional two-line table row below the \n   header:\n\n   C type: const int (or unnamed enum) | C++ type: [[BR]]\n   Fortran type: INTEGER               | const int (or unnamed enum)\n\n - p494:3,\n   left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Datatype[[BR]]\n   Fortran type: INTEGER\n\n - p494:31-32 (this is only a hint, not part of this ticket:\n   This table will/may be removed by ticket #4) \n\n - p494:36, p495:10, p495:22, p495:32, p495:39, \n   left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Datatype[[BR]]\n   Fortran type: INTEGER\n\n - p495:45, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Comm[[BR]]       \n   Fortran type: INTEGER\n\n - p496,2-3, p496,11-12, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       const int (or unnamed enum)[[BR]]\n   Fortran type: INTEGER\n\n - p496:20, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Op[[BR]]\n   Fortran type: INTEGER\n\n - p496:36-48, the 3rd column is removed and the type information is always\n   written below of the current line, a few mm intended.\n   I use | as column separator in this ticket.\n   Some enties are defined in ticket #59.\n   All details, see next lines.\n\n   - p496:37 (column-header-line)[[BR]]\n       C type    / Fortran type  | C++ type\n   - p496:38 (MPI_GROUP_NULL)[[BR]]\n       MPI_Group      / INTEGER  | const MPI::Group\n   - p496:39 (MPI_COMM_NULL)[[BR]]\n       MPI_Comm       / INTEGER  | 1) **(is not modified by ticket #59)**\n   - p496:40 (MPI_DATATYPE_NULL)[[BR]]\n       MPI_Datatype   / INTEGER  | const MPI::Datatype\n   - p496:41 (MPI_REQUEST_NULL)[[BR]]\n       MPI_Request    / INTEGER  | const MPI::Request\n   - p496:42 (MPI_OP_NULL)[[BR]]\n       MPI_Op         / INTEGER  | const MPI::Op\n   - p496:43 (MPI_ERRHANDLER_NULL)[[BR]]\n       MPI_Errhandler / INTEGER  | const MPI::Errhandler\n   - p496:44 (MPI_FILE_NULL)[[BR]]\n       MPI_File       / INTEGER  |  **(see ticket #59)**\n   - p496:45 (MPI_INFO_NULL)[[BR]]\n       MPI_Info       / INTEGER  | const MPI::Info **(is not modified by ticket #59)**\n   - p496:46 (MPI_WIN_NULL)[[BR]]\n       MPI_Win        / INTEGER  | **(see ticket #59)**\n\n\n - p497:2, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       MPI_Group[[BR]]\n   Fortran type: INTEGER\n\n - 497:7-8, left column, add the two-line table item \n   (already reviewd in #76):\n\n   C type:       const int (or unnamed enum)[[BR]]\n   Fortran type: INTEGER\n\n - Before p497:13, add a new table\n\n       ```\nPredefined functions\n----------------------------------------------------------------\nC/Fortran name                 | C++ name\n  C type / Fortran type        |   C++ type\n----------------------------------------------------------------\nMPI_COMM_NULL_COPY_FN          | MPI_COMM_NULL_COPY_FN\n  MPI_Comm_copy_attr_function  |   same as in C 1)\n  / COMM_COPY_ATTR_FN          | \nMPI_COMM_DUP_FN                | MPI_COMM_DUP_FN\n  MPI_Comm_copy_attr_function  |   same as in C 1)\n  / COMM_COPY_ATTR_FN          | \nMPI_COMM_NULL_DELETE_FN        | MPI_COMM_NULL_DELETE_FN\n  MPI_Comm_delete_attr_function|   same as in C 1)\n  / COMM_delete_ATTR_FN        | \n----------------------------------------------------------------\nMPI_WIN_NULL_COPY_FN          | MPI_WIN_NULL_COPY_FN\n  MPI_Win_copy_attr_function  |   same as in C 1)\n  / WIN_COPY_ATTR_FN          | \nMPI_WIN_DUP_FN                | MPI_WIN_DUP_FN\n  MPI_Win_copy_attr_function  |   same as in C 1)\n  / WIN_COPY_ATTR_FN          | \nMPI_WIN_NULL_DELETE_FN        | MPI_WIN_NULL_DELETE_FN\n  MPI_Win_delete_attr_function|   same as in C 1)\n  / WIN_delete_ATTR_FN        | \n----------------------------------------------------------------\nMPI_TYPE_NULL_COPY_FN          | MPI_TYPE_NULL_COPY_FN\n  MPI_Type_copy_attr_function  |   same as in C 1)\n  / TYPE_COPY_ATTR_FN          | \nMPI_TYPE_DUP_FN                | MPI_TYPE_DUP_FN\n  MPI_Type_copy_attr_function  |   same as in C 1)\n  / TYPE_COPY_ATTR_FN          | \nMPI_TYPE_NULL_DELETE_FN        | MPI_TYPE_NULL_DELETE_FN\n  MPI_Type_delete_attr_function|   same as in C 1)\n  / TYPE_delete_ATTR_FN        | \n\n1) See the advicec to implementors on MPI_COMM_NULL_COPY_FN, ... in \n   Section 6.7.2 on page 223.\n       ```  \n \n - Same for WIN and TYPE\n\n - Add after p225:21\n       -Advice to implementors.*\n       To be able to use the predefined C functions MPI_COMM_NULL_COPY_FN\n       or MPI_COMM_DUP_FN as comm_copy_attr_fn argument and/or \n       MPI_COMM_NULL_DELETE_FN as the comm_delete_attr_fn argument in\n       a call to the C++ routine MPI::Comm::Create_keyval, \n       this routine may be overloaded\n       with 3 additional routines that accept the C functions\n       as the first, the second, or both input agruments (instead of \n       an argument that matches the C++ prototype). \n       -(End of advice to implementors.)*\n \n       -Advice to users.*\n       If a user wants to write a \"wrapper\" routine that internally calls\n       MPI::Comm::Create_keyval and comm_copy_attr_fn \n       comm_delete_attr_fn are arguments of this  \n       wrapper routine, and if this wrapper routine should be\n       callable with both user-defined C++ copy and delete functions and\n       with the predefined C functions, then the same overloading\n       as described above in the advice to implementors may be \n       necessary.\n       ''(End of advice to users.)\n\n - p497:13, reads\n       Predefined functions\n   but should read \n       Deprecated predefined functions\n\n - p497:13-17, the 3rd column is removed and the type information is always\n   written below of the current line, a few mm intended.\n   I use | as column separator in this ticket.\n   All details, see next lines.\n\n   - p497:14 (column-header-line)[[BR]]\n       C type    / Fortran type  | C++ type\n   - p497:15 (MPI_NULL_COPY_FN)[[BR]]\n       MPI_Copy_function      / COPY_FUNCTION  | MPI::Copy_function\n   - p497:15 (MPI_DUP_FN)[[BR]]\n       MPI_Copy_function      / COPY_FUNCTION  | MPI::Copy_function\n   - p497:15 (MPI_NULL_DELETE_FN)[[BR]]\n       MPI_Delete_function      / DELETE_FUNCTION  | MPI::Delete_function\n   \n\n - 497:20, 497:29, 498:1, and 498:22,  the type information is\n   written in an additional two-line table row below the \n   header:\n\n   C type: const int (or unnamed enum) | C++ type: [[BR]]\n   Fortran type: INTEGER               | const int (or unnamed enum)\n\n - 498:29-39 is split into two parts:\n   \n   \"File Operation Constants, Part 1\" which contains only line 30\n   \"File Operation Constants, Part 2\" which contains lines 31-39\n\n   The type information is\n   written in an additional two-line table row below the \n   header:\n\n   File Operation Constants, Part 1 [[BR]] \n   C type: const MPI_Offset (or unnamed enum)   | C++ type: [[BR]]\n   Fortran type: INTEGER (KIND=MPI_OFFSET_KIND) | const MPI_Offset (or unnamed enum)[[BR]]\n   (line p498.30)\n\n   File Operation Constants, Part 2 [[BR]] \n   C type: const int (or unnamed enum) | C++ type: [[BR]]\n   Fortran type: INTEGER               | const int (or unnamed enum)[[BR]]\n   (lines p498.31-39)\n\n - 498:43,  the type information is\n   written in an additional two-line table row below the \n   header:\n\n   C type: const int (or unnamed enum) | C++ type: [[BR]]\n   Fortran type: INTEGER               | const int (or unnamed enum)\n\n - Remove table p499:1-5.\n\n - p499:7-12, the type information is always\n   written below of the current line, a few mm intended.\n   I use | as column separator in this ticket.\n   All details, see next lines.\n\n   - p499:7 (column-header-line)[[BR]]\n       C type    / Fortran type  | C++ type\n   - p499:8 (MPI_ARGVS_NULL)[[BR]]\n       char***  / 2-dim. array of CHARACTER*(*) | const char ***\n   - p499:9 (MPI_ARGV_NULL)[[BR]]\n       char**   / array of CHARACTER*(*) | const char **\n   - p499:10 (MPI_ERRCODES_IGNORE)[[BR]]\n       int*     / INTEGER array | Not defined for C++\n   - p499:11 (MPI_STATUSES_IGNORE)[[BR]]\n       MPI_Status*  / INTEGER, DIMENSION(MPI_STATUS_SIZE,*) | Not defined for C++\n   - p499:12 (MPI_STATUS_IGNORE)[[BR]]\n       MPI_Status*  / INTEGER, DIMENSION(MPI_STATUS_SIZE)   | Not defined for C++\n\n - 499:15,  the type information is\n   written in an additional table row below the header:\n\n   C type: MPI_Fint*\n\n - 499:16-17, the right column must be removed \n\n - 499:20,  the type information is\n   written in an additional two-line table row below the \n   header:\n\n   C/C++ type: const int (or unnamed enum) [[BR]]\n   Fortran type: INTEGER\n\n  \n - The constant names listet in A.1.1 p491-499 must be \n   added to the Constants-Index pp574-577\n\n - The type names listet in A.1.2 p499-500 must be \n   added to the Declarations-Index pp578-579\n\n## Impact on Implementations\n\nNone because it should have been already clear.\n\n## Impact on Applications / Users\n\nnone\n\n## Alternative Solutions\n\n## Entry for the Change Log\n\n\"Not applicable\""},"comment":{"url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/comments/234764107","html_url":"https://github.com/mpiforumbot/mpi-forum-historic/issues/107#issuecomment-234764107","issue_url":"https://api.github.com/repos/mpiforumbot/mpi-forum-historic/issues/107","id":234764107,"user":{"login":"mpiforumbot","id":20617676,"avatar_url":"https://avatars.githubusercontent.com/u/20617676?v=3","gravatar_id":"","url":"https://api.github.com/users/mpiforumbot","html_url":"https://github.com/mpiforumbot","followers_url":"https://api.github.com/users/mpiforumbot/followers","following_url":"https://api.github.com/users/mpiforumbot/following{/other_user}","gists_url":"https://api.github.com/users/mpiforumbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mpiforumbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpiforumbot/subscriptions","organizations_url":"https://api.github.com/users/mpiforumbot/orgs","repos_url":"https://api.github.com/users/mpiforumbot/repos","events_url":"https://api.github.com/users/mpiforumbot/events{/privacy}","received_events_url":"https://api.github.com/users/mpiforumbot/received_events","type":"User","site_admin":false},"created_at":"2016-07-24T08:10:18Z","updated_at":"2016-07-24T08:10:18Z","body":"**Originally by _RolfRabenseifner_ on 2009-08-21 13:30:09 -0500**\n\n___\nI also optimized the typesetting of the biggest table (see attached pdf).\n\nReviews above are implemented and the pdfs are renewed.\n\nPlease, reviewers, you may continue with your reviews."}}
{"actor":{"display_login":"mpiforumbot"}}